HDT-SMPの揺れの設定を調べてみた

体型・装備

防具をCBBE 3BBB化して揺れるようにできました。でもおかしい部分もあります。そこをなおしていきます。

HDT-SMPの設定ファイルとは

HDT-SMPの設定ファイルは以下の場所にあります。

SKSE\Plugins\hdtSkinnedMeshConfigs

configs.xml がHDT-SMPの基本動作を決める設定ファイルになります。

揺れのデフォルト設定

defaultBBPs.xml という設定ファイルで、装備に含まれているリファレンスのShape名と個々の設定ファイルの紐づけをしています。

同じフォルダに Shape名.xml という設定ファイルがいくつかあります。defaultBBPs.xml にて紐づけされている設定ファイルです。

これらの設定ファイルには、CBBEやCBBE 3BA、BHUNPなどといった体型に基づいたボーンに関する設定がひと通り記述されています。

揺れのカスタム設定

装備が独自の設定ファイルを持つことができます。

このスカートは独自のボーンを持ち、それらをヒラヒラさせたいので、このスカートを身に着けている間は専用の設定ファイルを適用する、という使い方になります。ここで指定する設定ファイルは任意の場所を指定できるようです。SKSE\Plugins以下であったり、Meshes以下であったりと、装備によってマチマチです。

デフォルト設定ファイルとカスタム設定ファイルを同時に使用すると、まずデフォルト設定が読み込まれ、それからカスタム設定で上書きされるようです。

よくあるパターンとして、スカートはヒラヒラさせたいが、リファレンスの揺れは自分で決めたい、といった場合、スカート側に持たせるカスタム設定はスカートについてのみ設定を記述し、リファレンスについては何も設定しない(空の定義だけにする、定義すらないと地面に向かって伸びてしまう)ようにします。これでデフォルト設定のリファレンスの揺れとカスタム設定のスカートの揺れが合わさっていいとこ取りができます。

複数のカスタム設定を同時に使用すると、優先順位は不明ですが、順番に上書きされていって、最終的にマージされたものが適用されるようです。ただし、装備を切り替えた直後やゲームをロードした直後は、どういうわけかカスタム設定が狂うことがあり、その場合はHDT-SMPを何度かリセットすると正常化するようです。

準備

HDT-SMPの場合

defaultBBPs.xml はありますが、中身がありません。cbbe-tbbp.xml はありますが、CBBE.xml がありません。よって一般的なCBBE装備は揺れないと思います。

実際にゲーム内で確認しましたが、まったく揺れませんでした。

CBBE SMPの場合

defaultBBPs.xml にてひと通りのファイルが紐づけされていました。

CBBE.xml というファイルがあります。CBBEというShapeに対応できているということになります。実際にゲーム内で確認すると揺れます。

色々あってごちゃごちゃしているのと、問題の切り分けや負荷の軽減をしたいため、設定ファイルを整理しました。

  • config.xml
  • defaultBBPs.xml
  • CBBE.xml

私は胸とお尻が揺れたらそれでよいので、これだけにしました。defaultBBPs.xml の中身は空でいいはずですが、一応CBBEの紐づけだけ書いておきました。これでゲーム内で確認しましたが、問題なさそうです。

CBBE 3BAの場合

デフォルト設定ファイルでは、ほとんど揺れの指定がありません。よってSMPでは揺れません。

CBBE 3BAはコリジョン装備と呼ばれるカスタム設定を仕込んである装備が用意されており、それを身に着けることでSMPで揺れるようになっています。

このようになっているのは、基本は負荷の低いCBPで揺らし、SMPで揺らしたい場合はNPCごとにホットキーやパワーを使って対応する、ということを実現するためと思われます。

揺れ方の調整

CBBE SMPの場合

揺れ具合の設定はCBBE SMPに含まれる CBBE.xml で決めているようです。FMODのインストーラーでOptionとして設定を選択できます。

選択肢意味補足
なし標準割と長いこと揺れ続けます。おかしいと感じるかもしれません。
Less Stiffness剛性を軽減揺れる時間が多少短くなるようです。
Firmerしっかり大きく揺れるようですが、すぐに収まります。

インストールを何度も繰り返すのは面倒なので、FMODのファイル構造を見てアーカイブから CBBE.xml だけを抜き出せば簡単に変えられます。そして、CBBE.xml の中で定義されているパラメータが違うので、WinMergeなどの比較ツールを活用してうまく組み合わせれば、胸を「なし」にしてお尻を「Firmer」にする、なんてことも可能です。

CBBE 3BAの場合

インストーラーでいくつか用意されているものを選べばいいだけです。

設定例

CBBE 3BAで基本はCBPC、一部のActorはHDT-SMPで揺らす

CBBE 3BAでCBPCとHDT-SMPを併用するようにインストールすると、この状態になります。

defaultBBPs.xml には3BAの記述がないため、CBBE 3BA用装備はHDT-SMPで揺れません。

CBBE 3BAに用意されているコリジョン装備を装備すると、HDT-SMPで揺れるようになります。これは、コリジョン装備にカスタム設定が仕込まれているためです。

CBBE 3BAでHDT-SMPのみで揺らす

defaultBBPs.xml に3BAの記述をすれば、CBBE 3BA用装備はHDT-SMPで揺れます。

<?xml version="1.0" encoding="utf-8"?>
<default-bbps>
	<map shape="3BA" file="SKSE\Plugins\hdtSkinnedMeshConfigs\3BA.xml"/>
</default-bbps>

以下のカスタム設定ファイルを用意します。

SKSE\Plugins\hdtSkinnedMeshConfigs\3BA.xml

CBBE 3BAとSoftbodyを混在させる

defaultBBPs.xml に3BAとSoftbodyの記述をすれば、CBBE 3BA用装備はHDT-SMPで揺れます。

<?xml version="1.0" encoding="utf-8"?>
<default-bbps>
	<map shape="3BA" file="SKSE\Plugins\hdtSkinnedMeshConfigs\3BA.xml"/>
	<map shape="Softbody" file="SKSE\Plugins\hdtSkinnedMeshConfigs\Softbody.xml"/>
</default-bbps>

以下のカスタム設定ファイルを用意します。

SKSE\Plugins\hdtSkinnedMeshConfigs\3BA.xml
SKSE\Plugins\hdtSkinnedMeshConfigs\Softbody.xml

Softbody用装備にSoftbodyとCBBE 3BAのボーンを混ぜている場合、Softbody.xml の中でCBBE 3BAのボーンの定義も追記して対応します。

Softbodyの揺れを使い分ける

Softbodyの装備をいい感じに揺らすには、メッシュの形状やHDT-SMPの設定を個別に調整する必要になり、デフォルト設定のままでは難しくなります。

  • リファレンスをShape名違いで複数用意して使い分ける。対応するデフォルト設定も用意して defaultBBPs.xml にて紐づけする。
  • カスタム設定を複数用意して、それぞれの装備(衣装)に仕込む。
  • コリジョン装備を複数用意して使い分ける。装備(衣装)とコリジョン装備をペアで装備する。
タイトルとURLをコピーしました