ナビメッシュ」カテゴリーアーカイブ

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

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

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

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

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

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

【Unity】敵をラグドールに切り替える

HPが0以下になった敵をラグドールに切り替えます。 まず敵のラグドールを作るために敵を複製して、アニメーターやナビメッシュエージェントなどのコンポーネントを削除して、オーディオソースコンポーネントだけを残しました。 これ… 続きを読む »

【Unity】攻撃された敵が怯むようにする

敵を近接攻撃すると敵が怯むアニメーションをして唸り声を上げるようにします。 まずBlenderで怯むアニメーションを作りました。 アニメーターコントローラーに新しいステートを作ってこれを設定します。新しいトリガーパラメー… 続きを読む »

【Unity】一人称視点で近接攻撃

前の記事と同様にプレイヤーも敵を近接攻撃できるようにしてみました。敵のHPゲージも作って攻撃が当たると減らします。 // プレイヤーにつけたスクリプト // 刀で攻撃中 else if (animator.GetCurr… 続きを読む »

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

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

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

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

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

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

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

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

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

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

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

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

【Unity】ナビメッシュ上に敵を出現させる #1

プレイヤーを囲うようにナビメッシュ上に敵を配置する方法を考えてみました。 ナビメッシュ上に予め空のゲームオブジェクトをたくさん配置しておいて、その中からプレイヤーとの距離によって選ばれたものと同じ位置に敵を出現させること… 続きを読む »

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

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

マウス座標を3Dのワールド座標に変換してキャラクターを動かす

マウスでクリックした場所にナビメッシュエージェントを移動させてみます。 空のゲームオブジェクトに新しいスクリプトを付けます。 Textオブジェクトも作ります。 using System.Collections; usin… 続きを読む »