Feat(camera) : Add LostFootageRig - handheld camera shake, micro-jolts and inertia swing

This commit is contained in:
Ferlat Thibaud
2026-04-13 15:17:01 +02:00
parent 91f220f985
commit f982a74462
14 changed files with 769 additions and 451 deletions
@@ -64,7 +64,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4440040250278121308}
m_Father: {fileID: 5410551608337962707}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!20 &3666612565151794712
Camera:
@@ -186,6 +186,75 @@ MonoBehaviour:
serializedVersion: 2
m_Bits: 8
_raycastInterval: 0
--- !u!1 &2277482252851742510
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5410551608337962707}
- component: {fileID: 1476756471834662335}
m_Layer: 0
m_Name: CameraPivotRig
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5410551608337962707
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2277482252851742510}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1836339402272228918}
- {fileID: 1175390396199967368}
m_Father: {fileID: 4440040250278121308}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1476756471834662335
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2277482252851742510}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 320cde26f18d40b40a31c85e85ee4e59, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.World.CameraSystem.LostFootageRig
_idleAmplitude: 0.25
_idleNoiseSpeed: 0.6
_walkAmplitude: 0.8
_walkNoiseSpeed: 1.4
_runAmplitude: 1.8
_runNoiseSpeed: 2.5
_stressAmplitudeMul: 2.5
_stressSpeedMul: 1.8
_idleJoltAmplitude: 0.5
_idleJoltIntervalRange: {x: 2, y: 4}
_walkJoltAmplitude: 1.2
_walkJoltIntervalRange: {x: 0.8, y: 2}
_runJoltAmplitude: 2.5
_runJoltIntervalRange: {x: 0.2, y: 0.8}
_joltSnapFraction: 0.25
_stressJoltFreqMul: 5
_stressJoltAmpMul: 3
_inertiaStrength: 4
_inertiaDamping: 6
_inertiaMaxAngle: 8
_fadeDuration: 0.6
_debugSustainStress: 0
_debugStressValue: 0
--- !u!1 &4625798697874999476
GameObject:
m_ObjectHideFlags: 0
@@ -215,7 +284,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4440040250278121308}
m_Father: {fileID: 5410551608337962707}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &5575782855984327677
GameObject:
@@ -247,8 +316,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1836339402272228918}
- {fileID: 1175390396199967368}
- {fileID: 5410551608337962707}
m_Father: {fileID: 8725966219179855439}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &986184075687059205
@@ -277,6 +345,7 @@ GameObject:
- component: {fileID: 688176918831081180}
- component: {fileID: 3522630547589622128}
- component: {fileID: 4152409555847978467}
- component: {fileID: 4484393045093388587}
m_Layer: 0
m_Name: OctoPlayerFP
m_TagString: Player
@@ -347,7 +416,10 @@ MonoBehaviour:
RunSpeed: 20
JumpDuration: 0.4
JumpHeight: 0.4
StepHeight: 0.3
Gravity: 9.8
CanJump: 1
CanRun: 1
_mapping:
MoveAction: -560403583
LookAction: -916633937
@@ -397,3 +469,20 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Interactions.Core.PlayerInspectionHandler
_inspectionHoldPoint: {fileID: 6579694192787271975}
--- !u!114 &4484393045093388587
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8162540767767967414}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b711f35d53cba9d43b8b6f55a40cedbc, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::Unheimlich.Features.Player.StressController
_rig: {fileID: 1476756471834662335}
_decaySpeed: 0.3
_deactivateThreshold: 0.05
_debugSustainStress: 1
_debugStressValue: 0.2
File diff suppressed because one or more lines are too long