空き地に家を建てる、室内に新たに家財道具を追加する、内戦で町並みが変わっていくなど、後からオブジェクトを追加、削除するような場合、その付近で生活するNPCの挙動はNamesheの関係上不自然なものになってしまう。(例えば、何もないところを歩こうとしたり、何もないにのそこに何かがあるかのようにそこを避けて歩いたり、新たに追加されたオブジェクトに引っかかったりなど)
この不自然さを解消するために役立つのがNAVCUT Box。
NAVCUT BoxはNavmesh上の障害物として扱われる。つまり、NPCはNAVCUT Boxを障害物として避ける。
このNAVCUT Boxを上手く使えばゲーム内で動的にNavmeshの形状を変えることができるんだ(`・ω・´)
Navmesh関連の競合を最小限にすることができるので、覚えておいて損はない。
NAVCUTのCollison設定
・Colllide with…が空欄なので、衝突判定はない
・Trigger Volumeが無効なので、OnTrigger****イベントは動かない
・Navmesh Obstacleが有効なので、Navemesh上の障害物として扱われる
NAVCUT Boxの作り方
1.レンダーウィンドウで適当なオブジェクトをクリック。
2.Toolbarからコリジョンボックス(真ん中)をクリックし、コリジョンボックスを追加する。![]()
3.追加されたコリジョンボックスをダブルクリック、プロパティ画面に入り、Primitive Tabを選択。
4.Collision LayerをL_NavCutに変更して、出来上がり。
上記で作ったNAVCUT Boxを適時Enable/DisableすることでNavmeshの形状をある程度自由に変えることができる。
補足
StaticオブジェクトやActivatorなどはObstacleにチェックを入れることで、Navmesh上の障害物にすることが可能。が、オブジェクトの形状によってはNPCが引っかかることがあるので、NAVCUT Boxを使うことをお勧めする。


コメント