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.

Rig valuesOlder engines

Every shipped Rig and camera preset as a block you can paste straight onto a new asset. For 5.3 to 5.7, where the plugin installs without content.

Builds for 5.3 to 5.7 ship without content. A .uasset saved by 5.8 can't be opened by an older engine: package versions only go forwards, and no build setting changes that. The code is identical. What's missing is the content, and the part you can't do without is the Rigs.

Every Rig that ships with the 5.8 build is below as a block of text you paste onto a new asset, style by style, with the camera presets that put them together after each style. You get the real tuned values, not a description of them. The shakes, the lock-on presets and the points of interest have pages of their own: shake values, lock-on preset values and point of interest values.

Making a rig#

  • 1

    Create the asset.

    Right-click in the Content Browser, choose Miscellaneous → Data Asset, and pick Blendable Camera Rig. Name it after the Rig you're recreating.

  • 2

    Copy a block.

    Copy the block for the Rig you want from below. It's the whole Rig on one line.

  • 3

    Paste it in.

    Open the asset, unfold The Whole Rig at the bottom of the panel, and click Paste beside Copy Or Paste The Whole Rig. It can be undone.

  • 4

    Check it took.

    The panel updates straight away. The arm, the lens and the spot in the framing preview at the top are the quickest to eyeball. If nothing changed, the clipboard held something other than a block: copy it again, from the opening bracket to the closing one.

  • 5

    Save and repeat.

    Each Rig is independent, and you only need the ones your preset uses. Start with Third Person.

Under each block is what a paste can't carry:

  • The shakes the Rig plays, its Handheld and Also Running. They're assets of their own, on shake values, so make those first and pick them once the block is in. Left empty, a Rig plays the handheld set on the Blendable Shake component.
  • The lock-on presets that start from the Rig, on lock-on preset values.

A shift that eases on a curve carries the curve's keys in the block, so the paste brings it with it.

Building the presets#

A camera preset puts Rigs together: the one the camera starts on, the ones it switches to for aiming, ragdolls and slides, its views, and its gamepad and idle shots. Make one the same way (Miscellaneous → Data Asset → Blendable Camera Preset), paste its block from the end of its style below with Copy Or Paste The Whole Preset under Advanced, then give it its Rigs from the table under the block. The paste can't carry the Rigs, but it makes every state and view the table names, ready for one.

The lock-on presets in each style's folder are on lock-on preset values.

Third Person#

Third Person (Preset_ThirdPerson). The shipping third-person camera. Aim, ragdoll and slide states, TP and FPS views, gamepad and mouse profiles, and an idle drift after ten seconds. Shakes: the Steadicam handheld and the default body motion.

Third Person Alt (Preset_ThirdPersonAlt). Third Person with the character nearer the middle of the screen, a gentler catch-up, no hanging back at speed, and a wall that swaps you to the other shoulder instead of sliding the shot across. Same states, views and shakes as Third Person.

Rig_ThirdPerson_Default#

(Settings=(PivotLag=(bEnabled=True,bDepthOnly=True,LaggedRate=6.000000,MaxDistance=250.000000,CatchUpRate=4.000000),Composition=(Target=(X=33.701757,Y=53.632011),Recovery=8.000000,PitchUp=(Response=(EditorCurveData=(Keys=((InterpMode=RCIM_Cubic),(InterpMode=RCIM_Cubic,Time=1.000000,Value=1.000000))))),Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),bDynamicFraming=False,ArmPullInTime=0.100000,ArmRelaxTime=0.650000,ArmDamping=(bLeadMovingTarget=False),OcclusionMinTime=0.100000,bAutoShoulderSwap=True,ShoulderResponse=Slide,AutoShoulderPinchDistance=120.000000,AutoShoulderBlendTime=1.000000,bGapCentring=True,bGapYawAssist=True,LookAtOffsetDecay=5.000000,PitchArmScaleUp=0.900000,PitchFOVOffsetDown=0.000000,ProbePullRate=8.000000,AmbientShakeWeight=1.000000,YawFollowSoftness=60.000000,RecenterDelay=3.000000,RecenterSpeed=1.000000,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,SlopeFollowDelay=0.750000,PitchRecoverDelay=0.350000,bPredictiveAvoidance=True,Feelers=((PawnWeight=0.000000,ProbeRadius=12.000000))),DefaultBlendTime=0.500000)

Rig_ThirdPerson_Aim#

(Settings=(Composition=(Target=(X=14.781994,Y=55.691800),Shifts=((Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),ArmLength=150.000000,AutoShoulderProbeReach=35.000000,MinPitch=-65.000000,FOV=55.000000,ArmPullInTime=0.011111,bGapCentring=True,bPitchResponse=False,bPitchRoomLimit=False,bPitchFollow=False,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,bPitchFollowSlopes=False,PitchRecoverDelay=0.350000),DefaultBlendTime=0.250000)

Rig_ThirdPerson_Ragdoll#

(Settings=(PivotSocket="pelvis",PivotOffset=(X=0.000000,Y=0.000000,Z=0.000000),PivotLagSpeed=8.000000,Composition=(Target=(X=50.000000,Y=54.708163),Shifts=((Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),ArmLength=450.000000,AutoShoulderProbeReach=1.000000,MinPitch=-75.000000,ArmPullInTime=0.011111,bGapCentring=True,bGapYawAssist=True,bPitchRoomLimit=False,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000),DefaultBlendTime=0.500000)

Rig_ThirdPerson_Slide#

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=-35.000000),Composition=(Target=(X=33.118806,Y=52.728274),Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=Speed,DriverFull=300.000000,Amount=(X=-32.227734,Y=0.000000),BlendTime=0.750000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000)),MaxShift=(X=32.227734,Y=30.000000)),ArmLength=125.000000,AutoShoulderProbeReach=55.000000,MaxPitch=5.000000,FOV=105.000000,ArmPullInTime=0.011111,bGapCentring=True,bGapYawAssist=True,bPitchResponse=False,bPitchFollow=False,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,bPitchFollowSlopes=False,PitchRecoverDelay=0.350000),DefaultBlendTime=0.250000)

Rig_ThirdPerson_FirstPerson#

(Settings=(PivotSocket="eyes",PivotOffset=(X=0.000000,Y=0.000000,Z=0.000000),PivotLagSpeed=0.000000,Composition=(Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000))),ArmLength=0.000000,AutoShoulderProbeReach=1.000000,FOV=105.000000,ArmPullInTime=0.011111,LookAtOffsetDecay=5.000000,PitchArmScaleUp=0.900000,PitchFOVOffsetDown=0.000000,bAutoRecenter=True,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,SlopeFollowDelay=1.250000,Feelers=((PawnWeight=0.000000,ProbeRadius=12.000000)),BoneStabilisation=1.000000,BoneStabilisationSmoothing=0.010000),DefaultBlendTime=0.200000)

Rig_ThirdPerson_Gamepad#

(Settings=(Composition=(Target=(X=42.338727,Y=53.632011),Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),bDynamicFraming=False,ArmPullInTime=0.100000,ArmRelaxTime=0.650000,ArmDamping=(bLeadMovingTarget=False),OcclusionMinTime=0.100000,bAutoShoulderSwap=True,AutoShoulderPinchDistance=120.000000,AutoShoulderBlendTime=1.000000,bGapCentring=True,bGapYawAssist=True,LookAtOffsetDecay=5.000000,PitchArmScaleUp=0.900000,PitchFOVOffsetDown=0.000000,ProbePullRate=8.000000,bYawFollow=True,AmbientShakeWeight=1.000000,YawFollowSoftness=60.000000,bAutoRecenter=True,RecenterDelay=3.000000,RecenterSpeed=1.000000,bLookOvershoot=True,LookOvershootAmount=0.250000,LookOvershootDecay=0.200000,SlopeFollowDelay=0.750000,bPitchRecover=True,PitchRecoverDelay=0.350000,bPredictiveAvoidance=True,Feelers=((PawnWeight=0.000000,ProbeRadius=12.000000))),DefaultBlendTime=0.500000)

Rig_ThirdPerson_Idle#

(Settings=(PivotLagSpeed=8.000000,Composition=(Target=(X=50.000000,Y=54.708163),Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),ArmLength=600.000000,AutoShoulderProbeReach=1.000000,MinPitch=-75.000000,FOV=90.000000,ArmPullInTime=0.011111,bGapCentring=True,bGapYawAssist=True,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000),DefaultBlendTime=0.500000)

Rig_ThirdPersonAlt_Default#

(Settings=(Composition=(Target=(X=42.338727,Y=53.632011),Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),bDynamicFraming=False,ArmPullInTime=0.100000,ArmRelaxTime=0.650000,ArmDamping=(bLeadMovingTarget=False),OcclusionMinTime=0.100000,bAutoShoulderSwap=True,AutoShoulderPinchDistance=120.000000,AutoShoulderBlendTime=1.000000,bGapCentring=True,bGapYawAssist=True,LookAtOffsetDecay=5.000000,PitchArmScaleUp=0.900000,PitchFOVOffsetDown=0.000000,ProbePullRate=8.000000,AmbientShakeWeight=1.000000,YawFollowSoftness=60.000000,RecenterDelay=3.000000,RecenterSpeed=1.000000,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,SlopeFollowDelay=0.750000,PitchRecoverDelay=0.350000,bPredictiveAvoidance=True,Feelers=((PawnWeight=0.000000,ProbeRadius=12.000000))),DefaultBlendTime=0.500000)

Rig_ThirdPerson_LockOn#

The camera preset doesn't use it: its lock-on preset starts from it.

(Settings=(Composition=(Target=(X=40.819049,Y=54.352452),Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=FramingSubject,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.500000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),FOV=70.000000,ArmPullInTime=0.011111,bAutoShoulderSwap=True,bGapCentring=True,bGapYawAssist=True,bLookAtBreakFree=False,OrientationRequest=Aim,bPitchFollow=False,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,bPitchRecover=True,PitchRecoverDelay=0.350000))

Preset_ThirdPerson#

(DisplayName=INVTEXT("Third Person"),Description=INVTEXT("The shipping third-person camera. Aim, ragdoll and slide states, TP and FPS views, gamepad and mouse profiles, and an idle drift after ten seconds. Shakes: the Steadicam handheld and the default body motion."),Config=(DefaultSettings=(Composition=(Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000))),ArmPullInTime=0.011111),CameraStates=((Name="Aim"),(Name="Ragdoll",Priority=20),(Name="Slide")),ViewModes=((Name="TP"),(Name="FPS")),DefaultViewMode="TP",Comfort=(CentreDotSize=1.000000,CentreDotColour=(R=1.000000,G=1.000000,B=1.000000,A=0.800000),CentreDotPixels=3.000000),SteerRate=10.000000,bAutoDetectInputDevice=True,OnGamepad=KeepTheCurrent,bIdleCameraEnabled=True,IdleCameraBlendTime=4.000000))

Then give it its Rigs:

SettingRig
Default RigRig_ThirdPerson_Default
Camera States, AimRig_ThirdPerson_Aim
Camera States, RagdollRig_ThirdPerson_Ragdoll
Camera States, SlideRig_ThirdPerson_Slide
View Modes, TPRig_ThirdPerson_Default
View Modes, FPSRig_ThirdPerson_FirstPerson
Gamepad RigRig_ThirdPerson_Gamepad
Keyboard Mouse RigRig_ThirdPerson_Default
Idle Camera RigRig_ThirdPerson_Idle

Preset_ThirdPersonAlt#

(DisplayName=INVTEXT("Third Person Alt"),Description=INVTEXT("Third Person with the character nearer the middle of the screen, a gentler catch-up, no hanging back at speed, and a wall that swaps you to the other shoulder instead of sliding the shot across. Same states, views and shakes as Third Person."),Config=(DefaultSettings=(Composition=(Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000))),ArmPullInTime=0.011111),CameraStates=((Name="Aim"),(Name="Ragdoll",Priority=20),(Name="Slide")),ViewModes=((Name="TP"),(Name="FPS")),DefaultViewMode="TP",Comfort=(CentreDotSize=1.000000,CentreDotColour=(R=1.000000,G=1.000000,B=1.000000,A=0.800000),CentreDotPixels=3.000000),SteerRate=10.000000,bAutoDetectInputDevice=True,bIdleCameraEnabled=True,IdleCameraBlendTime=4.000000))

Then give it its Rigs:

SettingRig
Default RigRig_ThirdPersonAlt_Default
Camera States, AimRig_ThirdPerson_Aim
Camera States, RagdollRig_ThirdPerson_Ragdoll
Camera States, SlideRig_ThirdPerson_Slide
View Modes, TPRig_ThirdPersonAlt_Default
View Modes, FPSRig_ThirdPerson_FirstPerson
Gamepad RigRig_ThirdPerson_Gamepad
Keyboard Mouse RigRig_ThirdPerson_Default
Idle Camera RigRig_ThirdPerson_Idle

Action RPG#

Action RPG (Preset_ActionRPG). Centred orbit at a long arm, tuned for reading terrain and crowds rather than faces. Recentres behind the player on yaw only after a pause, and hands the shot to a dedicated lock-on rig when a target is held. Shakes: halfway between Survival Horror and Cinematic Action, a softer walking bob and a lighter camera operator.

Rig_ActionRPG_Default#

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=70.000000),PivotLagSpeed=12.000000,Composition=(Target=(X=50.000000,Y=52.000000),DeadZone=(X=12.000000,Y=14.000000),Recovery=3.000000,Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),bDynamicFraming=False,ArmLength=450.000000,AutoShoulderProbeReach=1.000000,MinPitch=-65.000000,MaxPitch=55.000000,FOV=72.000000,ArmPullInTime=0.100000,ArmRelaxTime=0.650000,ArmDamping=(bLeadMovingTarget=False),OcclusionMinTime=0.100000,AutoShoulderPinchDistance=120.000000,AutoShoulderBlendTime=1.000000,bGapCentring=True,bGapYawAssist=True,LookAtOffsetDecay=5.000000,PitchArmScaleUp=0.900000,PitchFOVOffsetDown=0.000000,ProbePullRate=8.000000,RestingPitch=-12.000000,bYawFollow=True,YawFollowSpeed=1.800000,YawFollowDelay=1.200000,AmbientShakeWeight=1.000000,YawFollowSoftness=60.000000,bAutoRecenter=True,RecenterDelay=3.000000,RecenterSpeed=2.500000,bRecenterYawOnly=True,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,SlopeFollowDelay=0.750000,PitchRecoverDelay=0.350000,bPredictiveAvoidance=True,Feelers=((PawnWeight=0.000000,ProbeRadius=12.000000))),DefaultBlendTime=0.500000)

Rig_ActionRPG_Aim#

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=70.000000),Composition=(Target=(X=20.000000,Y=55.000000),DeadZone=(X=5.000000,Y=7.000000),Recovery=5.000000,Shifts=((Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),ArmLength=210.000000,AutoShoulderProbeReach=38.000000,MinPitch=-65.000000,MaxPitch=55.000000,FOV=58.000000,ArmPullInTime=0.011111,bGapCentring=True,bPitchResponse=False,bPitchRoomLimit=False,HandheldWeight=0.500000,AmbientShakeWeight=0.500000,bPitchFollow=False,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,bPitchFollowSlopes=False,PitchRecoverDelay=0.350000),DefaultBlendTime=0.280000)

Rig_ActionRPG_Ragdoll#

(Settings=(PivotSocket="pelvis",PivotOffset=(X=0.000000,Y=0.000000,Z=0.000000),PivotLagSpeed=8.000000,Composition=(Target=(X=50.000000,Y=54.708163),Shifts=((Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),ArmLength=450.000000,AutoShoulderProbeReach=1.000000,MinPitch=-75.000000,ArmPullInTime=0.011111,bGapCentring=True,bGapYawAssist=True,bPitchRoomLimit=False,AmbientShakeWeight=1.000000,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000),DefaultBlendTime=0.500000)

Rig_ActionRPG_LockOn#

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=70.000000),Composition=(Target=(X=50.000000,Y=52.000000),Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=FramingSubject,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.500000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),ArmLength=420.000000,AutoShoulderProbeReach=1.000000,FOV=70.000000,ArmPullInTime=0.011111,bAutoShoulderSwap=True,bGapCentring=True,bGapYawAssist=True,bLookAtBreakFree=False,OrientationRequest=Aim,AmbientShakeWeight=1.000000,bPitchFollow=False,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,bPitchRecover=True,PitchRecoverDelay=0.350000),DefaultBlendTime=0.400000)

Preset_ActionRPG#

(DisplayName=INVTEXT("Action RPG"),Description=INVTEXT("Centred orbit at a long arm, tuned for reading terrain and crowds rather than faces. Recentres behind the player on yaw only after a pause, and hands the shot to a dedicated lock-on rig when a target is held. Shakes: halfway between Survival Horror and Cinematic Action, a softer walking bob and a lighter camera operator."),Config=(DefaultSettings=(Composition=(Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000))),ArmPullInTime=0.011111),CameraStates=((Name="Aim"),(Name="Ragdoll",Priority=20),(Name="LockOn",Priority=15)),ViewModes=((Name="TP")),DefaultViewMode="TP",Comfort=(CentreDotSize=1.000000,CentreDotColour=(R=1.000000,G=1.000000,B=1.000000,A=0.800000),CentreDotPixels=3.000000),SteerRate=10.000000,bAutoDetectInputDevice=True,IdleCameraBlendTime=4.000000))

Then give it its Rigs:

SettingRig
Default RigRig_ActionRPG_Default
Camera States, AimRig_ActionRPG_Aim
Camera States, RagdollRig_ActionRPG_Ragdoll
Camera States, LockOnRig_ActionRPG_LockOn
View Modes, TPRig_ActionRPG_Default

Hack And Slash#

Hack and Slash (Preset_HackAndSlash). Pulled well back and centred with a wider lens, so you can see enemies on every side. Follows like Action RPG but never recentres on its own, so the way you turned to check stays put. Shakes are kept to a minimum: the faintest breath, and hits and impacts at half strength.

Rig_HackAndSlash_Default#

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=70.000000),PivotLagSpeed=12.000000,Composition=(Target=(X=50.000000,Y=52.000000),DeadZone=(X=12.000000,Y=14.000000),Recovery=3.000000,Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),bDynamicFraming=False,ArmLength=600.000000,AutoShoulderProbeReach=1.000000,MinPitch=-65.000000,MaxPitch=55.000000,ArmPullInTime=0.100000,ArmRelaxTime=0.650000,ArmDamping=(bLeadMovingTarget=False),OcclusionMinTime=0.100000,AutoShoulderPinchDistance=120.000000,AutoShoulderBlendTime=1.000000,bGapCentring=True,bGapYawAssist=True,LookAtOffsetDecay=5.000000,PitchArmScaleUp=0.900000,PitchFOVOffsetDown=0.000000,ProbePullRate=8.000000,RestingPitch=-12.000000,bYawFollow=True,YawFollowSpeed=1.800000,YawFollowDelay=1.200000,YawFollowSoftness=60.000000,RecenterDelay=3.000000,RecenterSpeed=2.500000,bRecenterYawOnly=True,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,SlopeFollowDelay=0.750000,PitchRecoverDelay=0.350000,bPredictiveAvoidance=True,Feelers=((PawnWeight=0.000000,ProbeRadius=12.000000)),HandheldTransientScale=0.500000),DefaultBlendTime=0.500000)

Rig_HackAndSlash_Aim#

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=70.000000),Composition=(Target=(X=20.000000,Y=55.000000),DeadZone=(X=5.000000,Y=7.000000),Recovery=5.000000,Shifts=((Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),ArmLength=210.000000,AutoShoulderProbeReach=38.000000,MinPitch=-65.000000,MaxPitch=55.000000,FOV=58.000000,ArmPullInTime=0.011111,bGapCentring=True,bPitchResponse=False,bPitchRoomLimit=False,HandheldWeight=0.500000,bPitchFollow=False,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,bPitchFollowSlopes=False,PitchRecoverDelay=0.350000,HandheldTransientScale=0.500000),DefaultBlendTime=0.280000)

Rig_HackAndSlash_Ragdoll#

(Settings=(PivotSocket="pelvis",PivotOffset=(X=0.000000,Y=0.000000,Z=0.000000),PivotLagSpeed=8.000000,Composition=(Target=(X=50.000000,Y=54.708163),Shifts=((Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),ArmLength=450.000000,AutoShoulderProbeReach=1.000000,MinPitch=-75.000000,ArmPullInTime=0.011111,bGapCentring=True,bGapYawAssist=True,bPitchRoomLimit=False,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,HandheldTransientScale=0.500000),DefaultBlendTime=0.500000)

Rig_HackAndSlash_LockOn#

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=70.000000),Composition=(Target=(X=50.000000,Y=52.000000),Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=FramingSubject,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.500000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),ArmLength=560.000000,AutoShoulderProbeReach=1.000000,FOV=78.000000,ArmPullInTime=0.011111,bAutoShoulderSwap=True,bGapCentring=True,bGapYawAssist=True,bLookAtBreakFree=False,OrientationRequest=Aim,bPitchFollow=False,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,bPitchRecover=True,PitchRecoverDelay=0.350000,HandheldTransientScale=0.500000),DefaultBlendTime=0.400000)

Preset_HackAndSlash#

(DisplayName=INVTEXT("Hack and Slash"),Description=INVTEXT("Pulled well back and centred with a wider lens, so you can see enemies on every side. Follows like Action RPG but never recentres on its own, so the way you turned to check stays put. Shakes are kept to a minimum: the faintest breath, and hits and impacts at half strength."),Config=(DefaultSettings=(Composition=(Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000))),ArmPullInTime=0.011111),CameraStates=((Name="Aim"),(Name="Ragdoll",Priority=20),(Name="LockOn",Priority=15)),ViewModes=((Name="TP")),DefaultViewMode="TP",Comfort=(CentreDotSize=1.000000,CentreDotColour=(R=1.000000,G=1.000000,B=1.000000,A=0.800000),CentreDotPixels=3.000000),SteerRate=10.000000,bAutoDetectInputDevice=True,IdleCameraBlendTime=4.000000))

Then give it its Rigs:

SettingRig
Default RigRig_HackAndSlash_Default
Camera States, AimRig_HackAndSlash_Aim
Camera States, RagdollRig_HackAndSlash_Ragdoll
Camera States, LockOnRig_HackAndSlash_LockOn
View Modes, TPRig_HackAndSlash_Default

Cinematic#

Cinematic Action (Preset_CinematicAction). Close over-the-shoulder with the character high in the frame. Shakes: the whole handheld camera operator, breathing, walking with you, floating behind every start and stop, a beat late on every pan and a jolt on a whip pan.

Cinematic Exploration (Preset_CinematicExploration). A high, wide shot for travelling: ten metres back and two and a half up, with the character pulling ahead as you move. Shares Cinematic Action's aim, lock-on and camera operator.

Rig_CinematicAction_Default#

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=58.000000),PivotLagSpeed=18.000000,Composition=(Target=(X=30.000000,Y=40.000000),DeadZone=(X=5.000000,Y=7.000000),Recovery=3.000000,Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),bDynamicFraming=False,ArmLength=160.000000,MinPitch=-44.000000,MaxPitch=40.000000,FOV=72.000000,ArmPullInTime=0.100000,ArmRelaxTime=0.650000,ArmDamping=(bLeadMovingTarget=False),OcclusionMinTime=0.100000,bAutoShoulderSwap=True,ShoulderResponse=Slide,AutoShoulderPinchDistance=120.000000,AutoShoulderBlendTime=1.000000,bGapCentring=True,bGapYawAssist=True,LookAtOffsetDecay=5.000000,OrientationRequest=Strafe,PitchArmScaleUp=0.900000,PitchFOVOffsetDown=0.000000,ProbePullRate=8.000000,RestingPitch=-6.000000,bYawFollow=True,YawFollowSoftness=60.000000,bAutoRecenter=True,RecenterSpeed=0.250000,bLookOvershoot=True,LookOvershootAmount=0.100000,LookOvershootDecay=0.100000,SlopeFollowDelay=0.750000,bPitchRecover=True,PitchRecoverDelay=0.350000,bPredictiveAvoidance=True,Feelers=((PawnWeight=0.000000,ProbeRadius=12.000000)),HandheldTransientScale=0.500000),DefaultBlendTime=0.450000)

Rig_CinematicAction_Aim#

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=62.000000),PivotLagSpeed=24.000000,Composition=(Target=(X=16.000000,Y=57.000000),DeadZone=(X=5.000000,Y=7.000000),Recovery=5.000000,Shifts=((Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),ArmLength=82.000000,AutoShoulderProbeReach=50.000000,MinPitch=-50.000000,MaxPitch=45.000000,FOV=62.000000,ArmPullInTime=0.011111,bGapCentring=True,bPitchResponse=False,bPitchRoomLimit=False,HandheldWeight=0.500000,bPitchFollow=False,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,bPitchFollowSlopes=False,PitchRecoverDelay=0.350000),DefaultBlendTime=0.220000)

Rig_CinematicAction_Ragdoll#

(Settings=(PivotSocket="pelvis",PivotOffset=(X=0.000000,Y=0.000000,Z=0.000000),PivotLagSpeed=8.000000,Composition=(Target=(X=50.000000,Y=54.708163),Shifts=((Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),ArmLength=450.000000,AutoShoulderProbeReach=1.000000,MinPitch=-75.000000,ArmPullInTime=0.011111,bGapCentring=True,bGapYawAssist=True,bPitchRoomLimit=False,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000),DefaultBlendTime=0.500000)

Rig_CinematicAction_LockOn#

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=62.000000),Composition=(Target=(X=36.570323,Y=72.686464),Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=FramingSubject,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.500000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),ArmLength=160.000000,AutoShoulderProbeReach=32.000000,FOV=70.000000,ArmPullInTime=0.011111,bAutoShoulderSwap=True,ShoulderResponse=Slide,bGapCentring=True,bGapYawAssist=True,bLookAtBreakFree=False,OrientationRequest=Aim,bPitchFollow=False,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,bPitchRecover=True,PitchRecoverDelay=0.350000))

Rig_CinematicExploration_Default#

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=250.000000),PivotLagSpeed=18.000000,PivotLag=(bEnabled=True,MaxDistance=600.000000),Composition=(Target=(X=25.000000,Y=0.000000),DeadZone=(X=5.000000,Y=7.000000),Recovery=3.000000,PitchUp=(Response=(EditorCurveData=(Keys=((InterpMode=RCIM_Cubic),(InterpMode=RCIM_Cubic,Time=1.000000,Value=1.000000))))),Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),bDynamicFraming=False,ArmLength=1000.000000,MaxPitch=0.000000,FOV=72.000000,ArmPullInTime=0.100000,ArmRelaxTime=0.650000,ArmDamping=(bLeadMovingTarget=False),OcclusionMinTime=0.100000,bAutoShoulderSwap=True,ShoulderResponse=Slide,AutoShoulderPinchDistance=300.000000,AutoShoulderBlendTime=1.000000,bGapCentring=True,bGapYawAssist=True,LookAtOffsetDecay=5.000000,PitchArmScaleUp=1.500000,PitchArmScaleDown=1.000000,PitchFOVOffsetDown=-10.000000,ProbePullRate=8.000000,RestingPitch=-6.000000,bYawFollow=True,YawFollowSoftness=60.000000,bAutoRecenter=True,RecenterSpeed=0.250000,bLookOvershoot=True,LookOvershootAmount=0.100000,LookOvershootDecay=0.100000,SlopeFollowDelay=0.750000,bPitchRecover=True,PitchRecoverDelay=0.350000,bPredictiveAvoidance=True,Feelers=((PawnWeight=0.000000,ProbeRadius=12.000000)),HandheldTransientScale=0.500000),DefaultBlendTime=0.450000)

Rig_CinematicAction_Close#

No preset uses it: a closer Cinematic Action shot, 115 cm back on a wider lens, for a volume or a Blueprint to ask for.

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=62.000000),PivotLagSpeed=20.000000,Composition=(Target=(X=34.000000,Y=58.000000),DeadZone=(X=9.000000,Y=11.000000),Recovery=3.500000,Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),bDynamicFraming=False,ArmLength=115.000000,AutoShoulderProbeReach=58.000000,MinPitch=-50.000000,MaxPitch=45.000000,FOV=76.000000,ArmPullInTime=0.100000,ArmRelaxTime=0.650000,ArmDamping=(bLeadMovingTarget=False),OcclusionMinTime=0.100000,AutoShoulderPinchDistance=120.000000,AutoShoulderBlendTime=1.000000,bGapCentring=True,bGapYawAssist=True,LookAtOffsetDecay=5.000000,PitchArmScaleUp=0.900000,PitchFOVOffsetDown=0.000000,ProbePullRate=8.000000,RestingPitch=-4.000000,bYawFollow=True,YawFollowSpeed=1.200000,YawFollowDelay=0.800000,YawFollowSoftness=60.000000,RecenterDelay=3.000000,RecenterSpeed=1.000000,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,SlopeFollowDelay=0.750000,PitchRecoverDelay=0.350000,bPredictiveAvoidance=True,Feelers=((PawnWeight=0.000000,ProbeRadius=12.000000))),DefaultBlendTime=0.550000)

Preset_CinematicAction#

(DisplayName=INVTEXT("Cinematic Action"),Description=INVTEXT("Close over-the-shoulder with the character high in the frame. Shakes: the whole handheld camera operator, breathing, walking with you, floating behind every start and stop, a beat late on every pan and a jolt on a whip pan."),Config=(DefaultSettings=(Composition=(Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000))),ArmPullInTime=0.011111),CameraStates=((Name="Aim"),(Name="Ragdoll",Priority=20),(Name="LockOn",Priority=15)),ViewModes=((Name="TP")),DefaultViewMode="TP",Comfort=(CentreDotSize=1.000000,CentreDotColour=(R=1.000000,G=1.000000,B=1.000000,A=0.800000),CentreDotPixels=3.000000),SteerRate=10.000000,bAutoDetectInputDevice=True,IdleCameraBlendTime=4.000000))

Then give it its Rigs:

SettingRig
Default RigRig_CinematicAction_Default
Camera States, AimRig_CinematicAction_Aim
Camera States, RagdollRig_CinematicAction_Ragdoll
Camera States, LockOnRig_CinematicAction_LockOn
View Modes, TPRig_CinematicAction_Default

Preset_CinematicExploration#

(DisplayName=INVTEXT("Cinematic Exploration"),Description=INVTEXT("A high, wide shot for travelling: ten metres back and two and a half up, with the character pulling ahead as you move. Shares Cinematic Action\'s aim, lock-on and camera operator."),Config=(DefaultSettings=(Composition=(Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000))),ArmPullInTime=0.011111),CameraStates=((Name="Aim"),(Name="Ragdoll",Priority=20),(Name="LockOn",Priority=15)),ViewModes=((Name="TP")),DefaultViewMode="TP",Comfort=(CentreDotSize=1.000000,CentreDotColour=(R=1.000000,G=1.000000,B=1.000000,A=0.800000),CentreDotPixels=3.000000),SteerRate=10.000000,bAutoDetectInputDevice=True,IdleCameraBlendTime=4.000000))

Then give it its Rigs:

SettingRig
Default RigRig_CinematicExploration_Default
Camera States, AimRig_CinematicAction_Aim
Camera States, RagdollRig_CinematicAction_Ragdoll
Camera States, LockOnRig_CinematicAction_LockOn
View Modes, TPRig_CinematicExploration_Default

Survival Horror#

Survival Horror (Preset_SurvivalHorror). Tight over-the-shoulder with a short arm, for slow, careful movement. Shakes: a simple walking bob and the faintest breath, so it feels like your own steps rather than a camera operator.

Immersive (Preset_Immersive). Survival Horror with the automatic follows switched off: the camera only moves when the player moves it, which is what makes a corridor feel like a corridor. Same shakes as Survival Horror.

Tight Squeeze (Preset_TightSqueeze). For narrow corridors and crawlspaces: the camera sits 60 cm back, almost centred, and swings no more than five degrees either side. Meant for a volume rather than a whole game. Same shakes as Survival Horror.

Rig_SurvivalHorror_Default#

(Settings=(PivotLagSpeed=18.000000,Composition=(Target=(X=29.411882,Y=44.663900),DeadZone=(X=5.000000,Y=7.000000),Recovery=3.000000,PitchUp=(Response=(EditorCurveData=(Keys=((InterpMode=RCIM_Cubic),(InterpMode=RCIM_Cubic,Time=1.000000,Value=1.000000))))),PitchDown=(Response=(EditorCurveData=(Keys=((InterpMode=RCIM_Cubic),(InterpMode=RCIM_Cubic,Time=1.000000,Value=1.000000))))),Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),bDynamicFraming=False,ArmLength=140.000000,MaxPitch=55.000000,ArmPullInTime=0.100000,ArmRelaxTime=0.650000,ArmDamping=(bLeadMovingTarget=False),OcclusionMinTime=0.100000,bAutoShoulderSwap=True,ShoulderResponse=Slide,AutoShoulderPinchDistance=120.000000,AutoShoulderBlendTime=1.000000,bGapCentring=True,bGapYawAssist=True,LookAtOffsetDecay=5.000000,OrientationRequest=Strafe,PitchArmScaleUp=0.900000,PitchFOVOffsetDown=0.000000,ProbePullRate=8.000000,RestingPitch=-6.000000,bYawFollow=True,AmbientShakeWeight=1.000000,YawFollowSoftness=60.000000,RecenterDelay=1.000000,RecenterSpeed=6.000000,bLookOvershoot=True,LookOvershootAmount=0.107335,LookOvershootDecay=0.546971,SlopeFollowDelay=0.750000,bPitchRecover=True,PitchRecoverDelay=0.350000,bConstrainYaw=True,bPredictiveAvoidance=True,Feelers=((PawnWeight=0.000000,ProbeRadius=12.000000)),PostProcess=(Weight=1.000000,bOverrideExposureSpeed=True,ExposureSpeedDown=3.000000),HandheldTransientScale=0.500000),DefaultBlendTime=0.450000)

Rig_SurvivalHorror_Aim#

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=58.000000),PivotLagSpeed=22.000000,Composition=(Target=(X=16.000000,Y=55.000000),DeadZone=(X=4.000000,Y=6.000000),Recovery=5.000000,Shifts=((Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),ArmLength=110.000000,AutoShoulderProbeReach=44.000000,MinPitch=-55.000000,MaxPitch=55.000000,FOV=65.000000,ArmPullInTime=0.011111,bGapCentring=True,bPitchResponse=False,bPitchRoomLimit=False,HandheldWeight=0.500000,AmbientShakeWeight=0.500000,bPitchFollow=False,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,bPitchFollowSlopes=False,PitchRecoverDelay=0.350000),DefaultBlendTime=0.200000)

Rig_SurvivalHorror_Ragdoll#

(Settings=(PivotSocket="pelvis",PivotOffset=(X=0.000000,Y=0.000000,Z=0.000000),PivotLagSpeed=8.000000,Composition=(Target=(X=50.000000,Y=54.708163),Shifts=((Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),ArmLength=450.000000,AutoShoulderProbeReach=1.000000,MinPitch=-75.000000,ArmPullInTime=0.011111,bGapCentring=True,bGapYawAssist=True,bPitchRoomLimit=False,AmbientShakeWeight=1.000000,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000),DefaultBlendTime=0.500000)

Rig_SurvivalHorror_Slide#

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=-35.000000),Composition=(Target=(X=33.118806,Y=52.728274),Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=Speed,DriverFull=300.000000,Amount=(X=-32.227734,Y=0.000000),BlendTime=0.750000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000)),MaxShift=(X=32.227734,Y=30.000000)),ArmLength=125.000000,AutoShoulderProbeReach=55.000000,MaxPitch=5.000000,FOV=105.000000,ArmPullInTime=0.011111,bGapCentring=True,bGapYawAssist=True,bPitchResponse=False,AmbientShakeWeight=1.000000,bPitchFollow=False,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,bPitchFollowSlopes=False,PitchRecoverDelay=0.350000),DefaultBlendTime=0.250000)

Rig_Immersive_Default#

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=58.000000),PivotLagSpeed=18.000000,Composition=(Target=(X=24.000000,Y=44.663900),DeadZone=(X=5.000000,Y=7.000000),Recovery=3.000000,PitchUp=(Response=(EditorCurveData=(Keys=((InterpMode=RCIM_Cubic),(InterpMode=RCIM_Cubic,Time=1.000000,Value=1.000000))))),PitchDown=(Response=(EditorCurveData=(Keys=((InterpMode=RCIM_Cubic),(InterpMode=RCIM_Cubic,Time=1.000000,Value=1.000000))))),Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),bDynamicFraming=False,ArmLength=140.000000,MinPitch=-55.000000,MaxPitch=55.000000,ArmPullInTime=0.100000,ArmRelaxTime=0.650000,ArmDamping=(bLeadMovingTarget=False),OcclusionMinTime=0.100000,bAutoShoulderSwap=True,ShoulderResponse=Slide,AutoShoulderPinchDistance=120.000000,AutoShoulderBlendTime=1.000000,bGapCentring=True,bGapYawAssist=True,LookAtOffsetDecay=5.000000,OrientationRequest=Strafe,PitchArmScaleUp=0.900000,PitchFOVOffsetDown=0.000000,ProbePullRate=8.000000,RestingPitch=-6.000000,AmbientShakeWeight=1.000000,YawFollowSoftness=60.000000,RecenterDelay=3.000000,RecenterSpeed=1.000000,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,SlopeFollowDelay=0.750000,PitchRecoverDelay=0.350000,bConstrainYaw=True,bPredictiveAvoidance=True,Feelers=((PawnWeight=0.000000,ProbeRadius=12.000000)),PostProcess=(Weight=1.000000,bOverrideExposureSpeed=True,ExposureSpeedDown=3.000000),HandheldTransientScale=0.500000),DefaultBlendTime=0.450000)

Rig_TightSqueeze_Default#

(Settings=(PivotOffset=(X=0.000000,Y=5.000000,Z=65.000000),PivotLagSpeed=18.000000,Composition=(Target=(X=45.000000,Y=40.141800),DeadZone=(X=5.000000,Y=7.000000),Recovery=3.000000,bConstantSubjectDistance=True,Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),bDynamicFraming=False,ArmLength=60.000000,MinPitch=-35.000000,MaxPitch=55.000000,ArmPullInTime=0.100000,ArmRelaxTime=0.650000,ArmDamping=(bLeadMovingTarget=False),OcclusionMinTime=0.100000,ShoulderResponse=Slide,AutoShoulderPinchDistance=120.000000,AutoShoulderBlendTime=1.000000,bGapCentring=True,bGapYawAssist=True,LookAtOffsetDecay=5.000000,OrientationRequest=Strafe,PitchArmScaleUp=0.900000,PitchFOVOffsetDown=0.000000,ProbePullRate=8.000000,RestingPitch=-6.000000,AmbientShakeWeight=1.000000,YawFollowSoftness=60.000000,RecenterDelay=3.000000,RecenterSpeed=1.000000,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,SlopeFollowDelay=0.750000,PitchRecoverDelay=0.350000,bConstrainYaw=True,LocalMinYaw=-5.000000,LocalMaxYaw=5.000000,bPredictiveAvoidance=True,Feelers=((PawnWeight=0.000000,ProbeRadius=12.000000)),PostProcess=(Weight=1.000000,bOverrideExposureSpeed=True,ExposureSpeedDown=3.000000),HandheldTransientScale=0.500000),DefaultBlendTime=0.450000)

Preset_SurvivalHorror#

(DisplayName=INVTEXT("Survival Horror"),Description=INVTEXT("Tight over-the-shoulder with a short arm, for slow, careful movement. Shakes: a simple walking bob and the faintest breath, so it feels like your own steps rather than a camera operator."),Config=(DefaultSettings=(Composition=(Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000))),ArmPullInTime=0.011111),CameraStates=((Name="Aim"),(Name="Ragdoll",Priority=20),(Name="Slide")),ViewModes=((Name="TP")),DefaultViewMode="TP",Comfort=(CentreDotSize=1.000000,CentreDotColour=(R=1.000000,G=1.000000,B=1.000000,A=0.800000),CentreDotPixels=3.000000),SteerRate=10.000000,bAutoDetectInputDevice=True,IdleCameraBlendTime=4.000000))

Then give it its Rigs:

SettingRig
Default RigRig_SurvivalHorror_Default
Camera States, AimRig_SurvivalHorror_Aim
Camera States, RagdollRig_SurvivalHorror_Ragdoll
Camera States, SlideRig_SurvivalHorror_Slide
View Modes, TPRig_SurvivalHorror_Default

Preset_Immersive#

(DisplayName=INVTEXT("Immersive"),Description=INVTEXT("Survival Horror with the automatic follows switched off: the camera only moves when the player moves it, which is what makes a corridor feel like a corridor. Same shakes as Survival Horror."),Config=(DefaultSettings=(Composition=(Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000))),ArmPullInTime=0.011111),CameraStates=((Name="Aim"),(Name="Ragdoll",Priority=20),(Name="Slide")),ViewModes=((Name="TP")),DefaultViewMode="TP",Comfort=(CentreDotSize=1.000000,CentreDotColour=(R=1.000000,G=1.000000,B=1.000000,A=0.800000),CentreDotPixels=3.000000),SteerRate=10.000000,bAutoDetectInputDevice=True,IdleCameraBlendTime=4.000000))

Then give it its Rigs:

SettingRig
Default RigRig_Immersive_Default
Camera States, AimRig_SurvivalHorror_Aim
Camera States, RagdollRig_SurvivalHorror_Ragdoll
Camera States, SlideRig_SurvivalHorror_Slide
View Modes, TPRig_Immersive_Default

Preset_TightSqueeze#

(DisplayName=INVTEXT("Tight Squeeze"),Description=INVTEXT("For narrow corridors and crawlspaces: the camera sits 60 cm back, almost centred, and swings no more than five degrees either side. Meant for a volume rather than a whole game. Same shakes as Survival Horror."),Config=(DefaultSettings=(Composition=(Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000))),ArmPullInTime=0.011111),CameraStates=((Name="Aim"),(Name="Ragdoll",Priority=20),(Name="Slide")),ViewModes=((Name="TP")),DefaultViewMode="TP",Comfort=(CentreDotSize=1.000000,CentreDotColour=(R=1.000000,G=1.000000,B=1.000000,A=0.800000),CentreDotPixels=3.000000),SteerRate=10.000000,bAutoDetectInputDevice=True,IdleCameraBlendTime=4.000000))

Then give it its Rigs:

SettingRig
Default RigRig_TightSqueeze_Default
Camera States, AimRig_SurvivalHorror_Aim
Camera States, RagdollRig_SurvivalHorror_Ragdoll
Camera States, SlideRig_SurvivalHorror_Slide
View Modes, TPRig_TightSqueeze_Default

Fixed Angles#

Fixed Angles (Preset_FixedAngles). Placed cameras take the shot room by room and cut as you walk between them, and the stick keeps its direction across every cut. Aiming cuts to a tight over-the-shoulder shot and back. Away from the fixed cameras, a tight over-the-shoulder camera for slow, careful movement. Shakes: a simple walking bob, which plays through the follow camera and never through a placed camera.

Rig_FixedAngles_Default#

(Settings=(PivotLagSpeed=18.000000,Composition=(Target=(X=29.411882,Y=44.663900),DeadZone=(X=5.000000,Y=7.000000),Recovery=3.000000,PitchUp=(Response=(EditorCurveData=(Keys=((InterpMode=RCIM_Cubic),(InterpMode=RCIM_Cubic,Time=1.000000,Value=1.000000))))),PitchDown=(Response=(EditorCurveData=(Keys=((InterpMode=RCIM_Cubic),(InterpMode=RCIM_Cubic,Time=1.000000,Value=1.000000))))),Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),bDynamicFraming=False,ArmLength=140.000000,MaxPitch=55.000000,ArmPullInTime=0.100000,ArmRelaxTime=0.650000,ArmDamping=(bLeadMovingTarget=False),OcclusionMinTime=0.100000,bAutoShoulderSwap=True,ShoulderResponse=Slide,AutoShoulderPinchDistance=120.000000,AutoShoulderBlendTime=1.000000,bGapCentring=True,bGapYawAssist=True,LookAtOffsetDecay=5.000000,OrientationRequest=Strafe,PitchArmScaleUp=0.900000,PitchFOVOffsetDown=0.000000,ProbePullRate=8.000000,RestingPitch=-6.000000,bYawFollow=True,AmbientShakeWeight=1.000000,YawFollowSoftness=60.000000,RecenterDelay=1.000000,RecenterSpeed=6.000000,bLookOvershoot=True,LookOvershootAmount=0.107335,LookOvershootDecay=0.546971,SlopeFollowDelay=0.750000,bPitchRecover=True,PitchRecoverDelay=0.350000,bConstrainYaw=True,bPredictiveAvoidance=True,Feelers=((PawnWeight=0.000000,ProbeRadius=12.000000)),PostProcess=(Weight=1.000000,bOverrideExposureSpeed=True,ExposureSpeedDown=3.000000),HandheldTransientScale=0.500000),DefaultBlendTime=0.450000)

Rig_FixedAngles_Aim#

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=58.000000),PivotLagSpeed=22.000000,Composition=(Target=(X=16.000000,Y=55.000000),DeadZone=(X=4.000000,Y=6.000000),Recovery=5.000000,Shifts=((Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),ArmLength=110.000000,AutoShoulderProbeReach=44.000000,MinPitch=-55.000000,MaxPitch=55.000000,FOV=65.000000,ArmPullInTime=0.011111,bGapCentring=True,bPitchResponse=False,bPitchRoomLimit=False,HandheldWeight=0.500000,AmbientShakeWeight=0.500000,bPitchFollow=False,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,bPitchFollowSlopes=False,PitchRecoverDelay=0.350000),DefaultBlendTime=0.200000)

Rig_FixedAngles_Ragdoll#

(Settings=(PivotSocket="pelvis",PivotOffset=(X=0.000000,Y=0.000000,Z=0.000000),PivotLagSpeed=8.000000,Composition=(Target=(X=50.000000,Y=54.708163),Shifts=((Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),ArmLength=450.000000,AutoShoulderProbeReach=1.000000,MinPitch=-75.000000,ArmPullInTime=0.011111,bGapCentring=True,bGapYawAssist=True,bPitchRoomLimit=False,AmbientShakeWeight=1.000000,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000),DefaultBlendTime=0.500000)

Rig_FixedAngles_Slide#

(Settings=(PivotOffset=(X=0.000000,Y=0.000000,Z=-35.000000),Composition=(Target=(X=33.118806,Y=52.728274),Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=Speed,DriverFull=300.000000,Amount=(X=-32.227734,Y=0.000000),BlendTime=0.750000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000)),MaxShift=(X=32.227734,Y=30.000000)),ArmLength=125.000000,AutoShoulderProbeReach=55.000000,MaxPitch=5.000000,FOV=105.000000,ArmPullInTime=0.011111,bGapCentring=True,bGapYawAssist=True,bPitchResponse=False,AmbientShakeWeight=1.000000,bPitchFollow=False,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,bPitchFollowSlopes=False,PitchRecoverDelay=0.350000),DefaultBlendTime=0.250000)

Preset_FixedAngles#

(DisplayName=INVTEXT("Fixed Angles"),Description=INVTEXT("Placed cameras take the shot room by room and cut as you walk between them, and the stick keeps its direction across every cut. Aiming cuts to a tight over-the-shoulder shot and back. Away from the fixed cameras, a tight over-the-shoulder camera for slow, careful movement. Shakes: a simple walking bob, which plays through the follow camera and never through a placed camera."),Config=(DefaultSettings=(Composition=(Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000))),ArmPullInTime=0.011111),CameraStates=((Name="Aim",BlendInTime=0.000000,BlendOutTime=0.000000),(Name="Ragdoll",Priority=20),(Name="Slide")),ViewModes=((Name="TP")),DefaultViewMode="TP",Comfort=(CentreDotSize=1.000000,CentreDotColour=(R=1.000000,G=1.000000,B=1.000000,A=0.800000),CentreDotPixels=3.000000),SteerRate=10.000000,bAutoDetectInputDevice=True,IdleCameraBlendTime=4.000000))

Then give it its Rigs:

SettingRig
Default RigRig_FixedAngles_Default
Camera States, AimRig_FixedAngles_Aim
Camera States, RagdollRig_FixedAngles_Ragdoll
Camera States, SlideRig_FixedAngles_Slide
View Modes, TPRig_FixedAngles_Default

Top Down#

Top Down (Preset_TopDown). High overhead, looking almost straight down and facing a fixed direction, north up. The mouse and the look stick leave it alone: bind Rotate Camera to turn it, smoothly from a stick or 45 or 90 degrees a press. Holds its angle through aiming and ragdolls. No body or handheld motion this high up, though hits still land.

Rig_TopDown_Default#

(Settings=(Composition=(DeadZone=(X=3.000000,Y=3.000000),Reach=600.000000),ArmLength=1300.000000,FOV=60.000000,ManualZoom=(bEnabled=True),bDoCollisionTest=False,bDecollide=False,bAllowLookAtOffset=False,bLookAtBreakFree=False,bPitchResponse=False,bUseProbeAiming=False,bPitchRoomLimit=False,bHoldAngle=True,HeldPitch=-75.000000,bPitchFollow=False,bPitchFollowSlopes=False,bPitchFollowWhenFalling=False,HandheldAmbientScale=0.000000),DefaultBlendTime=2.000000)

Preset_TopDown#

(DisplayName=INVTEXT("Top Down"),Description=INVTEXT("High overhead, looking almost straight down and facing a fixed direction, north up. The mouse and the look stick leave it alone: bind Rotate Camera to turn it, smoothly from a stick or 45 or 90 degrees a press. Holds its angle through aiming and ragdolls. No body or handheld motion this high up, though hits still land."),Config=(DefaultSettings=(Composition=(Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000))),ArmPullInTime=0.011111),CameraStates=((Name="Aim"),(Name="Ragdoll",Priority=20),(Name="LockOn",Priority=15),(Name="Slide")),ViewModes=((Name="TP")),DefaultViewMode="TP",Comfort=(CentreDotSize=1.000000,CentreDotColour=(R=1.000000,G=1.000000,B=1.000000,A=0.800000),CentreDotPixels=3.000000),SteerRate=10.000000,bAutoDetectInputDevice=True,IdleCameraBlendTime=4.000000))

Then give it its Rigs:

SettingRig
Default RigRig_TopDown_Default
Camera States, AimRig_TopDown_Default
Camera States, RagdollRig_TopDown_Default
Camera States, LockOnRig_TopDown_Default
Camera States, SlideRig_TopDown_Default
View Modes, TPRig_TopDown_Default

Isometric#

Isometric (Preset_Isometric). The action RPG overhead view: steep, far back and on a long lens, held on the world diagonal so a level built on a grid runs corner to corner. Turn it with Rotate Camera, 45 or 90 degrees a press. Holds its angle through aiming and ragdolls. No body or handheld motion, though hits still land.

Rig_Isometric_Default#

(Settings=(Composition=(DeadZone=(X=3.000000,Y=3.000000),Reach=600.000000),ArmLength=2000.000000,FOV=40.000000,ManualZoom=(bEnabled=True),bDoCollisionTest=False,bDecollide=False,bAllowLookAtOffset=False,bLookAtBreakFree=False,bPitchResponse=False,bUseProbeAiming=False,bPitchRoomLimit=False,bHoldAngle=True,HeldYaw=45.000000,bPitchFollow=False,bPitchFollowSlopes=False,bPitchFollowWhenFalling=False,HandheldAmbientScale=0.000000),DefaultBlendTime=2.000000)

Preset_Isometric#

(DisplayName=INVTEXT("Isometric"),Description=INVTEXT("The action RPG overhead view: steep, far back and on a long lens, held on the world diagonal so a level built on a grid runs corner to corner. Turn it with Rotate Camera, 45 or 90 degrees a press. Holds its angle through aiming and ragdolls. No body or handheld motion, though hits still land."),Config=(DefaultSettings=(Composition=(Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000))),ArmPullInTime=0.011111),CameraStates=((Name="Aim"),(Name="Ragdoll",Priority=20),(Name="LockOn",Priority=15),(Name="Slide")),ViewModes=((Name="TP")),DefaultViewMode="TP",Comfort=(CentreDotSize=1.000000,CentreDotColour=(R=1.000000,G=1.000000,B=1.000000,A=0.800000),CentreDotPixels=3.000000),SteerRate=10.000000,bAutoDetectInputDevice=True,IdleCameraBlendTime=4.000000))

Then give it its Rigs:

SettingRig
Default RigRig_Isometric_Default
Camera States, AimRig_Isometric_Default
Camera States, RagdollRig_Isometric_Default
Camera States, LockOnRig_Isometric_Default
Camera States, SlideRig_Isometric_Default
View Modes, TPRig_Isometric_Default

Side Scroller#

Side Scroller (Preset_SideScroller). Side-on, looking along -Y so +X runs left to right. Leads the way you run, and is slow to follow height so a jump rises without the camera bobbing up after it. Holds its angle through every state. No body or handheld motion, though hits still land.

Rig_SideScroller_Default#

(Settings=(VerticalFollow=0.350000,Composition=(DeadZone=(X=4.000000,Y=12.000000),Reach=600.000000,Shifts=((Driver=YawFromMovement,DriverFull=180.000000,Response=(EditorCurveData=(Keys=((),(Time=0.500000,Value=1.000000),(Time=1.000000)))),Amount=(X=-18.000000,Y=0.000000),BlendTime=1.000000,bEaseDirection=True))),ArmLength=1100.000000,FOV=55.000000,bDoCollisionTest=False,bDecollide=False,bAllowLookAtOffset=False,bLookAtBreakFree=False,bPitchResponse=False,bUseProbeAiming=False,bPitchRoomLimit=False,bHoldAngle=True,HeldPitch=-8.000000,HeldYaw=-90.000000,bPitchFollow=False,bPitchFollowSlopes=False,bPitchFollowWhenFalling=False,HandheldAmbientScale=0.000000),DefaultBlendTime=2.000000)

Preset_SideScroller#

(DisplayName=INVTEXT("Side Scroller"),Description=INVTEXT("Side-on, looking along -Y so +X runs left to right. Leads the way you run, and is slow to follow height so a jump rises without the camera bobbing up after it. Holds its angle through every state. No body or handheld motion, though hits still land."),Config=(DefaultSettings=(Composition=(Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000))),ArmPullInTime=0.011111),CameraStates=((Name="Aim"),(Name="Ragdoll",Priority=20),(Name="LockOn",Priority=15),(Name="Slide")),ViewModes=((Name="TP")),DefaultViewMode="TP",Comfort=(CentreDotSize=1.000000,CentreDotColour=(R=1.000000,G=1.000000,B=1.000000,A=0.800000),CentreDotPixels=3.000000),SteerRate=10.000000,bAutoDetectInputDevice=True,IdleCameraBlendTime=4.000000))

Then give it its Rigs:

SettingRig
Default RigRig_SideScroller_Default
Camera States, AimRig_SideScroller_Default
Camera States, RagdollRig_SideScroller_Default
Camera States, LockOnRig_SideScroller_Default
Camera States, SlideRig_SideScroller_Default
View Modes, TPRig_SideScroller_Default

Lock-on#

Rig_Arena_LockOn#

Only a lock-on preset uses it. The lock-on presets themselves are on Lock-on preset values.

(Settings=(Composition=(DeadZone=(X=3.000000,Y=3.000000),Reach=600.000000),ArmLength=2000.000000,FOV=40.000000,bDoCollisionTest=False,bDecollide=False,bAllowLookAtOffset=False,bLookAtBreakFree=False,bPitchResponse=False,bUseProbeAiming=False,bPitchRoomLimit=False,bHoldAngle=True,HeldHeading=Keep,HeldYaw=45.000000,bPitchFollow=False,bPitchFollowSlopes=False,bPitchFollowWhenFalling=False,HandheldAmbientScale=0.000000),DefaultBlendTime=0.500000)

Rig_Dialogue_LockOn#

(Settings=(PivotSocket="head",PivotOffset=(X=0.000000,Y=0.000000,Z=10.000000),Composition=(Target=(X=40.819049,Y=54.352452),Shifts=((Driver=CeilingRoom,DriverFull=100.000000,Amount=(X=0.000000,Y=-8.000000),BlendTime=0.000000),(Driver=FramingSubject,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.500000),(Driver=GapRoom,DriverFull=100.000000,Amount=(X=100.000000,Y=0.000000),BlendTime=0.000000))),FOV=70.000000,bDoCollisionTest=False,ArmPullInTime=0.011111,bAutoShoulderSwap=True,bGapCentring=True,bGapYawAssist=True,bLookAtBreakFree=False,OrientationRequest=Aim,bPitchFollow=False,bLookOvershoot=True,LookOvershootAmount=0.050000,LookOvershootDecay=0.100000,bPitchRecover=True,PitchRecoverDelay=0.350000,Focus=(bOverrideAperture=True,Aperture=1.400000)))

If a value looks wrong#

These are exported from the shipped assets rather than transcribed, as of 1.3, and every block was pasted back onto a fresh Rig and checked against the one it came from. A block from a newer version than your plugin may name a setting yours doesn't have yet: the paste skips it and carries on. If a paste behaves differently from the demo, report it. It means the export and the asset have drifted, which is a bug at my end.