【Unity】ナビメッシュエージェントをランダムな方向に移動させる
ナビメッシュエージェントを360度ランダムな方向に移動させてみます。 ゲームオブジェクトを追加 シーンにカプセルと、地面や障害物を配置してナビメッシュをベイクしました。 カプセルにナビメッシュエージェントコンポーネントと… 続きを読む »
ナビメッシュエージェントを360度ランダムな方向に移動させてみます。 ゲームオブジェクトを追加 シーンにカプセルと、地面や障害物を配置してナビメッシュをベイクしました。 カプセルにナビメッシュエージェントコンポーネントと… 続きを読む »
「Nav Mesh Surface」コンポーネントを使って、エージェントタイプごとに別のナビメッシュをベイクしてみました。 コンポーネントを入手する 「Nav Mesh Surface」コンポーネントはGitHubでダウ… 続きを読む »
NPCの通り道であるナビメッシュは、テレインが凸凹してたりすると途切れてしまいます。こういうところはSmooth Heightでスムーズにして再度ベイクすると通ります。 段差のある部分もナビメッシュが途切れるので、なんと… 続きを読む »
前の記事では、保存した経路を再設定したときに正常に経路にたどり着けるときと、その場に立ち止まってしまうときがありました。このときの経路のNavMeshPathStatusの値を調べてみました。 text.text = a… 続きを読む »
ナビメッシュエージェントから目的地までの経路に沿った距離を表示してみます。 ナビメッシュの経路のコーナーポイントは、通過するたびに一つずつ減っていくようです。今ある2番目のコーナーポイントを通過すると、1番目のコーナーポ… 続きを読む »
ナビメッシュエージェントが目的地へ向かう経路上に等間隔にオブジェクトを配置してみます。前の記事で取得した経路上のコーナーを使います。上のGIF画像ではコーナーに緑色の球が置かれています。 if (Input.GetKey… 続きを読む »
前の記事のスクリプトで、ナビメッシュエージェントに目的地への経路上でワープさせてみます。 second += Time.deltaTime; if (second >= 3f) { second = 0f; Vec… 続きを読む »
ナビメッシュエージェント(赤いカプセル)が目的地(青いキューブ)へ向かうまでの経路を取得してみます。 using System.Collections; using System.Collections.Generic;… 続きを読む »
移動するプレイヤーを囲うように敵を配置するときに、すでに敵がいる方向へは新たに敵を配置しないようにします。 using System.Collections; using System.Collections.Gener… 続きを読む »
プレイヤーを囲うようにナビメッシュ上に敵を配置する方法を考えてみました。 ナビメッシュ上に予め空のゲームオブジェクトをたくさん配置しておいて、その中からプレイヤーとの距離によって選ばれたものと同じ位置に敵を出現させること… 続きを読む »
C#スクリプトでTime.timeScaleに1より小さい値を入れるとスローモーションにできます。 FPSキャラクターやナビメッシュエージェントをシーンに配置して試してみます。 FPSキャラクターには、元々付いている足音… 続きを読む »
ナビメッシュエージェントに巡回させて、目的地に付いた時に一旦巡回を停止させて、その場でアニメーションさせてみました。 NPCにスクリプトを付けて、ベンチと2つの目的地をアタッチしています。 目的地は空のゲームオブジェクト… 続きを読む »
ラグドールに切り替えて、ゾンビが頭を撃たれると倒れるようにします。 前の記事のプレイヤーを追うキャラクターとは別に、ラグドールにするための同じモデルをシーンに新しく配置して、Createからラグドールを新規作成します。 … 続きを読む »
まずはNPCに歩いているアニメーションをさせながら、プレイヤーを追跡させます。 Asset Storeで無料のキャラクターのアセットをダウンロード・インポートしました。 モデルをシーンに配置します。 インスペクタを見ると… 続きを読む »