【UnityC#講座】近づいたら追いかけてくる巡回ユニティちゃん【NavMeshAgent】


Unity2018.1.5f1
Windows10

巡回ユニティちゃん/トップ

NavMeshAgentでキャラクターを決まったところを巡回させる方法は公式サイトにあります。

エージェントに設定した地点を巡回させる

今回はその方法を改造してプレイヤーが決まった距離まで近づいたら追ってきて、別の決まった距離だけ離れたらまた巡回に戻るようにしてみました。

■NavMeshAgentの下準備

ベイクする

NavMeshAgentで動かすキャラクターが移動できる範囲を設定することをベイクすると言います。
やり方はまず移動する床のオブジェクトのInspectorの右上のStaticからNavigation Staticを選択します。

巡回ユニティちゃん/Navigation Static

次はNavigationウィンドウを出します。

Window > Navigation

そうしたらNavigationウィンドウのBakeタブの底のBakeボタンをクリックします。

巡回ユニティちゃん/ベイク

そうすると床のオブジェクト青いに移動できる範囲が示されます。
それをNavMeshと言うそうです。

巡回ユニティちゃん/NavMesh

巡回する地点を作る

次に巡回する時の目標になる地点を作ります。
どんなオブジェクトでも良いのですが今回はSphereを4つ設置することにしました。

巡回ユニティちゃん/目標地点

そうそう、巡回&追跡させたいオブジェクトをNavMesh内に設置してください。
私はユニティちゃんにしました。

巡回ユニティちゃん/設置

■巡回&追跡のスクリプトを設定する

スクリプトを書く

以下のスクリプトを巡回&追跡させたいオブジェクトにアタッチしてください。

スポンサーリンク

巡回する地点を登録する

次はそのスクリプトをアタッチしたオブジェクトのInspectorに巡回地点のオブジェクトを登録します。
Pointsの文字の左の三角をクリックし、出てきたSizeの欄に登録するオブジェクトの数を入れ、その数だけできた空欄に巡回する順にオブジェクトを入れて出来上がりです。

巡回ユニティちゃん/Inspectorに設置

完成図

赤いワイヤーフレームの中に入ると追跡モードになり、青いワイヤーフレームから出るとまた巡回に戻ります。

巡回ユニティちゃん/完成図

さて、このようにできたでしょうか?

プレイヤーの操作方法の設定はこちらです。

【UnityC#講座】ユニティちゃんをマウスカーソルの方向に移動させる

ワイヤーフレームの赤と青の円は追跡開始する範囲と追跡を止める範囲を示しています。
Gameウィンドウで出すにはその右上のGizmosをクリック、そして巡回&追跡するオブジェクトをHierarchyで選択してください。

巡回ユニティちゃん/Gizmos

■関連記事

【UnityC#講座】ユニティちゃんにキソラちゃんがついてくるようにする【NavMeshAgent、Blend Tree】

【UnityC#講座】ユニティちゃんたちをドラクエっぽく一列に移動や順番変更させる【List、for文、NavMeshAgent】

【UnityC#講座】見つけたら追いかけてくる監視ユニティちゃん【NavMeshAgent】

【UnityC#講座】ユニティちゃんをモブキャラのごとくランダム移動させる【NavMeshAgent】

ユニティちゃんライセンス

この作品はユニティちゃんライセンス条項の元に提供されています

スポンサーリンク

目次に戻る