読者です 読者をやめる 読者になる 読者になる

Skyrim箱庭DIY

MODによる固有の環境不具合は自分で直して快適ゲーム。CTDにさようなら。Do It Yourself!!

【Skyrim】Nifskopeでバニラ装備メッシュが動かせない場合の対処方法



スポンサーリンク

Nifskopeでバニラ装備の位置を調整したいのに、うまく反映できない場合の対処です。何かおつり貰うかもしれないので、いつも通り自己責任でお願いします。

SteelPlateArmor

※「武器」「装備」「移動」といった検索ワードでランディングする人が結構いるようなので補足です。

武器の装備位置の変更はスケルトンで行うのが一般的です。メッシュの移動で武器の位置を変えると、装備時の握りの位置も変更されてしまいます。ネクサスに装備位置を変更するスケルトンのMODが色々有ります。HDTやBBP系使っている場合は、当然ながら競合しますので環境と照らし合わせの上、お好みでどうぞ。

Steel Plete Helmetの位置を動かす 

Steel Plate Armor一式です。Helmetの位置を少し変更してみます。この体型メッシュで変更する必要性が見当たらないですが、まあ説明のための実験ということで見逃してください。

 

Nifskopeでメッシュを移動を試みる

Helmetのnifを開いてHelmetのメッシュを移動してから、Transform>Applyすればいい気がします。普通です・・・が。

HelmetのNiTriShapeのBlock Detailsを見てみると、すでにTranslationに数値が入ってます

NifskopeでSteelPlateHelmet

元々数値入ってるなら、ここの数字いじってApplyしなくても反映されるのかな?と思えちゃいます。

 

Apply無しで数値だけ変えてみる

Zを100ほど増やしてみます。Applyはしないでおきますか、とりあえず。

SteelPlateHelmetのZ位置書き換え

 

Skyrimを起動して確認してみると・・・

SS左側。Applyはしてないので位置はそのままではあります。が、右側。少し視点を変えると頭が消えます。偉い人でもわかる飾りっぷりで、何か問題がありそうです。

首無しライダー

 

変更をApplyしてみる

なんか元々数値入ってるのにApplyしたらやばそうだなーと思いますが、とりあえず色々試してみます。そうすると・・・・

首がはるか上空におわします。Z220でApplyしてるんだから当然かとも思いますが。

この飛んでる首も、角度によっては完全に見えなくなります

首が飛んだライダー

Applyするしないに関わらず、NiTriShapeのTranslationだけ変更してもダメっぽい感じです。

 

NiSkinDataのTranslation量とあわせて直してみる

1つ気になる項目を見つけました。BSDismemberSkinInstanceの子ノードであるNiSkinDadaのBlock Detailsにある、「Skin Transform」です。この中のTranslationの項目に、NiTriShapeと真逆の移動量が設定されてます。BSDismenberSkinInstanceに関しては、Nifskopeの説明記事を参照してください。

NiSkinDataのTranslation

 

怪しいので、この移動量をXYZ全部0にします。頭がずいぶん高い位置にいきました。スキニングのOffsetなんでしょうか?このパラメータ。必要性も含めて僕には良くわかりませぬ、キャパ超えです。

Offset外れて頭移動

 

更にHelmetのNiTriShapeの移動量も全部0にしてApplyしてみます。頭の位置が戻りました。NiSkinDataの方も0にしたので、なんか良さそうな感じです。

頭の位置元に戻る

この状態でSkyrimを起動して確認してみます。頭がデフォルトのポジションにあればOKなはずです。どこかにブッっ飛んでたり角度によって見えなくなったら失敗です。

 

いい位置に飾り頭が有ります。消えることもありません。この状態からNiTriShapeを変更>Applyすれば、期待通りの移動が出来るんじゃないでしょうか。

ゲーム内で正常な頭の位置

 

再度HelmetのNiTriShapeを変更

リベンジです。この状態でHelmetを動かせるか試します。

今度はY110で移動してみます。Applyを忘れずに。

Y110でNiTriShapeを移動

 

Skyrimを起動してみます。

おや、変わってない??

変わってないように見える?

・・・

 

なんちゃって!

真横から見れば移動確認

Y方向に動きました、想定通りです。これでうまく移動できなかった頭の移動量をコントロールできそうです。

 

近寄ったり角度変えても大丈夫そうです。キモいですけど。

角度変えたりアップにしても大丈夫

 

 ちなみに最初にやったようにZ220でApplyしても問題ありませんでした。

Z方向移動でも問題無し

まとめ 

  • NiSkinDataのTranslationを0にする。
  • NiTriShapeのTranslationも0にする。Applyを忘れずに。

これであとはNiTriShapeの移動>Applyだけで、動かせると思います。

重ねて念のため。何かおつり貰うかもしれませんが自己責任でお願いします。僕の所では特に不具合無いですが、構造として完全に把握していないので・・・

※重要項目

「なんちゃって!」がやりたくていきなりZからYに変更しましたが、検証やデバッグ中に、こういう不必要な差分をあえて作るのは非常に良くないです。最小限の変更でテストしないと、比較対象としての測定値の品質が低下したり、悩まなくていいポイントで悩むハメになったりと、いいことありません。CTD対策の検証の時も同じです。Zの検証が終わったので次はYを試してみる、といった明確な理由と目的があればOKです。

 

下に関連記事がありますので、よかったらどうぞ。