About Diary Tips Gallery
 
PCゲームHALOのMAPとHEKのメモ書きとかとか。

HELO Custom Edition HEK メモ

基本的にはマニュアルに書いてある事をなぞる感じになりますが、
私の引っかかった事を中心に、壁に阻まれている方々の助けになればと思います。
チュートリアルを一通り行っていることを前提にしているので、
細かな仕様や、大前提となる解説は省略します。
間違った事を書いてる可能性が大いにあります。ご注意ください。
サンプルファイルを公開予定ですが、も少し待ってください。

■本家マニュアル
http://www.cortana.org/HEK_Tutorial/

作業の流れは、チュートリアルにもありますが、
以下の様な手順で進みます。(HEKのチュートリアル通りです)

1.モデリング
2.マテリアルの設定
3.エクスポート
4.コンパイル
5.タグ編集
6.ラジオシティー焼付け
7.タグ・ゲームルールの設定
8.コンパイル

4以降は、それぞれ別階層でデータを扱っているらしく、
ゲームルールに関する設定(アイテムの配置や出現ポイント等)は保持されます。
つまり、実際にマップの形状に修正があっても
7の作業は微調整等の軽い作業で済みます。

!)メモ
7の作業は、マップに大幅な修正(マップを2倍に大きくしたい等)
が発生した場合に、当然そのサイズに合った修正が必要になります。
マップのサイズを感覚的に把握できていない内は、
6の作業後、一旦7の作業にあるプレイヤーの出現ポイントを設定。
8の作業でマップを出力し、マップサイズを確認すると多少効率的かも知れません。

では実際に、作業手順に沿ったポイントの解説・メモ書きをして行きます。



●モデルデータについて

モデルデータは、面が欠けていたり空間が閉じられていなくてはいけません。
平面ポリゴンが合ってはダメという事です。
ただし、特殊なシェーダを使用する物はこの限りではありません。
ハシゴ、川、ワープ等「%」「#」・・等で表記されたシェーダ。

また、モデルデータは特殊なシェーダ以外は
自動的にコリジョンオブジェクトとして扱われます。
コリジョンとは、HALOは自動的に物理演算を行うために使用する当たり判定です。
そのため、このコリジョン同士が重なっていたり交差しているとエラーが出ます。

4のコンパイルでエラーが表示される場合は、
エラーに対応した箇所をHALO CEディレクトリに
「マップ名.wrl」ファイルが作成されます。
そのファイルを元に、データを修正すると良いです。


●シェーダについて

シェーダやテクスチャについては、
まだ良く理解できていないのでマニュアル読んでください^^;
フォグ、川、階段、ガラス、プレイヤークリップ等の特殊な物に関しては
マテリアル名に記号を付加する事で、HALOが認識する事が出来ます。

マテリアルで重要なのはマテリアル名です。
HALOで表示されるテクスチャは、マテリアル名を元にされています。
maxのGL上で表示されていても名前が違うと、そのテクスチャは使用されません。

!)メモ
既存のマップのテクスチャを使用する場合、
Halo Custom Edition\tags\levels\test\
の辺りから、欲しいステージのテクスチャ名を引っ張って来ると間違いないです。

HALOはどうやらスムージング角度を見てません。
勝手にスムージングするっぽいので、土や草のような滑らかに法線表示したい場所は
緩やかにポリゴンを張った方が綺麗に見えます。

UV編集がメンドクサイ場合は、UVの種類からボックスを選んで
適当にリサイズすると楽です。
ただ有機的な形状に対しては、綺麗に見せる事は難しい。


●Portalsの設定

portalはHALOで使われる、3次元空間を分割する見えない仕切りです。
主にフォグや3D音響で使用される・・・らしいです。たぶん。

portalには、「portal」と「exactportal」があります。
「portal」は、実際のマップオブジェクトに関係なく配置する事が出来ます。
「exactportal」は洞窟や建物(ベース)など大きな空間から独立した、
小さな空間の入り口に使用されます。「exactportal」は「portal」と違い
マップデータのジオメトリの頂点座標と同一座標にある必要があります。

!)メモ
portalのコンパイルに失敗しても、それ以降の作業に進む事が出来ます。

portalのエラーの原因の大半は、
「exactportal」と「portal」で区切られた空間が交差している場合に起きます。
max上では別オブジェクトのこともあり、線として認識してしまいますが
閉じられた1つの空間として考えられているようです。
そのため、「exactportal」は「portal」の仕切り内に完全に含まれるか
切り離されているかのどっちかでなくては成りません。


●プライヤークリップ
プレイヤーの行動範囲を設定する見えない壁です。
弾やグレネードはこれに制限を受ける事はありません。
マップ内で行けては問題のあるところに設定します。

!)メモ
マップオブジェクトと接触しているとエラーが出るようです。
微妙に宙に浮かせて使用すると良さげ。


●コンパイルについて
tool.exeですがコマンド プロンプトで実行させます。
私はCUIは使った事が無かったので全く分からなかったのですが^^;
はじめに作業ディレクトリを指定してやらないと、動かないそうです。
コマンドプロンプトのショートカットを作成し、
プロパティー>作業フォルダに、現在作業中のディレクトリを指定してやります。

!)メモ
チュートリアルでは「C:\HALO」を作業ディレクトリに〜となってますが
メンドクサイので、HALO CEをインストールしたディレクトリを指定して作業してます^^;

作業するディレクトリを他に移している場合は、tool.exeが動かない可能性があるので
システムのプロパティ>詳細設定>環境変数にHALO CEディレクトリを追加すると良いらしい!?

●ラジオシティ焼付け

ラジオシティーはCGのレンダリング技術の一つで、
元々は熱量追跡のシュミュレーションとして開発された技術だった気が
通常のCGは光の2次反射を(物の照り返し)を計算しないが、
この技術を使えばそれが可能になり、結果リアルなシェーディングが得られる用になる物です。
リアルなCGを使った映画やCM、鬼武者なんかのムービーで見ることが出来ます。(HALOの場合は、そこまで高度な計算はしませんけど)
最近のゲームはこの技術を使って、 リアルなシェーディングをモデルに焼き付けて使用します。

この計算は、マップモデルのポリゴン数やスケールによって変化します。
また、細かな隙間が多い場合など計算に時間が掛かります。
CPUが早ければゴリ押しできます^^;

Sapiendのゲームウィンドーでの操作はマニュアルにも載ってますが、
説明がRadiosity (Lighting) の次に書いてあるので、気づかないとしんどいです。
キーボード押しまくりました。
そんな事にならないために、一応書いておきます。

----------------------------------------
コマンド入力:@キーです!
中マウスボタン:画面のパン
中マウスボタン押しながら「W」「A」「S」「D」:HALOの基本移動と同じ
中マウスボタン押しながら「R」「F」:カメラのアップ、ダウン
中マウスボタン押しながら「SHIFT」:カメラの移動速度変更

左マウスボタン:アイテム・オブジェクトの移動、回転
右マウスボタン:アイテムの追加
----------------------------------------

これ以降については、間違いが起きようも無いので割愛します。
チュートリアルの画像通りにタグ埋め込んで、オブジェクト配置する作業です。
最後のコンパイルで、.mapファイルに統合されます。



CaveMap ファイル

CaveマップのMAXファイルです。
コンパイルやその他、マップ作成の参考になればと思います。

Cave.max(237KB)