blockの巣

Cameraに設定されたRendererをスクリプトから変更する

2020/01/09 19:07 公開
Unity UniversalRP

確認したUnityのバージョン
2019.3.0f1(β版)

UniversalRPからカメラにRendererを設定できるようになりました。
しかしCameraクラスにはRendererを設定するような項目はありません。

ではどうやってRendererを変更するのかというと
UniversalAdditionalCameraData.SetRendererという関数を使用します。

実はUniversalRPではCameraを追加すると一緒にUniversalAdditionalCameraDataというコンポーネントがついてきます。
image

この中にSetRendererという関数があるので、その関数を使用することでScriptからRendererを変更できます。

// UniversalAdditionalCameraDataを使用するには
// using UnityEngine.Rendering.Universal;が必要
var cameraData = camera.GetComponent<UniversalAdditionalCameraData>();
cameraData.SetRenderer(rendererIndex); // Rendererのindexを指定する

SetRendererの引数はRendererのindexです。
手元で試したところ

が確認できました