Nifファイル作成

Nifファイルを作成する

ここではSkyrimで利用するためのNifを製作していきます。


事前の準備

ツールの項目を参考に、それぞれ必要なソフト、プラグインを導入してください。

テクスチャをDDSで保存

モデルを出力する前に、先にテクスチャDDSを用意する必要があります。最低限必要なのは次の二種類です。
  • ディフューズマップDDS(テクスチャを設定したメイン画像)
  • ノーマルマップDDS(凹凸表現などのバンプマップ画像)

ディフューズマップDDSを出力する。

うまくプラグインが導入できていれば、デフォルトのSkyrim DDSが開けるはずです。Texturesフォルダより、ドワーフの戦鎚のテクスチャファイル(dwarvenwarhammer.dds)を開いてみましょう。


これがドワーフの戦鎚のテクスチャファイルです。思ったよりずっと暗い事に気がつくはずです。Skyrimは反射が設定されている、武器等のテクスチャが暗めに設定されているようです。ディフューズマップDDSを出力する時には、Skyrimに合わせて暗く調整してから出力しましょう。
テクスチャ画像に50%グレーのレイヤーを置き、レイヤー合成を「乗算」にすると丁度良い暗さになります。

というわけで、テクスチャを調整したのがこちら。


元が明るすぎたので、50%グレーを二枚重ねにしてあります。これをDDSファイルとして出力。
出力先は、SkyrimのDataフォルダです。

skyrim\Data\textures\weapons\CkwikiPikohan 等のフォルダを作り、そこにDDS形式で保存。


形式はDXT1 no alpha、2D Texture、MIP Map GenerationはGenerate MIP mapsを選択。


GIMP2のプラグインを使用する場合はこのように設定します。
これでディフューズマップDDSはできあがりです。


Normalmap DDS

次はノーマルマップの出力です。こちらもまず最初にドワーフの戦鎚のノーマルマップを確認してみましょう。ファイル名はdwarvenwarhammer_n.ddsです。この***_n.ddsという形式がノーマルマップを表します。


これがドワーフの戦鎚のノーマルマップです。ディフューズマップテクスチャとはずいぶん様子が違いますね。この画像ファイルを元に、微妙な凸凹を表現しているわけです。ピコハンは特にノーマルマップが必要になるものではないのですが、Skyrimではノーマルマップが必須になっています。せっかくなので、ノーマルマップを利用するために柄の部分の表面を梨地仕上(細かなデコボコのある表面)にしてしまいましょう。


柄にあたる部分だけ選択して、フィルター等でノイズを作ります。ヘッドにあたる部分は白く塗りつぶしましょう。このグレースケール画像にnormalmapフィルターを適用します。

Photoshopの場合

GIMP2の場合

設定はScaleを2にして少しだけ強めにフィルタをかけます。


ノーマルマップができあがりましたので、これをさっきのディフューズマップDDSと同じフォルダに保存しましょう。
設定はさっきと違い、形式にDXT5を選びます。ファイル名は必ず ***_n.dds という形式にしましょう。


DDSにはいくつか規格があるのですが、大雑把にDXT1はアルファチャンネル無し、DXT5はアルファチャンネルあり。と覚えるといいでしょう。他の形式はSkyrimではほとんど使いません。アルファチャンネルがあると画像が重くなるので、アルファチャンネルを利用しない画像にDXT5は使用するべきではありません。

ディフューズマップDDSの場合、半透明や透明部分があるものにアルファチャンネルを利用します。ピコハンの場合は透明や半透明は利用しないので、DXT1を指定しました。しかし、ノーマルマップは後述する「反射マップ」のためにアルファチャンネルを利用します。そのため、ほとんどのノーマルマップDDSはDXT5形式で保存されています。

これでディフューズマップDDSとノーマルマップDDS、二つの画像ファイルが用意できました。
次はモデルの出力です。

Blenderからの出力

画像が用意できたら、いよいよBlenderから出力しましょう。
と、その前に設定すべき項目があります。

基準点の設定

まずはオブジェクトの中心点を確認します。
Nキーを押して3D Viewの右側に表示されたTransformパネルの数値を見てみます。
座標とサイズ、角度の値がバラバラになってしまっている場合、このまま出力するとゲーム内でサイズや位置がずれたり、今後の作業に支障が出るので、まずはこの値を整えましょう。


中心点の設定
まずは中心点を設定します。通常製作していくと中心点がどうしてもずれてしまいますので、これをゼロに再設定する必要があります。
Shift + Cでカーソルが中心点行きます。


カーソルが中心に来たらオブジェクトを選択、Shift + Ctrl + Alt + Cを押下し、表示されたSet OriginメニューでOrigin to 3D Cursorを選択します。


これでオレンジ色の中心点がカーソルと同じ位置(Y軸とX軸の中心)に設定されたはずです。Transformパネルでも座標が全てゼロになっているはずです。


スケール・回転角の設定
次はスケール・回転角の再設定です。オブジェクトを選択した状態でCtrl + Aキーを押してメニューを表示、そこから「Rotation & Scale」を選択。これはサイズを1、回転角を0にリセットしてくれるコマンドです。


これで基準点の設定は完了しました。


この作業をしていないと後々問題がでてくるので、「上手に出力するためのおまじない」だと思って必ず作業しましょう。
ちなみに、メッシュを追加する際はカーソルを原点に設定した状態で行い、その後の移動や回転、拡大縮小操作をEditモードで行うことでこれらの操作を省くことができます。

各種設定の流用

Blender2.7に対応したBlender Nif PluginでNifファイル出力する場合、各設定を適切に行う必要があります。
しかし、シェーダーやらNifの設定まで手打ちするのは大変ですし、間違えやすく出力時にエラーが起こりやすいです。
そこで、ちょっと変則的な手順になりますが、バニラのメッシュデータの設定を流用することをおすすめします。

まず、レイヤーを切り替えてドワーフの戦鎚を表示します。


続いてEditモード切り替えてAキーで全体を選択し、X軸方向に少し移動しておきます。これは必須ではないのですが、後で作業しやすくするためです。


Objectモードに切り替えて、ドワーフの戦鎚とピコハンのレイヤーを同時選択します。


Objectモードのままピコハン→ドワーフの戦鎚の順番で選択し、Ctrl + Jで二つのメッシュを合体します。
選択する順番が大事なので、必ず自分で作成したメッシュを先に選択するようにしましょう。


合体したメッシュにはドワーフの戦鎚の各種設定が反映された状態になっているはずです。


設定が反映されていることを確認したら、Editモードに切り替えて不要なドワーフの戦鎚の部分のみを選択し、削除してしまいましょう。
選択するときはZキーでワイヤフレームに切り替えて、Bキーで範囲選択をしてしまうと簡単だと思います。
先ほどドワーフの戦鎚をX軸方向に移動しておいたのはここでの選択を楽にするためです。


上手くドワーフの戦鎚部分だけ選択できたら、X>Verticlesで削除してしまいましょう。

テクスチャ設定

このままでも出力できるのですが、ドワーフの戦鎚のテクスチャが設定されているので、用意したテクスチャを設定してから出力するようにしましょう。
テクスチャパネルのDwarvenWarhammer.ddsを選択して、テクスチャに先ほど作成したディフューズマップファイルを選択します。


同様に、DwarvenWarhammer_n.ddsを選択して、先ほど作成したノーマルマップファイルを選択します。


ObjectモードでShift + Zでレンダリング結果のプレビューができます。
きちんとテクスチャが貼られていますね。


これで出力準備が整いました。

Nif出力

ここまで完了すれば、あとはNifとして出力するだけです。

Objectモードで出力するオブジェクト(この場合はピコハン)を選択した後、File > Export > Netlmmerse/Gamebryo (.nif)。
設定は画像のようにしてください。


今回は目安のドワーフの戦鎚を1/10サイズでインポートしたので、Scale Correction Exportに10.000を設定してサイズ10倍で出力します。

設定を確認したら、Export Nifをクリックして出力します。

NifSkopeでの編集

さて、無事Nifに出力されましたが、このままではSkyrimで利用することができません。
そこで、既存のNifにいま製作したモデルを「移植」してやつ必要があります。

既存Skyrim Nifへの移植

NifSkopeで参考となるNifファイルを開きます。ここは最初に参照したドワーフの戦鎚(1stpersondwarvenwarhammer.nif)を選んでおきましょう。両手武器の場合、インベントリのアイコンに関係してくるので、なるべく1stperson***.nifを移植先に選んだほうがいいです。
次にNifSkopeのFile>New Windowでもう一枚NifSkopeを開き、先ほど保存したNifファイルを開きます。ここから必要なファイルを選んでドワーフの戦鎚Nifへ移植します。

BSFadeNodeを開き、その中のNiTriShapeを選択してCtrl + Cキーでコピー。


ドワーフの戦鎚へ切り替えて、BSFadeNode内へペースト。ペーストが完了すると、戦鎚のモデルに重なってピコハンが表示されるはずです。


ペーストした段階では、NiTriShapeのValueがINV[1]になっているのが分かると思います。このValueの数値がNifの機能を決めるものです。モデルをきちんと表示するために、1stPersonDwarvenWarhammer:0の数字に変更します。

ピコハンのValueをクリックして、数字を「9」と入力。


元々の1stPersonDwarvenWarhammer:0は削除してしまいましょう。
NiTriShapeを選択して、Ctrl + Delです。

ここまでくればNifは一応完成です。
別名保存で、1stpersonPikoham.nifと名前を付けて保存しましょう。
ファイル名を上書きしてしまうと、ドワーフの戦鎚が差し替わってしまうので、保存する祭には注意です。
保存先は、どこでも良いのですが、後でゲーム内に持ち込むことを考えてSkyrimのDataフォルダにしましょう。

skyrim\Data\textures\weapons\CkwikiPikohan 等のフォルダを作成し、保存します。

流血ノードの設定
このままでも武器として利用できるのですが、敵を攻撃した時の「返り血」が元のドワーフの戦鎚のままです。
ピコハン用に流血ノードを再設定しましょう。流血ノードはこの二つのNiTriShapsで指定されています。まずはこのNiTriShape用のモデルが必要となります。


ピコハンの現状のモデルでもいいのですが、グリップにまで血が付いてしまいます。血がつくのはヘッド部分に限定するため、新しくヘッドの部分だけのNifを作ります。
Blenderでピコハンのモデルを開き、Editモードでヘッド部分の頂点を選択。Ctrl + Lを押してヘッドを選択します。
ヘッダ部分を選択できたら、Pキーを押してSeparateメニューを表示し、Selectionを選択、ヘッド部分を別オブジェクトに分離します。


分離できたらヘッド部分のオブジェクトのみ選択して、先ほどと同様にNifとして出力。設定は同じです。
ヘッドのNiTriShapsをコピーして、先ほどの1stpersonPikohan.nifへペースト。
Valueを流血ノードの5番に書き換えます。(この数字は移植先のNifによって変化します。移植先のNifをよく確認し、流血ノードの番号を指定してください)


番号を書き換えたら、画像のように、BSLightingShaderPropertyを削除してから、元の流血ノード5番から、この三つのノードをそれぞれコピー&ペースト。


あらかじめヘッドのValueを5番にしていればNiTriStrips内にペーストされるはずですが、格納されなかった場合はBS Propertiesから番号を指定して配置してください。その時、BSEffectShaderPropertyが上、NiAlphaPropertyが下になるように指定。


あとは仕上げとして、NiTriStripsのフラッグを15番に書き換えます。


これで一つ目の流血ノードの指定が完了しました。続いて二番目の流血ノードを設定しましょう。
流血ノードはこの二つが必ずセットになっています。忘れずに両方ともきちんと設定しましょう。一度やった手順なので、省略して書いていきます。

  1. ヘッドのNiTriStripsをコピー
  2. ペーストして今度は「8」番に書き換え
  3. 8番ノードのNiTriStripsからNiTriStripsData以外の3つのノードをコピーしてペースト
  4. フラッグを15番に書き換え。
  5. 元の8番ノードを削除

これで武器のNifファイルは完成です。
さあ、いよいよCKで設定し、Skyrimの世界へと持ち込みましょう!


コリジョンの作成
現時点ではコリジョン(物体の衝突設定)はドワーフの戦鎚のままです。このまま流用しても問題はありませんが、ゲーム内で違和感を感じる事があるかもしれません。その場合はGND.nif作成方法のページを参考に、NifSkopeでコリジョンを作成しましょう。