Wall-climb mesh lean + separate climb/mantle/sprint speeds; reworked rig
PlayerCharacterController: - Wall lean now moves only the visual model + its paint collider (auto-resolved mesh root parenting both renderer and bones), not the CharacterController capsule, so the mesh can sink into the wall (wallMaxInset) as well as lean out (wallMaxOffset); capsule stays flush. - Lean eases back to the authored pose when leaving the wall instead of snapping. - Sprint multiplier now also applies while wall/ceiling climbing. - Separate wallMantleSpeedMultiplier for pulling up over the top edge, independent of the climb speed. Assets: - Re-exported paintman_UV.FBX and added Paintman.blend: rescaled armature to mesh, merged seam duplicate vertices, fresh automatic weights, inner-thigh weight fix (no webbing on leg spread). - Updated anims, animator controller, font SDF and scene. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
cda1373979
commit
d867c617df
10 files changed
+15698
-2821
No files matched your search
+118
-132
@@ -565,7 +565,7 @@ MonoBehaviour:
|
||||
Enabled: 1
|
||||
DistanceLimit: 0
|
||||
MinimumOcclusionTime: 0
|
||||
CameraRadius: 0.2
|
||||
CameraRadius: 0.07
|
||||
UseFollowTarget:
|
||||
Enabled: 0
|
||||
YOffset: 0
|
||||
@@ -1341,6 +1341,33 @@ MonoBehaviour:
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
CustomBlends: {fileID: 0}
|
||||
--- !u!1 &341947179 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 6583767446015258322, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
m_PrefabInstance: {fileID: 821516643}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!95 &341947181
|
||||
Animator:
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 341947179}
|
||||
m_Enabled: 1
|
||||
m_Avatar: {fileID: 0}
|
||||
m_Controller: {fileID: 9100000, guid: db81cb9b04dc81e4bbb493a273d47245, type: 2}
|
||||
m_CullingMode: 0
|
||||
m_UpdateMode: 0
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1 &347639556
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1840,33 +1867,6 @@ Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 4009941363576130, guid: a8cba3361c8f7724e8899289f1efa8cc, type: 3}
|
||||
m_PrefabInstance: {fileID: 830003388}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &597997895 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: -7694449539802768922, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
m_PrefabInstance: {fileID: 821516643}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!95 &597997897
|
||||
Animator:
|
||||
serializedVersion: 7
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 597997895}
|
||||
m_Enabled: 1
|
||||
m_Avatar: {fileID: 0}
|
||||
m_Controller: {fileID: 9100000, guid: db81cb9b04dc81e4bbb493a273d47245, type: 2}
|
||||
m_CullingMode: 0
|
||||
m_UpdateMode: 0
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_AnimatePhysics: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!1001 &607565146
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1994,69 +1994,6 @@ PrefabInstance:
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 29636f40562819649b730c52f1babbcb, type: 3}
|
||||
--- !u!1 &682237518 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: -8278657895335465921, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
m_PrefabInstance: {fileID: 821516643}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &682237521
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 682237518}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5fc799adb27d5ea45990b5522b75ddda, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::MeshPainter
|
||||
brushShader: {fileID: 0}
|
||||
dilateShader: {fileID: 0}
|
||||
packMsShader: {fileID: 0}
|
||||
persistPaint: 1
|
||||
saveId:
|
||||
pipette: 0
|
||||
spray: 0
|
||||
sprayDots: 24
|
||||
sprayDotSizeMin: 0.05
|
||||
sprayDotSizeMax: 0.18
|
||||
sprayDotAlphaMin: 0.25
|
||||
sprayDotAlphaMax: 1
|
||||
useGpu: 1
|
||||
paintAlbedo: 1
|
||||
paintMetallicSmoothness: 0
|
||||
paintOcclusion: 0
|
||||
paintEmission: 0
|
||||
brushColor: {r: 0.6, g: 0.6, b: 1, a: 1}
|
||||
metallic: 1
|
||||
smoothness: 1
|
||||
metallicSmoothnessOpacity: 1
|
||||
occlusion: 1
|
||||
occlusionOpacity: 1
|
||||
emissionColor: {r: 1, g: 0.6, b: 0, a: 1}
|
||||
emissionIntensity: 20
|
||||
brushSize: 50
|
||||
brushMasks:
|
||||
- {fileID: 2800000, guid: d07c01c40cc7be54da0ff3ae52484cd2, type: 3}
|
||||
- {fileID: 2800000, guid: ccc205272b051834eb39593f647c7bf1, type: 3}
|
||||
- {fileID: 2800000, guid: 04bc55e2853356e4f999b995d0066b33, type: 3}
|
||||
- {fileID: 2800000, guid: 25780adbe09da488ba079bc33c4bbf0f, type: 3}
|
||||
- {fileID: 2800000, guid: 25780adbe09da488ba079bc33c4bbf0f, type: 3}
|
||||
- {fileID: 2800000, guid: 25780adbe09da488ba079bc33c4bbf0f, type: 3}
|
||||
activeBrushIndex: 0
|
||||
brushAlignment: 0
|
||||
brushRotation: 0
|
||||
paintOnMoveOnly: 1
|
||||
paintInterval: 0
|
||||
previewMode: 2
|
||||
previewOpacity: 1
|
||||
textureSize: 1024
|
||||
baseColor: {r: 0.8, g: 0.8, b: 0.8, a: 1}
|
||||
paddingTexels: 2
|
||||
paintCamera: {fileID: 0}
|
||||
updateColliderEveryFrame: 1
|
||||
previewShader: {fileID: 0}
|
||||
--- !u!1 &686187286
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -2515,37 +2452,9 @@ PrefabInstance:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 1141039639}
|
||||
m_Modifications:
|
||||
- target: {fileID: -8679921383154817045, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 0.7071068
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0.7071068
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: -90
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
@@ -2559,20 +2468,28 @@ PrefabInstance:
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -658204318216070287, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0.0002354744
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 919132149155446097, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: paintman_UV
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3152786563411696340, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents:
|
||||
- targetCorrespondingSourceObject: {fileID: -7694449539802768922, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
- targetCorrespondingSourceObject: {fileID: 6583767446015258322, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 597997897}
|
||||
- targetCorrespondingSourceObject: {fileID: -8278657895335465921, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
addedObject: {fileID: 341947181}
|
||||
- targetCorrespondingSourceObject: {fileID: 3763709765074082564, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 682237521}
|
||||
addedObject: {fileID: 1610102374}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
--- !u!1 &829281440
|
||||
GameObject:
|
||||
@@ -3258,7 +3175,9 @@ MonoBehaviour:
|
||||
wallMinAngle: 60
|
||||
wallGrabMinPush: 0.3
|
||||
wallClimbSpeedMultiplier: 0.5
|
||||
wallMantleSpeedMultiplier: 0.5
|
||||
wallMaxOffset: 0.25
|
||||
wallMaxInset: 1.2
|
||||
wallOffsetSensitivity: 0.001
|
||||
wallRotateSensitivity: 0.2
|
||||
wallOffsetReturnSpeed: 2
|
||||
@@ -3267,6 +3186,7 @@ MonoBehaviour:
|
||||
ceilingGrabDistance: 0.3
|
||||
wallTopOutBoost: 1.2
|
||||
cameraOrbit: {fileID: 0}
|
||||
meshOffsetTarget: {fileID: 0}
|
||||
--- !u!143 &1129539840
|
||||
CharacterController:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -3362,13 +3282,13 @@ CharacterController:
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Height: 0.95
|
||||
m_Height: 1.3
|
||||
m_Radius: 0.1
|
||||
m_SlopeLimit: 59
|
||||
m_StepOffset: 0.15
|
||||
m_SkinWidth: 0.01
|
||||
m_MinMoveDistance: 0.001
|
||||
m_Center: {x: 0, y: 0.49, z: 0}
|
||||
m_Center: {x: 0, y: 0.66, z: 0}
|
||||
--- !u!114 &1141039642
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -3383,13 +3303,13 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::PlayerCharacterController
|
||||
persistPlayer: 1
|
||||
playerSaveId:
|
||||
moveSpeed: 4
|
||||
sprintSpeedMultiplier: 1.8
|
||||
moveSpeed: 2
|
||||
sprintSpeedMultiplier: 3.2
|
||||
acceleration: 30
|
||||
deceleration: 45
|
||||
cameraRelative: 1
|
||||
cameraTransform: {fileID: 0}
|
||||
animator: {fileID: 597997897}
|
||||
animator: {fileID: 341947181}
|
||||
runningParameter: Running
|
||||
rotateTowardMovement: 1
|
||||
rotationSpeed: 360
|
||||
@@ -3404,7 +3324,9 @@ MonoBehaviour:
|
||||
wallMinAngle: 60
|
||||
wallGrabMinPush: 0.3
|
||||
wallClimbSpeedMultiplier: 0.5
|
||||
wallMaxOffset: 0.25
|
||||
wallMantleSpeedMultiplier: 1.5
|
||||
wallMaxOffset: 0.1
|
||||
wallMaxInset: 0.2
|
||||
wallOffsetSensitivity: 0.001
|
||||
wallRotateSensitivity: 0.2
|
||||
wallOffsetReturnSpeed: 2
|
||||
@@ -3413,6 +3335,7 @@ MonoBehaviour:
|
||||
ceilingGrabDistance: 0.3
|
||||
wallTopOutBoost: 0.3
|
||||
cameraOrbit: {fileID: 0}
|
||||
meshOffsetTarget: {fileID: 0}
|
||||
--- !u!1 &1238479929
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -3884,7 +3807,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::GameModeManager
|
||||
player: {fileID: 1141039642}
|
||||
cameraInput: {fileID: 172071431}
|
||||
painter: {fileID: 682237521}
|
||||
painter: {fileID: 0}
|
||||
insect: {fileID: 0}
|
||||
switchKey: 3
|
||||
startModeIndex: 0
|
||||
@@ -3903,6 +3826,69 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1610102371 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 3763709765074082564, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
|
||||
m_PrefabInstance: {fileID: 821516643}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &1610102374
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1610102371}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5fc799adb27d5ea45990b5522b75ddda, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::MeshPainter
|
||||
brushShader: {fileID: 0}
|
||||
dilateShader: {fileID: 0}
|
||||
packMsShader: {fileID: 0}
|
||||
persistPaint: 1
|
||||
saveId:
|
||||
pipette: 0
|
||||
spray: 0
|
||||
sprayDots: 24
|
||||
sprayDotSizeMin: 0.05
|
||||
sprayDotSizeMax: 0.18
|
||||
sprayDotAlphaMin: 0.25
|
||||
sprayDotAlphaMax: 1
|
||||
useGpu: 1
|
||||
paintAlbedo: 1
|
||||
paintMetallicSmoothness: 0
|
||||
paintOcclusion: 0
|
||||
paintEmission: 0
|
||||
brushColor: {r: 0.6, g: 0.6, b: 1, a: 1}
|
||||
metallic: 1
|
||||
smoothness: 1
|
||||
metallicSmoothnessOpacity: 1
|
||||
occlusion: 1
|
||||
occlusionOpacity: 1
|
||||
emissionColor: {r: 1, g: 0.6, b: 0, a: 1}
|
||||
emissionIntensity: 20
|
||||
brushSize: 50
|
||||
brushMasks:
|
||||
- {fileID: 2800000, guid: d07c01c40cc7be54da0ff3ae52484cd2, type: 3}
|
||||
- {fileID: 2800000, guid: ccc205272b051834eb39593f647c7bf1, type: 3}
|
||||
- {fileID: 2800000, guid: 04bc55e2853356e4f999b995d0066b33, type: 3}
|
||||
- {fileID: 2800000, guid: 25780adbe09da488ba079bc33c4bbf0f, type: 3}
|
||||
- {fileID: 2800000, guid: 25780adbe09da488ba079bc33c4bbf0f, type: 3}
|
||||
- {fileID: 2800000, guid: 25780adbe09da488ba079bc33c4bbf0f, type: 3}
|
||||
activeBrushIndex: 0
|
||||
brushAlignment: 0
|
||||
brushRotation: 0
|
||||
paintOnMoveOnly: 1
|
||||
paintInterval: 0
|
||||
previewMode: 2
|
||||
previewOpacity: 1
|
||||
textureSize: 1024
|
||||
baseColor: {r: 0.8, g: 0.8, b: 0.8, a: 1}
|
||||
paddingTexels: 2
|
||||
paintCamera: {fileID: 0}
|
||||
updateColliderEveryFrame: 1
|
||||
previewShader: {fileID: 0}
|
||||
--- !u!1001 &1673252827
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -4790,7 +4776,7 @@ MonoBehaviour:
|
||||
limitFrameRate: 1
|
||||
targetFps: 60
|
||||
disableVSyncWhenLimiting: 1
|
||||
vSyncCountWhenUnlimited: 0
|
||||
vSyncCountWhenUnlimited: 2
|
||||
--- !u!4 &2009475134
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
Reference in new issue
Block a user