【Unity】NavMeshの作成手順(新バージョン)
新しいバージョンでの手順についてみていきましょう
目次
パッケージマネージャからAI Navigationのインポート

障害物の作成
テスト用に高さ1くらいのCubeを作成して、プレイヤーと敵の間に置いておきましょう
シーンにNavMesh Surfaceゲームオブジェクトを作成と移動エリアの作成
ヒエラルキーで右クリック、AIメニューから選択します

敵の移動エリアの作成
作成後、NavMeshSurfaceコンポーネントで、移動可能エリアのベイクを実行します

手順の動画
追いかける敵を作成します
想定として敵に見立てたシリンダーを1つ置いてみましょう
敵に追いかける機能のコンポーネントを追加します
NavMeshAgentコンポーネントを追加します
追いかけるスクリプトの作成
移動用にスクリプトを1つ作成し、敵(シリンダー)にアタッチします
playerTransformフィールドがインスペクターで登録できますので、追いかけられるプレイヤーをドラッグ&ドロップします
エージェントのdestination(目的地)プロパティにプレイヤー自身を登録することで追いかける機能が実行されます
Updateに記述しているので、プレイヤーが移動すると、そこに向かって追いかけてくる様子がわかります
using UnityEngine;
using UnityEngine.AI;
[RequireComponent(typeof(NavMeshAgent))]
public class Enemy : MonoBehaviour
{
[SerializeField]
Transform playerTransform;
NavMeshAgent agent;
void Start()
{
agent = GetComponent<NavMeshAgent>();
}
void Update()
{
agent.destination = playerTransform.position;
}
}
ディスカッション
コメント一覧
まだ、コメントがありません