矢の軌道がずれる問題について

環境構築

矢の軌道がずれる問題についてまとめました。

3人称視点で矢を撃つとクロスヘアとずれた位置に飛んでいく、という経験をされた方は多いと思います。これには様々な要因が絡んでおり、すべてを正しく理解できていないと修正するのは難しいです。そこで、自分で調べて検証したことをまとめてみます。

矢の軌道がずれる要因

思い付いただけでこれだけあります。

  • 1人称視点と3人称視点では状況が全くかわります。
  • 縦のずれと横のずれは別です。
  • 矢と魔法は別です。
  • 3人称視点でプレイヤーの位置が中心から動くと、軌道もかわります。
  • Skyrimに備わっている自動照準の設定で軌道がかわります。
  • クロスヘアの位置を動かしているとずれます。
  • 使っているスケルトンでかわります。

そもそもなぜずれるのか

キャラクターが撃った矢は、キャラクターが向いている方角に飛んでいきます。キャラクターが真北を向いている時、矢も真北に飛んでいきます。

1人称視点のときは、カメラの向きとプレイヤーの向きが一致します。基本的にはクロスヘアの方角に飛んでいきます。

例外があって、クロスヘアの位置を動かしていると、矢の向きはクロスヘアとずれます。これは、プレイヤーはクロスヘアの方角を向いているのではなく、画面の中心を向いているからです。クロスヘアはいじっていなければ画面の中心にあるため、矢がクロスヘアの位置に飛んでいくように見えるわけです。

それから、XPMSSEにJoy of Perspective用オプションがありますが、これは1人称視点のスケルトンを置き換えるので、プレイヤーの向きが根本的にかわってしまうようです。

3人称視点のときはというと、プレイヤーが画面中央にいるのであれば、1人称視点のときと同じです。ところが、プレイヤーを画面左に動かすバイオハザード4のような構成にしていると、プレイヤーの向く方角が少し右にずれます。カメラが真北を向いているとき、クロスヘアも真北にありますが、プレイヤーの立ち位置は画面の中心から少し西にずれており、真北を向いているのではなくて、わずかに東の方角を向いています。このプレイヤーが向いている方角に矢が飛んでいくため、クロスヘアとずれているように見えるのです。

自動照準とは

Skyrimには自動照準という機能があります。クロスヘアで捉えている対象に向かって矢が飛んでいくように補正してくれる機能です。これはGame Settingsレコードにあります。

詳しい説明がFalloutのWikiにあります。また、ここのコメント欄にも説明があります。Proper Aimingという軌道修正Modがありますが、このModの作者がベストと思われる自動照準の設定値をespファイルにしたものです。設定を文章にするならば、「3人称視点で、クロスヘアで捉えている対象に限り、相手がどんなに遠くにいようとも、最大20度までの角度で補正する」となります。

ここで重要なのが、Game Settingsはespファイルに含めてゲームの初期値とすることもできるし、スクリプト(Papyrus)でゲーム内で動的に書き換えることもできる、ということです。espファイルの場合は、ロード順で上書きされますし、あくまでも初期値なので、ニューゲームの時に反映され、その後スクリプトで書き換えられた場合は無効となります。

自動照準を無効にするMod(Disable Auto-Aim)も、クロスヘアとのずれを修正するMod(Proper Aiming)も、カメラMod(Customizable Camera)も、すべて同じGame Settingsを書き換えているので、併用してもまったく意味はありません。

なお、私の作ったCamera Tweaksを使うと、このGame SettingsをMCMで自由に変更できます。大抵の場合は、プリセットから「Proper Aiming」を選べばいいと思います。自動照準を無効にしたいのであれば「すべて0」です。もちろん任意の値に調整することもできます。そして、セルを移動したタイミングで設定が書き換えられていないか検出して再設定する機能もついています。

縦のずれについて

ここまでは主に横のずれについて説明してきましたが、縦のずれもあります。矢は重力の影響を受けて下に落ちていくので、放物線を描くように飛んでいくため、標的の距離によって発射角度を調整する必要があります。

近くの的に撃つときはクロスヘアの高さ通りなのに、遠くの的に撃つと下にずれてしまう、設定がわからないよ、このMod使えないよ、という書き込みを見たことがありますが、設定どうこうではなく、距離に応じてずれていくのは当然なのです。文字通り、的外れな話ですね(笑)

推測になりますが、カメラは上下方向にも角度があり、基本的には向いている角度に向けて矢を撃ちます。この発射角度を調整する設定があります。これはGame Settingsではなく、Skyrim.iniのCombatセクションに書く形になります。ですのでespファイルで設定することはできません。あるいはスクリプトから変更できます。

  • f1PArrowTiltUpAngle
  • f3PArrowTiltUpAngle
  • f1PBoltTiltUpAngle

この3つです。f3PBoltTiltUpAngleという設定名はSkyrimにありませんので、Skyrim.iniに書いても無駄です。正の値で上に、負の値で下に角度が調整させるものと思われます。0.7がいいとか、1.5がいいとか、色々意見がありますが、それぞれ環境が違いますし試している的の距離でベストな値もかわりますので、あまり意味はないと思います。個人的には調整は邪魔なので0にしておき、距離に応じて上を向いて自分で補正して撃てばいいと思います。ゲーム内でPapyrusから設定を変えると発射角度がかわるなぁ、と確認したのみで、あまり検証等はしていません。

そしてもう一つ、矢によって飛んでいく速さと重力の影響度に関する設定があります。バニラは比較的遅めで、重力の影響を大きく受けます。これを速くして重力の影響を減らすと、まるでスナイパーライフルで撃っているようになります。

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