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

Skyrim箱庭DIY

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

(初心者におすすめ2)Skyrimのesp、esmプラグインの役割とbsa及びルーズファイルとの関係

基礎講座


スポンサーリンク

具体的にプラグイン、ルーズファイル、bsaがどんな役割を持っているのか?というお話です。

名前聞いたことある気がするけど、なんかよく意味がわからない、という方におすすめです。「そんなもんBOSSやLOOTに任せとけばいいじゃない!」とか言っていると、自動でうまく並ばなかったときにとっても困ります。それに、うまく並んだからといって全てが完全に動くわけではありません。CTDしないものの、困る不具合(美化MOD入れたのにリディアさんがゴリってる等)を自分で修正するにも、この構造把握は不可欠です。

前の記事を読んでいない人は、こちらからどうぞ。

 

プラグインの具体的な役割

前回の記事で、プラグインを並べていくことでゲームを拡張している、という話をしました。実際何してるのか?ということを、まずは概念的にいってみます。

 

f:id:Kutsumiya:20150524025541p:plain

 

ざっくりですが、上の図のようになります。

esmプラグインというのは、いわば「台帳」です。別にこれ自体が複雑なプログラムになっている訳ではなく、基本はデータベースのようなものです。勿論この中にプログラム(スクリプト)が入る場合もありますけど。

例えば左上、「名簿」には街中のNPCや砦の山賊、マッドクラブやドラゴンといったクリーチャーまで、あらゆる生物が記載されています。個々の名前、HP、レベル、スキルといったあらゆる個人情報が書いてあります(セラーナ様の3サイズ・・・までは無いですが体型情報は勿論入ってます!)。

種族」の台帳にはノルドやインペリアルといったプレイヤーの使える種族や、ファルマーやスケルトンといったクリーチャー種族まで、世界にどんな種族がいるか?が書いてあります。

武器」、「防具」や「アイテム」といった台帳は、なんとなく想像つきますよね?武器ならば攻撃力、振り速度。防具なら防御力や重装/軽装の区分、アイテムなら効果といった、各データが書いてあります。もちろん金額や重量といったデータもです。

 

Skyrim.esm内の「武器」台帳の中身

試しに1個開いてみます。武器の台帳の中身は、だいたいこんな感じです。実際にCK(Creation Kit)で開くと、このパラメータが書いてあります。(これで全てではないですが)

武器台帳

今はパラメータの細かい意味は気にしなくていいです。「Weight」とか「Damage」とか、それっぽいパラメータがここに書いてある、ということだけ覚えておいてください。

 

この「台帳」には、内容を書き換えたり、新しいページを付け足したりすることができます。鉄のダガーの攻撃力を高くしたいと思えば、台帳の「Damage」の項目を書き換えれば良い訳です。新しい武器を追加したければ、台帳に新規の武器のページを追加して、必要事項を埋めていけばOKです。

ですが、1つ問題があります。skyrim.esmのような台帳を直接書き換えることはできません。そこでイメージとしては、

 

・項目の上から付箋紙を貼って値を書き換える(=変更)

・台帳の後ろに新しく付箋紙を継ぎ足す(=追加)

 

といった手段を使います。このような「上に貼る付箋紙」や「継ぎ足す付箋紙」によって台帳を変更するものが、espプラグインです。それに対してesmプラグインは、改変前の基本台帳と言えます。

 

※厳密にはSkyrim.esmが唯一無二の基本台帳、esmが「1段目付箋紙」、espが「2段目付箋紙」といった所ですが、非常にややこしくなるので。 

 

Skyrim.esmの武器性能を書き換える

上書き変更の場合

イメージ上ですが、鉄のダガーの攻撃力を大幅アップしてみました。青い付箋紙を貼って書き換えてあります。この青い付箋紙は、

鉄のダガーの攻撃力を上げるMOD

ということになります。IronDaggerCheat.espといったところです。

鉄のダガー強化MOD

Skyrim.esm

Update.esm

IronDaggerCheat.esp

 

こんな並びになってMODが導入されれば、鉄のダガーがこのインチキ臭い性能に書き換わります。 最も、これは元々ある鉄のダガーを書き換えた訳ですから、

世界に存在する全ての「鉄のダガー」が鬼強化されることになります!

 

新規に追加する場合

既存の鉄のダガーはそのままで、チート性能の鉄のダガーを新規装備として追加することもできます。台帳の最後のページに付箋紙を継ぎ足すイメージです。

f:id:Kutsumiya:20150524040256p:plain

こんな感じでページを継ぎ足せば、新しい鉄のダガーが誕生します。名前は同じですがアドレス(Form ID)が異なるので、別装備となります。既存の鉄のダガーは変更されません。アドレスはまた別途説明しますので、今は流しておいてください。

 

bsa、ルーズファイルの具体的な役割

次はbsaとルーズファイルについて説明します。中身のイメージは下の図の通り。

bsaとルーズファイルの中身

まずこの2つはルーズ(ばらけてる)か、bsaで圧縮されているかの違いはあれど、役割としては同じ物です。運用の仕方は変わってくるのですが、それはまた後ほど。

 プラグインが台帳であるならば、bsa、ルーズファイルは「実際の物品」であると言えます。

 台帳だけで商売は出来ませんし、現物だけではそれが一体何なのか正体不明です。この実際の物品というのは、上の図の例だと、各種装備のモデル(メッシュやテクスチャ)です。実際にゲーム中で表示されるグラフィックになります。

Skyrim.esmにある「防具」台帳の中には、当然「鋼鉄の脛当」の項目が存在し、ここに「鋼鉄の脛当とはこのモデルのことだ!」という情報が設定されています。これにより数字的な性能の反映だけでなく、適切なグラフィックが表示されることになります。台帳に対して現物が紐付けされているイメージです。

 

もしこのグラフィックの設定が無かった場合・・・「と・う・め・い」になります。良い子は悪用しちゃダメですよ、お兄さんとの約束だ!

 

まとめ

  • esmプラグインは基本台帳、espプラグインは台帳を上書き、継ぎ足す付箋紙
  • bsa、ルーズファイルは台帳に紐付けされた「現物」

 

※(おまけ)意味不明でしたらスルーして大丈夫です。

アニメーションの台帳だけ黒くしてあります。これはアニメーションの台帳がちょっと特殊でして。「上から付箋紙を貼って値を書き換える」ことはできるのですが、「台帳の後ろに新しく紙を継ぎ足して追加する」ことが出来ません。要するに通常のMOD作成手順では、既存のアニメーションを書き換えることは出来ても、新規アニメーションを追加することが出来ないという訳です

有名なアニメーションMODである「FNIS」を使うことで解決できます。アニメーションの追加削除するたびにGenerateFNISforUsers.exeを実行することで、本来触れない領域にあるファイルを書き換えることで対応してるみたいです。すごいです。

FNISについての記事はこちら

 

 シリーズの続きはこちらどうぞ