MENU
Top
Maps
Models
Tips
Tutorials
FAQ
Entities
Dictionary
Files
Archives
Forum
Links
About
Quick Link
Counter-map
VERC
CS-Nation
HalfLife2.Net




Compile Option for ZHLT
ZHLTコンパイラーのオプション

Half-Life系マッピングのコンパイラーとして定番のZHLT(Zoner's Half-Life Toos)のオプションを紹介します。
これらのオプションはHammer上でF9キーを押して出てくるコンパイル設定ダイアログや、独自で作成したバッチファイルでも設定可能ですが、オプションを指定するのに便利なバッチコンパイラーというツールがあります。
色々な機能を組み合わせて試してみたい時や、マッピング最終段階のフルコンパイルで使うと便利です。
このツールについてはこちらを参考にどうぞ。( THX! 佐藤孔盟氏 )

共通オプション


-texdata # bspに含めるテクスチャの最大容量をUPする。


wadincludeオプションでbspファイルにテクスチャファイル(*.wad)を含める場合、デフォルトではその容量が4MBまでと定められている。
このオプションを使用することによりテクスチャファイルの容量を上げることが出来る。
下の例ではテクスチャファイルの容量を約8MBにUPしている。

例: -texdata 8000

参考
-chart BSP統計値を表示

マップの細かい統計値を知ることが出来る。
各種エラーの原因を探る一つの手段としても使う。

以下表示例:

Object names  Objects/Maxobjs  Memory / Maxmem  Fullness
------------  ---------------  ---------------  --------
models             66/400         4224/25600    (16.5%)
planes           8696/32767     173920/655340   (26.5%)
vertexes        10742/65535     128904/786420   (16.4%)
nodes            3878/32767      93072/786408   (11.8%)
texinfos         2262/32767      90480/1310680  ( 6.9%)
faces            8250/65535     165000/1310700  (12.6%)
clipnodes       10796/32767      86368/262136   (32.9%)
leaves           2463/8192       68964/229376   (30.1%)
marksurfaces    10420/65535      20840/131070   (15.9%)
surfedges       39150/512000    156600/2048000  ( 7.6%)
edges           19976/256000     79904/1024000  ( 7.8%)
texdata          [variable]    1555704/4194304  (37.1%)
lightdata        [variable]    1195689/4194304  (28.5%)
visdata          [variable]     121132/2097152  ( 5.8%)
entdata          [variable]      14479/524288   ( 2.8%)
100 textures referenced
=== Total BSP file data space used: 3955280 bytes ===
-low

or

-high
コンパイラーのシステム内の優先度を変更する

「-low」とすることでコンパイラーのメモリー使用率を下げる事ができ、Windowsなどでマルチタスク時に、特にメモリーの少ないマシンに有効。
以下の環境のマシンでテストした限りでは変化が分からなかった。

CPU: Athlon2500+, RAM: 1G

-nolog コンパイル終了後にログファイルを作らない
-threads # マニュアルでスレッド数を決定する

マルチタスク(Windows)以外のシステムで使用。
-estimate コンパイルの残り時間を詳細に表示

デフォルトで「 10%...20%... 」 と表示される残り時間表示を、秒単位の時間で表示させる。

-verbose 詳細なプロセスログを表示

エンティティ単位、Brush単位でのプロセスをログに表示。

-noinfo コンパイルの設定状態をログに表示しない
-dev # デバッギングメッセージをログに表示

オプションに付加する数字によって頻度や種類を選べる。



CSGオプション



-nowadtextures 使用している全てのテクスチャをbspファイルに含める
-wadinclude file 特定のテクスチャファイルをbspファイルに含める

カスタムのテクスチャファイル(*.wad)をbspに含めたい時に使用するオプション。
wadファイルをbspに含めないと、マップを配布する時にwadファイルを添付しなくてはならない。

例: -wadinclude yourmap.wad

参考

-noclip 「 Clipping Hull 」を作成しない

Half-Lifeエンジンは4つのHullを所持している(一つのヴィジュアルlHullと3つの不一致Hull)。
このオプションは不一致Hullの生成を防ぎ、コンパイル時間を短縮できる。
但しこのオプションをセットした場合、Worldは固体にならないので注意。
(詳細不明)

-onlyents bspファイルのEntityを更新する

VISやRADのコンパイル工程を経ずに、bspファイルのみを直接変更可能にするオプション。但し変更可能なのはEntityのみでBrushは無効。
一度完成したマップで、後からEntityの設定を変えたり、Entityそのものを追加/削除する場合は、このオプションを使うとかなりの時間の節約になる。

またEntityでもlightなどRADに関わるEntityなどは変更不可で、マップ自体が壊れてしまうので注意。

またこのオプションを使用する際には、CSG単独コンパイルを行う事(他の3つのコンパイラーのチェックを外す)

-noskyclip 自動で「 Clipping of SKY brushes 」するのを解除

デフォルトでCSGは全てのSKY Brushを切り取ると共に、SKY Brushの中でSKY Brushでない内側の面の部分を全て除去してしまう。
このオプションをセットする事でその事を解除できる。
コンパイル時間の短縮と、マップによってメモリを節約できることがある。
(詳細不明)

-tiny # サーフェイスする前にBrushの最小面を除去する

Brushの最小面(0.5Units以下)が完全に除去される。
但しBSPツリーがWorldで使えなくなる事や、VISでLeaf Portalエラーを引き起こす恐れがある。
(詳細不明)
-brushunion # Brushの重なり度を警告する

デバッグモードの一つ。
2つのBrushの重なり具合を0〜100のパーセンテージで設定しその警告をパスする事ができる。
(詳細不明)
-hullfile カスタムHullファイルを読み込む

3行から構成されるHullファイルは、各行にはXYZのバウンディングボックスの位置情報が記述されている。
(詳細不明)


BSPオプション


-leakonly LEAKチェックのみを行う

LEAKチェックのみを行い、ptsファイルを作成する。
予めマップにLEAKがあるのが分かっていて、その場所を確認したい時に使うと時間の節約になる。

-subdivide # 面の細分化サイズをセット

Half-Lifeエンジンはデフォルトで240という値で細分化する。
このオプションを使用することでこの値をより小さい値に変える事が出来るがr_speedsのカウント数を上げてしまう(≒FPS減少)ので注意。

-maxnodesize # Portal Nodeの最大サイズをセット

小さいサイズを設定する事でBSPを小さくできるがr_speedsは増大してしまう。
しかしVISの速度がアップする場合が多い。
(詳細不明)

-notjunc t-junctionsのエッジを切断しない

デバッグモードの為、ファイナルコンパイルでは使わないこと。
(詳細不明)
-noclip 「 Clipping Hull 」の工程を通過する

CSGの「 -noclip 」オプションを続ける為のもので、不一致HullをBSPに含ませない。
デバッグモードの為、ファイナルコンパイルでは使わないこと。
(詳細不明)

-nofill 外側の面をLEAKマスクで満たさない

デバッグモードの為、ファイナルコンパイルでは使わないこと。
(詳細不明)



VISオプション


-fast VISコンパイル時間を短縮

マップのプレイテスト用にコンパイルする時に使用する。
ポリゴン数を減らさずにコンパイル時間を短縮出来るが、r_speedとepolyのカウント数が増大してしまうのでCounterStrikeなどのマルチプレイを前提としたマップではラグの原因になる。
RADコンパイルも可能だが、完全ではない為、単なる構造テストでの使用に限ったほうが良い。

-full VISフルモード

VISコンパイルの計算を拡張モードで行う。
このオプションを使用しないノーマルモードに比べて、VISで発生するエラーを軽減する事ができる。
計算処理が多くなる為ノーマルに比べてコンパイル時間が約30%アップしてしまう。
r_speedsのカウント数はノーマルとほとんど同じだが、エラー軽減によって減る事もあるし、増えてしまう事もある。



RADオプション


-sparse 低メモリーVismatrixアルゴリズムを有効

Vismatrixを圧縮してRADコンパイルを行う。
ノーマルVismatrixではPatch数が65535までと定められているが、この限界を超えてコンパイルする事が出来る。
ノーマルモードに比べメモリーを10%しか消費しないが、代わりにCPU使用率は上がる。
Patch数が多くコンパイル時にメモリー不足などの原因で途中で終了したりフリーズしたりする場合にはこのオプションを有効にする事で解決する場合もある。
(詳細不明)

-nomatrix Vismatrixを使用しない

sparseオプションと同様に、メモリの使用量を下げる。
(詳細不明)

-extra ライティング処理に9ポイントのオーバーサンプリングを行うことで 見た目が良くなる。
-bounce # ラジオシティー反射数をセット

ライティングによって得られる影をよりリアルにする。
実際には影の荒さを取る処理を行うので、暗いエリアでは影の自然さを出す事ができる。
セットする数字は5を推奨。

-ambient r g b 影の色をRGBで指定
-maxlight # 光の強度の最大値をセット
-circus サーカスモード有効

デバッグモード。影の部分がランダムカラーによって塗られるので光の方向を確認できる。
但し光はEntityのlightによるものに限る。

-nopaque Opaque(光を遮断) Brushを無効にする。

Opaque処理はRADコンパイルにより多くの時間を要する為、この処理を省く事でコンパイル時間の短縮になる。
従ってファイナルコンパイルでは使用しないこと。
-smooth # 影をブレンドしてスムーズにする

0〜180度の間で角度を設定し、影をスムーズに出来る。

-chop # ラジオシティーのパッチサイズをセット(ノーマルテクスチャ用)

面のパッチサイズをより精細にする事で影のクォリティを高める事ができる。
セットする数値が小さいほど精細になり、その分メモリーとCPUの使用率を多く消費する。
デフォルト(=最大値)の数値は64。

-texchop # ラジオシティーのパッチサイズをセット(テクスチャライト用)

上記と同様だが、その効果は未確認。
(詳細不明)

-notexscale # テクスチャのスケールによってラジオシティーPatchのサイズを変えない

RADはデフォルトでPatchのサイズをテクスチャのスケールに従って切り取ってしまうが、このオプションをセットする事で解除する事が出来る。
-coring # ライティングしきい値をセット

黒くなる部分以外の明るさをコントロールする。

-dlight # ダイレクト・ライティングのしきい値をセット

値が高すぎる場合にその値をカットする事意外は、maxlightオプションと同じ。

-dscale # ダイレクト・ライティングスケールをセット

セットする数字を「1」とすると最も正確なライティングになる。
「0」は全てのダイレクト・ライティングを除去する。
「3」や「4」とするとライトと影の関係が極端になり、荒くなる。

-nolerp ラジオシティーのPatchブレンドに3つのマルチポイント補完を使用しない。
(詳細不明)
-fade # グローバル・フェードをセット

全てのダイレクト・ライトが持つフェードの値を変える。
大きな値を入れることで光は短くなる。

-falloff # グローバル・フォールオフ・モードをセット (1 = inv linear, 2 = inv square)

ライトのフォールオフ(減少)モードを変更。
「1」逆-線
「2」逆-方形

-scale # グローバル・ライトのスケール値をセット

ダイレクト・ライトが追加された後の最終ライティングスケールを設定。
低い値にすると暗く、高い値にすると明るくなる。
-gamma # グローバル・ガンマ値をセット

ダイレクト・ライト追加後の最終ライティングのガンマ値を設定。
-sky # 日光の強度をセット

特に影に与える影響を変更。
-lights file カスタムlights.radを指定

デフォルトでは、ZHLTと同じフォルダにあるlights.radか、マップ名.radを自動的に使用するが、それ以外のファイルをここで指定することが可能。
-noskyfix グローバルlight_environmentを解除

ZHLT ver.2.1から、light_environmentは一つ用意すればマップ内の全ての部分に適用されたが、これを解除したい場合はセット。
-incremental 「Incremental Transfer List File」を使用/作成

低スペックマシン向けのオプションで、最初にこのオプションをセットしてコンパイルする事で作成される*.incファイルを使って、RADの「BuildVisLeafs」 、「MakeScales」、「SwapTransfers」の工程をスキップ可能。

その方法は、
ライト類を移動させた後、CSGのonlyentsオプションを使ってEntityを更新し、再度RADでこのオプションを付けてコンパイルする。
但し最初に使用していたRADのオプション類は完全に同じにして実行しなくてはならない。
-dump ログファイルにライトPatchデータを書き込む


コンパイルのオプションについては理解するのに難しい部分があり、細かい所まで検証を行っておりません。
もしこのコンテンツに関する間違いや追加すべきことがありましたらForumにてお知らせください。

Copyright (C) 2003, 2004 CSEC All rights reserved.