防具を脱いだら下着をつけさせる方法

体型・装備

Worn Skin

防具を着ていない場合、Raceレコードで設定されているWorn Skinが使われます。ActorレコードでWorn Skinが上書きされている場合もありますが、仕組みは同じです。

Worn Skinは防具の一種で、何も着ていない場合に表示される防具です。PhotoshopでいうならWorn Skinが背景で、通常の防具はレイヤーになります。

Worn Skinの設定がないと、防具を着ていない場合は表示するものがないため、身体が透明になってしまいます。ですからWorn Skinの指定が必ずあります。

Worn Skinにも装備スロットの概念がありますので、装備する防具とスロットが被るとWorn Skinが消えます。

人間の場合、Worn Skinに指定されているのはSkinNakedになります。Fallout4.esmのForm IDが000D64になります。

Armor AddonでNakedTorsoとNakedHandsが指定されています。

人間の女性の場合は以下のようになっています。

Armor AddonBiped Slotメッシュ
NakedTorso33 BODYActors\Character\CharacterAssets\FemaleBody.nif
NakedHands34 L Hand
35 R Hand
Actors\Character\CharacterAssets\FemaleHands.nif

バニラの場合

人間のWorn Skinはいわゆる裸の胴と手になります。裸の胴は下着ありなので丸出しにはなりません。

大抵の服を着ると下着が消えます。これはWorn Skinの裸の胴のスロットが33 BODYであり、大抵の服はスロットが33になっているため、スロットが被ってWorn Skinの裸の胴が消えるからです。

スロットが被らないと裸の胴が消えないので、下着も消えません。胴鎧はスロットが41 [A] Torsoなので裸の胴の上に着る形になります。

Modの体型の場合

CBBEは下着の有無を選べますので、下着無しを選ぶことで、何も着ていないときは丸出しになります。

Fusion Girlは下着無しになります。

もちろん自分で加工すれば下着ありにできますし、下着を差し替えたり追加することもできます。

Modの服の場合

Modの服はパーツがたくさん分かれていて着合わせできるようになっています。

例えばショートパンツを履くとして、仮に装備スロットが37 [U] L Armだとすると、ショートパンツを履いてもWorn Skinの裸の胴は消えないため、下着の上にショートパンツが表示されておかしな状態になってしまいます。

装備スロット番号見た目
Worn Skin33 BODY裸の胴に下着
Worn Skin34 L Hand
35 R Hand
素手
ショートパンツ37 [U] L Armショートパンツ
下着とショートパンツで見た目が被ってしまう。

Modの服は裸の胴が下着無しを前提にしているためです。よって、Worn Skinから下着をなくします。

装備スロット番号見た目
Worn Skin33 BODY裸の胴
Worn Skin34 L Hand
35 R Hand
素手
ショートパンツ37 [U] L Armショートパンツ

消える下着を追加する

下着のMeshを用意して、Armor Addonを新規作成します。

スロットは上が36、下が37にするとして、SkinNakedにArmor Addonを追加します。

以下はNanakochanの例ですが、上にJmenaruさんの絆創膏を、下にVtawさんのSoft and Fluffy Pantyを指定しています。

装備スロット番号見た目
Worn Skin33 BODY裸の胴
Worn Skin34 L Hand
35 R Hand
素手
Worn Skin36 [U] Torso下着のブラ
Worn Skin37 [U] L Arm下着のパンツ

これで、何も着ていない時は下着のパンツが表示され、ショートパンツを履くと下着のパンツが消えます。

装備スロット番号見た目
Worn Skin33 BODY裸の胴
Worn Skin34 L Hand
35 R Hand
素手
Worn Skin36 [U] Torso下着のブラ
Worn Skin37 [U] L Arm下着のパンツ
シャツ36 [U] Torsoシャツ
ショートパンツ37 [U] L Armショートパンツ
36と37は装備が優先されてWorn Skinは消える。

防具にスロットを追加する

Worn Skinにスロットを追加しても、防具にスロットがなければ上書きされないため、下着が表示され続けます。

そこで、BODYスロットを持つ防具にたいしては、下着のスロットも追加する必要が出てきます。

Robco Patcherを使うと、競合の心配なしにスロットを追加できます。

以下は設定ファイルを生成するためのFO4Edit用スクリプトです。

Robco Patcher - Add slot for body armor.pas (pascal)

{
    Add underwear slot for body armor.
}


unit userscript;


function Process(e: IInterface): Integer;
var
    i: Int64;
    s: String;
    m, p: IInterface;
begin
    if Signature(e) <> 'ARMO' then Exit;

    if IsMaster(e) then begin
        if OverrideCount(e) = 0 then begin
            p := e;
        end else begin
            m := e;
        end;
    end else begin
        if IsWinningOverride(e) then begin
            p := e;
        end else begin
            m := Master(e);
        end;
    end;

    if Assigned(m) then begin
        p := OverrideByIndex(m, OverrideCount(m) - 1);
    end;

    // detect armor slot
    i := GetElementNativeValues(p, 'BOD2\First Person Flags');

    //AddMessage(IntToStr(i));

    // is this a body armor?
    if (i and $00000008) <> $00000008 then Exit;

    s := '';

    // already has underwear slot?
    if (i and $00000040) <> $00000040 then s := '6';

    if (i and $00000080) <> $00000080 then begin
        if s <> '' then s := s + ',';

        s := s + '7';
    end;

    if s = '' then Exit;

    AddMessage('filterByArmors=Fallout4.esm|' + IntToHex(FormID(p), 8) + ':bipedSlotsToAdd=' + s);
end;

end.

タイトルとURLをコピーしました