Renderingあるオブジェクトの、ほかのオブジェクトと重なって隠れてしまっている部分を違う色で描画する方法です。障害物に遮蔽されているときにシルエットを描画したい場合などに使えます。考え方ステンシルバッファに適当な値を書き込みつつ、障害物のオブジェクトを描画するステンシルバッファが1の値じゃない部分について、シルエット描画したいオブジェクトを描画するステンシルバッファが1の値である部分について、シルエット描画したいオブジェクトをシルエット色で描画するこれだけです。実装まず障害物用のシェーダです。}}ステンシルバッファに1を入れているのがポイントです。色はDiffuseだけ。次にシルエット描画したいオブジェクトのシェーダです。}}まず、今回の考え方だと障害物よりも後に描画しなければ成立しないため、QueueをTransparent+1にしています。2つのパスで描画しています。1つ目のパスではステンシルが1でない部分にDiffuseライティングでオブジェクトを描画しています。2つ目のパスではステンシルが1の部分に単色で描画しています。これら二つのシェーダを持ったマテリアルをそれぞれ作り、異なるオブジェクトにセットすれば実装完了です。結果こんな感じでシルエット描画されます。»プロフィールUnityエンジニア。グラフィックスへの興味が強めです。Blur(渦巻ブラー)のポストエフェクトを実装する月別アーカイブはてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。