名古屋でアプリ・VR開発を行っています
ワクワクできるゲームをガンガン開発リリース中!

【Unity】Raycastで障害物を検知

こんにちは!ツチノコです!

皆さんはGWはいかがだったでしょうか。

私は沢山、遊んで充実した休みを過ごすことができました。


 

今回はRaycastを用いた障害物の検知についてのお話をしていこうと思います。

鬼ごっこやかくれんぼといったゲームを作る時、鬼がキャラクターに近づいてきた時に追いかけてくる処理が必要になってきますよね。

そういった処理は鬼が見つけてほしい範囲のColliderのisTriggerを有効化すれば、簡単にプレイヤーを検知することができます。

 

でも、この方法では障害物や壁の向こう側も検知してしまい、隠れることができないなんてこともあると思います。

 

そんな時に使うのがRaycastです!

始点からまっすぐな線を飛ばし、当たったオブジェクトを取得することができます!


 

書き方の基本はこんな感じ

Physics.Raycast( 始点 , 方向 , out hit , 距離 )

 


 

始点方向はVectorで情報を記入しましょう。

この時、「hit」には当たったものの情報を格納します。

ここにプレイヤーが入った時のみ追いかけてくる、そんな処理をすれば鬼から隠れたり、逃げたりするゲームを作れるというわけです。

 

とはいえ、Raycastを常に使っていると処理が重くなってしまいます。(常に様々な情報を取得することになるので)

そんな時はTriggerと組み合わせたりしながら、検知したい対象を絞り処理を軽くしていけると良いでしょう!


 

本日はこのあたりで!

 

では!