4361 Words
カテゴリ: MMD_to_CIV4
http://www.blender.org/download/
最新版(執筆時点では2.76bですが、それより多少新しくてもたぶん大丈夫)
を取ってきて、普通にインストールします。
addon用のディレクトリは
(Blenderのインストールパス)(バージョン番号)\scripts\addons
なので、基本的にここに追加のaddonを入れていきます。
https://www.dropbox.com/sh/b8pl4kxbdjtbfit/AABU7srXHWCGB49gEIVGcYkja?dl=0
「blender_nif_plugin-2.6.0a0.dev4-01.04.15.zip」のzipを取ってきて展開します。
中のio_scene_nif\texturesys\texture_export.pyの427行目あたり、
shadername = self.EXTRA_SHADER_TEXTURES[shaderindex]
とあるところを
shadername = self.nif_export.EXTRA_SHADER_TEXTURES[shaderindex]
に変えます。その後、addonsディレクトリにio_scene_nifをディレクトリごとコピーします。
https://github.com/sugiany/blender_mmd_tools/tags
最新版を取ってきて(執筆時点では0.4.5)、
中のmmd_toolsをaddonsディレクトリにコピーします。
http://sourceforge.net/projects/niftools/files/nifskope/1.1.3/
最新版を取ってきて、普通にインストールします。
http://semakimomo.net/post-022/
このページ通りにインストールすれば多分大丈夫です。
画像ファイルを縮小&.dds形式に変換するのに使うだけなので、
使い慣れている画像編集ソフトで.dds形式を扱える物をお持ちなら、
そちらを使ってももちろん構いません。
http://3d.nicovideo.jp/works/td14712
この文章ではニコニ立体ちゃんにモデルをお願いします。
普通に取ってきてお好きなところへ展開しておきます。
Blenderを起動してみましょう。
真ん中に立方体と、ボタンがたくさん出てきます。
File - User Preferences から設定画面を出して、Add-onsタブを選択、
ここまで上手くいっていれば、検索窓に「mmd」と入れるとObject: mmd_toolsが見つかるはずなので、
チェックボックスをオンにして有効化します。
同じように、「nif」で検索して、Import-Export: NetImmerse/Gamebryo nif formatを有効化しておきます。
BlenderのAddonは入れただけでは有効にならず、このように明示的に有効化しないと使えないので注意しておきます。
タブをSystemに戻して、InternationalFontsをオンにしておきます。
近くにあるLanguageでメニューの日本語化も出来ますが、
日本語で読めるほとんどのBlender記事は英語メニュー名を前提としていて、
この文書でも英語のメニュー名で説明するため、そのままでよいです。
MMDタブ - Import: ModelからさっそくMMDモデルを読み込んでみます。
インポートのオプションは
にしておきます。
ここまで上手くいっていれば、中央のビューに真っ白のモデルが出てくるはずです。
これは色が読み込まれていないのではなく、表示されていないだけなので、
View: GLSLを押して色を出しておきます。
ここまで出来たら、Blenderの操作練習をかねて眺め回してみましょう。
この文章の目的は「とりあえずシド星に出してみる」ことなので、これから最低限のデータ以外を削ぎ落としていきます。
なので、この章を始める前にここまでの作業を、「Ctrl+S」で保存しておきます。
このとき、『mmxと同じフォルダに』blendファイルを置いてください。
まず、デフォルトのキューブが邪魔なので消します。
右クリックでキューブを選択、**[X]**を押します。
すると、本当に消してもいいかツールチップが出るので、Deleteをクリックします。
Blenderでは、このように「オブジェクトを選択→1文字のショートカットキー」で操作、という操作をよく使います。
この要領で動かすための関節や表情のデータを全部消し、外形のデータだけを残すのですが、
MMDのモデルをただインポートしただけの状態ではデータ数があまりにも多すぎてめんどくさいため、
この文章では「外形だけ別レイヤーに待避しておき、残ったものを全選択して消す」という方法をとります。
その外形のデータは
Outliner - アリシア・ソリッド - アリシア・ソリッド_arm - アリシア・ソリッド_mesh
にあるので、順に選択していき、
Propaties - Object - Layers から別のレイヤーを選択します。
メッシュだけ別レイヤーに行きました。
「今見ているレイヤー」は、下の方のVisible Layersで切り替えられます。ぽちぽちしてみると、
メッシュとその他に分かれていることがわかります。
Visible Layersを左上に戻して、**[A]で全選択、[X]**で削除します。
これで全部消えたように見えますが、見えてないオブジェクトは消えてないので、
目のマークをクリックして見えるようにして、選択して、**[X]**で消します。
(通常、この作業をする必要があるのはncc_rootというオブジェクトだけです。もし他にも見えないオブジェクトが残っているなら、これまでのどこか(特にインポートの際のオプション)で間違っている可能性があります。)
レイヤーをモデルの方に移して、表情/ポーズ差分を消します。
Propaties - Data - Shapesにある逆三角からDelete All Shapesを選びます。
この章ではテクスチャをnif形式で読めるようにしていきます。
Outlinerからアリシア・ソリッド_mesh - アリシア・ソリッドと展開していくと、
部位っぽい名前がついた丸がたくさん出てきます。
これは各部位の色塗り設定のようなもので、ひとつひとつをMaterialと呼んでいます。
Materialには本体の画像データたるTextureのほかに、貼り付け方式や光沢・透過などの情報も含まれるのですが、
nif形式では、各Materialに1つのテクスチャをUV-map形式で貼り付けることしかできないので、1番目以外は消していきます。
「Outlinerから各Materialの2番目のテクスチャを選択し、Propaties - Texture - ×マークで消す」
作業を複数のTextureを持っている全Materialに対してぽちぽちとやっていきます。
(全Materialについてぽちぽち中・・・)
さらに各Materialの1番目のTextureに対してMapping - Map - UVMapを設定していきます。
(全Materialについてぽちぽち中・・・)
Propaties - Object - Niftools - Niftools Object Panel - NifVersionから
nif形式としてのバージョンを自己申告します。BtS用だと20.0.0.4にするのが安定のようです。
ここまでの作業を、『mmxと同じフォルダに』blendファイルとしていったん保存します。
最初に保存した物とは別名にしておくのが良いでしょう。
さて、nifを作ります。
必ずモデルを[A]で全選択してから、
メニューからFile - Export - NetImmerse/Gavebryo(.nif)を選んで、
オプションを
にして、いざ出力!
うまくいっていると、マテリアルを統合したというWarningがたくさん出て、nifファイルができます。
できたnifファイルをNifSkopeで開いてみます。
はい。なにもありません。
・・・もとい見えてないだけです。
階層をたどっていってNiMaterialProperty(パレットのアイコン)のところで、
Alpha(不透明度)がなぜか0(完全透明)になっているので、1(完全不透明)に直します。
見えました。必要なら他の各NiTriShapeでもNiMaterialProperty - Alphaの修正をしますが、
この例のモデルではNiMaterialPropertyが統合されてしまっているので、1カ所修正しただけで上手く動くようです。
この時点では色が真っ白ですが、これはciv4で使われている画像形式とMMDで使われている画像形式が異なるためです。
うまく貼り付けられるように、.tgaファイルを.dds形式に変換してあげる必要があります。
その前にとりあえず、Alpha値を修正したものを alicia2.nif という名前で保存しておきます。
GIMPを使って、テクスチャ画像を.dds形式に変換していきます。
.tgaファイルを開いて・・・
128*128に縮小して・・・
.ddsとして出力。
これを、必要なファイルの分だけ繰り返します。(ぽちぽち・・・)
先だってテクスチャを削ったので、全ての.tga画像が必要なわけではありません。
NifSkope上でNodeを全部展開していくと、使われているファイル名がわかるので、使われているものだけでよいです。
.ddsが全部できたら、修正保存しておいたnifを開き直してみると、色がついていることがわかります。
お疲れ様でした!できたnifとddsをMODS\(MOD名)\assets\Art\Units\Alicia\にコピーして、
Civ4ArtDefines_Unit.xmlの ART_DEF_UNIT_LION(ライオン以外の挙動は未調査)の<NIF>と<SHADERNIF>の両方を
Art/Units/alicia/alicia2.nifに変えると・・・
(ちょっと大きいですが)MMDモデルがライオンとしてシド星に現れました(画像略)!
Enjoy!
ここにあるエラーは手順を飛ばしてエラーになる場合なので、たぶん直せばうまくいきます。