なんかMod作成系なタイトルですが、続き物の改造記事です。発端は
プレイヤー種族で一部の髪が適用できない!
という話から始まってます。
前回までに、原因と対策方針、HeadPartsとForm Listの関係について説明してみました。
長々と続きましたがついに感動の総集編最終回。Racial Compatibility対応にすることで、この問題を解決します。
Form Listで直すと色々不都合起きますので、その辺りは前回までの記事読んでください。
追加種族MODのValkyrieRace_0_0_4out_fx5を、Racial Compatibility対応に改造します。吸血鬼化とウェアウルフ化も対応させないといけません。
※「Racial Compatibility」「追加種族MOD」等で検索ランディングした人へ
この記事は「Racial Compatibility非対応」のMODを対応化改造する記事です。「要Racial CompatibilityのMOD」を使う場合は、MODのDescriptionに従って適切にRacial Compatibilityをインストールするだけなので、この記事の作業は不要です。
Racial Compatibilityを使う必要性を知りたい人は、このシリーズ記事の1回目をどうぞ。
1回目の記事
2回目の記事
やること多いので長いです。いつものことかもしれませんが!
- Racial Compatibilityについて
- 作業を開始する前に
- TES5EditでValkyrieRaceの下準備をする
- RaceCompatibility for Skyrim and Dawnguard対応改造
- Racial Compatibility Improved対応改造
Racial Compatibilityについて
1回目でも説明しましたが、プレイヤー追加種族によるForm Listの競合や、吸血鬼化、ウェアウルフ化によるトラブルを解消してくれます。Form Listを直接修正せず、スクリプトで「Proxy」となるRaceを経由して動的に変更してくれる(?)のだと思ってます、ちょっとこれ以上は僕のキャパ超えてますので許してください。
オリジナルと派生バージョンがあります。
オリジナルのRacial Compatibility
Creating a Playable Race - The right way
追加種族作成チュートリアル、追加種族作成時に必要なスクリプト(GenericRaceController)、Racial Conpatibilityのメインファイルの3つが有ります。
メインファイルではバニラのスクリプト(フォロワー、吸血鬼化、ウェアウルフ化)を変更する為、関連MODと競合する可能性があります。古いMODなのでプレイヤー追加種族MODを「使う」ことが目的の場合には選択肢から外れます。この記事でも使用しません。
ですが、作成にあたりチュートリアルだけは必ず読んでおいてください。恐ろしいほどに1stepづつ書いてあるので非常に分かりやすいです。これ読んだ前提でCKの作業を進めます。
派生版のRacial Compatibility その1
RaceCompatibility for Skyrim and Dawnguard
Dawnguard対応化した派生版です。オリジナル同様、バニラのスクリプトを変更しますが、対応パッチの更新が続いている為、クリティカルなトラブルは少ないと思います。
追加種族MODを対応させるにあたって、他に必要なファイルは有りません。
長いので以下「RaceCompatibility」と呼称。
派生版のRacial Compatibility その2
Racial Compatibility - compatibility with other mods improved
バニラのスクリプトを改変しない派生版です。上記RaceCompatibilityやオリジナルに対して基本的に上位互換になってます。とはいえ万能な訳ではなく多少のリスクも有り、詳細は作者さんのブログで説明されています。
追加種族MODを対応させるには、チュートリアルに同梱されているスクリプトが必要になります。
こちらも以下「Racial Compatibility」と呼称。
※グローバルな意味でのRacial Compatibilityと被りますが、オリジナル版を使うメリットが現状無いと思いますので。以降はこの派生版2つに話を限定します。
備忘録: Racial Compatibility Improved 1.6a
基本的にはRaceCompatibilityに対応させておけば、どちらでも使えると思います。
Racial Compatibilityネイティブで対応させた場合は、RaceCompatibilityで使うことは出来ないです(スクリプトがオリジナルな為)。こちらの方が作業量は少ないですが、色々解ってないとトラブル起こして先に進みません。
※ 併用せずにどちらか片方使ってください。同名のスクリプトも存在するのでルーズファイルを残しておくのも危険です。
作業を開始する前に
勿論今回も自己責任でやってください。
毎度のことですが改造MODを作者に無許可でアップロードしないでください。「Nexus以外ならセーフ」じゃないです。ましてや自作MODですら無いので勘違いのないようたのんます。
対応方針は間違ってない筈なので、不具合あったら各自で修正してください。
どうしても意味不明な場合は、ノウハウ増やしてからやる方が賢明です。セーブデータや環境が再起不能になるかもしれません。
TES5EditでValkyrieRaceの下準備をする
このあとCKを使うので、わかる人はCKで作業しても問題ないです。
あると困るForm Listを削除します。赤枠内。Dirty EditsぽいのとHead Parts関連で使うやつです。競合するのでバニラを上書きしてるものは全部消します。
※時々Racial Compatibility対応の追加種族MODでも、Form ListにHead Partsを追加してる物を見かけます。正しくRacial Compatibility対応MODになっていれば必要無い筈なので(僕が知らない特殊なことしてる可能性あるかもですが)、競合を疑う場合は確認してみてください。
もう1つ。種族特性になっている「Sacred」という魔法効果を削除します。これは吸血鬼化及びウェアウルフ化しない効果のようで、これに気付かずづいぶんハマりました・・・w
下準備はこれで終わりです。セーブしちゃってください。あとはCK使います。
RaceCompatibility for Skyrim and Dawnguard対応改造
RaceCompatibility for Skyrim and Dawnguardをインストールしておいてください。最初に書いたチュートリアルは読んでる前提で進めるので、ざっくりで行きます。
ValkyrieRaceVampireの作成
バニラの吸血鬼をベースに作る訳にもいかないので、ValkyrieRaceをコピーして作ります。
赤枠の中を変更してます。
- Editor ID変更
- Playableの解除
- 吸血鬼特性の追加
- 吸血鬼のKeyword追加
赤枠付けるの忘れましたが、FaceDataの初期設定をnoneにしてます。特に髪とか設定してると、吸血鬼化と同時に変わっちゃいそうな予感。
多分、これだけでOKだと思いますが・・・ここらのノウハウあんまり無いので、もしビジュアルに異常あったら適当に直してください。
2つの種族にKeywordを設定する
チュートリアルに従ってKeyword設定します。こちらではベースはノルドになります。MODのMorphRaceがノルドになってますので。
ValkyrieRaceにKeyword設定。
ValkyrieRaceVampireにKeyword設定。
Form Listを作成
ノーマル、吸血鬼、それぞれの頭用のForm Listを作ります。
Head Partsそのものは、Proxy元からスクリプトで持ってきてくれるんだと思います。チュートリアル同様、作る必要無いです。
Questを作成
「ValkyrieRaceController」という名前でQuestを新設しました。
GenericRaceControllerの作成
チュートリアルと全く同じなので省略します。Propertyの接続数が35個であれば成功です。
※スクリプトの「Add」でCKが落ちる場合、SkyrimEditor.iniで存在しないbsaがロード指定されていると思いますので、削除すれば直ります。
ValkyrieRaceControllerを作成
チュートリアルに従って、中身の無いカラッポのスクリプトを作成し、そこにさっき作った2つのForm List、ValkyrieHeadPartsとValkyrieHeadPartsVampireをPropertyとして接続します。
その後にチュートリアルにあるスクリプトソースをコピペして、必要箇所を変更します。変更は2行だけ。
raceController.NewNord = ValkyrieHeadParts
raceController.NewNordVampire = ValkyrieHeadPartsVampire
NewNordとNewNordVampireに、先に作ったForm Listを設定します。変更したらコンパイルしてください。コンパイル後にPropertyを見ると、ソースの最初に書かれていたProperty、
GenericRaceController Property raceController Auto
が追加されているので設定します。
ValueがNONEしか選択できない場合、一度セーブしてCK再起動、もしくはリロードで読めるかも。それでも読めなかったら何かトラブってるかもしれません。
PropertyのValueが正しく設定できれば終了です。
Skyrimを起動して確認
ゲームを起動して色々試してみます。
espのForm Listを削除しましたが、きちんと反映されています。髪はApachiiSkyHairとバニラ合わせて72種、SGHairもValkyrieRaceで選択大丈夫でした。
Beast Formを試してみます・・・
ちゃんとワンちゃんになりました。
こちらは吸血鬼。吸血鬼パワーがついてます。
とりあえず確認した限りでは大丈夫っぽそうです。クエストまでは見ておりませぬ。
RaceCompatibility対応改造はこれにて終了になります。
Racial Compatibility対応も見てみたい人は、もうちょっと読んでみてください。
Racial Compatibility Improved対応改造
RaceCompatibility対応化ができていれば、あえてこちらの対応版を作る意味は薄いですが。GenericRaceControllerのスクリプトが同梱されてますし、後方互換になっているようなので。RaceCompatibility対応にした追加種族MODは、こちらでも動作する筈です。
何かしらの理由でRacial Compatibilityネイティブ対応にしたい場合用に、一応書いておきます。
作業量が圧倒的に少ない反面、理解せずに「トレース」だけしてるとトラブります。
前に書きましたが、Racial Compatibility - compatibility with other mods improvedにあるチュートリアルを読んだ上で、同梱されているスクリプトを適切に入れておいてください。
大事なことですが、これは「Modder's resource」です。ボタンひとつで導入できるユーザ用MODとは話が違います。マニュアルでコピーしてください。考えずに「トレース」だけして失敗する原因その1。
チュートリアルを読むと、「RegisterCustomRaceScript」をインストールしておくようにと指示があります。これも額面通りにRegisterCustomRaceScript.pexだけをコピーして作業したら、途中でハマります。
ソースを見れば解ることですけど、RegisterCustomRaceScriptを適切に動作させるには、同梱されてる他のスクリプトも必要になります。トレースだけして失敗する原因その2。
Modder's resourceとはそういうものです。解る人だけ使ってください的な。RaceCompatibilityのチュートリアルがあまりにも親切すぎるだけです。
余談ですが、Skyrim Behavior OrganizerもUser目線で使うのはお門違いで、Behavior解らないなら使うな的スタンスです(Descriptionに書いてあります)。
※CK起動時に落ちる場合、ローカライズバージョン用のStringsファイルがありましたが、今はダウンロードできないようです。ローカライズされてないバージョン使って対処してください。
そろそろ作業はじめてみます。
ValkyrieRaceとValkyrieRaceVampireにKeywordを設定
先に説明したRaceCompatibilityと同じなので飛ばします。
Form Listの作成は必要無いので、これが済んだらQuest作成になります。
Questの作成
同じく新規Questを作りますが、作業内容が変わります。Run Onceのチェック、忘れずに入れてください。
追加するスクリプトは1個だけです。Propertyに追加種族、追加種族吸血鬼、Proxy元の種族の3つを設定。
以上で終了です。Form Listの作成だけでなく、スクリプトの変更もありません。非常に作業量が少ないです。
やってみればこれだけのことですが、前述の通り単にトレースしてるだけだと、色々なトラブルに遭遇してうまくいきません。不具合対策もそうですが、Modder's resourceを使う時にも、「真似」をしつつも「考える」ことをしないと、色々とハマって大変な目に逢います。
実機動作のSSは、同じ画像になるだけなので省略します(笑)
髪の適用、吸血鬼化、ウェアウルフ化は確認しました。
髪の適用だけで結構大変な作業量になりましたが、一連の作業で色々他にも使えるノウハウが増えたんじゃないでしょうか?
ちょっとしたきっかけで、色々とわからなかった事がわかるようになっていくものです。個人的には面白いと思ってますが、どうでしょう(笑)
こんなとこで終わります。