Overview
HWRMの日本人MOD製作者向けのガイドとなります。ワークショップで公開中のA-test Template MODを利用していきます。 ⑦ではHODファイルの解説と作成についてです。
HODファイルの仕組みについて
ユニットを自作する上で欠かせないのはHODファイルの作成です。
このファイルにはユニットの3Dデータ、テクスチャ、各種座標などが一まとめにされています。
公式では3DSMAXという総合CGソフトと連携する形でHODファイルを作成してるようです。
また、ブレンダーの方でも同様のブラグインがあるとか無いとか・・・・
残念ながらここではそれらに関してはノータッチです。
旧HW2用ツールの改良版
を使用していきます。
では、DIOのドローンキャリアーを読み込ませて、例に見て行きましょう。
左側にはメニュータブ、右側がユニットディスプレイです。
メニュータブの項目を簡単に説明します。
————————————————————–
テクスチャになります。ddsかTGAが読み込み可能です。
使用するテクスチャは全部ここに入れる事になります。
使用する名前には注意が必要で、必ず他のユニットと違う名前を使用してください。
同じ名前を使用するとテクスチャが他のユニットと混ざる場合があります。
ユニットにテクスチャを貼り付けるセットです。
用途の違う複数枚のテクスチャを重ねる事になります。
STファイルというのをロードする事でワンタッチでセットの準備が可能になります。
後は用途ごとにテクスチャを指定すれば完成です。
自分は使用していませんが、ここではバッジを貼り付ける、
エンジンのONOFFで光の加減変更などの特別な事も設定するようです。
3Dユニットデータです。
船本体、タレットなどなど、ここでOBJファイルを読み込ませます。
その際にMaterialsを指定する事でユニットにテクスチャを貼り付ける事が可能になります。
自分は使用していませんが、ユニットに細かな凹凸を付ける3Dデータなどが入ってるようです。
プレイヤーの設定次第で表示されたりするのかもしれません。
座標系データです。
ここでは様々な座標を管理する事になっています。
ユニットのタレット、管制灯、エンジンノズル、キャプチャー、リペア、エトセトラ・・・。
基本的にはテンプレートに沿って追加していく必要があります。
また、名前にも法則性があるので注意が必要になってきます。
ここでは管制灯や発光などを設定する事が出来ます。
Jointsの座標を関連つけて使用します。
上手く、扱えればユニット自身を照らし出して良い演出ができるかもしれません。
ユニットのドッキングに関する項目です。
細かく設定する事で、生産発進や着艦などを自在に演出できます。
Jointsとはまた違うタイプの座標系です。
eventsファイルなどでよく使われる座標などを管理しています。
代表的なのは、ダメージ表現、撃沈表現などです。
マーカーのセットされている位置から炎を出したり、爆発させたりという感じですね。
他にも武装に連動させてエフェクトを挿入するマーカーとしても使えます。
使えこなせれば便利です。
ユニットの当たり判定を設定してるファイルのようです。
小さいユニットには設定されていませんが、キャピタル級には使用されているようです。
もしも射撃を受ける時に不具合があるようなら、
判定ボックスを狭める調整が必要になると思います。
小型ユニットが出す航跡の断面となる3Dデータを管理しているようです。
これが無いと航跡は発生しません。
キャピタルユニットのエンジンからでるアフターバーナーです。
基本的には出力の違いに応じて3種類の3Dデータを使用しています。
自分は使用していませんが、Materialsと連動させる項目があるようです。
小型ユニットが出す航跡のゆらぎパターンを設定してるようです。
お好みで調整していいと思います。
————————————————————-
最初は分かりづらい部分もあるかと思いますが、
とりあえずは作りながら覚えていくしかないです。
A-testMODのユニットだけでなく、HWRMのユニットも見ると参考になると思います。
まず、作成を始めるならば段階を踏んで実証しながらがオススメです。
簡単なファイター。
武装をいくつか搭載したフリゲート。
ドッキングなどを備えたキャリアーなどを順に作っていくのが個人的にオススメです。
HODファイル製作の注意点
現状で配布されているCFHodEdですが、いくつか問題点があるようです。
HODファイルを新規作成を何度か試みましたが、
座標系の不具合で保存したファイルがエラーで読み込めませんでした。
これを回避する為には、
適当にインターセプターあたりの構成が少ないHODファイルを使うと良いでしょう。
内容のテクスチャやOBJファイルなども一度消去して置き換えていくといいです。
平面ポリゴンに凹凸を表現するノーマルマップテクスチャですが、
CFHodEdではプレビュー表示する事が出来ません。
バグでアプリケーションが落ちる場合があります。
小まめなセーブが必要です。
また、セーブしたファイルがエラーを吐く場合もあります。
基本的にユニット製作では3ファイルぐらいの順番保存をオススメします。
Materialsで使用するSTファイルは入手困難なので自作しましょう。
次の項目で説明します。
——————————————————————————
目に付いた不具合がある場合は書き足していくかもしれません。
STファイルの製作
Materialsで使用するSTファイルですが、自分は2種類使用しています。
メインの高画質モデルに使用する4テクスチャ用のSTファイルと、
遠景の低画質モデルに使用するノーマルマップを除いた3テクスチャ用のSTファイルです。
$glow=質感を決めるテクスチャ色によって、反射、発光、光沢が調整できるようです。
$team=チームカラーを決めるテクスチャです。
$normal=凹凸表現が可能になるテクスチャです。
2種のSTファイルを使用するならフォルダで選別しておきましょう。
STファイルの制作方法ですが、
まずテキストファイルを開いて以下の文をコピペしてください。
完了したらshipにリネームし、拡張子をSTに変更すれば
4テクスチャ用STファイルの完成です。
次は3テクスチャ用です。
同じように処理すれば完成です。
HODファイル製作手順
基本的な製作ガイドとしての手順を紹介します。
②Texturesへ使用する全テクスチャを読み込ませる。
③MaterialsにてSTファイルを使いテクスチャの使用準備をする。
④ship Meshesにて使用する3Dモデルを準備する。
⑤Jointsで必要な武装と座標をモデルを見ながら設定する。
⑥必要な場合はNavLightsを追加する。
⑦必要な場合はDockpathsを設定する。
⑧必要な場合はMarkersを設定する。
⑨必要な場合はCollsion Meshesを設定する。
⑩ユニットの設定に応じてEngineタブの設定をする。
1から4までは順番固定です。
5以降は状況に合わせて順番を変更しても大丈夫です。
もしも3Dモデルを使用した砲塔を用意する場合などは、
Jointsで座標を作った後で3Dモデルを準備し、関連付けてから微調整が望ましいです。
————————————————————–
製作に必要なddsファイル、objファイル、STファイルなどを
デスクトップなどに、1つのフォルダに纏めて用意しておくと便利です。
ちなみに日本語の入ったフォルダやファイルは基本的にNGです。
(海外ソフトの為エラーを引き起こす為です)
addでテクスチャ項目を作成した後に、Importで読み込ませていきます。
名前被り回避以外のルールはありませんが、
自分は使用するテクスチャの種類とモデルの適応を分かりやすく番号管理しています。
ルール、決め事を作って管理するとやりやすいのでオススメです。
番号順に操作していきます。
①Material追加
②STファイルの読み込み
③テクスチャの指定
Materialにはリネームで好きな名前にする事ができます。
とりあえず、判別がつく名前をつけて置くといいです。
③のテクスチャ指定はParametersのそれぞれで指定してください。
ship Meshesでモデルの準備をします。
まず登録項目を追加してからLODにモデルを追加していきます。
ImportするとMaterialsの使用を選択できるのでモデルにあったものを関連つけましょう。
LODは0~2までの番号が振ってありますが、
これは距離によって表示されるモデルを表しています。
この距離はshipファイルの方で調整するコードがあります。
遠距離モデルはテクスチャを小さいのを使ったり、
アンテナ、武装などの部位を非表示にしてパフォーマンスを確保しています。
Parentはモデルを固定するジョイント座標です。
これは砲塔などの武装関係のモデルを設定する時に調整します。
ジョイントの設定にはいくつかルールがあります。
まず名前には重要な意味があって、決められた名前を使わない場合はエラーが発生します。
エンジンノズルの座標です。最後に番号を振る事で複数指定可能です。
ライト系の座標です。最後に番号を振る事で複数指定可能です。
これらの単発ジョイントはaddで追加した後にリネームで使用します。
複合系のジョイントはadd Templateを使用して追加していきます。
選択するとタイプを選べるようになるので必要なものを追加しましょう。
↑固定式武装の例
Weapon_OOO_Positionを中心に、
上方向に1つと進行方向に1つの座標が用意されています。
基本的にはPosition座標を中心に武器が発射されます。
↑旋回砲塔の例
通常の武装ジョイントに加え、
Weapon_OOO_Latitude
Weapon_OOO_Muzzle
が追加されています。
Position座標は砲塔の台座部分。
Muzzleは砲身の座標と考えると分かりやすいです。
砲塔、砲身モデルもこの2座標を指定しましょう。
武器系には
という物があります。
これは簡単に言うと武装を連動させるコードで、
連装砲や順次発射型のミサイルなどで使用します。
使い方は、使用したい武装の名前の最後にSlaveと入力する事です。
もしも複数のSlaveを連動させたい場合は最後に番号指定してください。
Slave武装の発射タイミングは、wepnファイルで調整可能です。
特に説明する部分はありません。
Jointsで設定したNavLightL座標と関連付けながら、
発光設定を自分好みに調整してください。
ドッキングに関する設定です。
Familyを指定して発進、着艦のアニメーションを作成することが出来ます。
とりあえずは見よう見まねで設定するだけで良いです。
細かく項目を弄る事でアニメーション中の命令受付や、
機体を固定したままのスライド移動なども可能です。
マーカーを接地する時には青軸の先が尖っているほうを常に外側に設定しましょう。
エフェクトなどを使用する際の進行方向が青軸な為です。
当たり判定のモデルはそのまま船体のモデルを流用して良いです。
黄色線のボックスはパラメーターで調整可能で、
弾丸の射撃のバラつきで不具合がある時に狭めると良いです。
ただし、ハイパースペースのエフェクトとも連動してるので、
小さくしすぎるとエフェクトからはみ出したりします。
Engine Glows
EngineGlowはアフターバーナー用の設定です。
1~3まで設定出来ます。数が小さい方から小さい3Dデータを読み込ませてください。
実際に表示される時の色などはshipファイルの方で調整されます。
Engine Shapes
航跡の断面となる3Dデータを読み込ませます。
あくまで断面なので目には見えません。
ただ複雑な角を持つ多角形の面を指定すると上手く機能しない場合があります。
Engine Burns
特に説明の必要はありません。
お好みでパラメーターを弄ってください。
アニメーションについて
この分野は非常に未知の部分が多いです。
しかしながら、やり方次第では魅力的な演出などもできる機能でもあります。
アニメーションは上のバー部分にある「mode」から選択可能です。
選択すると左側が専用の調整に変わります。
DIOデストロイヤーで試験的に実装されたものがあります。
ミサイル発射管を側面に展開するオープンアニメ
それを閉じるクローズアニメの項目に分かれています。
アニメーションの製作がされると自動的にmadファイルが作成されます。
そこにmadstateファイルでスイッチを制御してやる事で稼動します。
音やエフェクトをeventsファイルで追加する事も可能です。
toolsオプション
メニューバーのtoolsにはいくつかの調整項目があります。
不明な項目が多いですが、使用している分だけ解説します。
にはチームカラーのプレビュー調整機能があって便利です。
他には
と
があります。
Re-normal Meshesは使用するとポリゴンモデルの質を変えるようです。
(感覚的には製作時に近い感覚の表示になる?)
Re-tangent Meshesは使用するとノーマルマップテクスチャを適応させる効果があるようです。
(詳しい事は不明)