LooksMenuのMorphs機能を使うと簡単です。
必要なもの
装備の準備
BodySlideを起動します。
Group Filterの虫眼鏡をクリックします。
CBBE Vanilla Outfitsにチェックを入れます。
Batch Buildでメッシュを一括生成します。
このとき、Build Morphsにチェックを入れておきます。
これで、その装備のtriファイルが作られます。ゲーム内で体型をリアルタイムに変更するMorphs機能に必要となります。
ゲーム内でプレイヤーの体型を変更
バニラの装備を着てからコンソールを開きます。
以下のコマンドを実行します。
slm 14
slmはShowLooksMenuの略です。14はプレイヤーを表す番号(リファレンスID)です。
体型を選び、ADVANCEDを選ぶと、スライダーがたくさんでてきます。スライダーを動かして体型が変化したら成功です。
作った体型はセーブ、ロードも可能です。
ゲーム内でNPCの体型を変更
プレイヤーと同じ手順で任意のNPCも変更できます。
対象のリファレンスIDが必要なので、NPCの目の前に行って、コンソールを開きます。
対象をクリックして選択するとリファレンスIDが判明しますので、コマンドを実行します。
slm <対象のリファレンスID>
3人称視点だとカメラはなぜかプレイヤーをとらえるので、1人称視点にしてからコマンドを実行します。
スライダーの動く範囲をかえたい
スライダーは以下のファイルで定義されています。
DATA\F4SE\Plugins\F4EE\Sliders\CBBE.esp\sliders.json
JSON形式のファイルです。
例えば胸のスライダーは以下のようになっています。
{ "name": "$Breasts", "morph": "Breasts", "minimum": 0.0, "maximum": 1.0, "interval": 0.01, "gender": 1 },
1.0で100%です。2.0にすると200%になります。最初にくらべて2倍大きくスライダーを動かせるようになるということです。
小さくしたいなら、minumumを-1.0にすると-100%まで動くようになります。
intervalは動く単位です。0.01なので1%ずつ動きます。0.1にすれば10%ずつ動くようになります。コントローラーのLB/RB、LT/RTを使っても一気に動かせるので、うまく使います。
nameの$は翻訳辞書を使って日本語にできるようですが、面倒なら$を全部取っ払ってもいいでしょう。見た目がスッキリします。
最初からNPCの体型を変更したい
LooksMenuにはRandom Morphsという機能があります。SkyrimのRaceMenuにある同様の機能と同じように使えます。
事前にスライダー値の設定ファイルを用意しておくことで、ニューゲーム時に反映されるというものです。
ランダム要素を追加できるので、レイダーがそれぞれ異なる体型で出現したり、特定のNPCが特別な体型で登場するようにできます。
設定ファイルの置き場所は以下になります。
F4SE\Plugins\F4EE\BodyGen\Fallout4.esm\morphs.ini F4SE\Plugins\F4EE\BodyGen\Fallout4.esm\templates.ini
Fallout4.esmの部分は任意のフォルダ名が使えます。Mod毎に設定ファイルを用意して複数の設定ファイルを同時に使うことができます。
templates.ini
スライダーの値を定義します。
Kantoku=Breasts@1.0:2.0, BreastsTogether@1.0:1.0, Fix Breasts@1.0:1.0 Random=Breasts@0:0.5, BreastsNewSH@0:0.5, Thighs@0:1.0, Thigh Gap@0:-1.0, Fix Breasts@1.0:1.0
テンプレート名を定義して、どのスライダーを変更するかを細かく定義できます。
テンプレート名=スライダー名@最小値:最大値, スライダー名@最小値:最大値
詳細はNexusのLooksMenuのDescriptionに記述されています。
morphs.ini
どのNPCにどのテンプレートを割り当てるか設定します。
All|Female|HumanRace=Random Fallout4.esm|2A833=Kantoku
大きく2つの定義方法があります。
まず、種族でまとめて定義する方法です。
All|性別|種族=テンプレート名
先頭はかならずAllではじめます。次に性別をMaleかFemaleで指定します。それから種族のEditor IDを指定します。
つぎに、特定のNPCをダイレクトに定義する方法です。
プラグイン名|Form ID=テンプレート名
プラグイン名はそのNPCが定義されているプラグインの名前を記述します。パッチで上書きしていてもパッチのプラグインを書いてはダメなので注意します。
Form IDはそのままNPCのForm IDになります。xEditにおけるNPCレコード、CKにおけるActorとなります。Cellに配置されているReference IDではないので注意します。
注意事項
どうやら順番が影響してくるようです。
ファイルの読み込み順はわかりませんでした。同じファイル内での順番は下の方が優先されるようです。
上の例だと、まずすべての人間の女性で指定して、それからVault81の監督官で指定しています。監督官は人間の女性でもあるので、両方のルールが適用されます。これを逆の順序で書いてしまうと、監督官の指定が人間女性の指定で上書きされてしまい、望んだ結果になりません。
Morphsが適用されるタイミングですが、どうやら初めてメモリに読み込まれたタイミングで適用されるようです。3Dがロードされたタイミングではないようです。NPCはPersistentフラグを付けることで、ゲームの起動中は常に読み込んでおくようになるのですが、クエストにかかわる重要なNPCはほぼPersistentフラグがついているため、適用タイミングはニューゲーム時となります。ゲームの途中で設定ファイルを追加、変更しても反映されない場合があるので注意します。
不具合
次期バージョンのLooksMenu v1-7-0-1 NextGenでは修正されているかもしれません。
LooksMenuの1.6.20(2023/7現在の最新版、2022/7以降更新なし)には不具合があるように思います。
Morphが適用されるタイミングで表示がランダムにくずれます。
- Morphが未適用状態(スライダーが0の状態)になる。すべての装備がなったり、一部の装備のみがなる場合がある。
- 胴体(素体を含んだ防具)が透明になる。
どうやらMorphが適用(更新)されるタイミングがゲームモードだと起こるようです。
ゲームモードとはゲーム内時間が進んでいる状態です。メニューモードはゲーム内時間が停止している状態です。Popboyを開いたり取引画面を出している時です。
クラフト中はゲームモードなのでアーマー作業台での装備更新、スクリプトによる装備の脱着、Fallsoulsを使ってメニューを開いている状態でもゲームが止まらなくしている場合などが該当します。キャラクター作成メニュー(SLM)でスライダーを動かす場合もそうです。
メニューモードだと発生しないようなので、プレイヤーであればPipboyを開いて装備を着け直すとなおります。
NPCの場合は面倒で、取引画面を開いて脱着させたり、コンソールを開いて描画を更新するスクリプトを走らせるなどしないとなりません。取引画面はFallsoulsで時間停止を無効にしているとダメです。
胴体が透明になるのは、最初から死んだ状態のNPCで起こりやすく、コンパニオンが特定のセルに侵入した時にも起こります。やはり取引画面を開いて脱着させると胴体が復活しますが、Morphがくずれる場合があるのはかわりません。
LooksMenuを使わない差別化する方法を体型を差別化する - メッシュ置き換え編にてまとめました。