PostEffectUnityのシェーダでビュー空間の法線を取得する方法をまとめました。参考Unity2019.2.10_CameraDepthNormalsTextureを生成するUnityのシェーダではビュー空間の法線は_CameraDepthNormalsTextureから取得できます。このテクスチャを生成するためには、まず以下のようにCameraのdepthTextureModeを変更しておきます。}}このテクスチャにはビュー空間の法線と深度値が独自のフォーマットで格納されています。上記のソースコードではこのついでに次節のシェーダをポストエフェクトとして適用できるようにしています。ポストエフェクトの掛け方に関しては下の記事にまとめていますので必要に応じて参照してください。light11.hatenadiary.comシェーダで法線を取得する次にこのテクスチャから、シェーダを使って法線を取得します。}}コメントの通り、_CameraDepthNormalsTextureから法線を取得するにはまずこのテクスチャから値をサンプリングし、サンプリングした値をDecodeViewNormalStereo()関数で変換します。このままだとZ軸の手前方向が正の値となっているためZ値を反転させています。レンダリング結果このシェーダを使ってレンダリングすると以下のような結果が得られます。正常にビュー空間の法線が得られていそうです。»プロフィールUnityエンジニア。グラフィックスへの興味が強めです。インストールから基本的な使い方・注意点まとめ【Unity】【エディタ拡張】テクスチャを指定したUV座標で切り取って保存する【Unity】指定したアセットのAssetBundle名を取得する【Unity】【シェーダ】スクリプトからVP行列を渡してシェーダで座標変換に使う【Unity】【シェーダ】FloatやVectorをリニアライズ対象にするGammaアトリビュート月別アーカイブはてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。