残念ながらHDT-SMPに対応していないのでヒラヒラしないスカートをヒラヒラさせます。
今回は自分でもかなり無茶なやり方と思います。とりあえずできたというレベルですのであしからず。
今回はCBBE HDT – UUNP HDT Bodyslide for Full HDT Maid Outfit with Cleavageのスカートを揺れるようにします。
まずはHDT Maid OutfitをSEに移植
防具をCBBE 3BBB化してみよう - 応用編(CBBE LE BodySlide防具)あたりを参考にSEで動くようにします。
すべてのメッシュをSSE NIF OptimizerでSEに変換して、すべてのテクスチャをSMCO64最適化します。
BodySlideデータが付属していますがCBBE LE用ですので、きちんとOutfit StudioでConvertしましょう。
ただし、スカートのメッシュにはLE用のHDT-PE用データが入っていますので、そのまま履くとビローンとなったりCTDするかもしれません。スカートは形状のConvertだけを行い、Weightの塗りやSlider設定の作成はしなくていいです。ゲーム内ではスカートだけは履かずに他のパーツを着て動作確認しましょう。
スカートにHDT-SMPのデータを移植
できるだけ形状の似ているHDT-SMP対応装備を用意します。今回はSimple Skirtを使います。
Outfit StudioでSimple Skirtのプロジェクトを開きます。
メニューからLoad OutfitでHDT Maid OutfitのShapeDataにあるSkirtを指定します。Keep other shapesにチェックを入れておきます。
きちんとできるとこうなります。
素体のReference(CBBE 3BBB)を読み込みます。Skirt:1:1とSkirt:1:2のスライダー設定を更新します。
Skirt:1:1とSkirt:1:2からWeightを全て削除します。Skirt:1:1とSkirt:1:2だけを選択(Skirt:1:1をクリック、Ctrlを押しながらSkirt:1:2をクリック)してBonesタブに切り替えてから、一番上のBone(たぶんNPC Belly)をクリック、 Shiftを押しながら一番下のBone(たぶんNPC Spine2)をクリックしてまとめて選択状態にして、右クリックしてDelete、From Selected Shapesです。緑色のBoneがWeightがあるということですので、全部白になればOKです。
PelvisとSpineのWeightだけをコピーします。BonesタブでPelvisとSpineを選択しておきます。Meshesタブに戻り、Skirt:1:1とSkirt:1:2が選択状態のままになっていますので、右クリックしてCopy Selected Weightsです。
Meshesタブでskirtを右クリックしてSet Referenceを選びます。3BBBが白色になってskirtが緑色にかわります。
MeshesタブでSkirt:1:1とSkirt:1:2だけを選択します。Bonesタブに切り替えてDress 2~5を全て選択します。Dress 1は選択しません。Meshesタブに戻り、Skirt:1:1とSkirt:1:2が選択状態のままになっていますので、右クリックしてCopy Selected Weightsです。
Projectを保存します。ここが面倒ですが、HDT Maid Outfit側のファイル構成を確認して正しい値にしましょう。まずはSimple Skirtのshapeあり、CBBE 3BBBのReferenceありで保存です。
BodySlideでスライダー設定が出てくること、プレビューでWeightを動かして形状が変化することを確認します。
もう一度Outfit Studioを起動して、今度はSimple Skirtのスカートのshapeを削除して、Copy reference shape into outputのチェックを外して、別名で保存です。
こうすることで、調整用Shape Dataと本番用Shape Dataに分かれます。後から直したくなった時に続きから作業できるので楽です。
スカートの揺れの設定ファイルを調整
このままだとSimple Skirtの設定ファイルを使うので変更します。
Simple SkirtのOK_Skirt.xmlをコピーします。名前はHDT_Maid_Outfit_Skirt.xmlとしました。
NifScopeでスカートのShapeDataを開きます。
パスの指定を変更します。パスのところをクリックすると下に出てくるので、下のを右クリックしてEdit String Indexです。
メニューからSpells、Optimize、Remove Unused Stringsで不要になったデータを削除します。あとは保存してNifScopeを閉じます。
HDT_Maid_Outfit_Skirt.xmlはshape名がかわったので対応させます。
<per-triangle-shape name="CollisionLegs">
<margin>0.5</margin>
<prenetration>0.5</prenetration>
<tag>legs</tag>
<no-collide-with-tag>legs</no-collide-with-tag>
</per-triangle-shape>
<per-triangle-shape name="Skirt:1:1">
<margin>0.1</margin>
<prenetration>0</prenetration>
<tag>skirt</tag>
<no-collide-with-tag>skirt</no-collide-with-tag>
</per-triangle-shape>
<per-triangle-shape name="Skirt:1:2">
<margin>0.1</margin>
<prenetration>0</prenetration>
<tag>skirt</tag>
<no-collide-with-tag>skirt</no-collide-with-tag>
</per-triangle-shape>
per-triangle-shapeがコリジョンを持つかどうかの指定になります。ですので、skirtの分を削除してSkirt:1:1とSkirt:1:2の分を追加します。
これで衝突判定が行われるようになり、太ももにめり込むことはなくなりました。ところが、Simple SkirtはスカートのShapeが1つだけだったのにたいし、HDT Maid OutfitのスカートはShapeが2つにわかれています。これだと2つのShape同士が近すぎて常に反発しあってブルブルと震えてしまいます。
そこで、no-collide-with-tagで例外を指定します。色々な設定ファイルを読んでわかったことですが、基本的に自分自身を例外に指定して自分自身とコリジョン判定をさせないようにするのがいいようです。
tagで別名を付けられます。スカートのshapeはskirtというtagにしました。no-collide-with-tagでskirtを指定することで、自分自身を例外にでき、さらにSkirt:1:1はSkirt:1:2を、Skirt:1:2はSkirt:1:1を例外にできます。
VirtualGroundも調整した方がよさそうでした。VirtualGroundというのは仮想の地面のことです。プレイヤーがいつどこにいても、転倒したりベッドで横になったりした際にスカートが地面にめり込まないようにするためにあるのだと思います。デフォルトはtagの付け方や例外の指定がおかしいように思うので、整理しました。
<per-triangle-shape name="VirtualGround">
<margin>0.5</margin>
<prenetration>10</prenetration>
<tag>ground</tag>
<no-collide-with-tag>ground</no-collide-with-tag>
</per-triangle-shape>
marginは余幅になります。コリジョン判定でこれ以上ぶつからないようにする時のshape間の隙間のことです。marginを小さくしてもまだ隙間が大きい場合はshapeの位置を加工する必要がありますが、隙間を広げたい場合はmarginを大きくすればいいだけなので簡単です。
あとはこれまで通りの機械的作業で完成
CBBE 3BBB化の基本は防具をCBBE 3BBB化してみよう - 基本編(TAWOBA)を参考にしてください。
胸の谷間を綺麗にするにはUniBody Referenceで胸の谷間のへこみをなおすを参考にしてください。
ヒールの高さ調整は、Outfit Studioでヒールを開き、Bottomを右クリックしてPropertiesを選び、Extra Dataタブで以下のような項目を新規作成します。
前提としてXP32MSSEとRace Menuが必要です。ECEユーザーもRace Menuからespファイルとinterfaceフォルダを除いたすべてを入れておけばOKです。
歩くとヒラヒラするミニスカメイドの完成です。
やはりUniboob Referenceは素晴らしいです。
さらにこだわる
スカートの揺れ方はボーンの数とWeightの塗り方が基本となります。そのためにはSimple SkirtのWeightをできるだけそのままコピーしたいので、Simple SkirtのスカートのshapeをMaid Outfitのスカートのshapeに合わせます。Transform toolなどを使い、おおまかでもいいので位置合わせと大きさの調整を行うと、Weightコピーがうまくいくようになります。
無理にコピーしようと、コピー時の検索設定を大きくしたりすると、Weightが全体的に強めに塗られてしまい、スカートの動きがゴツゴツした感じになってしまいます。
コリジョン判定用のCollisionLegsもMaid Outfitのスカートの位置に合わせて位置調整をするといいです。