スカイリムLE版で散々悩まされていたことが解決したので忘れないように記事にしてみる。
かなりマニアックな内容なのか海外のサイトを調べても初歩的な解決方法しかなく、これから紹介する解決方法は出てこなかった。内容としては、三人称視点でのクロスヘアとアクティベート検出範囲(正式名称が不明)がずれてしまうという問題の解決方法。画像がスカイリムっぽくないが、インターフェースが変わっているのはMODの影響。
三人称視点でのクロスヘアとアクティベート可能範囲
スカイリムの仕様でクロスヘアを物やスイッチに合わせたときのアクティベートできる範囲が、カメラの上下位置(INIではZ軸)とキャラクターの身長(skeleton.nif等)に連動している。このずれは、特に低身長キャラを使用している人であれば周知かと思う。キャラの身長を変えても画面に表示されているクロスヘアの位置は変わらないが、アクティベートできる範囲が身長を上下した分連動してずれる。
悪いことに、アクティベートできる範囲はカメラにも連動している。カメラをどの位置に調整しようが、常に身長を調整してずれた分を維持する。つまり、カメラを上下左右に動かしても、アクティベートできる範囲は連動して動いてしまうので、カメラの位置で改善することは不可能。カメラに連動していなければ、キャラを低身長にしてもカメラを同じ分下げることによって正常に調整できるのだが、そうは問屋が卸さない。
特に、エリーンのような低身長キャラだと躊躇。ジャンプしても上の方にあるアイテムは取れないし、物を掴んでもクロスヘアのかなり下までしか持ち上がらない。机の上に転がっているアイテムさえ取るのにテクニックと慣れが必要。この画像のように、キャベツがクロスヘアからかなり下にずれた状態でアクティベート可能になっている。画像のキャラ種族はエリーンで、身長はバニラ種族の70%の高さしかない。
物を掴んで持ち上げてみると、下にずれている。
こちらは手桶。
また、カメラのスケール(別の言い方だと高さ)はキャラのスケールに連動しているので、キャラのスケールを変更すればカメラのスケールも連動して変更される。この仕様がアクティベートできる範囲をずらしてしまう要因になっている。カメラのスケールを強制的に無調整の状態(1.0だと思われる)に戻せれば、このずれは解消できるかと思われる。色々試行錯誤したが、このアクティベートできる範囲を外部的な要因で調整することは不可能だった。
スケルトンのファイル(skeleton.nif、skeleton_female.nif、エリーンならskeletonbeast_female.nif)を編集すればおそらく修正可能であるが、スケルトンの改造は無知が触ると不具合が起きかねない。スケルトンに関して細かいところを書いていくと、今回の内容とはかけ離れてしまうので割愛する。
管理人の環境では、物(キャベツや桶等)を掴みながらクイックメニュー(XBoxコントローラならBボタン)を開くと、掴んでいる物体はクロスヘアの中心にワープする。メニューを閉じると元の位置に戻る。なんとも奇妙な動きをする。メニューを開いている状態ではカメラの位置が後方に動くので(FOVが変わる?)、やはりカメラと密接な関係がありそうだ。
余談だが、弓矢の射線もキャラクターの身長(スケルトンのスケール)により上下にずれる。左右のずれはカメラ(クロスヘア)に連動しているようで、カメラの位置を動かしてもクロスヘアに追随してくれる。魔法に関してはクロスヘアの中心に飛んでいくようになっているので、カメラの位置を動かしてもクロスヘアに追随してくれる。弓矢の上下の射線に関してはカメラの上下には連動していないので、射線を調整したい場合はINIやMODで行う。
当然だが、インターフェースを調整するようなMODでクロスヘアの位置を変えても、それは見た目だけなので射線やアクティベートのずれは解消されない。
解決方法
SMP(LE版)を導入したら、キャラの身長やカメラの位置に関係なく、常にクロスヘアのほぼ中心でアクティベート可能になった。同時にカメラの位置がずれたが、これはいくらでも調整可能なので問題ない。これでもアクティベートできる範囲がカメラの位置で若干動いてしまうが大幅なずれはなく、とても快適になった。なんでこれで修正されたのかは謎だが、他に解決方法が見つからない。
MODのファイル内の「hdtSkyrimMemPatch.dll」がカメラスケールの修正をしているプラグインの模様。「hdtSkyrimMemPatch.ini」に記入されている項目で「fix3rdPersonCameraScale」というものがあるが、これがtrueになっていると修正される。
[Camera]
fix3rdPersonCameraScale=true
訳すとカメラスケール修正許可なので、身長の調整(別の言い方でスケルトンのスケール調整)で連動しているカメラスケールを、強制的に無調整の状態(1.0)にしているのだろう。カメラのスケールが常に1.0に保たれれば、キャラのスケールがどうであろうと常にクロスヘアの中心でアクティベート可能になる。
分かりやすく言うと、キャラのスケール(身長)を半分にした場合はカメラスケール(高さ)が0.5になり、アクティベート範囲のスケール(高さ)もキャラのスケール1.0と比べて半分のスケール(高さ)である0.5になる。しかし、キャラのスケールを半分にしてもカメラのスケールはこれに連動せず1.0になるので、キャラの身長が半分でもカメラの位置が正面ならアクティベートの位置も正面になる。この状態でカメラの位置を好みの位置に調整すれば、それに連動してアクティベート範囲はカメラを調整した方向にずれることになるが、このずれはそこまで大きなものではない。
このアクティベート検出範囲がカメラの位置で若干動いてしまうのは仕様なので諦めるしか無い。身長の調整で大幅にずれた状態よりは遥かにマシなので、不具合がないようならこれで解決とする。
アクティベートの検出範囲が正常になった。
キャベツも手桶もクロスヘアと同じ高さに持ち上げられる。
実験してみたが「hdtSkyrimMemPatch.dll」と「hdtSkyrimMemPatch.ini」のインストールだけで修正された。しかし、これだと中途半端だし他にどのような影響が出るのかは不明。現状、管理人の環境ではSMPとPhysicsExtensionsは競合が確認されなかったので、両方を導入して共存させている。
SMPとは、スカイリムSEでPhysicsExtensions(色々揺らしたりするSKSEプラグイン)が動作しないので、これの代わりとなるプラグイン。元の開発者は同一人物。SE用のSMP対応装備がPhysicsExtensions環境では揺れる箇所が微動だにしなかったが、SMP(LE版)を導入したら異常な動きだが動作するようになったので、一応動作はしているのだろう。
SMPのファイルは、ネクサス等のMODをダウンロードできるサイトで探せば必要なファイルは手に入る。著作権の問題もあるのでこちらで用意はしない。これくらいは自身で調べて入手して欲しい。SMPはSKSEプラグインなので、いつでも安全にインストール&アンインストールが可能。セーブデータに悪影響はないので、途中導入でも問題無し。気になる人は試しても良いと思う。
更に調整する方法
ECE等でスライダーの種類を増やしている環境にて、身長を調整することにより微調整が可能。
SMPを導入していても「身長」のスケールにカメラの高さは連動している。アクティベート位置を変えないでキャラの身長を変更する場合「身長」ではなく「身長(スケルトン)」の項目で調整する。こちらの項目はカメラが連動していないので、スライダーを動かしてもカメラの高さは変動しない。
身長を変えないでカメラ位置を上げたい場合はこの特性を利用する。例えば、「身長 +0.7」「身長(スケルトン)-0.7」のようにすると身長を変えないでカメラ位置のみ高くすることができる。
逆にカメラ位置を下げたい場合は逆の数値を設定すれば良い。0.7でカメラの高さ25~30ほどの幅になる。カメラを50~60移動させたいなら、倍の1.4辺りにする。
尚、これらの項目を調整してキャラのスケールを変更しても、キャラ自体の当たり判定の大きさは変わらない。
以前はこの方法で大幅にずれたアクティベートの位置を調整していたが限界があった。SMPと併用すれば余程スケールのおかしいキャラでもない限り、アクティベートの位置を真正面に調整可能だろう。
しかし、この方法はデメリットがあり、高さの変わる靴(MODで追加するヒール等)を装備し直すと、身長(スケルトン)の数値が1.0に戻ってしまう。管理人は装備をあまり付けたり外したりはしないのでこの方法でも良いのだが、装備を付け替えたい人には向かない。こういった仕様なので、ほぼデメリット無しにSMPで修正されるのは大変喜ばしいことなのだ。