Pighaus Games Docs

These docs describe Fixed Angles and Blendshot, the next update, in development: everything in 1.3 and what it adds. 1.3 is in testing: read its docs.

First person on a mesh of its own

A first-person view for a character drawn by a mesh of its own, arms and all: the camera on that mesh's camera bone, the eyes placed in the view's axes, and the arms drawn with Unreal's first-person rendering.

Many first-person setups draw what you see with a mesh of its own: arms, hands and a held item, often with the body below, animated apart from the third-person body everyone else sees. The camera has to sit on that mesh, not on the body, or the arms swim and a sight lined up from the eyes points off the middle of the screen. Three Rig settings and one Blueprint node do it, on any first-person Rig.

The camera on the right mesh#

Pivot Socket names the bone the camera hangs from, and Pivot Mesh, under the Pivot line's More, names the mesh it's on. Left empty, the socket is found on the character's mesh, as it always was. Pivot Mesh finds the mesh three ways, in this order:

  1. A mesh handed over with Set Pivot Mesh on the follow camera, under that name. Use it for a mesh made while the game runs, whose component name is whatever the engine gave it, and call it again if the mesh is made again.
  2. A mesh with that component tag.
  3. A mesh with that component name: the name it has in your Blueprint's component list.

A name nothing answers to falls back to the character's mesh, and the Output Log says so once. A blend between two Rigs on different meshes crosses from one to the other, so a change of view never jumps.

The eyes in the view's axes#

Eye Offset, on the First Person line, places the camera from the pivot in the view's own axes: forward, right and up, in centimetres. It turns with the view, so 0, 0, 10 keeps the camera 10 cm above a camera bone whichever way you look, and looking down brings it forward, the way a head brings the eyes forward on the neck.

Use it rather than Pivot Offset when the first-person setup lines things up from a point off the bone: a sight picture, say, set 10 cm above it. Pivot Offset goes with the bone, and a camera bone only partly turns with the view, so an offset that goes with it drifts off that point as you look up and down.

Arms drawn as first person#

First Person Meshes, its own line under Advanced, hands Unreal's first-person rendering to the view, for every mesh marked First Person (the First Person Primitive Type on a component). Those meshes keep out of the shadow of the body that's hidden from you, and can take a First Person Mesh FOV of their own (0 keeps the shot's) and a First Person Mesh Scale that draws them smaller towards the camera, so a gun doesn't poke through the wall you're stood against. From the camera they look the same at any size. It needs Unreal 5.6 or later; on 5.4 it does nothing.

A Rig for a first-person mesh#

For a mesh whose animation already steadies the head and turns it with the view:

SettingValueWhy
Arm Length0The camera sits on the pivot
Pivot Socketthe mesh's camera boneWhere its animation puts the eyes
Pivot Meshthe mesh's name or tagThe first-person mesh, not the body
Pivot Lag Speed0Any lag shows as the arms swimming
Eye Offsetwhat the setup expects, such as 0, 0, 10Where its sights are lined up from
Bone Rotation Influence and Bone Stabilisation0The animation already does both
Handheld Strength0Sway moves the view off the sights
First Person MeshesonArms out of the body's shadow

Give the Rig to a view mode, and to its Aim state for aiming down sights, and switch to it the moment the game's own first person starts: with Select View Mode from whatever changes it.