Shader Graph内で独自のHLSLアルゴリズムを安全にコンパイルさせるための構築パターンです。
\n\n具体的な解決方法
\nノード定義名が `MyCustomCalculation` の場合、HLSL側の定義には必ず接尾辞を付与します。
\nvoid MyCustomCalculation_float(float3 Input1, out float Output1)\n{\n Output1 = Input1.x + Input1.y + Input1.z;\n}Shader GraphでCustom Functionノードを作成し、インラインHLSLコードを入力、または外部.hlslファイルを指定した際、「Shader Compile Error」がコンソールに大量に発生し、マテリアルがピンク色のエラー表示になって動作を停止する。
HLSL関数名の定義時にShader Graphが要求する精度を表す接尾辞「_float」または「_half」が欠落していること、またはノードの入力・出力ポート定義とHLSL関数引数の順序・データ型が一致していないことが原因です。
HLSLコードの関数名宣言の末尾に、精度を表す接尾辞(例: `_float` や `_half`)を明示的に付与します。さらに、ノードで設定したInputs/Outputsと引数の宣言を完全に一致させます。
Shader Graph内で独自のHLSLアルゴリズムを安全にコンパイルさせるための構築パターンです。
\n\nノード定義名が `MyCustomCalculation` の場合、HLSL側の定義には必ず接尾辞を付与します。
\nvoid MyCustomCalculation_float(float3 Input1, out float Output1)\n{\n Output1 = Input1.x + Input1.y + Input1.z;\n}A. いいえ、Shader Graph用の関数は `void` 定義にし、出力値は `out` キーワードを付けた引数にする必要があります。