Nifskopeでバニラ装備の位置を調整したいのに、うまく反映できない場合の対処です。何かおつり貰うかもしれないので、いつも通り自己責任でお願いします。
※「武器」「装備」「移動」といった検索ワードでランディングする人が結構いるようなので補足です。
武器の装備位置の変更はスケルトンで行うのが一般的です。メッシュの移動で武器の位置を変えると、装備時の握りの位置も変更されてしまいます。ネクサスに装備位置を変更するスケルトンのMODが色々有ります。HDTやBBP系使っている場合は、当然ながら競合しますので環境と照らし合わせの上、お好みでどうぞ。
- Steel Plete Helmetの位置を動かす
- Nifskopeでメッシュを移動を試みる
- Apply無しで数値だけ変えてみる
- 変更をApplyしてみる
- NiSkinDataのTranslation量とあわせて直してみる
- 再度HelmetのNiTriShapeを変更
- まとめ
Steel Plete Helmetの位置を動かす
Steel Plate Armor一式です。Helmetの位置を少し変更してみます。この体型メッシュで変更する必要性が見当たらないですが、まあ説明のための実験ということで見逃してください。
Nifskopeでメッシュを移動を試みる
Helmetのnifを開いてHelmetのメッシュを移動してから、Transform>Applyすればいい気がします。普通です・・・が。
HelmetのNiTriShapeのBlock Detailsを見てみると、すでにTranslationに数値が入ってます。
元々数値入ってるなら、ここの数字いじってApplyしなくても反映されるのかな?と思えちゃいます。
Apply無しで数値だけ変えてみる
Zを100ほど増やしてみます。Applyはしないでおきますか、とりあえず。
Skyrimを起動して確認してみると・・・
SS左側。Applyはしてないので位置はそのままではあります。が、右側。少し視点を変えると頭が消えます。偉い人でもわかる飾りっぷりで、何か問題がありそうです。
変更をApplyしてみる
なんか元々数値入ってるのにApplyしたらやばそうだなーと思いますが、とりあえず色々試してみます。そうすると・・・・
首がはるか上空におわします。Z220でApplyしてるんだから当然かとも思いますが。
この飛んでる首も、角度によっては完全に見えなくなります。
Applyするしないに関わらず、NiTriShapeのTranslationだけ変更してもダメっぽい感じです。
NiSkinDataのTranslation量とあわせて直してみる
1つ気になる項目を見つけました。BSDismemberSkinInstanceの子ノードであるNiSkinDadaのBlock Detailsにある、「Skin Transform」です。この中のTranslationの項目に、NiTriShapeと真逆の移動量が設定されてます。BSDismenberSkinInstanceに関しては、Nifskopeの説明記事を参照してください。
怪しいので、この移動量をXYZ全部0にします。頭がずいぶん高い位置にいきました。スキニングのOffsetなんでしょうか?このパラメータ。必要性も含めて僕には良くわかりませぬ、キャパ超えです。
更にHelmetのNiTriShapeの移動量も全部0にしてApplyしてみます。頭の位置が戻りました。NiSkinDataの方も0にしたので、なんか良さそうな感じです。
この状態でSkyrimを起動して確認してみます。頭がデフォルトのポジションにあればOKなはずです。どこかにブッっ飛んでたり角度によって見えなくなったら失敗です。
いい位置に飾り頭が有ります。消えることもありません。この状態からNiTriShapeを変更>Applyすれば、期待通りの移動が出来るんじゃないでしょうか。
再度HelmetのNiTriShapeを変更
リベンジです。この状態でHelmetを動かせるか試します。
今度はY110で移動してみます。Applyを忘れずに。
Skyrimを起動してみます。
おや、変わってない??
・・・
なんちゃって!
Y方向に動きました、想定通りです。これでうまく移動できなかった頭の移動量をコントロールできそうです。
近寄ったり角度変えても大丈夫そうです。キモいですけど。
ちなみに最初にやったようにZ220でApplyしても問題ありませんでした。
まとめ
- NiSkinDataのTranslationを0にする。
- NiTriShapeのTranslationも0にする。Applyを忘れずに。
これであとはNiTriShapeの移動>Applyだけで、動かせると思います。
重ねて念のため。何かおつり貰うかもしれませんが自己責任でお願いします。僕の所では特に不具合無いですが、構造として完全に把握していないので・・・
※重要項目
「なんちゃって!」がやりたくていきなりZからYに変更しましたが、検証やデバッグ中に、こういう不必要な差分をあえて作るのは非常に良くないです。最小限の変更でテストしないと、比較対象としての測定値の品質が低下したり、悩まなくていいポイントで悩むハメになったりと、いいことありません。CTD対策の検証の時も同じです。Zの検証が終わったので次はYを試してみる、といった明確な理由と目的があればOKです。
下に関連記事がありますので、よかったらどうぞ。