シェーダー開発を行う上で、エディターから設定した値をシェーダーに渡したいケースがあるかと思います。
しかし受け渡しのコードを書くとなるとエンジンビルドも必要になりますし、少し手間がかかります。
そんなときに、GeneralPurposeTweakというコンソールコマンドに値を渡すと、
コマンド入力した数値をシェーダー側で利用することが可能です。
GeneralPurposeTweakの設定方法
以下のようにアウトプットログでコマンドを実行するとfloatの数値を渡すことが可能です。
[ウィンドウ] > [デベロッパーツール] > [アウトプットログ] > **r.GeneralPurposeTweak [数値]**を入力
Shaderからの利用方法
Shader側からは、View.GeneralPurposeTweakとして値を呼び出すことが可能です。
.usf内で以下のように分岐させることでデバッグなどを行うことが可能です。
他のパラメーターを追加したい場合
独自のコンソールコマンドを追加したい場合は以下ドキュメントをご確認ください。
C++ のコンソール変数 | Unreal Engine ドキュメント
https://docs.unrealengine.com/ja/Programming/Development/Tools/ConsoleManager/index.html
さいごに
あくまで一時的な変数とすべきですが、開発時には非常に便利なので有効活用しましょう。