In virtual simulation and visualization systems, controlling the camera's field of view is crucial. Users typically move forward, backward, left, and right using the W, A, S, D keys on the keyboard, and use the Q and E keys for up and down movement; at the same time, they rotate the view using the right mouse button and adjust the zoom of the field of view with the mouse wheel. This article will detail how to implement these camera control functions in UE5.3 using Blueprints, helping developers create a more immersive virtual environment experience.
Preparation#
Bind Axis Mapping#
Find Edit -- Project Settings -- Engine -- Input in the menu bar -- locate Axis Mappings and set it up as shown in the image below:
Here, MoveForward represents the camera's forward and backward movement controlled by the mouse WS, MoveRight controls left and right movement; MoveUp controls up and down movement; Turn and LookUp control the camera's left-right and up-down rotation, respectively; Zoom controls the camera's field of view scaling.
Create Camera Control Blueprint#
Create a Blueprint class that inherits from Pawn and name it BP_CamController. Open the Blueprint and add components: add SpringArm, FloatingPawnMovement, and Camera (as a child component of SpringArm), as shown in the image below:
Blueprint Node Connection#
Implement Camera Movement Forward, Backward, Left, and Right#
In the event graph, right-click to input MoveForward and MoveRight to add WASD input events, and connect the relevant nodes as shown in the image below.
Implement Camera Rotation Up, Down, Left, and Right#
In the event graph, right-click to input Turn and LookUp to add mouse X and Y events, and connect the relevant nodes as shown in the image below.
Implement Camera Up and Down Movement#
In the event graph, right-click to input MoveUp to add QE input events, and connect the relevant nodes as shown in the image below.
Implement Camera Field of View Zoom#
In the event graph, right-click to input Zoom to add mouse wheel input events, and connect the relevant nodes as shown in the image below.
(SpringArm is a reference to the spring arm component)
Place the Camera Blueprint in the Scene#
Find BP_CamController in the content menu and drag it to an appropriate position in the scene. In the details panel, find the Pawn section and check Use Controller Rotation Pitch and Use Controller Rotation Yaw, and set Auto Possess Player to Player 0.
If smoother camera movement is needed, select the SpringArm component and set Enable Camera Lag and Enable Camera Rotation Lag in the lag section to checked, and you can also set the corresponding smooth speed.
Run the program to control the camera's field of view using the mouse and keyboard, and make further adjustments as needed.