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

【Unity】ジョブシステムで敵にプレイヤーが見えているかを判定する

ジョブシステムで、徘徊するキャラクターにプレイヤーが見えているかを判定してみました。レイキャストはRaycastCommandを使って分散処理します。 概要 シーンに10000体のナビメッシュエージェントを徘徊させます。… 続きを読む »

【Unity】ナビメッシュエージェントを椅子に座らせる

ナビメッシュエージェントコンポーネントを付けたキャラクターを自然に椅子に座らせてみました。 モーションを用意 歩きと立ち(Idle)以外に、椅子に座るモーションをインポートします。 椅子を置く Cubeを作り、キャラクタ… 続きを読む »

【Unity】ナビメッシュエージェントをランダムな方向に移動させる

ナビメッシュエージェントを360度ランダムな方向に移動させてみます。 ゲームオブジェクトを追加 シーンにカプセルと、地面や障害物を配置してナビメッシュをベイクしました。 カプセルにナビメッシュエージェントコンポーネントと… 続きを読む »

【Unity】オフメッシュリンク上でのアニメーションや速度を変える

オフメッシュリンクで狭い通路を通るときに、屈んで歩くアニメーションに変えて歩く速さも遅くしてみました。 オフメッシュリンクを作る まず、壁と通路を作ってナビメッシュをベイクしました。通路の天井が低いのでこの中にはナビメッ… 続きを読む »

【Unity】TPSキャラクターの歩行アニメーションを設定する

Blenderで作った歩きやターンのアニメーションをTPSキャラクターに設定して、操作してみました。AIのキャラクターにも同様に使えました。 Blenderでアニメーションを作る スタンダードアセットのTPSコントローラ… 続きを読む »

【Unity】キャラの状態をオブジェクトにする

ナビメッシュエージェントコンポーネントを付けた敵キャラの状態をオブジェクトにして管理してみました。 敵に付けるスクリプトのクラスの中に状態のクラスを定義して、各状態はそのクラスを継承します。各状態のクラスにその状態に必要… 続きを読む »

【Unity】敵がスムーズに追いかけてこないとき

違うフロアにいるとき等にナビメッシュエージェントの目的地にプレイヤーの位置を毎フレーム設定すると、エージェントの移動がカクついてスムーズにプレイヤーを追尾しません。 毎フレーム目的地を入れて、経路が変わることが原因でしょ… 続きを読む »

【Unity】プレイヤーと同じ階のナビメッシュ上の点を目的地に設定する

建物の床などナビメッシュが上下に重なってしまうところでは、プレイヤーがいる階のナビメッシュ上の点がただしく取れないときがあるので、階を判別して目的地を探す方法を変えてみました。 まず、階ごとに別々のエリアを設定します。 … 続きを読む »

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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