揺れを実現するModです。
動力
SkyrimでいうところのCBPに相当するModがあります。HDT-SMPに相当するModはまだないようです。
CBP Physics for Fallout 4
CBP Physics for Fallout 4はSkyrimでいうところのCBPに相当するModになります。
Fallout 4のCBPのいいところは、装備側の対応が不要だということです。SkyrimではXPMSSEによるSkeletonの入れ替え、PhysicsのためのWeight付与が必要でしたが、Fallout 4では不要です。
BodySlideでリファレンスを作成する際はCBBE Bodyを選びます。CBBE Body Physicsは古い規格らしく、CBPでは使えません。
設定ファイルはcbp.iniになります。MTM 3BBB CBP OCBP OCBPC Physics Presetを使うのが楽でいいと思います。
設定の仕様はSkyrimのCBPとまったく同じようなので、Skyrimの情報がそのまま使えます。
Skyrimとの違いは服と防具で揺れ方をかえられることです。これは装備スロットで決定しています。Fallout 4はSkyrimと違って、服の手、服の足、防具の手、防具の足といった具合にスロット番号がわかれており、服の上に防具を着けることができるようになっています。
OCBP Physics
CBP Physicsに手を加えて拡張したのがOCBP Physicsになります。CBP Physicsに比べて設定できる項目が増えています。
Nexusでは公開を停止しており、LoversLabにありました。
設定ファイルはocbp.iniになります。ocbp.iniに関するドキュメントがNexusにあります。
3BBB
Fallout 4にも3BBBがあります。Skeletonとメッシュを3BBBに対応させる必要があります。
SkeletonはSkeletal Adjustments for CBBE – Knee Fix – Legs for Days – 3BBBなどです。
メッシュは3BBB (CBBE – TWB)などを使って3BBB用にweightを塗る必要があります。
OCBP Physicsの設定は3BBB用に書き換えます。MTM 3BBB CBP OCBP OCBPC Physics Presetにも含まれています。あるいはSkyrimのCBBE 3BAを参考にしてもいいと思います。
ocbp.iniの書き方
物(胸やお尻など)にエネルギー(ジャンプするとか)がかかると動きます。バネが物を元の位置に戻そうとします。
項目名 | 解説 |
---|---|
stiffness | バネの力です。常に一定の力がかかります。値を大きくすると力が大きくなります。 |
stiffness2 | バネの力です。物が中心から離れるほど強くなります。 |
damping | エネルギーの弱まりやすさです。値を大きくすると早く弱まります。 |
timetick | 物が動くときの間隔です。物はコマ送りで動いていますが、その間隔です。 |
maxoffsetX maxoffsetY maxoffsetZ | 物が動く範囲です。この制限は強力なので、これを越えて動くことはないようです。 |
LinearX | エネルギーの強さです。値を大きくすると遠くまで動きます。 横方向です。 |
LinearY | 前後方向です。 |
LinearZ | 上下方向です。 |
rotationX rotationY rotationZ | 物が回転する範囲です。 |
gravityBias | 重力です。値を大きくすると物が重くなります。 物を丸い球体だとイメージすると、値が小さいと風船のように、値が大きいとボーリング玉のようになります。 また、重いと下に沈みます。つまり、胸やお尻が垂れます。 |
gravityCorrection | 物が重いとデフォルトの状態で下に沈みますが、それを上方向に打ち消す力です。 つまり、垂れた胸やお尻を元に戻します。 |
それぞれの項目に最適解はないと思っていて、どれかをいじるとバランスが狂うので他も調整する必要がでてきます。
gravityBiasを大きくすると垂れるのでgravityCorrectionで打ち消すのですが、すると上乳のあたりに不自然な段差ができてしまいます。
ocbp.iniのサンプル
CBBE 3BBB用です。常にいじっているので頻繁に更新されます。
- 2022/11/13
- Whitelistが長すぎると無効になってしまうようなのでuseWhitelistを使うのはやめました。
- 2021/10/10
- たゆんたゆんになるよう調整しました。これまでは現実的な揺れを目指して減衰を多めにしていましたが、そういうのはたぶん見ていてつまらないです。
ocbp.ini CBBE 3BBB (ini)
; SQr17 CBBE 3BBB config v0.8 modified
[General]
playerOnly=0
npcOnly=0
detectArmor=1
armorIgnore=0
useWhitelist=0
femaleOnly=1
maleOnly=0
[Attach]
LBreast_01_skin=Breast2
RBreast_01_skin=Breast2
LBreast_02_skin=Breast3
RBreast_02_skin=Breast3
LBreast_03_skin=Breast4
RBreast_03_skin=Breast4
LButt_01_skin=Butt2
RButt_01_skin=Butt2
LLeg_Thigh_01_F_skin=Thighs
RLeg_Thigh_01_F_skin=Thighs
LLeg_Thigh_01_R_skin=Thighs
RLeg_Thigh_01_R_skin=Thighs
;Belly_skin=Belly
LBreast_skin=Breast
RBreast_skin=Breast
LButtFat_skin=Butt
RButtFat_skin=Butt
;LLeg_Thigh_skin=Thighs
;RLeg_Thigh_skin=Thighs
;LLeg_Thigh_Low_skin=ThighsLow
;RLeg_Thigh_Low_skin=ThighsLow
[Attach.A]
LBreast_01_skin=Breast2.A
RBreast_01_skin=Breast2.A
LBreast_02_skin=Breast3.A
RBreast_02_skin=Breast3.A
LBreast_03_skin=Breast4.A
RBreast_03_skin=Breast4.A
LButt_01_skin=Butt2
RButt_01_skin=Butt2
LLeg_Thigh_01_F_skin=Thighs
RLeg_Thigh_01_F_skin=Thighs
LLeg_Thigh_01_R_skin=Thighs
RLeg_Thigh_01_R_skin=Thighs
;Belly_skin=Belly
LBreast_skin=Breast.A
RBreast_skin=Breast.A
LButtFat_skin=Butt
RButtFat_skin=Butt
;LLeg_Thigh_skin=Thighs
;RLeg_Thigh_skin=Thighs
;LLeg_Thigh_Low_skin=ThighsLow
;RLeg_Thigh_Low_skin=ThighsLow
[Breast2]
stiffness=3.75
stiffness2=1.5
damping=0.8
timetick=3.0
timeStep=0.040
maxoffsetX=10.0
maxoffsetY=10.0
maxoffsetZ=10.0
linearX=0.0075
linearY=0.0075
linearZ=0.1
rotationalX=0.0625
rotationalY=0.1375
rotationalZ=-0.02375
cogOffsetX=15.0
cogOffsetY=15.0
cogOffsetZ=-15.0
gravityBias=4.0
gravityCorrection=3.0
rotateLinearX=0.0
rotateLinearY=0.0
rotateLinearZ=0.0
rotateRotationX=0.0
rotateRotationY=0.0
rotateRotationZ=0.0
absRotX=0
[Breast2.A]
stiffness=7.5
stiffness2=15.0
damping=1.8
timetick=4.0
timeStep=0.020
maxoffsetX=10.0
maxoffsetY=10.0
maxoffsetZ=10.0
linearX=0.0075
linearY=0.0075
linearZ=0.1
rotationalX=0.0625
rotationalY=0.1375
rotationalZ=-0.02375
cogOffsetX=15.0
cogOffsetY=15.0
cogOffsetZ=-15.0
gravityBias=50.0
gravityCorrection=6.0
rotateLinearX=0.0
rotateLinearY=0.0
rotateLinearZ=0.0
rotateRotationX=0.0
rotateRotationY=0.0
rotateRotationZ=0.0
absRotX=0
[Override:RBreast_01_skin]
rotationalY=-0.0625
cogOffsetX=-15.0
[Override.A:RBreast_01_skin]
rotationalY=-0.0625
cogOffsetX=-15.0
[Breast3]
stiffness=1.5
stiffness2=3.0
damping=0.6
timetick=3.0
timeStep=0.030
maxoffsetX=10.0
maxoffsetY=10.0
maxoffsetZ=10.0
linearX=0.015
linearY=0.015
linearZ=0.7
rotationalX=0.125
rotationalY=0.275
rotationalZ=-0.0475
cogOffsetX=15.0
cogOffsetY=15.0
cogOffsetZ=-15.0
gravityBias=4.0
gravityCorrection=3.0
rotateLinearX=0.0
rotateLinearY=0.0
rotateLinearZ=0.0
rotateRotationX=0.0
rotateRotationY=0.0
rotateRotationZ=0.0
absRotX=0
[Breast3.A]
stiffness=3.75
stiffness2=7.5
damping=2.0
timetick=4.0
timeStep=0.020
maxoffsetX=10.0
maxoffsetY=10.0
maxoffsetZ=10.0
linearX=0.015
linearY=0.015
linearZ=0.35
rotationalX=0.125
rotationalY=0.275
rotationalZ=-0.0475
cogOffsetX=15.0
cogOffsetY=15.0
cogOffsetZ=-15.0
gravityBias=50.0
gravityCorrection=12.0
rotateLinearX=0.0
rotateLinearY=0.0
rotateLinearZ=0.0
rotateRotationX=0.0
rotateRotationY=0.0
rotateRotationZ=0.0
absRotX=0
[Override:RBreast_02_skin]
rotationalY=-0.125
cogOffsetX=-15.0
[Override.A:RBreast_02_skin]
rotationalY=-0.125
cogOffsetX=-15.0
[Breast4]
stiffness=1.5
stiffness2=3.0
damping=2.0
timetick=3.0
timeStep=0.030
maxoffsetX=10.0
maxoffsetY=10.0
maxoffsetZ=10.0
linearX=0.075
linearY=0.0075
linearZ=0.2
rotationalX=0.0625
rotationalY=0.1375
rotationalZ=-0.02375
cogOffsetX=15.0
cogOffsetY=15.0
cogOffsetZ=-15.0
gravityCorrection=0.0
gravityBias=4.0
gravityCorrection=2.0
rotateLinearX=0.0
rotateLinearY=0.0
rotateLinearZ=0.0
rotateRotationX=0.0
rotateRotationY=0.0
rotateRotationZ=0.0
absRotX=0
[Breast4.A]
stiffness=7.5
stiffness2=15.0
damping=2.2
timetick=4.0
timeStep=0.020
maxoffsetX=10.0
maxoffsetY=10.0
maxoffsetZ=10.0
linearX=0.075
linearY=0.0075
linearZ=0.125
rotationalX=0.0625
rotationalY=0.1375
rotationalZ=-0.02375
cogOffsetX=15.0
cogOffsetY=15.0
cogOffsetZ=-15.0
gravityBias=50.0
gravityCorrection=0.0
rotateLinearX=0.0
rotateLinearY=0.0
rotateLinearZ=0.0
rotateRotationX=0.0
rotateRotationY=0.0
rotateRotationZ=0.0
absRotX=0
[Override:RBreast_03_skin]
rotationalX=-0.0625
cogOffsetX=-15.0
[Override.A:RBreast_03_skin]
rotationalX=-0.0625
cogOffsetX=-15.0
[Breast]
stiffness=7.5
stiffness2=15.0
damping=1.8
timetick=4.0
timeStep=0.020
maxoffsetX=10
maxoffsetY=10
maxoffsetZ=10
linearX=0.2
linearY=0.2
linearZ=0.3
rotationalX=0.15
rotationalY=-0.15
rotationalZ=0.025
cogOffsetX=15.0
cogOffsetY=15.0
cogOffsetZ=-15.0
gravityBias=50.0
gravityCorrection=8.0
rotateLinearX=0.0
rotateLinearY=0.0
rotateLinearZ=0.0
rotateRotationX=0.0
rotateRotationY=0.0
rotateRotationZ=0.0
absRotX=0
[Breast.A]
stiffness=7.5
stiffness2=15.0
damping=1.8
timetick=4.0
timeStep=0.020
maxoffsetX=10
maxoffsetY=10
maxoffsetZ=10
linearX=0.2
linearY=0.2
linearZ=0.3
rotationalX=0.15
rotationalY=-0.15
rotationalZ=0.025
cogOffsetX=15.0
cogOffsetY=15.0
cogOffsetZ=-15.0
gravityBias=50.0
gravityCorrection=8.0
rotateLinearX=0.0
rotateLinearY=0.0
rotateLinearZ=0.0
rotateRotationX=0.0
rotateRotationY=0.0
rotateRotationZ=0.0
absRotX=0
[Override:RBreast_skin]
rotationalX=-0.15
cogOffsetX=-15.0
[Override.A:RBreast_skin]
rotationalX=-0.15
cogOffsetX=-15.0
[Butt2]
stiffness=7.5
stiffness2=15.0
damping=1.0
timetick=2.0
timeStep=0.030
linearX=0.01
linearY=0.01
linearZ=0.6
maxoffsetX=10.0
maxoffsetY=10.0
maxoffsetZ=10.0
rotationalX=0.05
rotationalY=0.1
rotationalZ=0.1
cogOffsetX=2.0
cogOffsetY=2.0
cogOffsetZ=-2.0
gravityBias=5.0
gravityCorrection=2.0
rotateLinearX=0.0
rotateLinearY=0.0
rotateLinearZ=0.0
rotateRotationX=0.0
rotateRotationY=0.0
rotateRotationZ=0.0
absRotX=0
[Override:RButt_01_skin]
rotationalX=-0.05
cogOffsetX=-2.0
[Butt]
stiffness=7.5
stiffness2=15.0
damping=1.0
timetick=2.0
timeStep=0.030
linearX=0.01
linearY=0.01
linearZ=0.6
maxoffsetX=10.0
maxoffsetY=10.0
maxoffsetZ=10.0
rotationalX=0.05
rotationalY=0.1
rotationalZ=0.1
cogOffsetX=2.0
cogOffsetY=2.0
cogOffsetZ=-2.0
gravityBias=5.0
gravityCorrection=2.0
rotateLinearX=0.0
rotateLinearY=0.0
rotateLinearZ=0.0
rotateRotationX=0.0
rotateRotationY=0.0
rotateRotationZ=0.0
absRotX=0
[Override:RButtFat_skin]
rotationalX=-0.05
cogOffsetX=-2.0
[Thighs]
stiffness=3.75
stiffness2=7.5
damping=1.0
timetick=2.0
timeStep=0.030
linearX=1.0
linearY=0.0
linearZ=1.0
maxoffsetX=20.0
maxoffsetY=20.0
maxoffsetZ=20.0
rotationalX=0.0
rotationalY=0.0
rotationalZ=0.0
cogOffsetX=0.0
cogOffsetY=0.0
cogOffsetZ=0.0
gravityBias=25.0
gravityCorrection=0.0
rotateLinearX=0.0
rotateLinearY=0.0
rotateLinearZ=0.0
rotateRotationX=0.0
rotateRotationY=0.0
rotateRotationZ=0.0
absRotX=0
[Whitelist]
LBreast_01_skin=HumanRace:female,GhoulRace:female,DOA_HonokaRace,DOA_MarieRace,nanaRace,FeralGhoulRace:female,SynthGen1Race:female,SynthGen2Race:female,PowerArmorRace:female
RBreast_01_skin=HumanRace:female,GhoulRace:female,DOA_HonokaRace,DOA_MarieRace,nanaRace,FeralGhoulRace:female,SynthGen1Race:female,SynthGen2Race:female,PowerArmorRace:female
LBreast_02_skin=HumanRace:female,GhoulRace:female,DOA_HonokaRace,DOA_MarieRace,nanaRace,FeralGhoulRace:female,SynthGen1Race:female,SynthGen2Race:female,PowerArmorRace:female
RBreast_02_skin=HumanRace:female,GhoulRace:female,DOA_HonokaRace,DOA_MarieRace,nanaRace,FeralGhoulRace:female,SynthGen1Race:female,SynthGen2Race:female,PowerArmorRace:female
LBreast_03_skin=HumanRace:female,GhoulRace:female,DOA_HonokaRace,DOA_MarieRace,nanaRace,FeralGhoulRace:female,SynthGen1Race:female,SynthGen2Race:female,PowerArmorRace:female
RBreast_03_skin=HumanRace:female,GhoulRace:female,DOA_HonokaRace,DOA_MarieRace,nanaRace,FeralGhoulRace:female,SynthGen1Race:female,SynthGen2Race:female,PowerArmorRace:female
LButt_01_skin=HumanRace:female,GhoulRace:female,DOA_HonokaRace,DOA_MarieRace,nanaRace,FeralGhoulRace:female,SynthGen1Race:female,SynthGen2Race:female
RButt_01_skin=HumanRace:female,GhoulRace:female,DOA_HonokaRace,DOA_MarieRace,nanaRace,FeralGhoulRace:female,SynthGen1Race:female,SynthGen2Race:female
LLeg_Thigh_01_F_skin=HumanRace:female,GhoulRace:female,DOA_HonokaRace,DOA_MarieRace,nanaRace,FeralGhoulRace:female,SynthGen1Race:female,SynthGen2Race:female
RLeg_Thigh_01_F_skin=HumanRace:female,GhoulRace:female,DOA_HonokaRace,DOA_MarieRace,nanaRace,FeralGhoulRace:female,SynthGen1Race:female,SynthGen2Race:female
LLeg_Thigh_01_R_skin=HumanRace:female,GhoulRace:female,DOA_HonokaRace,DOA_MarieRace,nanaRace,FeralGhoulRace:female,SynthGen1Race:female,SynthGen2Race:female
RLeg_Thigh_01_R_skin=HumanRace:female,GhoulRace:female,DOA_HonokaRace,DOA_MarieRace,nanaRace,FeralGhoulRace:female,SynthGen1Race:female,SynthGen2Race:female
LBreast_skin=HumanRace:female,GhoulRace:female,DOA_HonokaRace,DOA_MarieRace,nanaRace,FeralGhoulRace:female,SynthGen1Race:female,SynthGen2Race:female
RBreast_skin=HumanRace:female,GhoulRace:female,DOA_HonokaRace,DOA_MarieRace,nanaRace,FeralGhoulRace:female,SynthGen1Race:female,SynthGen2Race:female
LButtFat_skin=HumanRace:female,GhoulRace:female,DOA_HonokaRace,DOA_MarieRace,nanaRace,FeralGhoulRace:female,SynthGen1Race:female,SynthGen2Race:female
RButtFat_skin=HumanRace:female,GhoulRace:female,DOA_HonokaRace,DOA_MarieRace,nanaRace,FeralGhoulRace:female,SynthGen1Race:female,SynthGen2Race:female
[Tuning]
rate=0