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

【Unity】StateMachineBehaviourに付けたものが外れる

NPCに追加したスクリプトを、NPCのアニメーターコントローラーのStateMachineBehaviourのフィールドに入れて、NPCを非アクティブにすると、インスペクタの変数の欄にNoneと表示されてしまいます。 S… 続きを読む »

【Unity】敵がプレイヤーに気づいて追尾する #2

敵が走っているプレイヤーに気づいて追尾するでは、プレイヤーが走ると注意レベルのゲージが上がって、満タンになると敵がプレイヤーを追尾しはじめます。 走るのをやめるとゲージが下がって0になると追尾をやめますが、敵にプレイヤー… 続きを読む »

【Unity】敵が走っているプレイヤーに気づいて追尾する

走っているプレイヤーに気づいて、敵が追ってくるようにしてみました。 プレイヤーが走っているとゲージが上がっていって、満タンになると敵がプレイヤーを追尾し初めます。プレイヤーが走っていないときはゲージが下がっていって、ゲー… 続きを読む »

【Unity】ナビメッシュの経路の長さを表示する

ナビメッシュエージェントから目的地までの経路に沿った距離を表示してみます。 ナビメッシュの経路のコーナーポイントは、通過するたびに一つずつ減っていくようです。今ある2番目のコーナーポイントを通過すると、1番目のコーナーポ… 続きを読む »

【Unity】ナビメッシュの経路を取得して再利用する #1

ナビメッシュの経路を保存しておいて、別の目的地を設定した後に再設定してみます。 経路は目的地を設定してから数フレーム後に利用可能になるようです。まだ一度も目的地を設定していないときは、今いる場所が目的地になっていて、経路… 続きを読む »

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

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

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

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

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

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

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

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

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

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

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

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

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

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