- 2022.03.28 Monday
- スポンサーサイト
-
一定期間更新がないため広告を表示しています
- | スポンサードリンク | - | | - | - | pookmark |
- 2016.05.28 Saturday
- GrabPass 使い方 描画されている画面のコンテンツを、テクスチャ内に掴みとる。このテクスチャは後続プロセスで高度な画像ベースのエフェクトに使用できる。
-
http://unity-game.blogspot.jp/2014/06/shader.html
描画されている画面のコンテンツを、テクスチャ内に掴みとる。このテクスチャは後続プロセスで高度な画像ベースのエフェクトに使用できる。 使い方は二つあり、以下であるGrabPass { }
と指定し、単に現在の画面コンテンツをテクスチャ内に掴みとります。このテクスチャは後続のパスで_GrabTexture
でアクセスすることができる。この形式のGrap Passは画面の掴みとり処理を使用する各オブジェクトごとに行う。GrabPass { "TextureName" }
により画面コンテンツをテクスチャ内に掴みとるが、フレームごとに1回のみ、指定のテクスチャ名を使用する最初のオブジェクト分のみ、実施する。テクスチャは後続のパスで指定のテクスチャ名でアクセスすることが出来きる。シーンでGrab Passを使用するオブジェクトが複数ある場合に効率的な方法です。
?1
2
3
4
5
6
7
8
9
10
11
12
13
14Shader
"GrabPassInvert"
{
SubShader {
// 全ての不透明な形状の後に、自身を描画します
Tags {
"Queue"
=
"Transparent"
}
// オブジェクトより後ろのシーンを_GrabTextureに掴み取ります
GrabPass { }
// 上で生成したテクスチャでオブジェクトをレンダリングし、カラーを反転します。
Pass {
SetTexture [_GrabTexture] { combine one-texture }
}
}
}
このシェーダには二つのパスがあり、最初のパスはレンダリングのときにオブジェクトにある全てを掴みとり、次にをそれを二つめのパスで適用します。同じエフェクトはより安価にinvertblend mode を使用して得ることも出来きる。 - | whaison | Unity3d | 21:27 | comments(0) | - | pookmark |
- Comment