コリジョン装備を付け替えて揺れ方をかえてみよう

体型・装備

CBBE 3BAでコリジョン装備を身に着けて防具が揺れるようにしているのですが、防具によって揺れをかえてみたくなりました。

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の足が揺れてもわかりはしないので、むしろ揺らさない方が負荷が下がって好都合でした。

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