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版
- この商品を含むブログを見る
