ShaderGraphでテクスチャからディスプレイスメントマッピングをするときは,Sampler Texture 2D LODを使う

したかった事

スクリプト内でノイズテクスチャを生成し,それを元にShaderGraphでディスプレイスメントマッピングをする

はまった問題

Sampler Texture 2Dノードが繋がっていると,PBR MasterのPositionに繋げられない f:id:SiunCyclone:20190919231700p:plain

原因と解決策

原因:Sampler Texture 2Dノードがフラグメントシェーダ内で使用されるノードなため,頂点出力には使えない

解決策:Sampler Texture 2D LODをかわりに使う(こっちは頂点シェーダ内で使える)

f:id:SiunCyclone:20190919232802p:plain

参考

https://forum.unity.com/threads/shadergraph-cant-offset-vertex-position-by-texture-lookup.545541/

blogs.unity3d.com