ポストプロセスマテリアルで中心以外をぼかす(5) CustomノードからSceneTexture:PostProcessInput0を取得する
「とりあえずCustomノードから、PostProcessInput0の数字を調べることに成功した。そのままだとちゃんと計算出来てるのか、それともマテリアルが無効になってるのかわからなかったから、とりあえず✕3して、明るくなるようにした」
SceneTextureLookup(uv, 14, false)
「というプログラムが、SceneTextureでPostProcessInput0を設定してる時と同じ状態になる……はず。他の数字だと他の設定になる。あとuvというのは、CustomノードのInputs欄で作った入力ピンの名前。もしピンの名前と違ってるとエラーになる」
「14という数字は、UE4標準のHLSLコードを見て調べた。バージョンアップとかで変わる可能性もあるし、他にもっとわかりやすい書き方もあるんだけど、他の書き方だと機種によって動いたり動かなかったりしそうだから」
妹「だんだんむずかしくなってきた」
「この記事を参考にして調べたけど、HLSLの知識はなくてもわかるけど、C++とかJavaとかのプログラムがわからないと難しそうな気がする」
「さっきの記事にもあるんだけど、関連するノードがどこかにくっついてないと、Customノードの中でも使えないという仕様もやっかい。調査ミスや書き間違いなのか、それともノードが不足してるのか、エラーだけでは判断ができない」
妹「なぜそんなややこしいことに……」
「関連するノードがないから、このへんの関数は使わないから削除でいいな、とか、気を利かせてくれる結果だと思う。今回はLerpで、マテリアルの中身には影響しないけど、ピンだけはつながってるという状態にした。ピンがつながってない状態だと、そういうノードも気を利かせて無かったことにしちゃうから」