shader forge初级篇|数据转换

来源:互联网 发布:java中调用webservice 编辑:程序博客网 时间:2024/06/14 03:29
  • shader forge中数据转换分两种
    1.数据维度自动转换【这部分在shader forge中自动帮用户转换】
    2.数据意义的自动转换【这部分需要用户在大脑中做逻辑转换】

  • “数据维度”的自动转换
    在shader forge中三维数据与一维数据的交互是程序自动完成计算,
    比如:三维的RGB数据和一维的value数据,两者都连接给Multiply (乘法)进行运算,如图:(在shader forge内部已经为我们做了数据维度的转换)
    将一维数据0.5,自动转换为三维数据(0.5,0.5,0.5)的形式与三维数据做交互,就得到了两个三维三维数据相乘的结果。
    这里写图片描述

  • 低纬度转高纬度数据
    如果是一维数据转二维或三维数据,那么就是自身+自身(二维)、自身+自身+自身(三维)。
    例如:5 => 5 , 5(二维) 5 => 5 , 5 , 5(三维)

    如果是二维数据转高维数据,就是自身+ 0 + 0 (三维)、自身+ 0 + 0 + 0(四维)
    例如:5 , 5 => 5 , 5 , 0(三维) 5 , 5=> 5 , 5 , 0,0(四维)

    以上操作、都是shader forge自动完成。
    PS:shader forge中非常重要的一个点:任何维度的任何数据都能和如何维度的任何数据做交互,能让你做出千奇百怪的效果。这也是该插件非常奇葩的地方!

  • 数据意义的自动转换
    制作shader本身就需要程序+美术大脑同时运作、只用一种思维shader是无法做好的,
    如:红色不仅仅代表255,0,0 (美术眼中的红色RGB值)也不仅仅代表1,0,0(程序眼中的红色RGB值)),看到1,0,0不仅仅代表红色,也有可能是指方向,比如X轴方向,也可能是位置信息。

    shader forge中一个RGB可能对应
    位置信息(X,Y,Z),
    UV信息(U,V,W)
    通道信息(A,B,C),
    六椎体颜色空间(H,S,V)都能互相转化

    看到白色—>1 要想到(1,1,1) 也要想到开启:on 或者True
    看到黑色—>0 要想到(0,0,0) 也要想到关闭:off 或者flase
    看到灰色—>0.5 要想到(0.5,0.5,0.5) 也要想到一半:half

0 0
原创粉丝点击