テクスチャを張り替える場合は、オリジナルのnifファイルをNifSkopeで編集してNiSourceTextureのファイルパスを変更します。
たいていはこれを変えるだけでNifSkopeのRenderingWindowでも差し代わったことが確認できるんですが、これをゲーム内で確認すると消えてしまって表示されないことがあります。
こんなときはNiAlphaPropertyの設定に問題がある場合が多いようです。
Propertyの位置と役割
NiAlphaPropertyは次のようなツリー構造の位置に存在します。
- NiNode(Sense Root) ※1
- NiTriStrips(or NiTriShape) ※2
- NiTexturingProperty ※3
- NiMaterialProperty ※4
- NiAlphaProperty ※5
※2はオブジェクトの集まりごと(例:鎧の肩当て部分、胴体部分、前垂れ部分)に複数存在する場合もあります。
上記のツリー構造で示したようにNiAlphaPropertyはNitriStrips(or NiTriShape)の小要素です。
これはアルファチャンネルをもったテクスチャを使う場合は必須です。正確に言えばどのテクスチャでもアルファチャンネルを持っていますので、それを利用して透過するようなものは必ず使うといったほうが正確でしょうか。
このアルファプロパティが存在しない場合、ゲームのレンダリングシステムは『テクスチャをべた貼りする』という処理を行うことになります。
既存のNifがNiAlpaPeropertyを持っていない場合は親要素の
NiTriStrips(or NiTriShape)を右クリックして、Attache PropertyからNiAlphaPropertyを選べば追加されます。
具体的なNiAlphaPropertyの設定値
NiAlphaPropertyの設定については次のいずれかを使うことになります。もっともツブシのきく
一般的な値は4845みたいです。
- 237 - デフォルト値。主に透過なしのベタ貼りテクスチャで利用する。
- 4845 - 透過テクスチャ利用の場合の一般的設定値。一般的な服や装飾品なんかはコレ。
- 4333 - 透過テクスチャ利用の場合で、かつ返り血を浴びて反映される?設定らしい。鎧や剣なんかはこれ。
- 4109 - よくわかんない。ビームサーベルちっくな自発光するようなアイテムの時に使うらしい。
NiMaterialPropertyの設定も忘れないで!
さて、ここまであえて触れませんでしたけどNiMaterialPropertyもなかなか重要な設定項目があります。
- AmbientColor - オブジェクトに当てる環境光の色です。
- DiffuseColor - 環境光がオブジェクト自身に拡散していくときの色です。
- SpecularColor - 反射光の色です。
- EmissiveColor - 反射光が空間中で拡散するときの色です。
ちょっとわかりにくいですが、Ambient(以下A)&Diffuse(以下D)とSpecular(以下S)&Emissive(以下E)で分けて考えてください。
どんな物体にも光はあたりますよね?そのときに当てる光の色を決めているのがAです。たいていのオブジェクトでは白(FFFFFF)が設定されていると思います。
エンチャントされた武器や鍾乳洞の石なんかはこの環境光を緑とか赤とかに設定してやると雰囲気が出るわけです。
さらにその環境光がオブジェクト自身の表面に拡散していくときの色を決めているのがDです。基本的にはAと同じ色です。
活用例はたとえば環境光を白にしたんだけど、表面拡散が強すぎて白くなっちゃう場合なんかはここを暗くしたり、オブジェクトの表面色に近いものに変えてやる場合があります。
さて、環境光に照らされたオブジェクトからは反射光が空間に向かって発せられますよね。この反射光の色を決めているのがS、それが空間に拡散していく色を決めているのがEです。
光を反射する必要のない洋服や木材なんかは両方とも黒(000000)になってるはずですが、磨かれた鎧などはここにグレーなどが設定されているはずです。
真っ赤な金属鎧などを作りたければテクスチャに加えてこのへんの値もいじらないと意図どおりにならないかも知れません。
他にもいろいろ設定すべきところはありますが、テクスチャ張り替えMODではこのへんをフォローしておけばいろいろ出来るようになります。