Navigation コンポーネント

ボリューム形状を利用して、navmesh へ選択した Area クラス を適用します。

Choose your operating system:

Windows

macOS

Linux

Navigation コンポーネントは、UE4 の NavMesh(パスファインディング) システムの機能を修正または拡張するコンポーネントです。

Nav Modifier コンポーネント は、それ自体では何もしません。しかし、アクタのルートとして基本形状のコンポーネントを持っていれば、Nav Modifier コンポーネントの Area クラス のプロパティに従い、そのルート コンポーネントのボリュームはその中で NavMesh 生成を修正します。アクタ毎にひとつの Nav Modifier コンポーネントだけを持つようにします。このコンポーネントを複数持っていても何の効果もないからです。また、これはコンポーネント タブの階層の外側に表示され、別のコンポーネントの親になったり、子になったりすることはできません。

こうした Area クラスはエリアに入る 負荷 などの基本的なことや、かがんだ体勢のキャラクターがナビゲートできるエリアなどの高度なことも定義することができます。

負荷は NavMesh システムの重要な考え方です。簡単にいうと、NavMesh を使用してあるポイントから別のポイントに移動するトータルの負荷は、全エリアの移動経路の合計になります (ひとつのエリアのサイズは、プロジェクトの設定で定義されます)。しかし、ソルバは常に最もコスト効率が高い経路を見つけようとします。そのため、エリアを通過する負荷を増やすことによってそのエリア (すべりやすいオイルや起伏のあるテレインなど) を通るのを回避させることができます。ソルバは、それが最もコスト効率が高いものであれば、高負荷エリアであっても通過します。

例えば、赤いエリアは移動するには非常に負荷が高いエリアです。しかし、ポーンは、そこを移動する以外の選択肢はありません。

AroundTheRed.jpg

しかし、壁の一部を取り除くと以下のようになります。

ThroughTheRed.jpg

すると、ポーンはたとえそれがかなり長くかかるルートを進むことを意味しても、赤いエリアを避けます。


Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる