Navigation コンポーネント

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

Windows
MacOS
Linux

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

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

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

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

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

AroundTheRed.jpg

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

ThroughTheRed.jpg

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


Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback