Unity事例ノート

UNITY

特定エリアに近づくと追いかけてくる

ある範囲内に近づくと、敵キャラが追いかけてくる仕組みをつくってみましょう。

Cube(プレーヤー)を動かして近づけば、Sphere(敵)の色が変わり、プレーヤーを追いかけます。

範囲外に出てしまえば、敵の動きが止まります。

関連記事:
近づくと追いかけられる(NavMeshAgent)
領域に入っている間と離れたときに発生
範囲内に入ればオブジェクトを落下させる
3D空間でプレーヤーを追いかけるオブジェクト
他のオブジェクトに接近すれば繋がる
特定エリアに入った時は実行不可にする
エリアに入れば飛び上がる
エリア内にn秒間滞在すれば実行
Collider内にとどまればn秒間動けなくなる

オブジェクトの準備

CubeとSphereを作成し、距離をはなします。

Cubeにリジッドボディを追加し、重力を使用のチェックをはずします。

空のオブジェクトを作成します。

GameObject(空のオブジェクト)にスフィアコライダーを追加します。

CubeとSphereの間に配置し、「コライダーの編集」でスフィアコライダーを拡大します。

GameObjectの名前を、CautionAreaに変更し、トリガーにするにチェックを入れます。

Colliderを使ってエリア内のフラグ作成

続いて、Cube(プレーヤー)に動きをつけていきます。

CubeMove.csを作成し、Cubeに追加します。

CubeMove.csを記述します。

プレイして、Cubeを動かしてみましょう。

上下左右が可能になります。

エリア内に入れば、invadedがオンになります。

ある範囲に入れば追いかけるスクリプト

次は、Sphere(敵)が追いかけてくる仕組みをつくりましょう。

SphereChase.csを作成し、Sphereに追加します。

SphereChase.csを記述します。

ゲームプレイして、Sphereに近づけてみましょう。

DangerArea内に入った途端、Sphereが赤に変わり、追いかけてきます。

関連記事:
近づくと追いかけられる(NavMeshAgent)
領域に入っている間と離れたときに発生
範囲内に入ればオブジェクトを落下させる
3D空間でプレーヤーを追いかけるオブジェクト
他のオブジェクトに接近すれば繋がる
特定エリアに入った時は実行不可にする
エリアに入れば飛び上がる
エリア内にn秒間滞在すれば実行
Collider内にとどまればn秒間動けなくなる

SCHOOL教室案内