ナビメッシュエージェント」タグアーカイブ

【Unity】NPCにワープしながら移動させる

ナビメッシュエージェントが目的地に向かう時に小刻みにワープさせてみました。 まず、目的地を設定した後に、前の記事の方法で経路上の位置を等間隔に取得します。オレンジ色の球を置いたときにVector3のリストに球の位置を追加… 続きを読む »

【Unity】ナビメッシュの経路上に等間隔にオブジェクトを配置する

ナビメッシュエージェントが目的地へ向かう経路上に等間隔にオブジェクトを配置してみます。前の記事で取得した経路上のコーナーを使います。上のGIF画像ではコーナーに緑色の球が置かれています。 if (Input.GetKey… 続きを読む »

【Unity】ナビメッシュエージェントを自然に振り向かせる #2

前の記事では、ナビメッシュエージェントをアニメーションで振り向かせようとすると、ルートのオブジェクトはそのままで、ボーンだけが回転してしまいました。 これはアニメーションのインポート設定でRoot Transform R… 続きを読む »

【Unity】ナビメッシュエージェントを自然に振り向かせる #1

攻撃後の敵がプレイヤーの方へ振り向く動作が少し不自然なので、振り向くアニメーションを追加してみます。 まずBlenderで左右に振り向くアニメーションを作りました。 今回はとりあえず攻撃した後必ずターンするようにしました… 続きを読む »

【Unity】攻撃中に移動しないようにする

攻撃モーション中に敵が滑るように動くと不自然なので、攻撃中はナビメッシュエージェントが移動しないようにしてみます。 前の記事の敵のスクリプトを少し修正します。 using System.Collections; usin… 続きを読む »

【Unity】ナビゲーションエリアでナビメッシュを部分的に削除

前の記事の方法でエージェントを配置するときに、ナビゲーションエリアを使って配置させたくないところのナビメッシュを削除しておきます。 まずエージェントを配置するスクリプトを付けた空のゲームオブジェクトを中心として、4方向に… 続きを読む »

【Unity】ナビメッシュの目的地を道に沿ってランダムに決定する #2

前の記事の方法でナビメッシュエージェントに目的地を設定します。 今回は、バウンドさせるようにナビメッシュを一度に2回ずつ飛ばして、衝突した2つの点の中間の点を目的地にしました。 using System.Collecti… 続きを読む »

【Unity】ナビメッシュの目的地を道に沿ってランダムに決定する

ナビメッシュの次の目的地を進行方向へナビメッシュの道に沿ってランダムに決定してみます。前の記事の方法でナビメッシュエージェントの進行方向へ大まかに目的地を設定することはできますが、ナビメッシュの無い部分をまたいで目的地を… 続きを読む »

ナビメッシュエージェントの目的地の方向を大まかに決める

ナビメッシュエージェントに目的地を設定するときに、プレイヤーの位置をそのまま伝えるのではなく、プレイヤーへの方向を中心とした範囲の中から目的地の方向をランダムで決定して大まかに目的地を設定してみます。 Vector3 t… 続きを読む »

【Unity】遠くにいる敵を自動で削除する

前の記事のプレイヤーをFPSコントローラーにして、移動するプレイヤーから遠くにいる敵の削除と、新しい敵の配置が自動で行われるようにしました。 using System.Collections; using System.… 続きを読む »

スクリプトで複数のマテリアルを一括で変更する

スクリプトで、一つのメッシュにつけた複数のマテリアルを一括で変更してみます。 まず、複数のマテリアルが付いたモデルをBlenderで作ります。 マテリアルのプロパティで3つのマテリアルを作りました。 編集モードでCube… 続きを読む »

ナビメッシュで巡回中に停止させてアニメーションさせる

ナビメッシュエージェントに巡回させて、目的地に付いた時に一旦巡回を停止させて、その場でアニメーションさせてみました。 NPCにスクリプトを付けて、ベンチと2つの目的地をアタッチしています。 目的地は空のゲームオブジェクト… 続きを読む »