エンティティの設置とコンパイル


エンティティー

エンティティーとはQ3エンジンのゲームの中で特別な役割を持つオブジェのことで、さまざまな種類があります。ここではTerroristやSpecopsのスポーンポイントなど、マップを作る上で最低限必要なエンティティーを配置してみます。

info_player_deathmatch

info_player_deathmatch はスペクテーターのスタート地点です。

2Dウィンドウの中央あたりで右クリックしてエンティティー追加メニューを出し info → info_player_deathmatch を選択

no image

このピンク色の物体が info_player_deathmatch エンティティです。

no image

左クリックで選択して好きな場所に移動させることもできます。
ただし、他のブラシと重なったりすると後でコンパイル時にエラーを起こすことがあるので注意。

script_multiplayer

script_multiplayer はゲームをスタートさせるためのスクリプトを定義するエンティティです。

ESCキー を押して選択状態を解除して、今度は script → script_multiplayer を選択。
さらに Nキー を押して、エンティティー編集ウィンドウから次のキーと値を追加します。

Key: scriptname Value: game_manager

Valueを入力したらEnterキーを押して確定し、×ボタンでウィンドウを閉じます。

no image

スクリプトを制御するためのエンティティなので配置する場所は自由です。

team_CTF_bluespawn

team_CTF_bluespawn は Specops のスポーンポイントです。

空中に浮いてる状態のままだとリスポン⇒落下死という理不尽ことになりかねないので
地面ギリギリ近くに下げておきましょう。

no image

次に Nキー でエンティティ設定ウィンドウを開き invulnerablestartacrive にチェックを入れておきます。
このチェックがないと、せっかく複数配置してもひとつしか有効になりません。

no image

エンティティ設定を終えたら、選択状態のままスペースキーを押せば複製が作成されます。
プレイ人数に合わせてたくさん配置しておきましょう。
24人対応マップなら最低12個は必要です。

team_CTF_redspawn

team_CTF_redspawn は Terrorist のスポーンポイントです。

team_CTF_bluespawn のときと同様に高さと位置を調節。
エンティティー編集ウィンドウ左下の角度入力ボタンから、デフォルトの向きを調整してみよう。
ボタンをクリックするたびにエンティティの矢印の方向が変わるところに注目。

no image

invulnerable と startactive にチェックを入れるのを忘れないように。
また、こちらも人数分複製を作って配置しておくこと。

team_WOLF_objective

team_WOLF_objective は本来は Enemy Territory のリンボメニュー用のエンティティです。
TCEではリスポン場所を選択することはできませんが、Specops と Terrorist のそれぞれのスポーンポイントの近くに
1つずつ配置しておく必要があります。

例によってNキーでエンティティ設定ウィンドウから

no image

Specops用は default_allies

no image

Terrorist用は default_axis

チェックを入れておきましょう。

保存

ここで、ひとまずマップを保存します。
保存場所は tcetest/maps/ フォルダの中が便利です。

名前は obj_マップ名 という名前にするのが決まりのようです。
今後出てくるVIPや人質救出マップでは違うプレフィックスになるかもしれませんが・・・。

マップファイルの拡張子は .map です。
obj_test と入力すれば、obj_test.map というファイル名で保存されます。

コンパイル

[BSP]メニューから

bsp_Q3Map2: (single) BSP -meta bsp_Q3Map2: (single) -vis bsp_Q3Map2: (single) -light -fast -areascale 3 -pointscale 3 -sky 3 -gamma 1.6 -bounce 3

の3つをこの順番で実行します。
それぞれのステップの意味は

BSP -meta
で空間分割の計算が行われます。
ちょっとした確認作業だけならこのコンパイルだけで済ませることも多いです。
マップに穴が開いている(Leakエラー)などの致命的なエラーはここで検出されます。

-vis
で空間分割データの最適化が行われます。
どこからどこが見える(見えない)といった情報を最適化して効率良く検索できるようにする計算が行われます。
マップの規模が大きくなるととても時間がかかりますが、軽量化の努力しだいで早くすることもできます。

-light -fast -areascale 3 -pointscale 3 -sky 3 -gamma 1.6 -bounce 3
で光と影の計算(lightmapの生成)が行われます。これもマップの規模が大きくなるととても時間がかかります。残念ながらこのステップを高速化する有効な方法はありません。

以上のコンパイル手順を全部いっぺんにやってしまう方法もあります。

(final) BSP -meta, -vis, -light -fast -areascale 3 -pointscale 3 -sky 3 -gamma 1.6 -bounce 3

これは上記の3つのステップを一気にやってくれます。

コンパイルが完了すると obj_test.bsp というファイルができます。

コンパイルエラーについては、トラブルシューティングを読んでください。
たいていのエラーは書いてあると思います。

テストプレイ

いつも通りに TCE を起動して、Shift+半角を押してコンソール画面で

/sv_pure 0 /set sv_official 0 /devmap obj_test

(※obj_test の部分には MAP の名前が入るので違う名前の MAP に
している場合はその名前を入力してください)

と入力します。行末では必ずEnterキーを入力しましょう。

no image

うまくいけばこんな感じ

no image

うまくいかない場合はトラブルシューティングを読んでください。