NavMesh Obstacle の作成
オフメッシュリンクの自動生成

Off-mesh Link の作成

オフメッシュリンクは、歩行可能な NavMesh から、外側に向かうパスを作成するために使用されます。例えば、溝や柵をジャンプして飛び越える、またはドアを通過する前に開ける、というようなものはすべてオフメッシュリンクで実現可能です。

高台から地面へジャンプする実装を行うために、OffMeshLink コンポーネントを追加してみましょう。

  1. まず 2 つのシリンダー を作成します: Game Object > 3D Obejct > Cylinder
  2. やりやすくするためにシリンダーの大きさを (0.1, 0.5, 0.1) にします。
  3. NavMesh の表面近くの 高台の端に 1 つ目のシリンダー を移動します。
  4. リンクが着地する場所として NavMesh 近くの地面に 2 つ目のシリンダー を配置します。
  5. 左側(高台)のシリンダーを選択して、Off Mesh Link コンポーネントを追加します。インスペクターの Add Component から Navigation > Off Mesh Link を選択します。
  6. Start フィールドに左側(高台)のシリンダーを、End フィールドに右側(地面)のシリンダーを割り当てます。

これで動作するオフメッシュリンクのセットアップが終わりました。普通に NavMesh を移動するよりもオフメッシュリンクを利用したほうが早く着く場合は、自動でオフメッシュリンクを利用するようになります。

Off Mesh Link コンポーネントはシーン内のすべてのゲームオブジェクトに対してアタッチして使うことができます。例えば、柵のプレハブに Off Mesh Link コンポーネントがアタッチされているかもしれません。同様に、Start と End プロパティーで使用するマーカーとなる Transform もすべてのゲームオブジェクトが対象となります。

NavMesh のベイク処理では、自動的に Jump-Across と Drop-Down のリンクが作成できる場所を検出し、リンクを作成します。詳細は オフメッシュリンクの自動生成 を参照してください。

参考文献

NavMesh Obstacle の作成
オフメッシュリンクの自動生成