尝试了各种办法,现在开始尝试open shadering language,也就是osl。

首先进入脚本界面,新建一个文本,随便取个名字,我叫a.osl。
代码含义是:
小括号里的是输入和输出,有output的就是输出,没有的就是输入。
color代表类型,也就是纹理的颜色。0是初始化,用1也可以。
大括号里的是计算过程。
.g表示rgb里的绿色。意思是把Image的每个点的绿色通道*0.5 。这样图片就变绿了。
这时我想,绿色减半,红蓝不变,应该会变黄。怎么变绿了?
因为,Edge初始是0,rgb都是0,只有绿色增加了当然是变绿了。
如果要变黄,应该加一条:
Edge = Image;
然后再操作通道就会变黄了。

脚本写好后,可以保存一下。然后在材质界面添加脚本节点,在下拉框里选刚写好的a.osl,然后点右侧的刷新标志,如果没有报错,节点就可以使用了。我们把它用上后,可以看到黑白的物体变绿了。