Unity事例ノート

UNITY

レイヤーによるMainCameraの非表示

レイヤーの切り替えをスクリプトからできるようにしましょう。

属するレイヤーに応じて、MainCameraの撮影対象を切り分けていきます。

クリックすると、Cubeのレイヤーが変更され、MainCameraの視界から消えます。

関連記事:
【Unity C#】同じタグのついたオブジェクトだけを消す
【Unity C#】カリングマスクで複数レイヤーを投影
【Unity C#】カリングマスクでレイヤーを順に追加





スクリプトからレイヤーを変える

レイヤーを追加して、8番のレイヤー名をshowに、9番をhideにします。

Cubeと空のオブジェクト(GameObject)を作成します。

Layerchange.csを作成し、GameObjectに追加します。

Layerchange.csを記述します。

キューブとCamのフィールドに、それぞれのオブジェクトを入れます。

ゲームプレイして、画面をクリックしましょう。

Cubeのレイヤーが、スタート時はshow、クリックするとHideに切り替わります。

MainCameraのカリングマスクは、スタート時にはshowのレイヤーに。

カリングマスクで、カメラに表示させるレイヤーは、このように書きます。

cam.cullingMask = 1 << x;

xには、MainCameraに表示させるレイヤー番号を入れます。

関連記事:
【Unity C#】同じタグのついたオブジェクトだけを消す
【Unity C#】カリングマスクで複数レイヤーを投影
【Unity C#】カリングマスクでレイヤーを順に追加