Pighaus Games Docs

These docs describe 1.3, which is in testing. The version on Fab is 1.1: read its docs.

Lock-on preset valuesOlder engines1.3

Every shipped Lock-On 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, so the Lock-On Presets the 5.8 build carries aren't there: one for each style, and eight named by the fight they suit. Every one is below as a block of text you paste onto a new preset, with what the paste can't carry under it. Lock-on presets says what each one is for.

Making a lock-on preset#

  • 1

    Create the asset.

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

  • 2

    Copy a block.

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

  • 3

    Paste it in.

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

  • 4

    Give it what the paste can't carry.

    Listed under the block: the Rig it starts from, a handheld shake, a hook's action. Make the Rig on rig values and the shake on shake values first.

  • 5

    Check it took.

    The diagram at the top of the panel draws the shot as it stands, so the spots moving there means it took. If nothing changed, the clipboard held something other than a block: copy it again, from the opening bracket to the closing one.

  • 6

    Save and repeat.

One for each style#

LockOn_ActionRPG#

Action RPG lock-on. How Action RPG frames a lock: its own lock-on shot and the shipped lock-on aim, solved as a two-shot.

(Shot=(bOverrideArmLength=True,ArmLength=420.000000,bOverrideFieldOfView=True,FieldOfView=80.000000,bOverrideFacing=True),TwoShot=(PlayerSpot=(X=30.000000,Y=65.000000),TargetSpot=(X=80.000000,Y=35.000000),MaxSwing=0.000000,TooClose=ArmGives,Stick=(Mode=Steer)),DisplayName=INVTEXT("Action RPG lock-on"),Description=INVTEXT("How Action RPG frames a lock: its own lock-on shot and the shipped lock-on aim, solved as a two-shot."))

LockOn_CinematicAction#

Cinematic Action lock-on. How Cinematic Action frames a lock: its own lock-on shot and the shipped lock-on aim, solved as a two-shot.

(Shot=(bOverrideArmLength=True,ArmLength=160.000000,bOverrideFieldOfView=True,bOverrideFacing=True),TwoShot=(PlayerSpot=(X=24.490291,Y=77.582584),TargetSpot=(X=75.915998,Y=45.075996),MaxSwing=0.000000,Line=(Rule=OpenSide,bSwapShoulders=True),Stick=(Mode=Steer)),Transitions=(LockIn=DollyZoom,DollyZoom=25.000000,DollyZoomTime=2.000000),Effects=(WhileLocked=(bEnabled=True,RiseTime=2.000000,HoldTime=0.000000,bLetterbox=True)),DisplayName=INVTEXT("Cinematic Action lock-on"),Description=INVTEXT("How Cinematic Action frames a lock: its own lock-on shot and the shipped lock-on aim, solved as a two-shot."),Markers=(bOnLocked=False))

LockOn_HackAndSlash#

Hack and Slash lock-on. How Hack and Slash frames a lock: its own lock-on shot and the shipped lock-on aim, solved as a two-shot.

(Shot=(bOverrideArmLength=True,ArmLength=560.000000,bOverrideFieldOfView=True,FieldOfView=78.000000,bOverrideFacing=True),TwoShot=(MaxSwing=0.000000,Stick=(Mode=Steer)),Effects=(OnLock=(Shape=(EditorCurveData=(Keys=((InterpMode=RCIM_Cubic),(InterpMode=RCIM_Cubic,TangentMode=RCTM_User,Time=0.445375,Value=0.822032,ArriveTangent=1.073247,LeaveTangent=1.073247),(InterpMode=RCIM_Cubic,TangentMode=RCTM_User,Time=1.000000,Value=1.000000)))),bHighlightTarget=True),WhileLocked=(bEnabled=True,PostProcess=(MotionBlurAmount=1.000000))),Hooks=(OnLock=(())),DisplayName=INVTEXT("Hack and Slash lock-on"),Description=INVTEXT("How Hack and Slash frames a lock: its own lock-on shot and the shipped lock-on aim, solved as a two-shot."),Markers=(bOnBest=True,bOnNext=True,NextOpacity=0.400000,Size=(X=15.000000,Y=15.000000),Widget="/Script/CoreUObject.Class'/Script/BlendableLockOn.BlendableLockOnMarker'",Style=Pointer))

LockOn_Immersive#

Immersive lock-on. How Immersive frames a lock: its own lock-on shot and the shipped lock-on aim, solved as a two-shot.

(Shot=(bOverrideArmLength=True,ArmLength=140.000000,bOverrideFieldOfView=True,FieldOfView=80.000000,bOverrideFacing=True),TwoShot=(MaxSwing=0.000000,Stick=(Mode=Steer)),DisplayName=INVTEXT("Immersive lock-on"),Description=INVTEXT("How Immersive frames a lock: its own lock-on shot and the shipped lock-on aim, solved as a two-shot."),Markers=(bOnLocked=False))

LockOn_Isometric#

Isometric lock-on. How Isometric frames a lock: its own lock-on shot and the shipped lock-on aim, on its held angle. The view stays the Rig's, the middle of the shot slides in between you, and the arm stands back to keep you both in.

(Shot=(bOverrideArmLength=True,ArmLength=2000.000000,bOverrideFieldOfView=True,FieldOfView=40.000000,bOverrideHeldAngle=True,HeldAngle=(Yaw=45.000000),bOverrideFacing=True),DisplayName=INVTEXT("Isometric lock-on"),Description=INVTEXT("How Isometric frames a lock: its own lock-on shot and the shipped lock-on aim, on its held angle. The view stays the Rig\'s, the middle of the shot slides in between you, and the arm stands back to keep you both in."))

LockOn_SideScroller#

Side Scroller lock-on. How Side Scroller frames a lock: its own lock-on shot and the shipped lock-on aim, on its held angle. The view stays the Rig's, the middle of the shot slides in between you, and the arm stands back to keep you both in.

(Shot=(bOverrideArmLength=True,ArmLength=1100.000000,bOverrideFieldOfView=True,FieldOfView=55.000000,bOverrideFacing=True),DisplayName=INVTEXT("Side Scroller lock-on"),Description=INVTEXT("How Side Scroller frames a lock: its own lock-on shot and the shipped lock-on aim, on its held angle. The view stays the Rig\'s, the middle of the shot slides in between you, and the arm stands back to keep you both in."))

LockOn_SurvivalHorror#

Survival Horror lock-on. How Survival Horror frames a lock: its own lock-on shot and the shipped lock-on aim, solved as a two-shot.

(Shot=(bOverrideArmLength=True,ArmLength=140.000000,bOverrideFieldOfView=True,FieldOfView=80.000000,bOverrideFacing=True),TwoShot=(MaxSwing=0.000000,Stick=(Mode=Steer)),DisplayName=INVTEXT("Survival Horror lock-on"),Description=INVTEXT("How Survival Horror frames a lock: its own lock-on shot and the shipped lock-on aim, solved as a two-shot."))

LockOn_ThirdPerson#

Third Person lock-on. How Third Person frames a lock: its own lock-on shot and the shipped lock-on aim, solved as a two-shot.

(Shot=(bOverrideArmLength=True,bOverrideFieldOfView=True,bOverrideFacing=True),TwoShot=(MaxSwing=0.000000,Stick=(Mode=Steer)),DisplayName=INVTEXT("Third Person lock-on"),Description=INVTEXT("How Third Person frames a lock: its own lock-on shot and the shipped lock-on aim, solved as a two-shot."))

LockOn_TopDown#

Top Down lock-on. How Top Down frames a lock: its own lock-on shot and the shipped lock-on aim, on its held angle. The view stays the Rig's, the middle of the shot slides in between you, and the arm stands back to keep you both in.

(Shot=(bOverrideArmLength=True,ArmLength=1300.000000,bOverrideFieldOfView=True,FieldOfView=60.000000,bOverrideHeldAngle=True,HeldAngle=(Pitch=-75.000000),bOverrideFacing=True),DisplayName=INVTEXT("Top Down lock-on"),Description=INVTEXT("How Top Down frames a lock: its own lock-on shot and the shipped lock-on aim, on its held angle. The view stays the Rig\'s, the middle of the shot slides in between you, and the arm stands back to keep you both in."))

Named by use#

LockOn_Arena#

Arena lock-on. Far back and high over the fight, at the angle you locked on from, with the whole group in view.

(Shot=(bOverrideArmLength=True,ArmLength=2000.000000,bOverrideFieldOfView=True,FieldOfView=40.000000,bOverrideFacing=True),TwoShot=(Group=(bEnabled=True,Members=NearPlayer)),DisplayName=INVTEXT("Arena lock-on"),Description=INVTEXT("Far back and high over the fight, at the angle you locked on from, with the whole group in view."),Markers=(bOnCandidates=True,Widget="/Script/CoreUObject.Class'/Script/BlendableLockOn.BlendableLockOnMarker'",Style=Pointer,Feel=Arcade,LockedLook=(Widget="/Script/CoreUObject.Class'/Script/BlendableLockOn.BlendableLockOnMarker'",Place=Overhead,OnArrive=(Move=Slam,Amount=0.900000,Time=0.400000),OnSwitch=(Move=Spin,Amount=1.000000,Time=0.300000),WhileShown=(Move=Heartbeat,Amount=0.100000,Period=1.000000),OnLeave=(Move=Burst,Amount=0.600000,Time=0.250000)),NextLook=(OnArrive=(Move=DropIn,Amount=28.000000,Time=0.450000),WhileShown=(Move=Bob,Amount=4.000000,Period=1.100000),OnLeave=(Move=ShrinkAway,Amount=1.000000,Time=0.150000)),OthersLook=(OnArrive=(Amount=0.200000,Time=0.250000),WhileShown=(Move=Sway,Amount=6.000000,Period=2.200000),OnLeave=(Move=ShrinkAway,Amount=1.000000,Time=0.150000))))

LockOn_Duel#

Duel lock-on. One on one: you and your opponent on the thirds, both whole, through a 35 mm lens. The camera comes round to keep you on your spots as you circle each other.

(Shot=(bOverrideArmLength=True,ArmLength=565.700012,bOverrideFieldOfView=True,FieldOfView=54.430000,bOverrideFacing=True),TwoShot=(PlayerSpot=(X=33.300000,Y=66.700000),TargetSpot=(X=66.700000,Y=33.300000),MaxSwing=0.000000,Stick=(Mode=Steer)),DisplayName=INVTEXT("Duel lock-on"),Description=INVTEXT("One on one: you and your opponent on the thirds, both whole, through a 35 mm lens. The camera comes round to keep you on your spots as you circle each other."))

LockOn_Finisher#

Finisher lock-on. A kill move's close shot, pushed by a notify or a node for the length of the move: an 85 mm lens on the two of you, 2.39:1 bars, and focus pulled to the target.

(Shot=(bOverrideArmLength=True,ArmLength=646.000000,bOverrideFieldOfView=True,FieldOfView=24.000000,bOverrideHandheld=True,bOverrideFacing=True,bOverridePitchResponse=True,PitchResponse=(ArmScaleUp=0.100000,ArmScaleDown=0.100000),bOverrideSteerComposition=True,SteerComposition=(LookingUp=(Amount=(X=16.845270,Y=20.564647)))),Aim=(TwoSubject=(bExtendArm=False,Margin=1105.609375,MaxArmScale=7.796191)),TwoShot=(PlayerSpot=(X=33.300000,Y=68.604969),TargetSpot=(X=98.000000,Y=50.619592),TargetHeight=73.987511,MaxTilt=35.562672,MaxSwing=0.000000,PivotBias=0.401057,Line=(Rule=PlayerPlaces,CrossTime=1.000000),Stick=(Mode=Steer,AtTheEdge=MakeRoom)),Focus=(FocusOn=Target,RackTime=0.400000),Transitions=(LockIn=DollyZoom),Effects=(WhileLocked=(bEnabled=True,RiseTime=0.400000,HoldTime=0.000000,bLetterbox=True)),DisplayName=INVTEXT("Finisher lock-on"),Description=INVTEXT("A kill move\'s close shot, pushed by a notify or a node for the length of the move: an 85 mm lens on the two of you, 2.39:1 bars, and focus pulled to the target."),Markers=(bOnLocked=False,bOnBest=True,Widget="/Script/CoreUObject.Class'/Script/BlendableLockOn.BlendableLockOnMarker'"))

LockOn_Giant#

Giant lock-on. A boss many times your size: a 24 mm lens from low down, the whole of it in the box and you small beneath it.

(Shot=(bOverrideArmLength=True,ArmLength=711.099976,bOverrideFieldOfView=True,FieldOfView=73.739998,bOverrideFacing=True),TwoShot=(PlayerSpot=(X=33.300000,Y=66.700000),TargetSpot=(X=66.700000,Y=33.300000),TargetPoint=BoundsCentre,MaxSwing=0.000000,Stick=(Mode=Steer),Group=(MaxArmScale=3.000000),Giants=(Framing=Hero)),DisplayName=INVTEXT("Giant lock-on"),Description=INVTEXT("A boss many times your size: a 24 mm lens from low down, the whole of it in the box and you small beneath it."))

LockOn_Ranged#

Ranged lock-on. A fight at a distance: the target in the middle of the screen, where your aim is, and you on the third, through a 50 mm lens that keeps a far target readable. Framed for where you're both heading.

(Shot=(bOverrideArmLength=True,ArmLength=448.899994,bOverrideFieldOfView=True,FieldOfView=39.599998,bOverrideFacing=True),TwoShot=(PlayerSpot=(X=33.300000,Y=66.700000),TargetSpot=(X=69.392523,Y=52.855659),MaxSwing=0.000000,Stick=(Mode=Steer),Motion=(Mode=Lead)),DisplayName=INVTEXT("Ranged lock-on"),Description=INVTEXT("A fight at a distance: the target in the middle of the screen, where your aim is, and you on the third, through a 50 mm lens that keeps a far target readable. Framed for where you\'re both heading."))

LockOn_Skirmish#

Skirmish lock-on. A soft lock for a fight on Standoff's long lens: the camera stays yours to turn round the fight, and the framing pulls back to keep everyone in it in view.

(Shot=(bOverrideArmLength=True,ArmLength=592.000000,bOverrideFieldOfView=True,FieldOfView=45.000000,bOverrideFacing=True),FramingBlendTime=2.000000,TwoShot=(PlayerSpot=(X=33.000000,Y=67.000000),TargetSpot=(X=67.000000,Y=33.000000),MaxSwing=0.000000,Stick=(Mode=Steer),Group=(bEnabled=True,Members=InFight,MaxArmScale=5.000000,MakeRoom=PullBackThenWiden,WidenUpTo=25.000000)),Transitions=(KickTime=2.000000),DisplayName=INVTEXT("Skirmish lock-on"),Description=INVTEXT("A soft lock for a fight on Standoff\'s long lens: the camera stays yours to turn round the fight, and the framing pulls back to keep everyone in it in view."),Markers=(bOnCandidates=True,Widget="/Script/CoreUObject.Class'/Script/BlendableLockOn.BlendableLockOnMarker'",Style=Pointer,Feel=Custom,LockedLook=(Widget="/Script/CoreUObject.Class'/Script/BlendableLockOn.BlendableLockOnMarker'",bOwnColour=True,Colour=(R=1.000000,G=0.000788,B=0.105150,A=0.500000),OnSwitch=(Move=Slam,Amount=0.900000,Time=0.400000),WhileShown=(Move=Bob,Amount=4.000000,Period=1.100000),OnLeave=(Move=Squash,Amount=0.200000,Time=0.300000)),NextLook=(Widget="/Script/CoreUObject.Class'/Script/BlendableLockOn.BlendableLockOnMarker'",Shape=Arrow,Colour=(R=1.000000,G=0.000000,B=0.000000,A=1.000000),OnArrive=(Move=DropIn,Amount=28.000000,Time=0.450000),WhileShown=(Move=Bob,Amount=4.000000,Period=1.100000),OnLeave=(Move=ShrinkAway,Amount=1.000000,Time=0.150000)),OthersLook=(Widget="/Script/CoreUObject.Class'/Script/BlendableLockOn.BlendableLockOnMarker'",Shape=Arrow,OnArrive=(Amount=0.200000,Time=0.250000),WhileShown=(Move=Sway,Amount=6.000000,Period=2.200000),OnLeave=(Move=ShrinkAway,Amount=1.000000,Time=0.150000))))

LockOn_Soulslike#

Soulslike lock-on. The genre's own lock: the camera kept straight behind you, both of you near the centre line, you low and the enemy high, and a flick of the stick to switch target.

(Shot=(bOverrideArmLength=True,ArmLength=450.000000,bOverrideFieldOfView=True,FieldOfView=80.000000,bOverrideHandheld=True,bOverrideFacing=True),TwoShot=(PlayerSpot=(X=50.000000,Y=75.000000),TargetSpot=(X=50.000000,Y=25.000000),MaxSwing=0.000000,Stick=(Mode=Switch)),DisplayName=INVTEXT("Soulslike lock-on"),Description=INVTEXT("The genre\'s own lock: the camera kept straight behind you, both of you near the centre line, you low and the enemy high, and a flick of the stick to switch target."),Markers=(bOnBest=True,bOnCandidates=True,bOnNext=True,CandidateOpacity=0.200000,NextOpacity=0.400000,Size=(X=20.000000,Y=20.000000),Widget="/Script/CoreUObject.Class'/Script/BlendableLockOn.BlendableLockOnMarker'",Style=Pointer,Feel=Custom,LockedLook=(Widget="/Script/CoreUObject.Class'/Script/BlendableLockOn.BlendableLockOnMarker'",Place=Overhead,OnArrive=(Move=Slam,Amount=1.200000,Time=0.350000),OnSwitch=(Move=Shake,Amount=6.000000,Time=0.300000),WhileShown=(Move=Pulse,Amount=0.250000,Period=0.800000),OnLeave=(Time=0.200000)),NextLook=(Widget="/Script/CoreUObject.Class'/Script/BlendableLockOn.BlendableLockOnMarker'",OnArrive=(Move=Squash,Amount=0.200000,Time=0.300000),WhileShown=(Amount=0.080000,Period=1.400000)),OthersLook=(OnArrive=(Move=None,Amount=0.300000,Time=0.250000))))

LockOn_Standoff#

Standoff lock-on. Pulled back on a long lens, the fight compressed behind the enemy you face, with the camera kept behind you and the group in view.

(Shot=(bOverrideArmLength=True,ArmLength=592.000000,bOverrideFieldOfView=True,FieldOfView=45.000000,bOverrideFacing=True),TwoShot=(MaxSwing=0.000000,Stick=(Mode=Steer,bOrbitResetsOnSwitch=False),Group=(bEnabled=True,Members=NearPlayer)),Transitions=(LockIn=DollyZoom,DollyZoom=0.000000,DollyZoomTime=2.000000),Effects=(WhileLocked=(bEnabled=True,RiseTime=2.000000,HoldTime=0.000000,bLetterbox=True)),DisplayName=INVTEXT("Standoff lock-on"),Description=INVTEXT("Pulled back on a long lens, the fight compressed behind the enemy you face, with the camera kept behind you and the group in view."),Markers=(Widget="/Script/CoreUObject.Class'/Script/BlendableLockOn.BlendableLockOnMarker'",Style=Minimal,Feel=Cinematic,LockedLook=(Widget="/Script/CoreUObject.Class'/Script/BlendableLockOn.BlendableLockOnMarker'",Shape=Diamond,bOwnColour=True,Colour=(R=1.000000,G=0.000000,B=0.085211,A=0.400000),Place=Overhead,OnArrive=(Move=CloseIn,Amount=0.700000,Time=0.550000),OnSwitch=(Move=CloseIn,Amount=0.350000,Time=0.450000),WhileShown=(Move=Breathe,Amount=0.200000,Period=2.600000),OnLeave=(Move=Burst,Amount=0.300000,Time=0.400000)),NextLook=(OnArrive=(Move=None,Amount=0.300000,Time=0.250000),WhileShown=(Move=Breathe,Amount=0.400000,Period=2.200000)),OthersLook=(OnArrive=(Move=None,Amount=0.300000,Time=0.250000))))

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 asset 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.