【Unity】テレインのナビメッシュを微調整する
NPCの通り道であるナビメッシュは、テレインが凸凹してたりすると途切れてしまいます。こういうところはSmooth Heightでスムーズにして再度ベイクすると通ります。 段差のある部分もナビメッシュが途切れるので、なんと… 続きを読む »
NPCの通り道であるナビメッシュは、テレインが凸凹してたりすると途切れてしまいます。こういうところはSmooth Heightでスムーズにして再度ベイクすると通ります。 段差のある部分もナビメッシュが途切れるので、なんと… 続きを読む »
前の記事では、保存した経路を再設定したときに正常に経路にたどり着けるときと、その場に立ち止まってしまうときがありました。このときの経路のNavMeshPathStatusの値を調べてみました。 text.text = a… 続きを読む »
ナビメッシュエージェントから目的地までの経路に沿った距離を表示してみます。 ナビメッシュの経路のコーナーポイントは、通過するたびに一つずつ減っていくようです。今ある2番目のコーナーポイントを通過すると、1番目のコーナーポ… 続きを読む »
ナビメッシュの経路を保存しておいて、別の目的地を設定した後に再設定してみます。 経路は目的地を設定してから数フレーム後に利用可能になるようです。まだ一度も目的地を設定していないときは、今いる場所が目的地になっていて、経路… 続きを読む »
ナビメッシュエージェントが目的地に向かう時に小刻みにワープさせてみました。 まず、目的地を設定した後に、前の記事の方法で経路上の位置を等間隔に取得します。オレンジ色の球を置いたときにVector3のリストに球の位置を追加… 続きを読む »
ナビメッシュエージェントが目的地へ向かう経路上に等間隔にオブジェクトを配置してみます。前の記事で取得した経路上のコーナーを使います。上のGIF画像ではコーナーに緑色の球が置かれています。 if (Input.GetKey… 続きを読む »
前の記事のスクリプトで、ナビメッシュエージェントに目的地への経路上でワープさせてみます。 second += Time.deltaTime; if (second >= 3f) { second = 0f; Vec… 続きを読む »
ナビメッシュエージェント(赤いカプセル)が目的地(青いキューブ)へ向かうまでの経路を取得してみます。 using System.Collections; using System.Collections.Generic;… 続きを読む »