Unreal Engine 5でAddControllerYawInputやAddControllerPitchInputを使用する際、Controller入力とスプリングアームの回転量が一致しないことがあります。本記事では、入力角度とスプリングアームの回転を同期させる設定や調整方法について解説します。
スプリングアームとControllerの関係
スプリングアームは、カメラをキャラクターから一定距離で追従させるためのコンポーネントです。ControllerのYawやPitch入力によって回転しますが、倍率(スケーリング)が設定されていると、入力角度と回転量が一致しません。
例えば、Controllerで1°入力したときにスプリングアームが2.5°回転する場合、倍率が2.5に設定されている状態です。
入力角度と回転量を一致させる方法
一致させたい場合は、AddControllerYawInputやAddControllerPitchInputの呼び出し時にスケーリングを調整します。具体的には、入力値にスケーリングを掛けることで、スプリングアームの回転と一致させることができます。
例:Yawの場合、現在のスプリングアーム倍率が2.5なら、AddControllerYawInput(DeltaYaw / 2.5)のように入力値を補正します。
スプリングアームの設定確認
スプリングアームの回転倍率は、通常はControllerに依存しますが、SpringArmComponentのbUsePawnControlRotationやRotationLag、SocketOffsetなどの設定が回転挙動に影響します。これらを確認し、意図した動作になっているかチェックします。
RotationLagを有効にしている場合は、回転が遅延するため入力角度と同期して見えないことがあります。
Blueprintでの補正例
Blueprintで制御する場合、Event TickやInput Axisで取得した入力値を補正してAddControllerYaw/PitchInputに渡すことができます。補正値として1/倍率を掛けることで、スプリングアームの回転とController入力が一致します。
また、必要に応じてClampやSensitivityを追加することで、より扱いやすい回転制御が可能です。
まとめ:Controller入力とスプリングアーム回転を同期させるポイント
UE5でController入力とスプリングアーム回転を一致させるには、入力値のスケーリング補正が基本です。スプリングアームの設定(bUsePawnControlRotation、RotationLagなど)も確認し、BlueprintまたはC++で倍率補正を行うことで、直感的で扱いやすい回転制御を実現できます。


コメント