【Unity】視界に入ったら襲ってくる敵を作る方法

アクションゲームを作りたいと思い最初に実装してみたのが、襲いかかってくる敵だ。

動画のように壁がある場合には襲ってこないが、ゾンビの視界に入った時に襲ってくるようにした。

Asset Storeに会った無料の「Zombie」をダウンロードし配置。

プレイヤーを追いかけさせるにNavMeshを利用した。

Bakeを押すとプレイヤーへのルートが計算され、追いかけることが可能になる。

Bakeの計算が終わったら、Nav Mesh Agentのコンポーネントをゾンビに追加する。

追いかける加速度、速度を設定できる。

ゾンビの中にからのオブジェクト、CollisionDetectorを作成。

以下のスクリプトとコライダをアタッチする。

コライダの半径(Radius)がゾンビが認知する範囲である。

これで、半径の範囲にプレイヤーが入ってきたら、ゾンビにアタッチされた下記のonDetectObjectが実行される。

Raycastを使っているのは、ゾンビの視線にプレイヤーが入った時のみ襲ってくるようにするためだ。

プレイヤーとの間に障害物がある場合には、hitcountが2になるためゾンビは襲ってこない。

そんな感じ!

終わり!