読者です 読者をやめる 読者になる 読者になる

Skyrim箱庭DIY

MODによる固有の環境不具合は自分で直して快適ゲーム。CTDにさようなら。Do It Yourself!!

(初心者におすすめ5)ロードオーダーとbsaの関係



スポンサーリンク

次はロードオーダーによって、「実際の現物」であるルーズファイルやbsaにはどう影響がでるのか?を説明します。今回はbsaのみに絞ります。

複数のespが同じ項目を変更しあう「競合」が発生した場合、ロードオーダー次第で「付箋紙」の貼られる順番が変わる為、結果としてesmの変更内容に違いができることを説明しました。

同様に複数あるbsa内にも、「現物」ファイルの「競合」の発生が考えられます。こういった場合はどういう扱いになる?ということを図解で説明します。

 Skyrim.bsaの中身について

※Skyrim.esmに対応するbsaは複数有るので、便宜上全部纏めて「Skyrim.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.espの構成図

 

 次に今回のメイン、「Test.bsa」の中を見てみます。espと同様に、bsaの中の「現物」ファイルに関しても、上書きや追加が発生しています。順番に見ていきましょう。

Test.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のみの変更です。

Steel.espの構成図

 

続いてbsaの状態です。esm、espと同じ並びになっているので、以下のようになります。青い付箋で上書きされたTest.bsaの上に、更に赤い付箋のSteel.bsaで上書きされます。

Steel.bsaの構成図

 「Steel Armor」に着目してください。Test.bsaではテクスチャのみの変更でしたが、Steel.bsaではメッシュとテクスチャ両方とも変更されています。リテクスチャだけではなく、ポリゴンモデルそのものも変更されています。(よくあるのは、露出度アップですね!)

 

 結果として現状どうなっているか?というと、

 

・新種族「NordicDaedra」追加(Test.esp)

・新キャラ「Goly」追加(Test.esp)

・SteelArmorのリモデル、リテクスチャ(Steel.esp)

 

となってます。Test.espでのリテクスチャは、Steel.espによって上書きされています

GolySteel.espのSteel Armorの両方を使いたい、ということであれば問題無い状態になっています。

 

ロードオーダーの違いによるbsaの変化

Test.espとSteel.espのロードオーダーを入れ替えて、

 

0・・・Skyrim.esm

1・・・Steel.esp

2・・・Test.esp

 

であった場合を考えます。またespから見てみます。

ロードオーダーを変更した場合のespの構成図

 図のようにSteel.espの変更項目(赤い付箋紙)は、Test.espの変更項目(青い付箋紙)によってすべて上書きされている為、Steel.espの変更は何も残っていません。

これだけ見るとプラグインのチェックをOffにしても変わらないように見えるのですが・・・

 

次に「現物」であるbsaはどうなのか?も確認します。

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の図を再掲載します。

test.esp再掲載

この場合、Steel Armorに対する変更はテクスチャのみです。Test.bsa内のテクスチャの想定は、

 

Skyrim.bsaのSteel Armorメッシュにリテクスチャするよ!

 

と言っている訳です。

ところが現状のロードオーダーでは、

 

Steel.espのSteel Armorメッシュにリテクスチャするよ!

 

という状況になっています。つまり、

 

想定外のメッシュに対するリテクスチャになっています

 

うまくテクスチャを貼れるのでしょうか?

 

※テクスチャはメッシュに指定された展開図(UVマップ)に従って作成しないと、うまく貼り付けられません。メッシュが変わるということは、テクスチャの展開図の指定が違う可能性がある、ということです。

頭のUVマップの一例です。この展開図に沿って色ついてないと、うまくメッシュに色がつきません。

 

頭のUVマップ

 

 結論としては、Steel.bsaのSteelArmorのメッシュが、Skyrim.esmのテクスチャと互換性があれば問題無い。ということになります。 

 

※実際のリモデルMODのDescriptionには「リテクスチャ使用可」と記述されていることもありますので、その場合は問題無く使えます。尚、あくまでビジュアル的な不具合だけであり、これによりCTDを起こすことは無いです。

体型メッシュの話になりますが、もし競合の結果、CBBEにUNPテクスチャを貼るようなことになった場合は破綻します。UVマップが異なる為です。

 

まとめ

  • bsaのロードオーダーはesm、espプラグインと同じ
  • espで「台帳」の上書き競合があるからといって、「現物」であるbsaの中身も、全て上書きされているとは限らない
  • espで競合が無くてもbsaで競合が起きてる可能性もある

 

 続きはこちら