【Unity】URPレンダリングパイプライン下のコードでカメラのVolume Maskプロパティを取得

1. URP の名前空間を参照する

using UnityEngine.Rendering.Universal;

2. カメラを手に入れる

ここでは、パブリック ドラッグ アンド ドロップまたはプライベート割り当てを使用できます。
ドラッグ アンド ドロップを使用する場合:

public Camera URPCam;

ここに画像の説明を挿入
または、
割り当てメソッドを使用して、最初にカメラを定義し、Awake 中にそれに値を割り当てます (ここではメイン カメラを例として取り上げます)。

private Camera URPCam;

private void Awake()
{
    
    
	URPCam = Camera.main;
}

3. URP 拡張を介してボリューム マスク属性を取得します。

var volumeMask = URPCam.GetUniversalAdditionalCameraData().volumeLayerMask;

付属レベルの関連コード

1.特定のレイヤーのみをレンダリングする

volumeMask = 1<<7; //只渲染第七层
volumeMask = 1<<8; //只渲染第八层
volumeMask = (1<<7)+(1<<8); //只渲染第七层和第八层

2. すべてのレイヤーをレンダリングする

volumeMask = -1; //对应everything

3.レイヤーはレンダリングされません

volumeMask = 0; //对应nothing

4.元のベースに特定のレイヤーを追加します

volumeMask |= (1 << 10); //在原来的基础上增加第10层

5.オリジナルを元に特定のレイヤーを削除

volumeMask &= ~(1 << 10); //在原来的基础上剔除第10层

6. 1 つを除くすべてのレイヤーをレンダリングする

volumeMask = ~(1 << 10); //渲染除第10层之外的其他所有层

参照

  1. ユニバーサル追加カメラ データ コンポーネント
  2. クラス UniversalAdditionalCameraData

おすすめ

転載: blog.csdn.net/qq_41084756/article/details/128094244