pongeponge.hatenablog.jp
前の続き。
CommonState
すべてのパスに共通の状態を指定するらしい。
大体この辺りに書かれているものといえば、LOD 200。
LODはLevel of Detailの略で、詳細度とでも訳すのかな?
要は、LODの値で、どれだけ詳細に描画するかを決めるということ。
LOD | |
---|---|
値 | Unityビルトインシェーダー |
100 | VertexLit のようなシェーダー |
150 | Decal, Reflective VertexLit |
200 | Diffuse |
250 | Diffuse Detail, Reflective Bumped Unlit, Reflective Bumped VertexLit |
300 | Bumped, Specular |
400 | Bumped Specular |
500 | Parallax |
600 | Parallax Specular |
Specularを表現したい場合はLOD 300と設定すればいいってことか。
Passdef
やっとPassまできた……。
Passは3つ。
regular Pass(Pass)、Use Pass(UsePass)、Grab Pass(GrabPass) のどれか。
・regular Pass(Pass)
大体このPassの中に処理を書いていきます。
Unity - マニュアル: ShaderLab: Pass
・Use Pass(UsePass)
他のシェーダーのPassをインクルードする(持ってくる)。
書き方はこう。
UsePass "シェーダー名/Pass名"
「Pass名」とあるので、UsePassを使う場合は、使いたいPassに名前を設定する必要がある。
Unity - マニュアル: ShaderLab: UsePass
・Grab Pass(GrabPass)
これだけかなり特殊。
何をするかというと、現在の画面をテクスチャとして取り込む。
スクリーンショット撮ってテクスチャにする、みたいな感じ。
GrabPass { }
と書いて、_GrabTextureでアクセスする。
Unity - マニュアル: ShaderLab: GrabPass
次はHLSLかな……。
Unity 5.x Shaders and Effects Cookbook
- 作者: Alan Zucconi,Kenneth Lammers
- 出版社/メーカー: Packt Publishing
- 発売日: 2016/02/26
- メディア: Kindle版
- この商品を含むブログを見る