在仮想シミュレーションと可視化システムにおいて、カメラの視野の制御は非常に重要です。ユーザーは通常、キーボードの W、A、S、D キーを使用して前後左右に移動し、Q と E キーを使用して上下に移動します。また、マウスの右ボタンを使用して視点を回転させ、マウスホイールを利用して視野のズームを調整します。この記事では、UE5.3 でブループリントを使用してこれらのカメラ制御機能を実現する方法を詳しく説明し、開発者がより没入感のある仮想環境体験を作成できるようにします。
準備作業#
軸マッピングのバインディング#
メニューバーで編集 -- プロジェクト設定 -- エンジン -- 入力 -- 軸マッピングを見つけ、以下の設定を行います:
ここで、MoveForward はマウスの WS でカメラの前後移動を制御し、MoveRight は左右移動を制御します;MoveUp は上下移動を制御し、Turn と LookUp はそれぞれカメラの視野の左右と上下の回転を制御します;Zoom はカメラの視野のズームを制御します。
カメラ制御ブループリントの作成#
Pawn を継承したブループリントクラスを作成し、BP_CamController と名付けます。
ブループリントを開き、コンポーネントを追加します:SpringArm、FloatingPawnMovement、Camera(SpringArm の子コンポーネントとして)をそれぞれ追加します。以下の図のように:
ブループリントノードの接続#
カメラの前後左右移動の実現#
イベントグラフで、右クリックして MoveForward と MoveRight の WASD 入力イベントを追加し、以下の図に従って関連ノードを接続します。
カメラの上下左右回転の実現#
イベントグラフで、右クリックして Turn と LookUp のマウス X と Y イベントを追加し、以下の図に従って関連ノードを接続します。
カメラの上下移動の実現#
イベントグラフで、右クリックして MoveUp の QE 入力イベントを追加し、以下の図に従って関連ノードを接続します。
カメラの視野ズームの実現#
イベントグラフで、右クリックして Zoom のマウスホイール入力イベントを追加し、以下の図に従って関連ノードを接続します。
(SpringArm はスプリングアームコンポーネントの参照です)
カメラブループリントをシーンに配置する#
コンテンツメニューで BP_CamController を見つけ、シーンの適切な位置にドラッグ&ドロップし、詳細パネルで Pawn セクションを見つけて Use Controller Rotation PitchとUse Controller Rotation Yawにチェックを入れ、Auto Possess Playerを Player 0 に設定します。
カメラをよりスムーズに移動させる必要がある場合は、SpringArm コンポーネントを選択し、その遅延セクションで Enable Camera Lag と Enable Camera Rotation Lag をチェック状態に設定し、適切なスムーズ速度を設定することもできます。
実行すれば、マウスとキーボードでカメラの視野を制御できるようになります。他の設定は必要に応じて微調整できます。