actionScript書きの日記

アラフォーFlashデベロッパのブログ。actionscriptやobjective-cを経て、現在はUnity、Spine、AfterEffectsがメイン。

Shader GraphでMasterノードのPositionに接続ができなくなる事態への対処法

Shader Graphにおいて、ノイズから作成した白黒画像を外部から読み込んで、各頂点の座標をランダムに変更するような処理を考えていた。

大雑把なノード構成は以下のようになる。

f:id:goodbyegirl1974:20200404132611j:plain

「SampleTexture2D」ノードにノイズ画像を入れて、その色情報をもとに座標を変化させることを目指していたのだが、この状態でラストの「Combine」ノードの「RGB(3)」出力から「Unlit Master」の「Vertex Position」インプットに接続しようとするとどうしても接続できない。

自分の場合はたまたま「SampleTexture2D」ノードを「SampleTexture2D LOD」ノードに変更したら接続できたのだが、これに関して以下の記事があったので、備忘録として記載する。記事に関わった方々に深く感謝の意を表する。

https://forum.unity.com/threads/shader-graph-position-question.595375/

「SampleTexture2D LOD」ノードを使用すること自体は間違っていないようだ。

 

NOTE: This Node can only be used in the Fragment Shader Stage. To sample a Texture 2D in the Vertex Shader Stage use a Sample Texture 2D LOD Node instead."