Fallout箱庭DIY

「箱庭DIY」Fallout分室

【Fallout4】プレイヤキャラ(PC)を独自スケルトンを持つ専用種族へ変更

スポンサーリンク


キャラクタ
以前の体型独立化に続き、今回はプレイヤキャラを種族ごと独立化させます。
Human種族のままの体型独立化に比べると、格段に厄介になってます。ややこしめな話は枠線で囲んでるので、意味不明であれば飛ばしちゃってください。
体型だけの独立化はこちら。
f4mod.hatenablog.com
多分この方法しかなさそう、という前提で書いてます。なので抜本的に異なるやり方があった場合は、この内容は陳腐化します。予めご了承をば。

種族変更を伴う独立化

プレイヤキャラ(左)と、NPCガンナー(右)。プレイヤキャラは独自種族(PlayerHumanRace)で、HumanRaceのガンナーとは異なるスケルトンを使ってます。
種族を独立化したプレイヤキャラ
部位ごとにスケール変更をしてる為、身長もちょい低めになってます。スケルトンによる身長変更は、setScaleのようにサイズが戻ったり、ターミナルで支障が出ることが無いです。


こんな無茶しても、独自スケルトンなのでNPCには影響ありません。ターミナルも問題無し。
スケルトン変更によるNPCへの影響無し

スケルトンの調整に関しては、こちらをどうぞ。
f4mod.hatenablog.com

種族変更のメリットとデメリット

最大のメリットは、やはりSSのようにプレイヤキャラ専用のスケルトンを持てることです。頭のサイズや首の長さ、手足のスケール調整等、NPCへの影響を気にせず自由に変更できます。但しサイズ変更に伴う問題(椅子にうまく座れない等)や、一人称スケルトンを変更するとターミナル見えない問題出ると思います、多分(試してないので・・・)。

便利な反面、デメリットが半端無く多いです。Skyrimだとほぼメリットしか無いんですが、これはFallout4の仕様的な問題ですね。

まず、バニラ改変項目が多い為、競合リスク高めです。重要項目の変更なので、競合すると無視できないトラブルになること明白。

またDLCやNPC追加系MODによっては、独立状態を維持する為に追加変更が必要になります。RaceCustomizer環境ならDLCパッチがありますが、例えばAtomic Radio and Tales from the Commonwealthのような独自種族NPCを持つMODでは、自分で対策が必要です。これは独立化の方法に起因する問題で、Skyrimのようにシンプルな独立化が出来ないことが原因です。詳しくは後述。

更に、種族変更に伴うトラブルが想定されます。HumanRaceに依存した変更は、軒並み適用されません。例えばLooks Menu Customization Compendiumが適用されない(独自のRace項目に化粧を追加する必要有り)、Four-Playが動かない(こちらはノーコメント)等。クエスト系でも、中にはトラブルあるかも?

とにかく運用に色々と手が掛かるので、あまりメジャーじゃないかも(?)です。


プレイヤ種族独立化の構造概要

Unique Playerをベースに、RaceCustomizerを合体させたような構造にしました。Female専用にしてあるので、Maleは読み替えてください。

おおまかな構造は、

  • プレイヤキャラ専用の新規種族(PlayerHuman)を追加
  • プレイヤキャラのマッパ状態となる服”マッパスーツ”を作成(詳細は体型独立化の内容を参照)
  • ”マッパスーツ”を、PlayerHuman種族のマッパとして設定
  • PlayerHuman種族以外のHuman型種族用スケルトンのパスを、全て変更


といった所。
スケルトンに関しては、困った仕様を回避する為にちょっと面倒になってます。

種族変更esp

Armor Addon

”マッパスーツ”用AA。PlayerHuman種族用の体型メッシュと、Texture Setを設定。

Armor

PlayerHuman種族のマッパ状態となる”マッパスーツ”の設定。

Form List

PlayerHuman種族に、Human種族と同じ顔パーツ(目や髪等)を使用可能にする設定。

Race

PlayerHuman種族を新設。
PlayerHuman種族以外の人型種族用スケルトンを変更。

Texture Set

”マッパアーマー”用のテクスチャ設定。

※スケルトンの面倒な変更をしている理由について。
プレイヤキャラを含め、Human型種族(Human、Synth、Ghoul、child含む。Feral Ghoulは除外)は、共通で以下のスケルトンを使ってます。DLCやMOD追加の種族でも、大抵同じです。

Data
 └ Meshes
     └ Actors
         └ Character
             └ CharacterAssets
                 └ skeleton.nif

そしてプレイヤキャラは、これと異なるファイルパスのスケルトンを使うと確定CTDします(勿論ファイル名や拡張子も)。絶対これ使え、ってことです多分。Skyrimのように自由に設定できなさそうです。

反面、NPCのスケルトンは自由に変更できる為、プレイヤ種族以外のHuman型種族用スケルトンのパス変更は可能です。上記パスのスケルトンをプレイヤ種族以外に使わせないことで、独立化を計ります。つまり、

俺様(プレイヤキャラ)以外はバニラの人型スケルトン使うんじゃねーぞ!

という、他を追い出すワガママ仕様で独立化するってことです。

多分これしか手が無いように見えます。SkyrimのPCEAみたいな手法(プレイヤ種族以外のBehaviorをhkxからhktに書換えてアニメーションを独立化)ですね。ちなみにHuman男性でプレイしてる場合は、Human女性はplayableでない為、パス変更可能です。逆もしかり。

したがって、バニラのHuman、Synth、Ghoulは勿論のこと、DLC追加やMOD追加の種族に至るまで、あらゆるHuman型種族のスケルトンを変更しないと、完全に独立化できません。変更し忘れた種族は、プレイヤと同じスケルトンになります。

プレイヤ種族独立化の構造詳細

もう少し詳しく見ていきます。プラグイン以外にテキストファイルが必要だったりと、ちょっと特殊かも。

プラグインの構造

マッパ体型を作るArmor、Armor Addon、Texture Setは、体型独立化の内容を参照してください。実質的に中身同じです。

Form List

HeadPartsHumanと、HeadPartsHumanGhoulsのForm Listに、PlayerHuman種族を追加。
FormListの変更

これは何をしてるか?言いますと。
髪や目といった頭部を構成するパーツ(Head Part)は、種族によって使用可否の制限が掛かってます。例えばSynth用の目は、Humanでは選択できません。この使用可否の制限は各Head Partごとに設定されており(Valid Races)、特定のForm List(汎用的に使える只のリスト)を参照することで識別されます。

Human用のHead Partも例外ではなく、Human専用、もしくはHumanとGhoulの共用としてValid Racesが設定されてます。つまり、ここにPlayerHumanを追加しないと、PlayerHumanでHuman用のHead Partが使えない訳です。

そこで、これらのHead PartがValid Racesとして参照しているForm Listに、PlayerHumanを追加します。このForm Listこそが、HeadPartsHumanと、HeadPartsHumanGhoulsの2つということです。

Skyrimブログの方で、Head Partの話有ります。
skmod.hatenablog.com

それと、プレイヤ用追加種族MODを複数入れた場合(まず無いと思いますが)。SkyrimでのRacial Compatibiliyに相当するMODがFallout4には無い為、このForm Listの競合が予想されます。その場合は互換パッチを作ってForm Listの統合をする必要があります。

Race

新規種族”PlayerHuman”を作成。Humanをコピペした物がベース。独自にステータス調整したりも可能です。体型独立化の為に、”マッパスーツ”のArmorを設定してます。
新種族の追加

Human用装備を使えないと困るので、Armor RaceをHumanに設定。Morph Raceは、設定しないと顔のモーフがうまくいかないような気がしてたんですが・・・設定しなくて平気かも。
ArmorRace設定

PlayerHuman種族以外のRace項目。
スケルトンをプレイヤキャラ用とは別のフォルダに移動します。スケルトン自体は同じ物なので、ba2から拾ってくればOKです。
スケルトンの変更
この変更こそが競合祭りを引き起こしかねない諸悪の根源なんですが、スケルトンの独立化をしないならHumanのままでいいじゃない!って話になるので・・・。独立化の為の尊い犠牲。
DLCには未使用の種族もありますが、MODで参照利用された場合の安全対策として、全部変更しました。

assetは、顔も必要なので合わせて3つのスケルトンを分離。esp上の設定は、上記の1箇所だけです。NPCのHuman型種族は、例外無くこのスケルトンを使うように変更します。

Data
 └ Meshes
     └ Actors
         └ Character
             └ CharacterAssets
                 └ NPC
                     ├ skeleton.nif
                     ├ skeleton_faceBones.nif
                     └ skeleton_female_faceBones.nif

ボーン設定用(?)テキストファイル

ゲームで直接読んでるっぽいテキストファイル群。Human用をba2から拾って流用。ファイル名を新規種族に合わせてリネームしただけで、中身は同じです。これが無いと顔や体のモーフに支障出ます

Data
 └ Meshes
     └ Actors
         └ Character
             └ CharacterAssets
                 ├ PlayerHumanRaceBoneModifiers.txt
                 ├ PlayerHumanRaceBoneModifiersFemale.txt
                 ├ PlayerHumanRaceBoneModifiersMale.txt
                 ├ PlayerHumanRaceBoneScalesFemaleDefault.txt
                 ├ PlayerHumanRaceBoneScalesFemaleFat.txt
                 ├ PlayerHumanRaceBoneScalesFemaleMuscular.txt
                 ├ PlayerHumanRaceBoneScalesFemaleThin.txt
                 ├ PlayerHumanRaceBoneScalesMaleDefault.txt
                 ├ PlayerHumanRaceBoneScalesMaleFat.txt
                 ├ PlayerHumanRaceBoneScalesMaleMuscular.txt
                 ├ PlayerHumanRaceBoneScalesMaleThin.txt
                 ├ PlayerHumanRaceFacialBoneRegionsFemale.txt
                 ├ PlayerHumanRaceFacialBoneRegionsMale.txt
                 ├ PlayerHumanRaceFacialBoneRegionUIRemappingFemale.txt
                 └ PlayerHumanRaceFacialBoneRegionUIRemappingMale.txt

その他注意事項

お気付きかもですが。
プレイヤキャラと、新規種族PlayerHumanRaceを紐付けする設定をしていません
オリジナルのRaceCustomizerでは、SSのように種族が変更されてます。プレイヤキャラ(00000007)以外の2つは、ゲーム開始時(Pre War)の主人公2人だと思います。
プレイヤキャラと種族の設定

何故外したか?と言いますと・・・ですね。
独自種族を紐付けすると、3割前後の確率でタイトル画面でCTDするという、謎現象に見舞われた次第でして。この設定自体が悪いとも思えず、明確な原因が不明なので僕のローカル環境問題かも知れないのですが。

そんな訳で、環境を整えた上でコンソールから種族変更することにした訳です。

player.setRace PlayerHuman

で変わります。オリジナルのRaceCustomizerであれば、

player.setRace Player

変更したい種族のEditor IDから、”race”を除いた分を指定すれば切り替わるという、一風変わった仕様。もし僕が遭遇したようなトラブルが無ければ、オリジナルのように紐付けした方が楽です。


コンソールから種族変更する際は、Human用スケルトンを変更するタイミングに注意してください。

  1. Humanのスケルトン変更前にゲーム起動
  2. PlayerHumanに種族変更
  3. ゲームをセーブ
  4. Humanのスケルトンを変更
  5. さっきのセーブデータをロード


この流れでスケルトンを変更しないと、セーブデータのロード時に確定CTDします。理由は簡単。プレイヤがHumanであるうちに、Human用スケルトンのパスを変更するからです。種族を切り替えてからパス変更する必要があります。


頭部の独立化

preset用NPC依存なので、前の記事のやり方がこちらでも使えます。
f4mod.hatenablog.com


以上、おしまいです!

 

Copyright © 2015 Fallout Hakoniwa DIY All rights reserved .

S.kutsumiya@gmail.com