次はロードオーダーによって、「実際の現物」であるルーズファイルやbsaにはどう影響がでるのか?を説明します。今回はbsaのみに絞ります。
複数のespが同じ項目を変更しあう「競合」が発生した場合、ロードオーダー次第で「付箋紙」の貼られる順番が変わる為、結果としてesmの変更内容に違いができることを説明しました。
同様に複数あるbsa内にも、「現物」ファイルの「競合」の発生が考えられます。こういった場合はどういう扱いになる?ということを図解で説明します。
Skyrim.bsaの中身について
※Skyrim.esmに対応するbsaは複数有るので、便宜上全部纏めて「Skyrim.bsa」としています。
Skyrim.bsaの中身です。ゲーム内で使う実データが色々と入ってます。
Meshes・・・メッシュファイル。いわゆるポリゴンモデル。
Textures・・・テクスチャ。色や凹凸、反射や写りこみ等。
Scripts・・・スクリプト。レバーを引くとドアが開く等、動作を書いたプログラム。
Sound・・・環境音やBGM、SEや声。シャウトも。
こんな感じでbsaの中には「現物」データが入ってます。上記は一部にすぎません。ゲームを構成するために必要な「実体」とも言えます。
肝心のロードオーダーに関してですが、bsaの読み込み順はesm、espと同一となっています。しかしながら、
esm、espが競合した=bsaも競合してるとは限らない
ので注意が必要です。逆に、esm、espは競合無いのにbsaは競合しているという事態も有り得ます。
bsaの上書き関係について
前回の記事でも使った実験用MODを例にします。
Test.espをロードする
実験MOD、Test.espです。変更内容は以下の通り。
- 新規Actor「Goly」の追加。(継ぎ足す付箋紙)
- 新規Race「NordicDaedra」の追加。(継ぎ足す付箋紙)
- Armor「SteelArmor」の変更。(上に貼る付箋紙)
3箇所に付箋紙が貼られ、Skyrim.esmが変更されています。
次に今回のメイン、「Test.bsa」の中を見てみます。espと同様に、bsaの中の「現物」ファイルに関しても、上書きや追加が発生しています。順番に見ていきましょう。
新種族「NordicDaedra」のメッシュとテクスチャを追加
「NordicDaedra」という新種族共通となる、体型メッシュとテクスチャデータの新規追加。
キャラクター「Goly」を追加
NordicDaedra族のGolyの体は、種族として新規追加したものを使えばよいですが、顔の造詣を使い回す訳にはいきません。Golyのオリジナルの頭部が必要です(FaceGen及びTint)。
「SteelArmor」のテクスチャ変更
Steel Armorのテクスチャを新しいものに上書きしています。メッシュファイルには青い付箋が貼られていないので、そのまま使うようです。(いわゆるリテクスチャ)
Steel.espをロードする
Test.espでのSteel Armorが気に入らないということだったので、Steel.espを使いました。ロードオーダーを整理します。
0・・・Skyrim.esm
1・・・Test.esp
2・・・Steel.esp
よって以下のようになります。Test.espの上から、更にSteel.espの「赤い付箋紙」で上書き変更をします。Steel Armorのみの変更です。
続いてbsaの状態です。esm、espと同じ並びになっているので、以下のようになります。青い付箋で上書きされたTest.bsaの上に、更に赤い付箋のSteel.bsaで上書きされます。
「Steel Armor」に着目してください。Test.bsaではテクスチャのみの変更でしたが、Steel.bsaではメッシュとテクスチャ両方とも変更されています。リテクスチャだけではなく、ポリゴンモデルそのものも変更されています。(よくあるのは、露出度アップですね!)
結果として現状どうなっているか?というと、
・新種族「NordicDaedra」追加(Test.esp)
・新キャラ「Goly」追加(Test.esp)
・SteelArmorのリモデル、リテクスチャ(Steel.esp)
となってます。Test.espでのリテクスチャは、Steel.espによって上書きされています。
GolyとSteel.espのSteel Armorの両方を使いたい、ということであれば問題無い状態になっています。
ロードオーダーの違いによるbsaの変化
Test.espとSteel.espのロードオーダーを入れ替えて、
0・・・Skyrim.esm
1・・・Steel.esp
2・・・Test.esp
であった場合を考えます。またespから見てみます。
図のようにSteel.espの変更項目(赤い付箋紙)は、Test.espの変更項目(青い付箋紙)によってすべて上書きされている為、Steel.espの変更は何も残っていません。
これだけ見るとプラグインのチェックをOffにしても変わらないように見えるのですが・・・
次に「現物」であるbsaはどうなのか?も確認します。
SteelArmorのテクスチャはTest.bsa(青い付箋紙)によって上書きされていますが、Steel.bsa内のSteel Armorのメッシュが残っています。Test.bsaはSteel Armorのテクスチャしか変更していないためです。この状態は、
- 新種族「NordicDaedra」追加(Test.esp)
- 新キャラ「Goly」追加(Test.esp)
- SteelArmorのリモデル(Steel.esp)
- SteelArmorのリテクスチャ(Test.esp)
という結果になります。一見問題無いかに見えますが・・・そうとも限りません。
Test.bsaの図を再掲載します。
この場合、Steel Armorに対する変更はテクスチャのみです。Test.bsa内のテクスチャの想定は、
Skyrim.bsaのSteel Armorメッシュにリテクスチャするよ!
と言っている訳です。
ところが現状のロードオーダーでは、
Steel.espのSteel Armorメッシュにリテクスチャするよ!
という状況になっています。つまり、
想定外のメッシュに対するリテクスチャになっています
うまくテクスチャを貼れるのでしょうか?
※テクスチャはメッシュに指定された展開図(UVマップ)に従って作成しないと、うまく貼り付けられません。メッシュが変わるということは、テクスチャの展開図の指定が違う可能性がある、ということです。
頭のUVマップの一例です。この展開図に沿って色ついてないと、うまくメッシュに色がつきません。
結論としては、Steel.bsaのSteelArmorのメッシュが、Skyrim.esmのテクスチャと互換性があれば問題無い。ということになります。
※実際のリモデルMODのDescriptionには「リテクスチャ使用可」と記述されていることもありますので、その場合は問題無く使えます。尚、あくまでビジュアル的な不具合だけであり、これによりCTDを起こすことは無いです。
体型メッシュの話になりますが、もし競合の結果、CBBEにUNPテクスチャを貼るようなことになった場合は破綻します。UVマップが異なる為です。
まとめ
- bsaのロードオーダーはesm、espプラグインと同じ
- espで「台帳」の上書き競合があるからといって、「現物」であるbsaの中身も、全て上書きされているとは限らない
- espで競合が無くてもbsaで競合が起きてる可能性もある
続きはこちら