カスタムアイテムの作成

Last-modified: 2010-01-22 (金) 20:27:43

公式フォーラムからの転載。一部改変あり

公式フォーラムの記事へのリンク(英語)

http://forums.steampowered.com/forums/showthread.php?t=1109465

必要なプログラム

逆コンパイル

モデリング

  • 3DS Max/Maya/XSI/Blender/Milkshape/Gmax等
  • 適切なSMDインポーター/エクスポーター

テクスチャリング

コンパイル

初心者向けの自作帽子モデル作成ガイド

やあ。僕は君にモデリングの経験が有る無し関係なく、ソースエンジンに自作帽子を取り込むために知っておく必要がある全てのことをガイドの中で書いてみたつもりだ。
このチュートリアルは厳密には帽子作りに対して書いたものだが、ここにあるほとんどの情報が自作武器や小道具、あらゆる物を作ることに応用出来る。

1.準備

始める前に整理をしておこう。すべてのプロジェクトと素材を保存するためのフォルダをデスクトップに作り、フォルダ名を"TF2 Stuff"とか適当なものにする(日本語版Windowsでデスクトップに作成するのはお勧めできません。D:\等の適当な場所に読み替えてください)。

フォルダの中に自作帽子のためのフォルダをひとつ作り、逆コンパイルされた参照モデル(単にモデルと呼ぶ)のためにもう一つフォルダを作る。度々tfフォルダを開くことになるので、C:\Program Files\Steam\steamapps\USERNAME\team fortress 2\tf\にあるtfフォルダのショートカットがあれば最高だ。

今日作る予定の帽子はデモマン用のバカでかい目玉になるだろうから、"Eyeball"という名前で別のフォルダも作る。

もしSource SDKを持ってないなら、今手に入れておこう。Steamのツールタブ下にあるはずだ。このモデルビュワーはとても便利なものだ。

2.逆コンパイル

注意:キャラクタのソースファイルは公式に公開されているから、逆コンパイルされた九つのクラスのモデルを得るためにこれをする必要はない。それどころかC:\Program Files\Steam\steamapps\USERNAME\sourcesdk_content\t f\modelsrc\playerの中に既にsmdフォーマットに変換されたモデルがある。
このステップは飛ばすことができるが、君が帽子や小道具、武器のような別のモデルの逆コンパイルを望むのであれば、手作業でやる必要がある。

ここでやることは、ソースエンジンからデモマンのモデルを解凍して逆コンパイルし、モデリング用のプログラムに取り込み、帽子周りを作るための参考に使えるようにするだ。これはとても重要なステップだ。なぜなら参考なしでは正しい大きさや形、それどころかデモマンの頭に帽子をフィットさせることすらできない。
まず最初に、モデルフォルダの中に"Demoman"という名前でフォルダを作る。それからその中に"mdl" "smd" "vtf"という名前で3つのフォルダを作る。
mdlはオリジナルのモデル用。smdは逆コンパイルされたモデル用。vtfは素材と(望むのであれば)テクスチャ用だ。
それらを一纏めにはできるが、後でとんでも無いことになるだろう。

steamapps内の"team fortress 2 content.gcf"ファイルを見つけてGCFScapeで開く。tf>models>playerをクリックし、さきほど作ったmdlフォルダの中にdemoファイルを解凍する。GCFScapeを使って好きなときにソースファイルを漁ったり、素材を見つけたりもできる。と言ったものの、当分の間はやることはない。

自分のmdlフォルダを開いてdemo.mdlを右クリックして"Edit with Notepad++"を選択する。最初の行のはじめにIDST0が見えるはずだ。これを"IDST,"になるように0をコンマに変えて保存し、MDL Decompilerで開く。
dmo.mdlのフルアドレスを最初の行に入力し、二行目にsmdフォルダのパスを入力して"extract(解凍)"をクリックする。チェックボックスは何もチェックしてはいけない。
君は今や逆コンパイルによって大量のSMDファイルを手に入れたはずだ。

3.モデリング

幾つかのモデルリング用のプログラムがあるが、私が使っている3DS MAXを推奨する。この手のプログラムで最高のものだと信じているからだ。とても高い($3,500)が、学割などより安く手に入れる方法はある。試用版を利用することもできる。他のプログラムの幾つかは完全に無料だし、本当に望んだものかどうかを決めるために時間を割くべきだ。

気に入ったプログラムを見つけたら、適切なSMDインポートプラグインをインストールして仕事に取り掛かかろう。モデリングプログラムを起動して、smdフォルダからdemo_morphs_low.dmx.smdをインポートし、必ず"左手座標空間からの変換"を確認すること。これで彼(デモマン)は正面を向いて立つようになる。通常は(邪魔だから)ボーン無しで取り込むのだが、当分の間はボーンを残したままで構わない。

モデリングのやり方は教えたくない。やろうとしてもできないだろう。他のツールの使い方や別のオブジェクトの作り方を教えてくれるチュートリアルはインターネットに沢山転がっている。描写の仕方や機能の使い方などの途中のプロセスもだ。
もし3DSを持っているなら、ヘルプにバイギングヘルメットの作り方を見せてくれるとても有益なチュートリアルがある、ということだけは言える。
しばらくそれで遊んでみて、続けるための準備が整うまでユーザインタフェースについて少し勉強すること。

単純な球体を作ってデモマンの頭にぴったりフィットするように移動とスケーリングを行う。これが君のモデルだ。

4.UVWアンラッピング

注意このステップはツールによって全く異なります。以下は3DS MAXでの話です。

モデリングと同様にUVWマッピングは複雑な過程であるから、必ず時間をかけて学ぶように。テクスチャを追加するだろうからモデルの分解が必要となる。バラバラにモデルを分割して、イメージを持ってオーバレイを与えるように平坦な面にバラバラになったモデルを置く。ドロップダウンリストから"UVW Unwrap"を追加し、+シンボルをクリックし顔の部分を選択する。球体の前面全体が均等にハイライトされたら、"Pelt"をクリックする。同じ事を裏面にも行うと、"Edit UVWs"という名前の小さなウインドウに伸縮した二つのパーツがでてくる。だいたい同じぐらいのサイズになり、ウィンドウ中央の青い四角にフィットするように両方のパーツをスケールダウンする。
uvmap.png
同じウィンドウで、"Tools > Render UVW Template > Render UVW Template"をクリックしてbmpファイルとしてEyeballフォルダに保存する。頑張れ!

5.テクスチャリング

フォトショップか似たようなプログラムを起動して、先程保存したファイルを開く。緑の線の中ににモデルの全てが表示される。黒い空間は無関係だから縁の色付けは心配しなくていい。
君が書ける最高の目を書いたら.VTFとしてC:\Program Files\Steam\steamapps\USERNAME\team fortress 2\tf\materials\models\player\items\demoにエクスポートする。その際、No MipmapとNo Level of Detailにチェックを入れること。
エクスポートしたVTFをVTF Editで開いて"Tools > Create VMT File"を選択し、同じフォルダにVMTを作成する。VMTは反射率や透過率のようなものを定義する。あらゆるコマンドを覚えこむこと無しに詳細なVMTを作るための簡単な方法はGCFScapeを調べて、君が作りたい帽子と似たような公式のValve帽を考えて見つけ、対応するVMTファイルを開いて内容をコピーし、自分のVMTに貼付けて、ファイルパスを変更することだ。

モデリングプログラムに戻って、モデルを選択し、マテリアルウィンドウを開くためMキーを押す。
拡散の隣のボックスをクリックし、bitmapを選択して先程作ったvtfを見つける。"Assign Material to Selection"と"Show Standard Map in Viewport"ボタンを押してテクスチャを適用する。(3DS MAXの話です。)
texture.png

6.エクスポート

bip_headを除く全ての単一ボーンとデモマンのモデルを削除する。
球体を選択し、ドロップダウンリストから"Skin"を追加し、"Add"をクリックし、bip_headをダブルクリックする。
今やボーンはモデルに装着されている。作ったテクスチャも適用したところで、変換の準備が整った。モデルをEyeballフォルダにSMDファイルとしてエクスポートする。

7.コンパイル

今必要なのはidleファイルだ。公式Valve帽をデモマンにやったのと同様に解凍する。逆コンパイルすると、"idle.smd"というファイルがあるはずだ。それをEyeballフォルダにコピーする。

次に必要なのはqcファイルだ。時間節約のため、このpastebin内のコードを単純に新しいテキスト内にコピーする。必ず最初の行を自作のファイル名に変更しておくこと。Notepad++を使ってEyeballフォルダに"eyeball.qc"として保存する。

GUI StuidoMDLは初めて使ったときはイライラする。それは助けようがない。
使い方がわかったら、eyeball.qcをプログラムにロードする。Orange Boxを選択し、Full Collideをチェック、TF2にgameを設定してコンパイルする。

グッドニュース?ついにやり終えたのだ。自作のカスタムモデルをデモマン用のGhastly Gibusと置き換える。
バッドニュース?これはひどい。もっといいものを作ろう。
eyball.png

参考サイト(英語)

  • Valve Developer Community:雑多なソースエンジンwikiです。qcコマンドやvmtコマンド、jigglebone等とても有用な情報があります。
  • Assorted Tutorials:FacepunchのCampin Carlがまとめたモデリングチュートリアルのコレクションです。
  • Blender Modeling Tutorial:Blenderでモデリングする包括的な初心者ガイドです。
  • AO Bake Tutorial:Ambient Occlusion。壮大なテクスチャを作るのには欠かせません。
  • Anti-Aliasing in HLMV Tutorial:Source SDK Model Viewerのためのハイクオリティモデル。私を信じて欲しい。絶対に欲しくなるから。