Remodeled Armor CBBE SSEの場合
布の防具は普通に揺れていいのですが、金属製の防具などは大きく揺れるとおかしかったりします。Remodeled Armor CBBE SSEはこれを考慮して、揺れない防具のためのShapeDataが用意されています。
金属の部分はまったく揺れずに身体だけが揺れます。最初は凄いと思ったのですが、よく考えるとなんだか変です。そこで、防具ごと揺れるが揺れ幅を小さくすることを考えました。
CBBE 3BAのコリジョン装備の場合
CBBE 3BAではコリジョン装備というものがあり、これを着けているときはHDT-SMPで揺れて、外すとCBP/CBPCでの揺れになります。
HDT-SMPの場合、揺れの設定はSKSE\Plugins\hdtSkinnedMeshConfigs以下にあるXMLファイルです。これを書き換えることで揺れ方を調整できます。
CBBE 3BAはコリジョン装備を着けているときに3BBB-Amazing.xmlが使われるようになっています。これはコリジョン装備のメッシュをNifScopeで見てみるとわかります。
このコリジョン装備をコピーして、揺れ方を調整したものを作ってみます。
カスタムコリジョン装備を作る
コリジョン装備をコピーして同じものをもう一つ用意します。コピーするのはもちろんShapeDataです。
簡単なのはOutfit Studioでコリジョン装備を開いて、そのままSave Project Asで保存することです。
すくなくとも、表示名、生成されるメッシュのファイル名、ShapeDataのファイル名は変更します。Remodeled Armorの名称に合わせてRealisticと付けました。
作ったShapeDataをNifScopeで開き、使用するXMLファイルを変更します。最初の方のノードにパスが書かれていますので、これを変更します。
BodySlideで適宜グループに追加するなりしてメッシュを生成します。
SSEEditで3BBB.espを開き、コリジョン装備のレコードをコピーして新規にespファイルを用意します。例としてMyPatch – 3BBB.espという名前にするとします。
まずArmor AddonレコードをCopy as new record intoでコピーして、レコード名と新規ESLを選んでファイル名を決めます。マスター指定をするか聞かれるのでOKを押します。
メッシュのパスをBodySlideで作ったものに変更します。
次にArmorレコードも同じようにコピーします。そうしたらArmorレコードが参照しているArmor Addonを3BBB.espのものからMyPatch – 3BBB.espのものに切り替えます。
ここでClean Mastersを実行すると余計なマスター参照が消えるので、保存します。
コリジョン装備のXMLファイルを調整する
3BBB-Amazing.xmlをコピーして3BBB-Realistic.xmlを作ります。ここからが大変ですが、少しずつ調整をしていきます。
編集はWinMergeのような差分が確認できるエディタがオススメです。
左がオリジナルの3BBB-Amazing.xmlで、右が新しく作った3BBB-Realistic.xmlです。変更箇所が色でわかりやすくなっているので、作業がはかどります。
それから、ゲームを起動したままアプリを切り替えてXMLファイルを変更し、ゲームに戻って装備を付け替えると反映されます。Skyrimをわざわざ再起動する必要はありません。
胸を大人しくしたいので、まずmassを下げました。massは重さです。数値を大きくすると重くなります。重力で下に向かって垂れるようになり、慣性も強くなるので揺れが大きくなります。逆に小さくすることで揺れが軽くなります。
linearLowerLimitとLinearUpperLimitを0にしました。これらは動く幅を決めています。
angularLowerLimitとangularUpperLimitの方は回転です。
このあたりは文章では意味がわからないと思います。まずすべてを0にして、どれかをひとつだけ上げてみて、どういった動きになるのかを実際に見ればわかります。
実際は時間をかけて色々といじってみたのですが、いじりすぎてもあまりよくはならず、結局のところはオリジナルの設定を残しつつも、ある程度ばっさりと切ってみて、重さ(mass)を少しかえたらそれで十分だという結論になりました。
これで材料が揃ったので、あとは装備に合わせてコリジョン装備を付け替えるだけです。これは手でやるのは面倒なのでEquipment Managerで実装してみました。
ふとももの揺れのありなしを切り替える
普段は通常のコリジョン装備で全身を揺らすけど、この金属製ブーツを履いているときだけはふとももを揺らさない、といったこともできます。
HDT-SMPの設定ファイルでは、足に関するBoneの設定を以下のように空にします。
<bone name="NPC L FrontThigh"/> <bone name="NPC R FrontThigh"/> <bone name="NPC L RearThigh"/> <bone name="NPC R RearThigh"/> <bone name="NPC L Thigh [LThg]"/> <bone name="NPC R Thigh [RThg]"/> <bone name="NPC L RearCalf [LrClf]"/> <bone name="NPC R RearCalf [RrClf]"/> <bone name="NPC L Calf [LClf]"/> <bone name="NPC R Calf [RClf]"/>
これで足に関する揺れの担当がCBPCになります。
CBPC側の設定でBoneを除外すれば、足がまったく揺れなくなります。
NPC L FrontThigh=FrontThigh NPC R FrontThigh=FrontThigh NPC L RearThigh=RearThigh NPC R RearThigh=RearThigh NPC L RearCalf [LrClf]=RearCalf NPC R RearCalf [RrClf]=RearCalf
CBPCは基本的にすべてのActorに適用されるので、これだとHDT-SMPではないActorも足が揺れなくなります。
CBPCには手をつけず、HDT-SMP側で揺らさない設定を探ってみましたが、よくわかりませんでした。プレイヤーは原則HDT-SMPなのと、NPCの足が揺れてもわかりはしないので、むしろ揺らさない方が負荷が下がって好都合でした。