デコシノニッキ

ホロレンジャーの戦いの記録

Unity2018のShader Graph toolを触ってみる

Unity2018のβ版がお披露目されました
blogs.unity3d.com

そしてなんとノードベースでShaderがいじれるようになるそうです。タダだよ!
f:id:haikage1755:20180110225636p:plain

But if you can’t wait to try them out, we made a simple sample that uses SRP, built on the Lightweight pipeline, and also includes the Shader Graph tool.
To get started, download the sample project, open it with Unity 2018.1 beta, and start exploring!

ただし残念ながら、こちらは未実装でどうしても試したい方はサンプルプロジェクトからダウンロードしてねとのこと。

中には2つのサンプルが入っています
f:id:haikage1755:20180110225948p:plain:w250
f:id:haikage1755:20180110230013p:plain:w250

再生するとこんな感じ

~ 作り方 ~
1.Shaderを作成する際は通常のShaderからではなく、ShaderGraphを選択する。
2.作成したShaderを選択し、Open Shader Editorをクリック (またはダブルクリック)
f:id:haikage1755:20180110231655p:plain:w250
f:id:haikage1755:20180110231703p:plain:w250

~ 基本操作(?) ~
Altを押しながらドラッグ:移動
ピンチインアウト:ズームインアウト
右クリック:メニュー
Ctr+z: 戻る

~使い方~
右クリックでノードの作成などのメニューを開くことができる
f:id:haikage1755:20180110231951p:plain:w250

パラメータを変更すれば、右下のPreviewに反映されます
f:id:haikage1755:20180110232557p:plain:w250

また、Meshを指定すれば球以外にもShaderを適応した状態を確認できます
f:id:haikage1755:20180110232656p:plain:w250

インスペクタから値を設定したい場合は、
まずPropertiesからAddでプロパティを追加
f:id:haikage1755:20180110232151p:plain:w250

Create Node -> Input -> Property
でノードを作成し、propertyに先ほど追加したものを設定する
f:id:haikage1755:20180110232234p:plain:w250

最後に、変更後はSaveボタンから保存してあげる必要があります
f:id:haikage1755:20180110232331p:plain:w250


ちょうど最近(3か月前くらいから言っているが)Shaderを勉強しよう!と思っていたので、こうやって無料でできる環境は嬉しいですね。
ただしいいところばかりではなく、ShaderGraphではShaderGraphでしか動かないということ。例えば既存のShaderをShaderGraphで読み込むことは探してみましたができなそうな雰囲気です。ちなみにShaderGraphをVSCodeなどで開くと中身はJSONでした。ShaderForgeのようにOpen Shader Code がないのも惜しいところかなと。
f:id:haikage1755:20180110233223p:plain:w250

また、サンプルプロジェクトだとDefaultで生成されるMaterialに適応されるのLightweightPipeline/StandardLightになり、従来のStandardShaderをあてるとコンパイル失敗時のような状態になります。
f:id:haikage1755:20180111122401j:plain:w250
f:id:haikage1755:20180111122710j:plain:w250

[デコシノニッキ]は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。」