Navメッシュのつかいかた
BOTがここ行けるようにしたい! とかそういうときの手順をまとめる
準備
まずチート使わないと出来ないので
sv_cheats 1
します。
次に本来は表示されていないNavメッシュを画面上に表示させます。NavメッシュとはNavigation Meshのことで、BOTの移動経路に利用されているもののことです。以下のコマンドでそれを画面上に表示できるようになります。
nav_edit 1
この状態で歩きまわると、Navメッシュが見えまくりです。
余談
余談ですがL4DでいわゆるGlitchポイントと呼ばれている、ゾンビが手をあげてワーワーやって動かなくなる現象が起きる場所はいわゆるこのNavメッシュが存在していない場所、あるいはNavメッシュが到達できない孤立した状態になってる場所です。これを修正すればちゃんとゾンビは襲いかかってくるようになります。
何もないところにNavメッシュを生成する方法
次にNavメッシュが貼られていない地面の表面にNavメッシュを貼る方法を書きます。これをすると、BOTがそこを歩けるようになります。まずBOTが歩けるようにしたい領域(四角形)を頭でイメージして、その四角形の始点となる場所にAimingした状態で
nav_begin_area
します。たぶん部屋の隅とかね。
次に、その四角形の終点となる場所で
nav_end_area
します。こうすることで四角形である、1つのNavメッシュが生成されます。
ただ、このままだとこのNavメッシュは他のどのNavメッシュとも接続されておらずBOTは到達できません。そこで、これを他のNavメッシュと接続する必要があります
Navメッシュの接続方法
Navメッシュの接続をするには、まず接続したい片方のNavメッシュをAimingした状態で
nav_mark
とします。こうすると選択状態になります。次に接続先のNavメッシュをAimingした状態で
nav_connect
とすると接続が完了します。ただしこのままだと片方向の接続になります。BOTは一方通行しかできないです。双方向にしたいのであれば双方向でnav_mark/nav_connectする必要があります。
作業が終わったら
nav_save
をすれば保存完了です。生成したものが、maps/*.nav に保存されています
プレイヤーが歩ける場所でNavを自動生成したい
なにこれくっそダルいやんってなると思いますが、一応プレイヤーが歩ける場所についてはNavメッシュは自動生成できて
nav_generate
ってコマンドを使えば大丈夫です
新マップなんかだと先にこれを実行した後で微調整として、nav_begin_area/nav_end_areaでNavメッシュ生成して、connectしていく感じですかね。