
R22の武器作成チュートリアル
1.はじめに
2.道具を用意しましょう
3:まずモデリングの準備から
4.モデリングしてみましょう
5.確認しましょう
6.アイコンを作りましょう
7.Hakを作ってみましょう
完成したHakファイル
1.はじめに
ようこそ当チュートリアルへ。
ここではNeverwinterNights(以下NWN)において作成できるカスタム武器の作成方法を解説しています。
当チュートリアルのコンセプトは
1:誰でもできる
3DCGやNWNのファイル構成などの知識がない方もこれを読めばカスタム武器の一つや二つは簡単に作れるようになっているはずです。
2:リーズナブル
始めるのにお金など必要ありません。全てフリーの物で何とかします。
以上二点になっております。
とりあえず肩肘張らずに気楽にチュートリアルを進めていきましょう。
TOPに戻る
2.道具を用意しましょう
カスタム武器を作るにあたって、用意していただきたい物がいくつかありますのでここで紹介しておきます。
1:gmax
フリーの3DCGツールで、有償3DCGソフトの3dsmaxのフリー版です。
その為、機能はいくつか削られていますが十分に使えます。
フライトシムなどのカスタムモデル導入によく使われます。
インストールの際に登録が必要なのでそこの部分にだけ注意してください。
2:GMax MDL import/export script
先ほどのgmaxにNWNで使われているMDLファイルを入力/出力する機能を追加するスクリプトです。
ダウンロード後、解凍してreadmeに従って導入してください。
3:NWN viewer
圧縮されているNWN内のファイルを吸い出したり、様々なNWN内で使われている拡張子
のファイルを見ることができます。
きわめて多機能なソフトです。
4:NWN Model Compiler
NWNから3のviewerで吸い出したファイル(MDL拡張子)を2のスクリプトで読めるようにするプログラムです。逆も可能。
これに関しての説明は私としても少々難しいので実際に使ってみるのが一番です。
ちなみにMS-DOSプロンプト上で動作する(!)ものなのでexeファイルをwindowsフォルダに入れて使います。
そのままでは動作しません。
5:Pixia
フリーの画像編集ソフト。
フリーなのに結構多機能です。
様々なプラグインも用意されています。主にテクスチャやアイコンの編集に使います。
6:Irfanview
日本語版
フリーのビューワーソフト。
様々な形態のファイルを読み取ることができます。TGA拡張子のファイルを使うのでそれの変換に使用する場合があります。
7:DXTBmp
本来フライトシムのテクスチャなどの編集に使われるソフトですが、NWNではアイコンの画像に透過指定の処理をしなければならないのでこれを使用します。詳しくは後述。
・メモ:これら5、6、7、のNWNにおける画像関連の仕事は少々高級な画像編集ソフトなら軒並みできることのようです。
お持ちの方はそちらをお使い下さい。
TOPに戻る
3:まずモデリングの準備から
さっそく準備をしましょう。今回は例として『大変に長いグレートソード』を作ります。本当に長いです。
1:ツールセットで適当にモジュールを作る
簡単なモジュールを作ってください。
私個人の意見としては屋内より屋外の方が実験した際に見栄えがよいようです。

こんな感じで作ってしまいます。
2:今回の武器をアイテムウィザードで作る
作ると言ってもまだ名前だけです。上のメニューからWizardsを選び、Item Wizardを選択します。
そうしますとどのような種類のアイテムを作るか聞いてきますので、Greatswordを選択します。
ここでアイテムの名前を聞かれますから名前を入れてください。
ここでは『sugoi Greatsword』としておきます。
名前を入れて進むとまた種類を聞かれますのでweapons→bladed→greatswordsと選んでいって下さい。
そこまでできましたらFinishを押してアイテムを作り、そのモジュールを適当な名前でいったんセーブしましょう。わかりやすい名前にしておくのがいいです。
さて、せっかくですからちょっと遊んでみましょう。
先ほどのアイテムのアイテムプロパティを開き、Appearanceのタブをクリックするとデフォルトのグレートソードが出てきます。
右を見るとこの剣が刀身、鍔、柄の3パーツに分かれており、それぞれにカラーバリエーションがあり、それらの組み合わせは自由で、またそれぞれ対応したアイコンを持っているということがわかると思います。
このパーツの組み合わせによって剣ができているということを知っておいてください。
メモ:AreaをViewしていないとアイテムのプロパティは表示できません。
3:ベースとなるファイルをNWNviewerで出力する
さて、それではいよいよ本格的な準備です。
NWNviewerを起動して、上のメニューからFILE→BIF→Neverwinter Nightsと選択してください。
表のような物が出てきたはずです。これがNWN内部のファイルをバラにした物です。
今回は武器(グレートソード)のモデルの土台を吸い出すので、上の窓からdata/models_02.bifを選んで開きましょう。

このように選びます。
さて、次は下のファイルの山からベースになるファイルを選ぶわけですがここで武器のファイルの名前の規則性について解説します。
今回の目当てのファイルはwswgs_t_011.mdlですが、このファイルの名前の最初のw、これは武器であるということを示しています。
次のsw、これは剣であるという意味です。次のgsはもちろんグレートソードという意味、次のtはトップ、すなわち刀身の部分であるという意味です。最後の011は十の位がモデルのタイプ、一の位がカラーを示しています。
これは先ほどの工程でお分かりでしょう。下の窓に出ているファイルをいろいろ見てみてください。
また、右の窓とも比較してみてください。この規則にのっとれば、そのファイルがどの武器のどこなのか一目瞭然のはずです。
目当てのファイルを発見したらそれを右クリックして出力してください。
作業しやすいように作業用フォルダを作り、その中に入れておくと便利だと思います。
4:出力したモデルをデコンパイルする
さて、ファイルを出力し終わったらMS-DOSプロンプトを開きましょう。
懐かしくも郷愁漂う画面が現れます。ここで行なうことは.mdlファイルを.mdl.asciiファイルに変換することです。
NWNから吸い出したデータはいわば生の状態で、加工しないとgmaxで読めません。
MS-DOSに NWNMdlComp -d wswgs_t_011 と入力し、デコンパイルしてください。
同じフォルダに変換したファイルが出力されたはずです。

こんな感じで出力します
メモ:MS-DOSでパスを切り替えるときは cd と入力したあと1スペース開けてパスを入力します。
5:gmaxにファイルをインポートする
ではいよいよファイルをgmaxにインポートしましょう。
gmaxを立ち上げると右に小さい窓が開くはずです。これが道具の項で紹介したスクリプトです。
Browseで選んでImportしてみましょう。拡張子は.mdl.asciiなのでお間違いなく。

無事にインポートできました。
インポートが終わったら、小さい窓は消さずに最小化してたたんでおきましょう。
TOPに戻る
4.モデリングしてみましょう
1:刀身を作る
さあいよいよモデリングの段階です。
しかし刀身と一緒にあるこの青い四角はなんでしょう。これはこのmdlファイルのベースで、NWNのmdlファイルは皆このような四角を持っています。
大変重要な物なので間違って消したりしないで下さい。
インポートした刀身は必要ないのですが、右クリックしてプロパティを選び、名前g_WSwGs_t_011をコピーしておいてください。
もう一つ重要な点。この刀身がある場所は実際に鍔や柄とぴったり合う場所です。
場所を記録しておくとよいでしょう。刀身をDeleteしたら作業を始めましょう。
今回は私がこの手のソフトに触るのが初めてであったということもあるので、モデリング自体にも若干触れていきます。
刀身を作る場合、私はまずCreate→Standard Primitives→Boxと選択し、直方体を作ります。
今回は大変長い剣を作るそうですので最初から長くしておくと後が楽です。
作った時に右のParametersで直方体のサイズや変更可能な点が何箇所存在するか(Length segsなどのseg各種)を変更できます。
自分のデザインの方針に合わせてこれらのパラメータを調整してください。
メモ:segは多い方が細かいデザインにできるが多すぎると地獄を見ることがしばしば。

このようにパラメータを調整していきます。それにしても長い。
直方体を作ったら直方体を右クリックしてプロパティを開き、名前を先ほどコピーしたg_WSwGs_t_011に変更しておきましょう。
それではいよいよ形状を変えていきます。
直方体を右クリックし、Convert Toを選んでConvert to Editable Meshを選択してください。
選択すると右に赤い三角や四角が5つ出るので、今回は一番左の点3つを選びましょう。
すると、直方体が点の集合体に変わります。

この点を選択し、XYZ各方向に移動させることによって直方体全体の形を変えることができます。
視点も4つ用意されているので作業しやすい視点で作業するといいでしょう。
メモ:この移動できる点は複数選択もできます。

刀身が出来上がりました。
2:テクスチャを貼る
次にこれにテクスチャを貼らなくてはなりません。
刀身を選択してMキーを押してください。Material Editorが出てきます。
ここではまずNew→Standardと選んでOKを押します。
さて、これは刀身ですから金属のテクスチャを貼るべきですが、今回は某所から大変メタルなテクスチャ『SlS.tga』を取り寄せてあります。これを使うことにしましょう。
テクスチャをこの刀身に入れるためにはBlinn Basic Parametersの中にあるDiffuseの右側にある四角を押します。
すると選択画面になりますのでBitmapを選びます。そうするとファイルがどこに存在するか聞いてきますので、自分の使いたいファイルを選択してください。
しかしまだこの時点では刀身に変化はないはずです。
球体が表示されている真下にあるNameからMtl#0を選んで、そこを目当てのファイル『SlS』に書き換えておきましょう。
Applyを押してその右下にある青と白の四角を押すとテクスチャが刀身に適用されます。
このMキーで開いた窓は最小化してたたんでおきましょう。

テクスチャを貼りました。
3:エクスポートする
これでモデリング自体はほぼ完了です。エクスポートの準備を始めましょう。
まずしなければならないことは最初に重要な物と説明したベースと刀身に親子関係を作ることです。
上のツールバーからSelect and Link(四角が鎖でつながっているようなボタン)を押してください。
親子関係といいましたが今回親になるのはベースで、子供は刀身です。
ボタンを押したら刀身からドラッグしてベースにつなげてください。
確認のため刀身のプロパティを開きます。確認することは3つほどあります。
@ 刀身の名前はg_WSwGs_t_011になっているか
A ParentがWSwGs_t_011になっているか
B MaterialがSlSを参照しているか
以上三点が大丈夫ならいよいよエクスポートです。
メモ:金属の場合物体のプロパティからUser Definedタブを選び、shininess=1と入力すると光沢を帯びます
それではエクスポートしましょう。まずベースを選択してください。
ここで選択するのはベースだけです。選択したら一番最初に出てきたNWN MDL toolの小窓を開き、ExportのメニューからMDLを選んでください。これでエクスポートは完了です。
ところで、エクスポートしたMDLファイルはどこへ行ってしまったのでしょう。F11キーを押してMaxScript Listenerを開いてください。そこに数字が大量に書いてあるはずです。

こういう風になっていればOK。
こういう風になっていない場合ベースだけを選択していないでエクスポートしてしまった可能性があります。
これをNotepadにコピーして保存し、そのNotepadの名前も『WSwGs_t_011.mdl』にしてください。
これでエクスポートは完了です。次は確認作業に入りましょう。
メモ:Notepadにコピーする際はCtrl+Aで全て選択。
一旦エクスポートしたMDLファイルはMDLcompを通さなくてもgmaxで読めます。
TOPに戻る
5.確認しましょう
1:MDLファイルの確認
先ほど作ったwswgs_t_011.mdlファイルとテクスチャファイルSlS.tgaをoverrideフォルダ(\NeverwinterNights\NWN\override)に入れてください。
それが終わったらツールセットを開いて一番最初に作ったモジュールを開いてください。
作ったエリアを右クリックしてViewAreaでエリアを表示し、右の剣のようなアイコンのpaint itemsからCustom Itemを選択し、weapons→bladed→greatswordsと選択すると事前にセーブしておいた『Sugoi Greatsword』が右のメニューの窓に現れるはずです。
右クリックしてEditを選択してみましょう。
アイテムのプロパティが開きます。剣に注目してください。
もう形は変更され、既にそこには大変に長いグレートソードが存在しているはずです!!

こうなれば成功。位置もうまく調整できたようです。それにしても長い。
剣自体を回転させたりマウスの右ボタン押しっぱなしで回転させたりしてどこか変な部分がないか確認してください。
もし修正する箇所がある場合は一旦ツールセットを閉じて(重要)もう一度gmaxに戻り、変更を加えた後エクスポートし、wswgs_t_011.mdlに上書きしてください。
位置の修正などで変更を加えることが多いと思います。
メモ:override内に変更を加えた場合はツールセットを再起動する必要があります。
2:番号の重複を解消する
さて、これで作業の大半は終了ですがまだこの剣には致命的な問題点があります。
それはこの剣がデフォルトの1番にあたるモデルを上書きしてしまっていることです。
これを解消するため、もう一度gmaxに戻る必要があります。gmaxでwswgs_t_011.mdlを開いてください。
さて、ツールセットで3Dモデルの種類を指定していたのはファイルのどこだったでしょうか。
この場合ですと011の十の位です。デフォルトでは4つモデルがあるので十の位を5に変更しましょう。
こうしますとツールセットの刀身の5番目のモデルがこのモデルになるはずです。
変更しなくてはならない箇所は4つあります。
@:刀身のプロパティを開いて変更
A:ベースのプロパティを開いて変更
B:エクスポートした文字列の4行目のfiledependancy WSwGs_t_011.maxの数値も変更
C:エクスポートしたMDLファイルの名前を変更

このように変更します。Bの変更を忘れがちなので注意。
終わったら名前を変更したwswgs_t_051.mdlとSlS.tgaはoverrideフォルダから移動し、作業用フォルダに入れておきましょう。
ちなみにカラーバリエーションを作りたい方は051.mdlの指定しているテクスチャを変えたバージョンを052.mdlとして保存し(一の位に注目)、テクスチャと一緒に051.mdlと同じフォルダに入れておいてください。
ここでは詳しい解説をしていませんが例として052を作成しておきます。
もっと増やしたい方は同様に053、054と増やしていってください。
ここで一旦モデル製作からは離れます。
TOPに戻る
6.アイコンを作りましょう
カスタムモデルには専用のアイコンがあった方がよりそのアイテムが引き立つでしょう。
今回はアイコンの作り方も解説します。
1:カスタムアイコンの土台を吸い出す
例によって、NWNViewerでアイコンを吸い出しましょう。
今回は刀身のアイコンだけあればOKです。File→BIF→NeverwinterNightsと選択し、data/textures_01.bifを選びましょう。
目当てのファイルはiwswgs_t_011.tgaと同012です(カラーバリエーション用)。
ファイルの名前の頭についているiがアイコンであるという意味です。
それ以下は例の規則に従っています。
この二つのファイルを右クリックして任意の場所に出力しましょう。
2:透過度ファイルと分断する
NWNのアイテムのアイコンは透過度というパラメータを持っています。
先ほどのアイコンは刀身の部分だけでした。背景は黒で塗りつぶされています。
しかし、普通に見ただけではわかりませんがこの黒の部分は透過度が高く、他のファイルを重ねると透ける仕組みになっているのです(セロハンに絵を描いて重ねる感じを想像してください)。
この透過度を無視するとせっかくモジュールに組み込んでもアイコンは刀身だけしか表示されないという悲しい事態になるのでこの透過度も編集しないといけません。
さて、さっそく吸い出したファイルをDXTBmpで開いてみましょう。
File→Lord Targa with Alphaで吸い出したファイルを開いてください。
右に白黒の縮小された絵が出ているのがお分かりでしょうか。
これが透過度を示しています。
白い部分は透過度が低く(全く透けない)、黒い部分は透過度が高いわけです。
3:アイコンを編集する
さて、それでは色のついたほうのアイコンを編集しましょう。
DXTBmpは何か画像編集ツールを指定してやる必要があるので、上のメニューのPrefsからSelect EditorでPixia.exeを選びましょう。
選び終わったら画像をダブルクリックすると、Pixiaが起動します。
自分の編集したいように編集してください。
編集し終わったらその画像にわかりやすい名前をつけて作業用のフォルダ等わかりやすい場所に保存してください。こちらが透過度ファイルになります。
続けて今作成した透過度ファイルを開いて画像の部分を白く塗りつぶしてください。
この工程は少々根気が必要です。
メモ:何も画像がない部分を透過度ファイルで白くするとアイコン表示のときにその部分は黒く表示されます。
できる限り透過度ファイルで白く塗る部分は画像の範囲にとどめてください。
画像ファイルをコピーして白と黒で塗りつぶすことによって透過度ファイルを作成するのはそういった事情からです。

長さを強調してみました。
また、メモにあるとおり画像と透過度なしの部分はぴったり重なるように編集しましょう。
編集が終わったらDXTBmpの画像の下にあるRefresh after editのボタンを押して画像を作業後の状態にしてください。
4:両方のファイルからアイコンを作る
画像と透過度、両方のファイルの編集が終わったら、まず上のメニューからAlpha→Import Alpha Channelで編集した透過度ファイルを読み込み、Fileのsave Targa imageでTGA32形式でアイコンを同じ名前で(重要)上書きしてください。
アイコンをDXTBmpでもう一度開いてみて、おかしい部分(特に透過度がきちんと設定されているか)がないか確認しましょう。
メモ:カラーバリエーションを作る場合はそれぞれ違う色のアイコンを作る必要があります。もちろん、アイコンの色はMDLファイルの色に対応していなければなりません。ファイルの名前の一の位にも気をつけてください。
5:アイコンも確認しましょう
まだ名前の数字部分を051に変更しないで下さい。
このアイコンもいったんoverrideフォルダに入れて確認を取りましょう。
overrideフォルダによる改変はこのような手軽さがある反面、前述したデフォルトのアイコンやモデルを上書きしてしまう欠点も持っています。
その為、このチュートリアルではそれぞれのファイルを一旦overrideに入れて確認しているのです。

きちんと表示されています。
念のため柄や鍔を変更して不具合が出ないか確認してください。
では、先ほどの051と名前を変更したMDLファイルを使ってモデルの五番目を表示させるにはどうしたらよいのでしょう。
もうお分かりですね。Hakを自分で作ってしまうのです。次の章でこれは解説します。
作ったアイコンのファイルも名前の数字部分を011から051に変更し、overrideフォルダから出して下さい。
メモ:overrideフォルダには確認用に使ったファイルを残さないで下さい。
そのままにしておくとデフォルトのモデルが上書きされたままになってしまいます。
TOPに戻る
7.Hakを作ってみましょう
いよいよファイルをhakに詰める段階です。
hakに詰めることにより他のプレイヤーに導入してもらえたり、既存のモデルとの重複を避けることができます。と言ってもすごく工程は簡単です。
1:hakを作る
さて、hakを作る前に材料はそろっているか確認しましょう。
今作業用のフォルダの中には
@MDLファイル
ATGAファイル(カスタムアイコン)
BTGAファイル(テクスチャ)
があるはずです。これらをNeverwinterNights\NWN\utilsにあるnwhak.exe(Hak Pak Editor)でまとめます。
材料のファイルをドラッグ&ドロップして、名前をつけて保存してください。
自動的に自分のhakフォルダに出力されます。

保存します。わかりやすい名前がよいでしょう。hakの中身にも注目してください。
2:hakを導入して確認しましょう
それでは確認作業です。
最初に作ったモジュールを開いて上のメニューからEdit→Module Propertiesと選択し、Adovancedタブを選択します。
一番下にhakファイルを選ぶ部分があるのでそこで目当てのhakファイルを読み込んでください。
読み込もうとすると『何があっても知りませんよ』的なことを言われますがOKしてください。
No errors foundと書いた窓が出れば導入は成功です。
それでは例によってSugoi Greatswordのアイテムプロパティを開いてトップのモデルを5にしてください(5番が選べるようになっているはずです)。
5番が選択でき、またモデルも正常に表示されれば成功です。
カラーバリエーションを作った場合はそれも変更してチェックしてください。
3:実際にそのモジュールで遊んでみる
無事に成功したからには実際にゲーム内で使ってみたくなるものです。
ここは1つ試し斬りをしてみましょう。まず先ほどのGreatswordをクリックしてモジュール内に配置します。
そして端っこの方にゾンビなど(足が遅いので)を配置しましょう。
ここまでできたらモジュールをセーブして閉じてください。

敵は遠いところに配置するのがよいでしょう。
オブジェクトの名前をクリックしてエリア表示の中にカーソルを移動させるとオブジェクトを配置できます。
それではNWNを起動してNewを選択し、今回のモジュールをロードします。
適当なローカルキャラクター(グレートソードが使えるキャラクター)で入ってください。
入ったらすぐさま剣を拾い、敵と戦ってその剣の長さを堪能しましょう。


なかなかいい感じです。
下二枚はカラーバリエーションのゴールド仕様。


これでカスタム武器製作の基本的なチュートリアルは終了です。
現在当チュートリアルで扱っているのは武器だけですが、この技術は他のものにも応用可能かもしれません(事実、私も研究中です)。
皆さんの想像力と創造力で様々な日本製Hakが生み出されることを期待しています。
完成したHakファイル
TOPに戻る
・謝辞
今回このチュートリアルを作成するにあたって、Eligio Sacateca氏のCustom Contents Guide v1.0を主に参考にさせていただきました。多謝。
その他にもviewerやscriptなど補助ツールを開発してくださった皆様、カスタムモデル作りの情報を提供していただいたgeshi様、そして原稿をHTML化しwebに掲載してくださったMIYA様、私の無謀とも思える挑戦を見守り応援してくださった#NWNJPNの皆様、『メタルなテクスチャを下さい』と無理を言ったら二つ返事でOKして下さった某人物、そして最後まで読んでくださった読者の皆様、ありがとうございました。
そして読者諸氏のカスタムモデル作りに幸運あらんことを。
2003/1/18 文責 R22←至らない点も多数あったかと思いますが御意見御感想、今後の要望等ございましたらお気軽にお寄せ下さい。