アイテムの自作 - (2008/11/03 (月) 10:30:18) の編集履歴(バックアップ)
イチからアイテムを自作して自分のMODへ組み込むまでの説明です。
記載されている内容は、手順がおかしかったり、作業効率が悪かったりするかもしれません。
変な箇所がありましたら、是非とも加筆修正してください。
変な箇所がありましたら、是非とも加筆修正してください。
はじめに
このページで解説する方法では、馬や服といった、可動する部分があるアイテムは作れません。
主に武器や兜といったアイテムの自作方法となっています。
主に武器や兜といったアイテムの自作方法となっています。
2chの過去ログと、公式フォーラムの該当トピックを読めば、このページを読む必要はありません。
事実、これを書いている人は、なんの知識も無い所から、下記を参照しつつ自作したアイテムを反映することが出来たからです。
事実、これを書いている人は、なんの知識も無い所から、下記を参照しつつ自作したアイテムを反映することが出来たからです。
2chの過去ログ - [【海外シェアRPG】Mount&Blade 6馬力【戦闘はFPS?]
公式フォーラムの該当トピック - [HOW TO ADD AN ITEM TO MY MOD FROM SCRATH. FULL PROCESS!!!]
公式フォーラムの該当トピック - [HOW TO ADD AN ITEM TO MY MOD FROM SCRATH. FULL PROCESS!!!]
用意するもの
Mount&Blade本体・ModuleSystem・アイテムを組み込みたいMOD・Python
[MODの開発-環境の準備]を読んで、MOD開発の環境を準備してください。
できれば、その環境下でアイテムの移植を試して成功していると、
以降の説明がスムースに理解できるかと思います。
以降の説明がスムースに理解できるかと思います。
Wings 3D
BRFEdit
自作したアイテムを、Mount&Bladeのデータ形式であるBRFファイルに変換する為に必要です。
http://forums.taleworlds.net/index.php/topic,8771.0.html
http://forums.taleworlds.net/index.php/topic,8771.0.html
ペイントツールとDDSファイルを扱うツール
自作したアイテムのテクスチャを描いたり、それをDDSファイルに変換するツールが必要です。
このページではGraphicConverter3というソフトを使います。
http://homepage1.nifty.com/open-prog/
このページではGraphicConverter3というソフトを使います。
http://homepage1.nifty.com/open-prog/
ペイントツールはBMPを加工できればなんでもいいです。
Wing 3Dでアイテムを作る
まず、Wing 3Dを使って、自分の作りたいアイテムをモデリングします。
アイテムの造形
例として、簡単な刀のようなものを作ってみました。
###後ほど、この刀の作り方もupしたいと思ってます
画像の、赤と青と緑の線がそれぞれ、X(赤=幅)、Z(青=奥行き)、Y(緑=高さ)と覚えます。
Mount&Bladeのキャラクターは、赤線の方向へ向かって武器を振るので、
上記のような片方に刃がついている武器を作る場合は、向きに注意してください。
反対に刃を付けると、常に峰打ち状態になるので、それはそれで面白いですが。
Mount&Bladeのキャラクターは、赤線の方向へ向かって武器を振るので、
上記のような片方に刃がついている武器を作る場合は、向きに注意してください。
反対に刃を付けると、常に峰打ち状態になるので、それはそれで面白いですが。
グリッド線で書かれた床のすこし上の辺りから刃の部分が始まると、
キャラがいい感じに剣を持ってくれます、が、この辺は後々微調整を繰り返すことになります。
キャラがいい感じに剣を持ってくれます、が、この辺は後々微調整を繰り返すことになります。
そして、この刀は刃・鍔・柄の3つのオブジェクトで構成されています。
バラバラにするとこんな感じです。
バラバラにするとこんな感じです。
右側に表示されているものは
メニュー「Window」→「Outliner」で表示できます。
各パーツにそれぞれ「ha」「tsuba」「tsuka」と名前をつけてあります。
各パーツにそれぞれ「ha」「tsuba」「tsuka」と名前をつけてあります。
テクスチャのマッピング
先ほど作ったモデルの各面に貼り付けるテクスチャのマッピングを考えます。
例の刀だと刃、鍔、柄という、3つの部位を繋いで造形してあるため、
これをひとつひとつマッピングしていく作業を行います。
これをひとつひとつマッピングしていく作業を行います。
- 刃の部分を選択し右クリック→「UV Mapping」→「Direct」を選ぶ
画面の左半分に”AutoUV Segmenting:xxx”というウインドウが表示されます。
このウインドウには、先ほど選択した刃のパーツだけが表示されています。
このウインドウには、先ほど選択した刃のパーツだけが表示されています。
- 刃の片面だけを選択し右クリック→「AuvChart1」を選ぶ
- 選択を解除する(スペース)
刃の片面だけが、AuvChart1の色に染まったのを確認します。
後は同じやりかたで、裏側の面にAuvChart2、峰の部分にAuvChart3と割り当てていきます。
割り当てた後、一旦選択を解除しないと上書きされてしまうので注意してください。
スペースキーで選択解除できるので便利です。
後は同じやりかたで、裏側の面にAuvChart2、峰の部分にAuvChart3と割り当てていきます。
割り当てた後、一旦選択を解除しないと上書きされてしまうので注意してください。
スペースキーで選択解除できるので便利です。
全ての面のマッピングが終了したら
- すべての選択を解除して右クリック→「Continue」→「Unfolding」
すると、画面右半分に”AutoUV:xxx”というウインドウが表示されます。
右半分のウインドウに表示されているものがテクスチャです。
今はまだテクスチャが空ですので、ブランク用の背景画像が表示されています。
一旦選択を解除して、右半分のウインドウにある各パーツをクリックすると、
選択したテクスチャがどの部分に貼られるのかが確認できます。
また、このテクスチャはそれぞれ、移動したり拡大縮小することができます。
今はまだテクスチャが空ですので、ブランク用の背景画像が表示されています。
一旦選択を解除して、右半分のウインドウにある各パーツをクリックすると、
選択したテクスチャがどの部分に貼られるのかが確認できます。
また、このテクスチャはそれぞれ、移動したり拡大縮小することができます。
このようにして、鍔・柄の部分も同じようにマッピングしていきますが、
鍔の部分をUnfoldingした時に、以下のような感じにドデカくマッピングされたかと思います。
鍔の部分をUnfoldingした時に、以下のような感じにドデカくマッピングされたかと思います。
マッピングの仕方によってテクスチャにマップされた形状は異なりますが、
そのままだとこんな感じに目一杯マッピングされているかと思います。
そのままだとこんな感じに目一杯マッピングされているかと思います。
この場合、右クリック→「Scale」→「Uniform」を使って縮小し、
それぞれのパーツを選択してドラッグして整理してください。
先ほど、テクスチャの左端は刃の部分をマッピングしたので、競合しないよう右下の辺りに移動しました。
それぞれのパーツを選択してドラッグして整理してください。
先ほど、テクスチャの左端は刃の部分をマッピングしたので、競合しないよう右下の辺りに移動しました。
そして柄の部分も、マッピングして縮尺を変え、他と競合しない右上に移動しました。
以上、すべてのパーツのマッピングが終了しました。
一旦テクスチャのウインドウを閉じ、
一旦テクスチャのウインドウを閉じ、
メニュー「Window」→「Outliner」をクリックし、
Outlinerウインドウを表示させますと、以下のようになっていると思います。
Outlinerウインドウを表示させますと、以下のようになっていると思います。
次に、3つのパーツ全てを選択して
右クリック「Combine」をクリックし、一旦全てのパーツを一つにします。
右クリック「Combine」をクリックし、一旦全てのパーツを一つにします。
その後、右クリック「UV Mapping」→「Direct」をクリックします。
すると、下記のように、先ほどの3つのパーツのマッピングが一つになったものが表示されます。
すると、下記のように、先ほどの3つのパーツのマッピングが一つになったものが表示されます。
この状態のまま、テクスチャのほうを右クリックし「Create Texture」をクリックします。
”Draw Option”というウインドウが表示されますが、どこも変更せずにOKをクリックします。
”Draw Option”というウインドウが表示されますが、どこも変更せずにOKをクリックします。
これで、UVウインドウを一旦閉じ、Outlinerウインドウを見てみると、auvBGの画像が変わっています。
auvBGを右クリックし「Rename」で”my_katana"と名前を変え、
名前を変えたmy_katanaを右クリックし「Make External...」をクリックします。
名前を変えたmy_katanaを右クリックし「Make External...」をクリックします。
すると、テクスチャデータをBMP形式で出力することが出来ます。
適当な所へ保存します、保存先には”my_katana.bmp”という画像が出力されているはずです。
適当な所へ保存します、保存先には”my_katana.bmp”という画像が出力されているはずです。
これでマッピングは終了です。
BMPを加工する
先ほど保存したBMPを加工します。
BMPを扱えるペイントツールならなんでも構いませんが、
レイヤーが使えて、前面になっている画像を透過させて下のものが透けて見える機能があると便利です。
以下のように加工してmy_katana.bmpを保存しました。
レイヤーが使えて、前面になっている画像を透過させて下のものが透けて見える機能があると便利です。
以下のように加工してmy_katana.bmpを保存しました。
変更したBMPをテクスチャに反映する
Wings 3Dへ戻ります。
メニュー「Window」→「Outliner」をクリックし、Outlinerウインドウを表示させます。
そして「my_katana」を右クリックし「Refresh」をクリックします。
そして「my_katana」を右クリックし「Refresh」をクリックします。
これで、先ほど加工したbmpでテクスチャがリフレッシュされ反映されました。
メニュー「view」→「Show Edges」をクリックすると、パーツの線画が消えますので、
この段階でテクスチャに違和感のある箇所が無いかを確認しておきます。
修正したい場所が見つかった場合、再度ペイントツールでmy_katana.bmpを修正して
Wings 3Dへ戻って「Refresh」し確認・・・と何度も繰り返し、微調整していきます。
この段階でテクスチャに違和感のある箇所が無いかを確認しておきます。
修正したい場所が見つかった場合、再度ペイントツールでmy_katana.bmpを修正して
Wings 3Dへ戻って「Refresh」し確認・・・と何度も繰り返し、微調整していきます。
問題が無くなれば、これで”my_katana”の完成ということになります。
OBJファイルとして出力する
Wings 3Dは、そのまま「Save」を選んで保存すると.wingsという拡張子のデータになります。
これはこれでセーブしておきますが、
BRFEditで読み込めるデータ形式はOBJ形式なので、OBJ形式で出力する必要があります。
これはこれでセーブしておきますが、
BRFEditで読み込めるデータ形式はOBJ形式なので、OBJ形式で出力する必要があります。
うはーつかれた続きはまたこんど・・・
後の項目は
後の項目は
- OBJ出力の際にY軸とZ軸の交換、1/10スケールにして出力する
- BRFデータのMaterialとTextureを作る
- OBJファイルをBRFのMeshへインポートする
- Mesh,Material,Textureを一まとめに
- Module.iniへBRF読み込みの追記
- module_items.pyへ武器データの追記
- コンパイル(build_module.batの実行)
- ゲーム内で手にとって見る
- 微調整
- 完成!
という流れになります、後でSSを撮りながら追記したいと思います。