【Unity】Rayを特定のLayerに当てる方法

こんにちは、のっくんです。

今日はUnityのRayについて解説していきます。

Rayはオブジェクトのタッチ検出に使われるものです。

脱出ゲームなどで何かをタッチしたのを検出するにはRayを使って検出します。

その際に大事になるのがLayerです。

物体がどのLayerに属しているかを予め設定しておけば、Rayの対象範囲を場合分けすることができるのです。

  • 手前のオブジェクトをスルーして奥のオブジェクトだけを検出したい。
  • 逆に手前のオブジェクトだけを検出したい。

そういう時にはLayerを設定してみましょう。

Unityの右上にLayersというボタンがあるのでこれで適当な名前のLayerを追加します。

オブジェクトはCubeとSphereの2つを用意しました。

CubeのLayerを8にセットします。

SphereのLayerを9にセットします。

あとはスクリプト書いていきます。

Raycast時にマスクを設定してあげることで特定のLayerにだけ照射できるようになります。

Layer9にだけ照射する場合には、maskの8を9に変えるだけで良いのです。

本日は以上です。

それでは。