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

【Unity】同じ階のナビメッシュ上の点を探す

1階のナビメッシュの無い点から最も近い1階のナビメッシュ上の点を取得してみました。 まず上のように1階と2階と階段を作ってナビメッシュをベイクしました。1階のナビメッシュには穴が開いています。 青いプレイヤーにはタグを付… 続きを読む »

【Unity】複数作れるように変更して管理クラスを作る

敵が一体しか出現しないことにして作っている途中で複数の敵を作れるように変更し、管理クラスを作ってみました。 シーンには床に敵の目的地と中央のCubeがあります。目的地のルートのオブジェクトとCubeは敵のスクリプトにアタ… 続きを読む »

【Unity】フラッシュライトで敵に発見される

敵に目視されていなくてもフラッシュライトの当たった場所が敵から見えているとプレイヤーの位置がバレるようにしてみました。 まず敵のスクリプトにFPSプレイヤーが持っているスポットライトをアタッチします。 [Serializ… 続きを読む »

【Unity】敵が音と目視でプレイヤーを発見する

敵がプレイヤーを見ているときにゲージを上げて、満タンになったらプレイヤーを追尾し始めます。距離によってゲージの上がり具合を変えます。 また、プレイヤーが走っていてもゲージが上がります。 【Unity】敵がプレイヤーに気づ… 続きを読む »

【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】攻撃中に移動しないようにする

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

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

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