Add pose-switching system with continuous hold and sprint reset
New PlayerPose ScriptableObject (AnimationClip + ceiling Y-offset) and PlayerPoseController that drives poses via a PlayableGraph, overriding the Animator controller. Poses are held continuously (idle, moving, on wall/ ceiling) so cycle and sprint changes show immediately. Sprinting in any state resets to pose 0. Non-keyed bones fall back to a captured rest pose so empty/partial clips apply fully. Ceiling Y-offset is folded into the controller's single mesh-offset writer. PlayerCharacterController gains IsIdle / IsSprinting / IsOnCeiling / AnimatorOverridden accessors and SetPoseLocalYOffset; SetAnimatorRunning is guarded while a pose owns the Animator. Removed obsolete Paintman.controller. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
d867c617df
commit
c41fb398e4
18 files changed
+649
-465
No files matched your search
@@ -1356,7 +1356,7 @@ Animator:
|
||||
m_GameObject: {fileID: 341947179}
|
||||
m_Enabled: 1
|
||||
m_Avatar: {fileID: 0}
|
||||
m_Controller: {fileID: 9100000, guid: db81cb9b04dc81e4bbb493a273d47245, type: 2}
|
||||
m_Controller: {fileID: 0}
|
||||
m_CullingMode: 0
|
||||
m_UpdateMode: 0
|
||||
m_ApplyRootMotion: 0
|
||||
@@ -3240,6 +3240,7 @@ GameObject:
|
||||
- component: {fileID: 1141039639}
|
||||
- component: {fileID: 1141039641}
|
||||
- component: {fileID: 1141039642}
|
||||
- component: {fileID: 1141039643}
|
||||
m_Layer: 0
|
||||
m_Name: Player (Variant 1)
|
||||
m_TagString: Player
|
||||
@@ -3336,6 +3337,26 @@ MonoBehaviour:
|
||||
wallTopOutBoost: 0.3
|
||||
cameraOrbit: {fileID: 0}
|
||||
meshOffsetTarget: {fileID: 0}
|
||||
--- !u!114 &1141039643
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1141039638}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 324ce9a23e6a5144096a195460dd567f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::PlayerPoseController
|
||||
persistPose: 1
|
||||
poseSaveId:
|
||||
poses:
|
||||
- {fileID: 11400000, guid: 3b59c882f27d0d04a82d2db251af1728, type: 2}
|
||||
- {fileID: 11400000, guid: 1545cfba9b5e06d41ae72c7ec766baaf, type: 2}
|
||||
- {fileID: 11400000, guid: 649ecccdabb7ef9438addcec6663b037, type: 2}
|
||||
defaultPoseIndex: 0
|
||||
cycleKey: 17
|
||||
--- !u!1 &1238479929
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
Reference in new issue
Block a user