003 カスタムシェーダの作成

godot独自のスクリプトを使って、シェーダをカスタマイズ出来ます。

1. シェーダを適用するメッシュを選択します。例ではTestCubeジオメトリを選択しています。 Inspector のMaterial またはMaterial Override →New ShaderMaterial を選択し右側の「>」をクリックします。

2. ShaderMaterial が作成されるので、Inspector のShader からNew MaterialShader を選択し右側の「>」をクリックします。

3. するとMaterialShader が作成され、Vertex/Fragment/Lighting シェーダが編集できる様になります。

・Vertex ・・・頂点やUVCoord用 ・Fragment ・・・ピクセル用 ・Lighting ・・・ランバート光などのライトの影響を受けるシェーダ用

シェーダファイルを編集してみる

シンプルなFlagmentShaderを書いて、パラメータによって色を変えられる様にしてみます。

1. Fragment タブを選択して以下の様に編集します。 <sxh> uniform color col; DIFFUSE = col.rgb; </sxh> 色を操作するためのcol変数を追加して、colをディフューズカラーに適用しています。 この追加した変数はInspectorで自由に編集できる様になっています。

col を編集して色を変えてみるとリアルタイムに反映されます。

使えるデータタイプはhttp://www.godotengine.org/projects/godot-engine/wiki/Shader を参考にしました。