Skip to content

Swap the camera feel

Designer · 30 min · No code

Result: the exploration camera sits where you want it: further back or closer, higher or lower, wider or narrower, and smoother or snappier as it follows the party leader. You can switch back to the shipped camera in one field.

Before you start

  • Input and camera
  • XenoCore uses Epic's Gameplay Cameras plugin. If you haven't used it, open one of the assets below first and look around the node graph.

How the camera is put together

Asset What it is
Cameras/CA_XenoCore_Player The camera asset each character carries. Its director always runs one rig.
Cameras/CameraRig_XenoCore_Explore The rig: a chain of camera nodes that turns "where the character is and where the stick points" into a camera position.

Every character carries a Gameplay Camera component pointing at CA_XenoCore_Player: the player pawn (Game/B_XenoCore_Player) and every party member (Characters/Party/B_XenoCore_PartyMember_Base, which the VRoid base Characters/VRoid/B_XenoCore_Party_VRoid_Base and all seven sample members inherit from). When you switch leader, the new leader's camera takes over, so both must point at the same camera asset.

The explore rig's nodes, and what each one changes on screen:

Node Settings You see
Boom Arm Boom Offset How far behind, above and to the side of the character the camera sits
Offset Translation Offset, Rotation Offset A fixed nudge after the boom, for example framing the character left of centre
Field Of View Field Of View Wider or narrower view
Dampen Position Forward Damping Factor, Lateral Damping Factor How loosely the camera trails the character when they move. Higher trails more.
Dampen Rotation Yaw Damping Factor, Pitch Damping Factor How loosely it follows turns
Collision Push Collision Sphere Radius, Pull Interpolator How the camera slides in front of walls instead of clipping through

Steps

1. Make your own copies

  1. Create MyGame/Cameras.
  2. In Plugins › XenoCore Content › Cameras, right-click CameraRig_XenoCore_Explore › Duplicate, name it CameraRig_MyGame_Explore and move it to MyGame/Cameras.
  3. Duplicate Cameras/CA_XenoCore_Player the same way, as CA_MyGame_Player.
  4. Open CA_MyGame_Player. In its Camera Director (a single-rig director), set the rig to CameraRig_MyGame_Explore. Save.

Working on copies keeps the shipped camera intact, so switching back is one field.

2. Point the characters at your camera

  1. Open Game/B_XenoCore_Player. In the Components panel, select the GameplayCamera component. Set its Camera Asset to CA_MyGame_Player. Compile and Save.
  2. Do the same in Characters/Party/B_XenoCore_PartyMember_Base. Every party member, the VRoid ones included, inherits its camera from this base, so this one change covers them all.

Fails silently: only one of the two

If only the player pawn uses your camera, it looks right until you switch leader in the Party menu, and then the old camera comes back.

3. Tune the rig

Open CameraRig_MyGame_Explore and adjust, one node at a time:

  1. Distance and height: on Boom Arm, change Boom Offset. X is along the boom (negative is further back), Z is height.
  2. Framing: on Offset, a small Translation Offset sideways puts the character off centre, which helps when the HUD sits on one side.
  3. Field of view: on Field Of View. Wider feels faster and shows more of the field; narrower frames characters larger.
  4. Follow softness: on Dampen Position and Dampen Rotation. Lower damping gives a tight, responsive camera; higher gives a drifting, cinematic one. Change forward and lateral separately: a little forward lag reads as speed, lateral lag reads as floatiness.
  5. Save after each change and check it in Play; rig edits apply the next time you press Play.

Keep the collision node last in its chain

Collision Push must run after the nodes that place the camera, or it tests the wrong position and the camera clips into walls. Leave the node order as it is and change values.

4. (Optional) The recentre sweep

Right stick click runs Input/Abilities/GA_XenoCore_CameraReset, which swings the view back behind whoever you are driving. Under XenoCore › Camera on its Class Defaults:

Setting Default You see
Recentre Duration 0.35 How long the sweep runs. 0 snaps at once
Recentre Interp Speed 8 How quickly it closes on the target angle
Recentre Pitch -10 The pitch it settles at. Negative looks down onto the character

To recentre on something else (the locked target, say):

  1. Right-click GA_XenoCore_CameraReset › Create Child Blueprint Class, save it in MyGame/Cameras.
  2. In the child, under Functions › Override, choose Get Recentre Rotation and return the rotation you want.
  3. Open Game/AbilitySet_XenoCore_Input, find the Granted Gameplay Abilities entry whose Ability is GA_XenoCore_CameraReset, and set it to your child. Keep its Input Tag. Save.

Test it

  1. Open Maps/L_XenoCore_Gym and press Play.
  2. Run in a circle and then stop. The camera trails and settles the way you tuned it.
  3. Back into a wall. The camera slides in rather than clipping through.
  4. Open the menu, make another member leader on the Party screen, close the menu. The camera feels the same.
  5. Click the right stick on a gamepad (it has no keyboard key) to recentre behind the character.

If it doesn't work

Nothing changed

The characters still point at CA_XenoCore_Player, or your camera asset's director still runs the shipped rig.

The camera sits inside the character's head

The camera component has no Camera Asset, or the asset has no rig. The engine then falls back to the character's eye position.

The camera changes after switching leader

Only one of the two pawn Blueprints was updated.

Going further

  • Input and camera
  • Tune targeting: the lock-on camera behaviour.
  • Conversations frame themselves with a separate rig, Cameras/CameraRig_XenoCore_Dialogue, set in Project Settings › XenoCore Content › Dialogue Camera Rig (cleared = off) and per NPC with Use Dialogue Camera / Dialogue Camera Rig. Your explore rig does not affect it.