着色器材质

简介

对于最常见的情况,Godot为大多数类型的着色器提供了随时可用的材质,例如 SpatialMaterial , CanvasItemMaterialParticlesMaterial . 它们是涵盖了大多数用例的灵活实现.

着色器材质允许直接编写自定义着色器,以获得最大的灵活性. 这方面的示例是:

  • 创建程序纹理.

  • 创建复杂的纹理混合效果.

  • 创建动画材质,或随时间变化的材质.

  • 创建折射效果或其他高级效果.

  • 为更具异国情调的材质创建特殊照明着色器.

  • 动画顶点,如树叶或草.

  • 创建自定义粒子代码.

  • 以及更多!

Godot提供了内置的功能,使频繁的操作更容易.此外,Godot的着色器编辑器会在你输入时检测错误,所以你可以实时看到编辑的着色器.也可以使用可视化的、基于节点的图形编辑器来编辑着色器.

创建ShaderMaterial

在您选择的某个对象中创建一个新的ShaderMaterial. 转到``材质``属性并创建ShaderMaterial.

../../_images/shader_material_create.png

接下来,点击着色器材质,查看其属性.从这里你可以创建一个着色器或视觉着色器.常规着色器使用代码来设置它们的属性,而视觉着色器则使用基于节点的工作流程.

如果你需要,你可以将视觉着色器转换为文本着色器.但是你不能将文本着色器转换为视觉着色器.

选择其中一个,你就可以开始编辑你的着色器.

../../_images/shader_create.png

编辑新创建的着色器,着色器编辑器将打开.

../../_images/shader_material_editor.png

编辑新创建的着色器,着色器编辑器将打开.

../../_images/visual_shader_editor.png

在视觉着色器编辑器中,你可以点击一个按钮,看看你的视觉着色器作为着色器代码的样子.如果你想复制一个文本着色器作为节点,这可能是有用的,或者它可以作为将你的视觉着色器转换为文本着色器的预览.

../../_images/visual_shader_code.png

注解

要了解更多关于可视化着色器的信息,请阅读 Using VisualShaders .

转换为ShaderMaterial

可以从SpatialMaterial、CanvasItemMaterial和ParticlesMaterial转换为ShaderMaterial.要做到这一点,请进入材质属性并选择转换选项.

../../_images/shader_material_convert.png

注解

使用convert选项将把SpatialMaterial变成一个带有文本着色器的ShaderMaterial,而不是视觉着色器.