Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

著色器材質

前言

對於最常見的情況,Godot為大多數型別的著色器提供了隨時可用的材質, 例如 SpatialMaterial , CanvasItemMaterialParticlesMaterial . 它們是涵蓋了大多數用例的靈活實作.

著色器材質允許直接編寫自訂著色器, 以獲得最大的靈活性. 這方面的範例是:

  • 建立程式式紋理。

  • 建立複雜的紋理混合效果.

  • 建立動畫材質, 或隨時間變化的材質.

  • 建立折射效果或其他高級效果.

  • 為更具異國情調的材質建立特殊照明著色器.

  • 動畫頂點, 如樹葉或草.

  • 建立自訂粒子程式碼.

  • 以及更多!

Godot提供了內建的功能, 使頻繁的操作更容易. 此外,Godot的著色器編輯器會在你輸入時偵測錯誤, 所以你可以即時看到編輯的著色器. 也可以使用視覺化的, 基於節點的圖形編輯器來編輯著色器.

建立 ShaderMaterial

在您選擇的某個物件中建立一個新的 ShaderMaterial。轉到 Material 屬性並建立 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

可以將 SpatialMaterial、CanvasItemMaterial 和 ParticlesMaterial 轉換為 ShaderMaterial。要做到這一點,請進入材質屬性並選擇轉換選項。

../../_images/shader_material_convert.png

備註

使用convert選項將把SpatialMaterial變成一個帶有文字著色器的ShaderMaterial, 而不是視覺著色器.