着色器材质

简介

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

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

  • 创建程序纹理。

  • Create complex texture blending effects.

  • Create animated materials, or materials that change over time.

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

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

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

  • Create custom particle code.

  • 以及更多!

Godot provides built in functionality to make frequent operations easier. Additionally, Godot's shader editor will detect errors as you type, so you can see your edited shaders in real-time. It is also possible to edit shaders using a visual, node-based graph editor.

创建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

注解

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

转换为ShaderMaterial

It is possible to convert from SpatialMaterial, CanvasItemMaterial and ParticlesMaterial to ShaderMaterial. To do so, go to the material properties and select the convert option.

../../_images/shader_material_convert.png

注解

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