2015年10月15日

Unity 5でG-Bufferのテスト その4

時間が開くと色々忘れて困ったものです。前回のHeadモデルは、1マテリアルの1テクスチャなので問題なかったのですが、一般的なモデルは複数マテリアルで複数テクスチャを使っていて色々大変です。

今回は、マテリアル番号を確認するために、G-Bufferに前回と同様にマテリアル番号を出力して、そのデータを元に特定のマテリアル番号の所だけに特殊な処理をしたり、エッジを表示したりするテストです。

G-Bufferの出力は、前回と同じRenderGBuffer.shaderを使用しています。

手順
1. カメラにDrawEdgeTest.csを割り当てる
DrawEdgeTest.cs
2. ShaderにCustum/DrawEdgeを割り当てたマテリアルを準備する
DrawEdge.shader
3. SSS Matのところに上記マテリアルを割り当てる

後は前の手順なども併せて適当に色々やった気がします。

実行結果


TargetMatNoのところをいじると、マテリアルの境目に赤いエッジが表示されます。これはG-Bufferに出力したマテリアル番号にラプラシアンフィルタを掛けて閾値以上の所を赤色にしていたと思います。

TargetMatListの所に追加したマテリアルは、今回は青色にする処理だけを行っています。このような感じで、処理対象とするマテリアル番号を渡すようにすれば、特定のマテリアルだけに何らかの処理が可能となります。

この辺の処理は重そうで75fpsはきつそうなので、そろそろOculus Rift関係に戻ろうかと思います。
posted by シンドラー at 01:06 | Comment(0) | TrackBack(0) | Unity 5 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック