2019年8月10日

Creation Kit を使ったはじめてのMODづくり②

MODをより良いものにしよう!

できるだけ他へ影響を与えないMODにすることを考えてみるよ。

スクゥーマ中毒のきみも、これを読んで成しとげられる人物になろう!

前回:Creation Kit を使ったはじめてのMODづくり①


目次

  1. 変更した項目の影響範囲を確認する
  2. TES5Edit を使って競合の可能性を検討する
  3. MOD独自の仕様に切り替える
  4. 意図しない変更がないか確認する
  5. CKでエラーをチェックする

1. 変更した項目の影響範囲を確認する

1-1. Use Info の表示

前回は、灯火・灯明魔法の光源色を赤くするMODを作成しました。
そこで変更した光源が、他の部分でも使われていないかどうか確認してみましょう。

Object Window で「MagicLightLightSpell01」を表示し、右クリックして「Use Info」を選択します。

すると、そのオブジェクトの利用情報が表示されます。
上段は、そのオブジェクトと関係がある他のオブジェクトのリストです。
下段は、そのオブジェクトが配置されたセルのリストです。

灯火魔法では「LightFFSelf」という魔法効果(MGEF)の中でこの光源が使われていましたので、上段のリストにあります。

これを見ると、他に8個の項目が出ています。いくつかは灯明魔法で使われている項目ですが、それ以外にも影響を及ぼしてしまうようです。

1-2. Use Info の活用

この Use Info は、データ構造をひも解く上で非常に有用な機能です。

前回、灯火魔法をひも解いたときには、Candlelight(魔法)→ LightFFSelf(魔法効果)→ MagicLightLightSpell01(光源)という順番で見ていきました。

Use Info を使えば、これを逆に 光源 → 魔法効果 → 魔法 という順で追うこともできるわけです。それができると、ゲーム内の設定がどのように組み合わされているのかを理解しやすくなります。

また、配置されたセルの情報を見れば、特定のオブジェクトがスカイリムのどこに置かれているのか一目瞭然です。
Use Info に表示された項目をダブルクリックすれば、その対象を表示することもできます。有効に活用しましょう。

目次に戻る


2. TES5Edit を使って競合の可能性を検討する

2-1. TES5Edit の導入

Use Info では影響範囲を調べることができました。その修正を行う前に、他のMODと競合してしまう可能性についても検討しておきましょう。

競合を調べるには「TES5Edit」を用います。以下のサイトからダウンロードします。

TES5Edit | Nexus Mods 様

ダウンロードしたら、任意の場所に解凍します。TES5Edit は自動的にゲームフォルダを認識するので、これで導入完了です。

もしLE版を作らずSE版のみに対応する場合は「SSEEdit」を使ってください。どちらも中身は同じソフトウェアらしく、使い方は一緒です。

SSEEdit | Nexus Mods 様

2-2. TES5Edit の起動

"TES5Edit.exe" を実行します。初回は2つほどダイアログが出ますので、チェックを入れて閉じてください。

説明のために、作成したespを読み込んでみます。
一旦右クリックから「Select None」を選択して全てのチェックを外し、作成したespにチェックを入れて「OK」を押します。

読み込みにはしばらくかかるので、右側に「finished」のメッセージが出るまで待ちます。

espの中身を展開すると、光源の色が変更されているのが分かります。

この起動確認ができたら、右上の「×」ボタンで一旦終了しておいてください。

2-3. 競合の確認

すべてのMODとの競合を調べるのは実質不可能なことです。現実的なのは「競合する可能性が高いMODとの相性を調べる」ことと、「自分が構築している環境に入れて調べてみる」ことでしょう。

灯火魔法の光源を変更した場合には、明かりを変更するMODと競合するかもしれません。
今回は「Darker_Caves_Dungeons_Ruins_Towers_Nights」というMODと競合しないかどうか調べてみます。

NMMでそのMODを導入してから TES5Edit を起動し、確認したいMODにチェックを入れて読み込みます。

作成したespの中身を開くと、「MagicLightLightSpell01」への変更は競合することがわかります。赤い背景の部分が競合です。
「Radius」と「Color」の2か所で設定が相反するので、ロードオーダーでは解決できません。

このようにして、他のMODと競合しやすいかどうかの検討を行いましょう。
手っ取り早いのは、自分が構築しているプレイ環境へ自作MODを導入し、TES5Edit で全MODにチェックを入れて読み込んでみることです。意外なMODと競合しているのを発見することもありますし、またそれをどう修正するかの参考にもなります。

目次に戻る


3. MOD独自の仕様に切り替える

3-1. 使うオブジェクトの複製

Use Info で「MagicLightLightSpell01」という光源が魔法以外にも使われていることが分かりましたし、他のMODと競合することも確認できましたので、これを独自仕様に変更したいと思います。

方法としては、光源を複製してMOD専用とし、それを魔法効果に設定します。今回は簡潔に説明するため、灯火魔法だけ色を変更するMODにしようと思います。

CKでespを読み込み、光源の「MagicLightLightSpell01」を開きます。
そして、IDをMOD専用に書き換えます。ここでは「CandleMageLight_Light01」にしました。

「OK」を押すと、IDが変更されている旨の確認ダイアログが出ます。
ここで「はい」を選択すれば、バニラとは別の新しい光源として複製されます。

3-2. 設定の変更

灯火の Magic Effect である「LightFFSelf」を開き、光源をMOD独自のものに変更します。
「Assoc. Item 1」の項目に、複製した「CandleMageLight_Light01」を指定します。

「LightFFSelf」を変更しましたが、念のためこの影響範囲も確認しておきましょう。
Use Info をみると、この魔法効果を使うのは灯火の魔法と巻物だけのようです。これで、目的以外の部分には影響を及ぼさないことがわかりました。

3-3. 不要になった変更点の削除

独自の光源を付けたので、最初に変更していた「MagicLightLightSpell01」という光源は変更しなくても良いことになりました。この変更を削除するには、TES5Edit を使うのが簡単です。

TES5Edit でespを読み込んで展開します。Light には「MagicLightLightSpell01」と「CandleMageLight_Light01」が表示されています。

不要な「MagicLightLightSpell01」を右クリックして、「Remove」を選択します。すると「Warning!」というダイアログが出ますので「Yes」の方を押します。

項目を削除するときには次のような確認ダイアログが出ますので、「Yes」を押します。

これで Light には「CandleMageLight_Light01」だけが残ったはずです。CKで変更した項目を削除したいときは、このように TES5Edit で行うと簡単です。

さらに、Magic Effect の「LightFFSelf」にも不要な変更が入っているので調整します。

項目を選択したら、変更箇所を見やすくするため、右側のどこかで右クリックして「Hide no conflict and empty rows」を選択してください。
そうすると、変更のある項目だけが表示されるようになります。

変更されている項目のうち、必要なのは「Assoc. Item」の部分だけです。日本語化したCKを使って作成したので、魔法の説明文等が文字化けしています。
これをバニラに戻すのですが、そのままだと日本語になってしまうので、バニラデータのテキストを英語に切り替えます。

左上の「Ξ」メニューを開き、「Localization > Language > English」を選択します。

するとバニラのテキストが英語になりますので、MODのespへそれぞれドラッグします。

これで英語版espの完成です。メニューから「Save」を選択します。

変更するespにチェックが付いていることを確認して「OK」を押します。

TES5Edit を終了するときは右上の「×」ボタンを押します。
このとき、保存されていないespがあれば Save ダイアログが出ます。もし保存せずに終了したいときは、チェックを外してから「OK」を押してください。

3-4. TES5Edit の英語化

MODを作成するにあたり「英語版を先に作ってから日本語版に翻訳する」という手順の場合には、TES5Edit の読み込み言語をあらかじめ英語にしておいた方が便利です。

変更するには、"TES5Edit.exe" のショートカットを作成してプロパティを開き、「リンク先(T):」の末尾に「 -l:English」と追記します。欄内の表記は以下のようになります。

"解凍先フォルダ\TES5Edit 4_0_2\TES5Edit.exe" -l:English

このショートカットから起動することで、バニラのテキストが最初から英語で読み込まれます。

また、データを英語で扱う場合には、"Data\Strings" フォルダに英語版の Strings ファイルを入れておく必要があります。
xTranslator を使う際におなじみの以下のツールで、英語版の各bsaから Strings ファイルを取り出すのが本来のやり方です。

BSA Browser (with .BA2 support) | Skyrim Special Edition Mod データベース 様

とはいえ、LE英語版の Strings については、なんと tesvTranslator のオプションファイルに公開されていたりします。

tesvTranslator | Nexus Mods 様

目次に戻る


4. 意図しない変更がないか確認する

4-1. Dirty Edits の確認

CKでMODを作成していると、気付かないうちに意図しない部分に変更を加えてしまうことがあります。

このうち、「変更点としてespに記録されているにもかかわらずバニラと同じ値を持つもの」を「Dirty Edits」と呼びます。

Dirty Edits を作ってしまう原因としては、1度変更した値を手動でバニラに戻したり、セル内のオブジェクトを移動した後に「Ctrl +Z」で戻したりしたものが多いでしょう。
また、セル内のオブジェクトを右クリックからコピーして別の場所にペーストしたりすると、そのコピー元はすべて Dirty Edits になります

Dirty Edits は不具合の要因になり得るので、TES5Edit で見つけたら消しましょう。
TES5Edit では、左ツリーにおいて緑背景の項目がそれに当たります。そもそも自分で作ったMODなら何を変更したか分かるはずなので、不要なことが確認できたら「Remove」して消してください。

TES5Edit にはこの Dirty Edits を自動でクリーニングする機能もあります。一般に「TES5Edit でクリーニング済み」とされるのはこの機能を使っています。

もちろん自動クリーニングを行うこと自体は悪くないのですが、作成者自身がそれで安心してはいけません。意図しない変更というのはそれだけではないからです。

4-2. 変更していないはずの項目の確認

これがやっかいです。データ上は変更が起こっていて、設定自体に間違いはない、けれども本来は変更するつもりのない項目です。

これも、セルを改変した際に気付かないことがあります。操作の途中で、関係ないオブジェクトをわずかに移動してしまっているような場合です。

また、今回の光源のように後から不要になったものを削除し忘れたりすると、それも意図しない変更を残すことになります。

Dirty Edits でない上に設定の間違いもないとなると、これは自分で発見するしかありません。
オブジェクトの位置が少しずれたくらいなら影響はありませんが、意外なものに変更を加えてしまっていることもありますので、TES5Edit での確認は怠らないようにしましょう。

目次に戻る


5. CKでエラーをチェックする

最後になりますが、重要なことを書いておきます。

作成済みのespをCKで読み込むときは、エラーダイアログの内容を1つ1つ確認しながらキャンセルしてください。

これが、espに対する優秀なエラーチェックとなります。
Faction の設定がおかしいとか、Spell に魔法効果が設定されていないとか、そういった整合性をチェックしてくれます。

ダイアログの内容をきっちり読むのは大変なので、とりあえずエラーが出ている「ID番号と名前」をチェックします。

8桁のID番号は、先頭2桁だけを見ます。「00」からマスターファイルの数だけ増えるので、「Skyrim.esm」だけをマスター指定している場合、MODで作成した項目は「01」で始まります。

MODのIDが引っかかったり、項目名そのものに心当りがあったりした場合には、頑張って読んで対策しましょう。

テストプレイですぐ分かるようなものならともかく、致命的でないエラーというのは発見しにくいです。CKで読み込むときにしかこのような整合性チェックはできませんので、普段から気にしておいて、公開する前には再度チェックしておくと安心です。

以上で、はじめてのMODづくりは終わりです。

CKに慣れたら、やりたいことをできるだけ具体的に決めて、小規模のMODから作ってみましょう。MOD環境を構築するのとはまた違った楽しさを感じることができると思います。

夏休みの自由研究として「スカイリムのMODを作りました」というのもアリですね。私が教師だったらその生徒を絶賛します。(実際にやって怒られたらごめんなさい。)
でも、それを褒めてくれる先生は良い先生です。間違いない。

研究名は「目に優しい魔法の光について」にしよう。
「魔法の光」という色合いが結構難しい。もっとライム系の色とかにした方がそれっぽいかなぁ…。

目次に戻る

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。