tutorial_shader_materials - seraph526/godot-se GitHub Wiki
Shader 材质
介绍
大部分情况下,Fixed Materials可以满足创作的需要。Shader材质除了固定纹理的功能外,还提供了更多的灵活性。使用它,你可以:
- 创建程序纹理。
- 创建复杂的纹理混合。
- 创建动画材质,或随时间改变的纹理。
- 创建折射效果或其他高级效果。
- 动画点,如三片叶子或草。
- 更多的效果!
传统情况下,大多引擎要求你学习GLSL,HLSL或CG,这些对于大多艺术家来讲都非常困难。Godot使用一个简单的shader语言版本,当你输入有错误时会检测到,所以你可以实时的看到你编辑的shaders效果。特别地,可以使用可视化的编程器编辑shader(注意:目前还不可用!正在努力中!)
创建Shader材质 (Creating a ShaderMaterial)
在你选择的物体上创建ShaderMaterial材质。定位到Shader属性,然后点击创建新的Shader:
有三个代码标签,第一个是点shader,第二个是线,第三个是灯光。shader语言文档见shader,接下来会有个小示例.
创建一个非常简单的线段shader,并设置颜色:
uniform color col;
DIFFUSE = col.rgb;
代码实时生效。如果代码被修改,会被立即重新编译,物体会被更新。哪果有错误输入,编辑器会提示编辑错误:
最后,返回并编辑材质,输出效果立时可见: