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



【Unityアセットストア公式】初購入特別キャンペーン

期間:日本時間 10月31日 17:00時まで
対象:アセットストアで初購入のユーザー限定
詳細:Unityアセットストアで初めてアセットを購入いただく方限定、アセット全品20%OFF


◆◆◆◆


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】

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

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

スポンサーリンク

目次に戻る


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください