Integrate humanoid walk/run animations and per-clip pose speed sliders

- Import Mixamo humanoid Walking + Running FBX, switch rig type to Humanoid
- Wire walkClip/runClip with per-clip speeds on Pose_Idle (walk 1.4, run 1.5)
- Add per-animation speed sliders (Range 0.1-3, default 1) to PlayerPose SO,
  applied per frame in PlayerPoseController for live tuning
- Reorganize pose assets: replace Pose_TPose with Pose_Hold, prune legacy
  Paintman-Run/-TPose .anim and paintman_UV.FBX
- Ignore UMotion plugin data/editor folders

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
adminandClaude Opus 4.8 committed 2026-06-26 17:04:21 +02:00
1 parent dcfd668422
commit 5dd35dd0f9
24 files changed
+40464 -2273

No files matched your search

+5
View File
@@ -77,3 +77,8 @@ crashlytics-build.properties
# VS configuration
.vsconfig
# UMotion Plugin
/UMotionData/
/Assets/UMotionEditor.meta
/Assets/UMotionEditor/
Binary file not shown.
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 554c0bdf86263754d862d7effd04045b
guid: ced260b15c0643b46af865dc5a990bc0
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
@@ -22,14 +22,43 @@ ModelImporter:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationCompression: 3
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
clipAnimations:
- serializedVersion: 16
name: Walking
takeName: mixamo.com
internalID: -203655887218126122
firstFrame: 0
lastFrame: 29
wrapMode: 0
orientationOffsetY: 0
level: 0
cycleOffset: 0
loop: 0
hasAdditiveReferencePose: 0
loopTime: 1
loopBlend: 0
loopBlendOrientation: 0
loopBlendPositionY: 0
loopBlendPositionXZ: 0
keepOriginalOrientation: 0
keepOriginalPositionY: 1
keepOriginalPositionXZ: 0
heightFromFeet: 0
mirror: 0
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: []
events: []
transformMask: []
maskType: 3
maskSource: {instanceID: 0}
additiveReferencePoseFrame: 0
isReadable: 0
meshes:
lODScreenPercentages: []
@@ -72,7 +101,7 @@ ModelImporter:
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 1
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
@@ -94,13 +123,13 @@ ModelImporter:
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
hasExtraRoot: 1
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
animationType: 3
humanoidOversampling: 1
avatarSetup: 0
avatarSetup: 1
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
File diff suppressed because it is too large. Load diff
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 681e55cb51beb3b44958b7c4aca15a9f
guid: b4b88b2d2f749a94fbcdc7c0447cd73c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
File diff suppressed because it is too large. Load diff
-549
View File
@@ -1,549 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Paintman-Run
serializedVersion: 7
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: -10.006, y: 0.447, z: -31.238}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: amm/loot/spine1/spine2/spine3/shoulder_L/upper_arm_L
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: -16.156, y: -0.354, z: 37.479}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: amm/loot/spine1/spine2/spine3/shoulder_R/upper_arm_R
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: -10.853, y: 0, z: 0}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: amm/loot/spine1/spine2/spine3/shoulder_L/upper_arm_L/lower_arm_L
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: -10.345, y: 0, z: 0}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: amm/loot/spine1/spine2/spine3/shoulder_R/upper_arm_R/lower_arm_R
m_PositionCurves: []
m_ScaleCurves: []
m_FloatCurves: []
m_PPtrCurves: []
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 3536277082
attribute: 4
script: {fileID: 0}
typeID: 4
customType: 4
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
- serializedVersion: 2
path: 1714018643
attribute: 4
script: {fileID: 0}
typeID: 4
customType: 4
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
- serializedVersion: 2
path: 1953922141
attribute: 4
script: {fileID: 0}
typeID: 4
customType: 4
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
- serializedVersion: 2
path: 3747558187
attribute: 4
script: {fileID: 0}
typeID: 4
customType: 4
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 1
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -10.006
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.x
path: amm/loot/spine1/spine2/spine3/shoulder_L/upper_arm_L
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0.447
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.y
path: amm/loot/spine1/spine2/spine3/shoulder_L/upper_arm_L
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -31.238
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.z
path: amm/loot/spine1/spine2/spine3/shoulder_L/upper_arm_L
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -16.156
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.x
path: amm/loot/spine1/spine2/spine3/shoulder_R/upper_arm_R
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -0.354
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.y
path: amm/loot/spine1/spine2/spine3/shoulder_R/upper_arm_R
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 37.479
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.z
path: amm/loot/spine1/spine2/spine3/shoulder_R/upper_arm_R
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -10.853
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.x
path: amm/loot/spine1/spine2/spine3/shoulder_L/upper_arm_L/lower_arm_L
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.y
path: amm/loot/spine1/spine2/spine3/shoulder_L/upper_arm_L/lower_arm_L
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.z
path: amm/loot/spine1/spine2/spine3/shoulder_L/upper_arm_L/lower_arm_L
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -10.345
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.x
path: amm/loot/spine1/spine2/spine3/shoulder_R/upper_arm_R/lower_arm_R
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.y
path: amm/loot/spine1/spine2/spine3/shoulder_R/upper_arm_R/lower_arm_R
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.z
path: amm/loot/spine1/spine2/spine3/shoulder_R/upper_arm_R/lower_arm_R
classID: 4
script: {fileID: 0}
flags: 16
m_EulerEditorCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.z
path: amm/loot/spine1/spine2/spine3/shoulder_L/upper_arm_L/lower_arm_L
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.y
path: amm/loot/spine1/spine2/spine3/shoulder_L/upper_arm_L/lower_arm_L
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.x
path: amm/loot/spine1/spine2/spine3/shoulder_L/upper_arm_L/lower_arm_L
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.x
path: amm/loot/spine1/spine2/spine3/shoulder_L/upper_arm_L
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.y
path: amm/loot/spine1/spine2/spine3/shoulder_L/upper_arm_L
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.z
path: amm/loot/spine1/spine2/spine3/shoulder_L/upper_arm_L
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.x
path: amm/loot/spine1/spine2/spine3/shoulder_R/upper_arm_R
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.y
path: amm/loot/spine1/spine2/spine3/shoulder_R/upper_arm_R
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.z
path: amm/loot/spine1/spine2/spine3/shoulder_R/upper_arm_R
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.x
path: amm/loot/spine1/spine2/spine3/shoulder_R/upper_arm_R/lower_arm_R
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.y
path: amm/loot/spine1/spine2/spine3/shoulder_R/upper_arm_R/lower_arm_R
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.z
path: amm/loot/spine1/spine2/spine3/shoulder_R/upper_arm_R/lower_arm_R
classID: 4
script: {fileID: 0}
flags: 0
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []
File diff suppressed because it is too large. Load diff
-53
View File
@@ -1,53 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Paintman-TPose
serializedVersion: 7
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves: []
m_ScaleCurves: []
m_FloatCurves: []
m_PPtrCurves: []
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings: []
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 1
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 1
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves: []
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []
File diff suppressed because it is too large. Load diff
@@ -1,8 +1,10 @@
fileFormatVersion: 2
guid: 04d9bfa04f5cc4b46891f0bd8f3b0e54
guid: 417f823efc5eb074289c96bd1123d6f2
labels:
- UMotion Project
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
+4 -4
View File
@@ -22,7 +22,7 @@ ModelImporter:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationCompression: 3
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
@@ -94,13 +94,13 @@ ModelImporter:
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
hasExtraRoot: 1
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
animationType: 3
humanoidOversampling: 1
avatarSetup: 0
avatarSetup: 1
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
+3 -119
View File
@@ -1,30 +1,5 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1101 &-660375709009797784
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: Running
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 75386596242057138}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
@@ -33,13 +8,7 @@ AnimatorController:
m_PrefabAsset: {fileID: 0}
m_Name: Paintman
serializedVersion: 5
m_AnimatorParameters:
- m_Name: Running
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
m_AnimatorParameters: []
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
@@ -53,33 +22,6 @@ AnimatorController:
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1102 &75386596242057138
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Paintman-Run
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 2420226104770300396}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 681e55cb51beb3b44958b7c4aca15a9f, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1107 &666766380273028185
AnimatorStateMachine:
serializedVersion: 6
@@ -88,13 +30,7 @@ AnimatorStateMachine:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 1223896944312122709}
m_Position: {x: 290, y: 110, z: 0}
- serializedVersion: 1
m_State: {fileID: 75386596242057138}
m_Position: {x: 540, y: 110, z: 0}
m_ChildStates: []
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
@@ -104,56 +40,4 @@ AnimatorStateMachine:
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 300, y: 40, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 1223896944312122709}
--- !u!1102 &1223896944312122709
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Paintman-Idle
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -660375709009797784}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 18925b0fe0029224aa6d9f4d9ca9ab72, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &2420226104770300396
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 2
m_ConditionEvent: Running
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 1223896944312122709}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
m_DefaultState: {fileID: 0}
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,885 @@
fileFormatVersion: 2
guid: a4d4588e12cac6f48a17583c08a100d2
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 3
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations:
- serializedVersion: 16
name: Running
takeName: mixamo.com
internalID: -203655887218126122
firstFrame: 0
lastFrame: 24
wrapMode: 0
orientationOffsetY: 0
level: 0
cycleOffset: 0
loop: 0
hasAdditiveReferencePose: 0
loopTime: 1
loopBlend: 0
loopBlendOrientation: 0
loopBlendPositionY: 0
loopBlendPositionXZ: 0
keepOriginalOrientation: 0
keepOriginalPositionY: 1
keepOriginalPositionXZ: 0
heightFromFeet: 0
mirror: 0
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: []
events: []
transformMask: []
maskType: 3
maskSource: {instanceID: 0}
additiveReferencePoseFrame: 0
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human:
- boneName: mixamorig:Hips
humanName: Hips
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftUpLeg
humanName: LeftUpperLeg
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightUpLeg
humanName: RightUpperLeg
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftLeg
humanName: LeftLowerLeg
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightLeg
humanName: RightLowerLeg
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftFoot
humanName: LeftFoot
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightFoot
humanName: RightFoot
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:Spine
humanName: Spine
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:Spine1
humanName: Chest
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:Neck
humanName: Neck
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:Head
humanName: Head
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftShoulder
humanName: LeftShoulder
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightShoulder
humanName: RightShoulder
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftArm
humanName: LeftUpperArm
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightArm
humanName: RightUpperArm
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftForeArm
humanName: LeftLowerArm
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightForeArm
humanName: RightLowerArm
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHand
humanName: LeftHand
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHand
humanName: RightHand
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftToeBase
humanName: LeftToes
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightToeBase
humanName: RightToes
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandThumb1
humanName: Left Thumb Proximal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandThumb2
humanName: Left Thumb Intermediate
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandThumb3
humanName: Left Thumb Distal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandIndex1
humanName: Left Index Proximal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandIndex2
humanName: Left Index Intermediate
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandIndex3
humanName: Left Index Distal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandMiddle1
humanName: Left Middle Proximal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandMiddle2
humanName: Left Middle Intermediate
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandMiddle3
humanName: Left Middle Distal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandRing1
humanName: Left Ring Proximal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandRing2
humanName: Left Ring Intermediate
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandRing3
humanName: Left Ring Distal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandPinky1
humanName: Left Little Proximal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandPinky2
humanName: Left Little Intermediate
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:LeftHandPinky3
humanName: Left Little Distal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandThumb1
humanName: Right Thumb Proximal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandThumb2
humanName: Right Thumb Intermediate
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandThumb3
humanName: Right Thumb Distal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandIndex1
humanName: Right Index Proximal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandIndex2
humanName: Right Index Intermediate
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandIndex3
humanName: Right Index Distal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandMiddle1
humanName: Right Middle Proximal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandMiddle2
humanName: Right Middle Intermediate
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandMiddle3
humanName: Right Middle Distal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandRing1
humanName: Right Ring Proximal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandRing2
humanName: Right Ring Intermediate
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandRing3
humanName: Right Ring Distal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandPinky1
humanName: Right Little Proximal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandPinky2
humanName: Right Little Intermediate
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:RightHandPinky3
humanName: Right Little Distal
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
- boneName: mixamorig:Spine2
humanName: UpperChest
limit:
min: {x: 0, y: 0, z: 0}
max: {x: 0, y: 0, z: 0}
value: {x: 0, y: 0, z: 0}
length: 0
modified: 0
skeleton:
- name: passive_marker_man@Running(Clone)
parentName:
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:Hips
parentName: passive_marker_man@Running(Clone)
position: {x: 0.0026257306, y: 0.9230574, z: 0.000010459423}
rotation: {x: 0.08633656, y: 0.04245415, z: -0.0027184533, w: 0.9953574}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:Spine
parentName: mixamorig:Hips
position: {x: -0, y: 0.092263, z: 0.015771}
rotation: {x: 0.123653084, y: -0.098656215, z: 0.021129554, w: 0.9871831}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:Spine1
parentName: mixamorig:Spine
position: {x: -0, y: 0.162548, z: 0}
rotation: {x: -0.045455363, y: -0.01241538, z: 0.00007093771, w: 0.9988892}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:Spine2
parentName: mixamorig:Spine1
position: {x: -0, y: 0.137007, z: 0}
rotation: {x: -0.10772633, y: -0.01243834, z: -0.0013008527, w: 0.99410194}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:Neck
parentName: mixamorig:Spine2
position: {x: -0, y: 0.145445, z: 0}
rotation: {x: 0.18144254, y: 0.00895915, z: 0.016119793, w: 0.9832286}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:Head
parentName: mixamorig:Neck
position: {x: -0, y: 0.044379, z: 0}
rotation: {x: -0.29963443, y: 0.04076172, z: -0.039060067, w: 0.9523823}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:HeadTop_End
parentName: mixamorig:Head
position: {x: -0, y: 0.217493, z: 0}
rotation: {x: 0, y: -0, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftShoulder
parentName: mixamorig:Spine2
position: {x: -0.061442, y: 0.108554, z: -0.0056950003}
rotation: {x: 0.62347054, y: -0.54125094, z: 0.44126925, w: 0.35158688}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftArm
parentName: mixamorig:LeftShoulder
position: {x: -0, y: 0.124986, z: 0}
rotation: {x: -0.09195975, y: -0.31755677, z: -0.010756581, w: 0.9437084}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftForeArm
parentName: mixamorig:LeftArm
position: {x: -0, y: 0.27686998, z: 0}
rotation: {x: -0.02146864, y: 0.20036371, z: -0.018629113, w: 0.97930914}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHand
parentName: mixamorig:LeftForeArm
position: {x: -0, y: 0.278738, z: 0}
rotation: {x: -0.009295996, y: 0.15893462, z: 0.13559476, w: 0.9778893}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandThumb1
parentName: mixamorig:LeftHand
position: {x: 0.018764999, y: 0.022844, z: 0.012080999}
rotation: {x: -0.03193845, y: 0.1439017, z: -0.33887535, w: 0.9292124}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandThumb2
parentName: mixamorig:LeftHandThumb1
position: {x: -0, y: 0.049488, z: 0}
rotation: {x: -0.005699133, y: -0.0043603624, z: 0.038674206, w: 0.99922615}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandThumb3
parentName: mixamorig:LeftHandThumb2
position: {x: -0, y: 0.051787, z: 0}
rotation: {x: -0.026033977, y: 0.0003726662, z: 0.015839359, w: 0.9995355}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandThumb4
parentName: mixamorig:LeftHandThumb3
position: {x: -0, y: 0.027056, z: 0}
rotation: {x: 0.028721573, y: -0.1245043, z: -0.06951175, w: 0.9893644}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandIndex1
parentName: mixamorig:LeftHand
position: {x: 0.022648001, y: 0.105147995, z: 0.002314}
rotation: {x: 0.071083, y: 0.008194005, z: -0.014202062, w: 0.9973357}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandIndex2
parentName: mixamorig:LeftHandIndex1
position: {x: -0, y: 0.055493, z: 0}
rotation: {x: 0.036835752, y: 0.0000002635642, z: 0.0044454252, w: 0.99931145}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandIndex3
parentName: mixamorig:LeftHandIndex2
position: {x: -0, y: 0.033910997, z: 0}
rotation: {x: 0.019123366, y: 0.00000008394253, z: 0.0023079438, w: 0.9998145}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandIndex4
parentName: mixamorig:LeftHandIndex3
position: {x: -0, y: 0.023343, z: 0}
rotation: {x: 0.0037724029, y: -0.0040020836, z: -0.0000067185497, w: 0.9999849}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandMiddle1
parentName: mixamorig:LeftHand
position: {x: -0, y: 0.104908, z: 0}
rotation: {x: 0.068263285, y: 0.0000000050359166, z: 0.008238587, w: 0.99763334}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandMiddle2
parentName: mixamorig:LeftHandMiddle1
position: {x: -0, y: 0.057921, z: 0}
rotation: {x: 0.03682738, y: -0.00000008535546, z: 0.0044447742, w: 0.9993118}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandMiddle3
parentName: mixamorig:LeftHandMiddle2
position: {x: -0, y: 0.037132, z: 0}
rotation: {x: 0.019123498, y: 0.00000008226189, z: 0.0023079792, w: 0.99981445}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandMiddle4
parentName: mixamorig:LeftHandMiddle3
position: {x: -0, y: 0.027520001, z: 0}
rotation: {x: 0.07033414, y: -0.0047357376, z: 0.0009760188, w: 0.9975118}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandRing1
parentName: mixamorig:LeftHand
position: {x: -0.023141, y: 0.10240699, z: 0.00045999998}
rotation: {x: 0.06789825, y: -0.0015183588, z: 0.012424417, w: 0.9976137}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandRing2
parentName: mixamorig:LeftHandRing1
position: {x: -0, y: 0.054452, z: 0}
rotation: {x: 0.03683629, y: -0.00000011629888, z: 0.004445157, w: 0.99931145}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandRing3
parentName: mixamorig:LeftHandRing2
position: {x: -0, y: 0.037132, z: 0}
rotation: {x: 0.040994342, y: -0.00000001474068, z: 0.0049477206, w: 0.9991472}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandRing4
parentName: mixamorig:LeftHandRing3
position: {x: -0, y: 0.022806998, z: 0}
rotation: {x: -0.028463084, y: -0.007408199, z: -0.0009870004, w: 0.9995669}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandPinky1
parentName: mixamorig:LeftHand
position: {x: -0.044184998, y: 0.098202996, z: 0.002097}
rotation: {x: 0.061687645, y: -0.008500633, z: 0.060086094, w: 0.996249}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandPinky2
parentName: mixamorig:LeftHandPinky1
position: {x: -0, y: 0.036763, z: 0}
rotation: {x: 0.036459662, y: -0.00465443, z: -0.00537291, w: 0.99930984}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandPinky3
parentName: mixamorig:LeftHandPinky2
position: {x: -0, y: 0.028113, z: 0}
rotation: {x: 0.040961813, y: 0.00000012340018, z: 0.0049434844, w: 0.9991485}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHandPinky4
parentName: mixamorig:LeftHandPinky3
position: {x: -0, y: 0.016595, z: 0}
rotation: {x: 0.04106242, y: -0.004149711, z: 0.00073911186, w: 0.9991477}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightShoulder
parentName: mixamorig:Spine2
position: {x: 0.061402, y: 0.108554, z: -0.0056950003}
rotation: {x: 0.5899031, y: 0.56382066, z: -0.45384818, w: 0.3579699}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightArm
parentName: mixamorig:RightShoulder
position: {x: -0, y: 0.12502599, z: 0}
rotation: {x: -0.04182078, y: -0.21362637, z: -0.017744655, w: 0.9758585}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightForeArm
parentName: mixamorig:RightArm
position: {x: -0, y: 0.27686998, z: 0}
rotation: {x: -0.020882398, y: -0.24692537, z: 0.004558189, w: 0.9687988}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHand
parentName: mixamorig:RightForeArm
position: {x: -0, y: 0.278738, z: 0}
rotation: {x: -0.13986403, y: -0.16239385, z: -0.05854199, w: 0.97500724}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandThumb1
parentName: mixamorig:RightHand
position: {x: -0.023191, y: 0.025704, z: 0.012451}
rotation: {x: 0.22688995, y: -0.043583002, z: 0.20939837, w: 0.9501442}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandThumb2
parentName: mixamorig:RightHandThumb1
position: {x: -0, y: 0.045427, z: 0}
rotation: {x: -0.010590506, y: 0.0064332546, z: -0.037090484, w: 0.99923515}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandThumb3
parentName: mixamorig:RightHandThumb2
position: {x: -0, y: 0.050932996, z: 0}
rotation: {x: -0.031692, y: 0.0025025562, z: 0.00070377794, w: 0.9994943}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandThumb4
parentName: mixamorig:RightHandThumb3
position: {x: -0, y: 0.026533999, z: 0}
rotation: {x: 0.018483208, y: 0.12657753, z: 0.07113654, w: 0.9892301}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandIndex1
parentName: mixamorig:RightHand
position: {x: -0.022873001, y: 0.105773, z: 0.001754}
rotation: {x: 0.032575633, y: -0.0050921547, z: 0.012884997, w: 0.99937326}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandIndex2
parentName: mixamorig:RightHandIndex1
position: {x: -0, y: 0.053767998, z: 0}
rotation: {x: 0.037092466, y: 0.0000001583248, z: -0.004521609, w: 0.9993017}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandIndex3
parentName: mixamorig:RightHandIndex2
position: {x: -0, y: 0.033855, z: 0}
rotation: {x: 0.03684605, y: -0.0000000242893, z: -0.004490865, w: 0.9993109}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandIndex4
parentName: mixamorig:RightHandIndex3
position: {x: -0, y: 0.023636, z: 0}
rotation: {x: 0.059460737, y: 0.0068956027, z: -0.001777921, w: 0.99820524}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandMiddle1
parentName: mixamorig:RightHand
position: {x: -0, y: 0.10779199, z: 0}
rotation: {x: 0.052111115, y: 0.000000030003086, z: -0.006351494, w: 0.9986211}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandMiddle2
parentName: mixamorig:RightHandMiddle1
position: {x: -0, y: 0.056167997, z: 0}
rotation: {x: 0.037092805, y: -0.000000081316955, z: -0.004521704, w: 0.9993017}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandMiddle3
parentName: mixamorig:RightHandMiddle2
position: {x: -0, y: 0.037364, z: 0}
rotation: {x: 0.015280102, y: 0.00000012418067, z: -0.001862349, w: 0.99988157}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandMiddle4
parentName: mixamorig:RightHandMiddle3
position: {x: -0, y: 0.026914999, z: 0}
rotation: {x: -0.041217502, y: 0.006759557, z: 0.0019827525, w: 0.99912536}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandRing1
parentName: mixamorig:RightHand
position: {x: 0.023498999, y: 0.103919, z: -0.001052}
rotation: {x: 0.051094793, y: 0.0029447083, z: -0.014659441, w: 0.9985819}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandRing2
parentName: mixamorig:RightHandRing1
position: {x: -0, y: 0.054013, z: 0}
rotation: {x: 0.037089173, y: -0.00000012828964, z: -0.0045201, w: 0.99930173}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandRing3
parentName: mixamorig:RightHandRing2
position: {x: -0, y: 0.033915997, z: 0}
rotation: {x: 0.015280112, y: 0.000000092142876, z: -0.0018624181, w: 0.99988157}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandRing4
parentName: mixamorig:RightHandRing3
position: {x: -0, y: 0.023532, z: 0}
rotation: {x: -0.0067975097, y: 0.00761517, z: 0.00035630737, w: 0.99994785}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandPinky1
parentName: mixamorig:RightHand
position: {x: 0.043783, y: 0.09791, z: 0.002129}
rotation: {x: 0.04906439, y: 0.008771026, z: -0.031059159, w: 0.9982741}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandPinky2
parentName: mixamorig:RightHandPinky1
position: {x: -0, y: 0.036528, z: 0}
rotation: {x: 0.037093192, y: -0.000000057741985, z: -0.004520434, w: 0.9993017}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandPinky3
parentName: mixamorig:RightHandPinky2
position: {x: -0, y: 0.02782, z: 0}
rotation: {x: 0.015280299, y: 0.0000001245123, z: -0.0018625236, w: 0.99988157}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHandPinky4
parentName: mixamorig:RightHandPinky3
position: {x: -0, y: 0.016121, z: 0}
rotation: {x: 0.08495621, y: 0.008932245, z: -0.0029097798, w: 0.9963404}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftUpLeg
parentName: mixamorig:Hips
position: {x: -0.096338, y: -0.032732997, z: 0}
rotation: {x: -0.058708653, y: 0.1894383, z: 0.9787148, w: 0.052762244}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftLeg
parentName: mixamorig:LeftUpLeg
position: {x: -0, y: 0.417658, z: 0}
rotation: {x: -0.30987173, y: 0.055988222, z: 0.01655316, w: 0.9489841}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftFoot
parentName: mixamorig:LeftLeg
position: {x: -0, y: 0.391992, z: 0}
rotation: {x: -0.11729566, y: 0.68393576, z: 0.7155505, w: 0.08038166}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftToeBase
parentName: mixamorig:LeftFoot
position: {x: -0, y: 0.147412, z: 0}
rotation: {x: 0.44312403, y: -0.0027553395, z: -0.00557385, w: 0.8964388}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftToe_End
parentName: mixamorig:LeftToeBase
position: {x: -0, y: 0.103292994, z: 0}
rotation: {x: 0, y: -0, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightUpLeg
parentName: mixamorig:Hips
position: {x: 0.096338, y: -0.032732997, z: 0}
rotation: {x: -0.020864854, y: 0.060729615, z: 0.99748564, w: 0.029982556}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightLeg
parentName: mixamorig:RightUpLeg
position: {x: -0, y: 0.417658, z: 0}
rotation: {x: -0.20534267, y: 0.028451536, z: 0.03293908, w: 0.9777218}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightFoot
parentName: mixamorig:RightLeg
position: {x: -0, y: 0.391992, z: 0}
rotation: {x: 0.30400845, y: 0.036732234, z: 0.018388653, w: 0.9517833}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightToeBase
parentName: mixamorig:RightFoot
position: {x: -0, y: 0.147412, z: 0}
rotation: {x: 0.6575055, y: -0.004088552, z: -0.0046847886, w: 0.7534241}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightToe_End
parentName: mixamorig:RightToeBase
position: {x: -0, y: 0.103292994, z: 0}
rotation: {x: 0, y: -0, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 1
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 3
humanoidOversampling: 1
avatarSetup: 1
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -10,7 +10,12 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e3e6fee2893b9d848b8b1ccca743c14f, type: 3}
m_Name: Pose_TPose
m_Name: Pose_Hold
m_EditorClassIdentifier: Assembly-CSharp::PlayerPose
clip: {fileID: 7400000, guid: 04d9bfa04f5cc4b46891f0bd8f3b0e54, type: 2}
clip: {fileID: 7400000, guid: b4b88b2d2f749a94fbcdc7c0447cd73c, type: 2}
clipSpeed: 1
walkClip: {fileID: 0}
walkClipSpeed: 1
runClip: {fileID: 0}
runClipSpeed: 1
ceilingYOffset: 0
File renamed without changes.
+5
View File
@@ -13,4 +13,9 @@ MonoBehaviour:
m_Name: Pose_Idle
m_EditorClassIdentifier: Assembly-CSharp::PlayerPose
clip: {fileID: 7400000, guid: 18925b0fe0029224aa6d9f4d9ca9ab72, type: 2}
clipSpeed: 1
walkClip: {fileID: -203655887218126122, guid: ced260b15c0643b46af865dc5a990bc0, type: 3}
walkClipSpeed: 1.4
runClip: {fileID: -203655887218126122, guid: a4d4588e12cac6f48a17583c08a100d2, type: 3}
runClipSpeed: 1.5
ceilingYOffset: 0
+5
View File
@@ -13,4 +13,9 @@ MonoBehaviour:
m_Name: Pose_Star
m_EditorClassIdentifier: Assembly-CSharp::PlayerPose
clip: {fileID: 7400000, guid: 933a7fdefa4f6974b9ed61bd940da6ed, type: 2}
clipSpeed: 1
walkClip: {fileID: 0}
walkClipSpeed: 1
runClip: {fileID: 0}
runClipSpeed: 1
ceilingYOffset: 1
+163 -158
View File
@@ -924,33 +924,6 @@ 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: 46ea5f6c3d8e3134c854428259abd4c6, 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
@@ -1738,56 +1711,6 @@ Transform:
m_Children: []
m_Father: {fileID: 686187287}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &821516643
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 1141039639}
m_Modifications:
- target: {fileID: -8679921383154817045, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -5045406909880574250, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
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: 6583767446015258322, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
insertIndex: -1
addedObject: {fileID: 341947181}
- targetCorrespondingSourceObject: {fileID: 3763709765074082564, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
insertIndex: -1
addedObject: {fileID: 1610102374}
- targetCorrespondingSourceObject: {fileID: 3763709765074082564, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
insertIndex: -1
addedObject: {fileID: 1610102377}
m_SourcePrefab: {fileID: 100100000, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
--- !u!1 &829281440
GameObject:
m_ObjectHideFlags: 0
@@ -2199,7 +2122,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1944972203}
- {fileID: 1917833963}
- {fileID: 1774267802}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -2248,7 +2171,6 @@ MonoBehaviour:
deceleration: 45
cameraRelative: 1
cameraTransform: {fileID: 0}
animator: {fileID: 341947181}
runningParameter: Running
rotateTowardMovement: 1
rotationSpeed: 360
@@ -2781,82 +2703,6 @@ 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!114 &1610102377
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: 161b7cf82dd54e74d92b5ca72d3be3af, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::SkinnedColliderBaker
bakeInterval: 0.1
--- !u!1 &1680244256
GameObject:
m_ObjectHideFlags: 0
@@ -3290,11 +3136,170 @@ Transform:
m_Children: []
m_Father: {fileID: 686187287}
m_LocalEulerAnglesHint: {x: 50, y: 0, z: 0}
--- !u!4 &1944972203 stripped
--- !u!1001 &1917833962
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 1141039639}
m_Modifications:
- target: {fileID: -8679921383154817045, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
propertyPath: m_Name
value: Paintman
objectReference: {fileID: 0}
- target: {fileID: 919132149155446097, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5804137883901333613, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5866666021909216657, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
propertyPath: m_Avatar
value:
objectReference: {fileID: 9000000, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
- target: {fileID: 5866666021909216657, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
propertyPath: m_Controller
value:
objectReference: {fileID: 0}
- target: {fileID: 5866666021909216657, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
propertyPath: m_ApplyRootMotion
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 3763709765074082564, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
insertIndex: -1
addedObject: {fileID: 1917833966}
- targetCorrespondingSourceObject: {fileID: 3763709765074082564, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
insertIndex: -1
addedObject: {fileID: 1917833965}
m_SourcePrefab: {fileID: 100100000, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
--- !u!4 &1917833963 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 554c0bdf86263754d862d7effd04045b, type: 3}
m_PrefabInstance: {fileID: 821516643}
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
m_PrefabInstance: {fileID: 1917833962}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1917833964 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 3763709765074082564, guid: c2044ff1352a6bb4586d6d04b59012b7, type: 3}
m_PrefabInstance: {fileID: 1917833962}
m_PrefabAsset: {fileID: 0}
--- !u!114 &1917833965
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1917833964}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 161b7cf82dd54e74d92b5ca72d3be3af, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::SkinnedColliderBaker
bakeInterval: 0.1
--- !u!114 &1917833966
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1917833964}
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 &1981625991
GameObject:
m_ObjectHideFlags: 0
+10 -11
View File
@@ -49,8 +49,6 @@ public partial class PlayerCharacterController : MonoBehaviour
[Tooltip("Camera used for camera-relative movement. Empty = Camera.main.")]
public Transform cameraTransform;
public Animator animator;
[Tooltip("Animator bool parameter driven true while running on the ground (false in air and while wall/ceiling-climbing).")]
public string runningParameter = "Running";
@@ -160,6 +158,13 @@ public partial class PlayerCharacterController : MonoBehaviour
/// <summary>True while stuck to a ceiling (wall-climb mode with a downward-facing surface normal).</summary>
public bool IsOnCeiling => _isWallClimbing && _wallNormal.y < CeilingNormalThreshold;
/// <summary>
/// True while grounded and actually moving above the run threshold (the ground-locomotion state).
/// Airborne, wall/ceiling, and standing still all read false. This is the same signal that drives
/// the run bool, exposed so the pose system can pick its walk/run locomotion clips.
/// </summary>
public bool IsMovingOnGround => _movingOnGround;
/// <summary>
/// Set by <see cref="PlayerPoseController"/> while a pose Playable graph owns the Animator output.
/// While set, the run-bool is not poked: it would be moot (the graph overrides it) and Unity would
@@ -176,6 +181,7 @@ public partial class PlayerCharacterController : MonoBehaviour
private Vector3 _horizontalVelocity; // smoothed horizontal move velocity (accel/decel ramp)
private bool _sprinting; // sprint key state this frame (exposed via IsSprinting)
private bool _isIdle; // snapshot: player essentially still this frame (exposed via IsIdle)
private bool _movingOnGround; // snapshot: grounded & moving above the run threshold (exposed via IsMovingOnGround)
private float _poseYOffset; // local-up model offset from the active pose (ceiling only); folded into SetMeshLean
// Ground contact normal from the latest Move (for slope sliding).
@@ -308,7 +314,7 @@ public partial class PlayerCharacterController : MonoBehaviour
cameraOrbit.LookSuppressed = _offsetDragging;
_horizontalVelocity = Vector3.zero; // drop ground momentum so resuming starts from rest
_isIdle = ControlEnabled && (h * h + v * v) <= 1e-4f; // attached & no climb input = holding a pose
SetAnimatorRunning(false); // climbing is its own pose, not the ground run
_movingOnGround = false; // on a wall/ceiling, never ground locomotion
return;
}
@@ -377,7 +383,7 @@ public partial class PlayerCharacterController : MonoBehaviour
Vector3 horizontalVel = _controller.velocity;
horizontalVel.y = 0f;
bool movingOnGround = _controller.isGrounded && horizontalVel.sqrMagnitude > RunningSpeedThresholdSqr;
SetAnimatorRunning(movingOnGround);
_movingOnGround = movingOnGround;
_isIdle = ControlEnabled && _controller.isGrounded && !movingOnGround; // standing still on the floor
}
@@ -945,13 +951,6 @@ public partial class PlayerCharacterController : MonoBehaviour
#endif
}
/// <summary>Drives the animator's ground-run bool (null-safe; skipped while a pose graph overrides the Animator).</summary>
private void SetAnimatorRunning(bool running)
{
if (animator && !AnimatorOverridden)
animator.SetBool(_runningHash, running);
}
/// <summary>
/// Collects contact normals during Move: wall/ceiling contacts feed the
/// wall-climb detector, the flattest upward contact becomes the ground normal.
+40 -4
View File
@@ -1,9 +1,10 @@
using UnityEngine;
/// <summary>
/// A selectable player pose: an <see cref="AnimationClip"/> held while the player is idle, plus a
/// y-offset applied to the visual model only while stuck to the ceiling (so the pose hangs at the
/// right height). The first ScriptableObject in this project.
/// A selectable player pose: an idle <see cref="AnimationClip"/> held while the player stands still,
/// plus optional walk and run clips that the pose system plays itself (the Animator stays empty) while
/// moving on the ground, and a y-offset applied to the visual model only while stuck to the ceiling
/// (so the pose hangs at the right height). The first ScriptableObject in this project.
///
/// Named PlayerPose (not Pose) to avoid shadowing the built-in UnityEngine.Pose struct, mirroring
/// why the controller is PlayerCharacterController and not just "PlayerController".
@@ -16,13 +17,48 @@ public class PlayerPose : ScriptableObject
"other hierarchies will not retarget.")]
[SerializeField] private AnimationClip clip;
[Tooltip("Playback speed multiplier for the idle clip. 1 = authored speed.")]
[Range(0.1f, 3f)]
[SerializeField] private float clipSpeed = 1f;
[Tooltip("Optional. Played instead of the idle clip while walking on the ground (moving, not " +
"sprinting). Leave empty to keep holding the idle pose while walking. Should loop.")]
[SerializeField] private AnimationClip walkClip;
[Tooltip("Playback speed multiplier for the walk clip. 1 = authored speed.")]
[Range(0.1f, 3f)]
[SerializeField] private float walkClipSpeed = 1f;
[Tooltip("Optional. Played instead of the idle clip while sprinting on the ground. Leave empty to " +
"keep holding the idle pose while sprinting. Should loop.")]
[SerializeField] private AnimationClip runClip;
[Tooltip("Playback speed multiplier for the run clip. 1 = authored speed.")]
[Range(0.1f, 3f)]
[SerializeField] private float runClipSpeed = 1f;
[Tooltip("Local-up offset added to the visual model ONLY while stuck to the ceiling, so the pose " +
"hangs at the right height. Ignored on the ground and on walls. Meters.")]
[SerializeField] private float ceilingYOffset;
/// <summary>Idle clip for this pose (may be null).</summary>
/// <summary>Idle clip held while the player stands still in this pose (may be null).</summary>
public AnimationClip Clip => clip;
/// <summary>Playback speed multiplier for the idle clip (1 = authored speed).</summary>
public float ClipSpeed => clipSpeed;
/// <summary>Optional clip played while walking on the ground; null = hold the idle pose.</summary>
public AnimationClip WalkClip => walkClip;
/// <summary>Playback speed multiplier for the walk clip (1 = authored speed).</summary>
public float WalkClipSpeed => walkClipSpeed;
/// <summary>Optional clip played while sprinting on the ground; null = hold the idle pose.</summary>
public AnimationClip RunClip => runClip;
/// <summary>Playback speed multiplier for the run clip (1 = authored speed).</summary>
public float RunClipSpeed => runClipSpeed;
/// <summary>Local-up offset applied to the model only while on the ceiling.</summary>
public float CeilingYOffset => ceilingYOffset;
}
+43 -26
View File
@@ -8,18 +8,22 @@ using UnityEngine.InputSystem;
/// <summary>
/// Sits next to the <see cref="PlayerCharacterController"/> and holds a list of <see cref="PlayerPose"/>s
/// plus the active index. The active pose is held continuously — while idle, walking, and sprinting
/// alike — so cycling to the next pose, or the sprint reset to the default pose, shows up
/// immediately instead of only once the player comes to a stop. One key cycles to the next pose
/// (wrapping), and sprinting in any state (ground, air, wall, ceiling) snaps the selection back to the default pose.
/// plus the active index. The pose system owns all character animation — the Animator is left empty —
/// so it drives locomotion itself: standing still (or airborne / on a wall / on the ceiling) holds the
/// active pose's idle clip, walking on the ground plays that pose's optional walk clip, and sprinting
/// on the ground plays its optional run clip. Either locomotion clip is optional; when a pose leaves
/// one null, the idle pose is simply held in that state.
///
/// The pose clip is played through a tiny <see cref="PlayableGraph"/> (a two-input
/// <see cref="AnimationMixerPlayable"/> on an <see cref="AnimationPlayableOutput"/>) that overrides
/// the Animator Controller's run/idle animation for as long as a pose is selected (it only hands the
/// rig back when the list is empty / the clip is null). Switching pose crossfades the outgoing and
/// incoming clips over <see cref="poseBlendDuration"/> instead of snapping. The per-pose ceiling
/// y-offset is eased toward its target and routed through the controller (the single writer of the
/// model-offset transform) so it composes with the wall-lean instead of fighting it.
/// One key cycles to the next pose (wrapping), and sprinting in any state (ground, air, wall, ceiling)
/// snaps the selection back to the default pose. The selection is held continuously, so cycling or the
/// sprint reset shows up immediately instead of only once the player comes to a stop.
///
/// Clips are played through a tiny <see cref="PlayableGraph"/> (a two-input
/// <see cref="AnimationMixerPlayable"/> on an <see cref="AnimationPlayableOutput"/>) that drives the
/// Animator directly. Switching clip — between poses, or between idle/walk/run within a pose —
/// crossfades the outgoing and incoming clips over <see cref="poseBlendDuration"/> instead of snapping.
/// The per-pose ceiling y-offset is eased toward its target and routed through the controller (the
/// single writer of the model-offset transform) so it composes with the wall-lean instead of fighting it.
/// </summary>
[RequireComponent(typeof(PlayerCharacterController))]
[DisallowMultipleComponent]
@@ -93,7 +97,7 @@ public partial class PlayerPoseController : MonoBehaviour
void Awake()
{
_player = GetComponent<PlayerCharacterController>();
_animator = _player ? _player.animator : null;
_animator = _player ? _player.GetComponentInChildren<Animator>() : null;
_graphName = $"{name}-Pose";
if (_animator)
CaptureRestPose();
@@ -113,16 +117,23 @@ public partial class PlayerPoseController : MonoBehaviour
PlayerPose pose = ActivePose();
// Hold the pose continuously — idle, walking, and sprinting alike — so a selection change
// (cycling, or the sprint reset to the default pose above) shows immediately instead of only
// once the player stops. PlayPose hands the rig back to the controller only when there is no
// clip to play (empty list / null clip).
PlayPose(pose ? pose.Clip : null);
// Tell the controller the pose graph owns the Animator output so it stops poking the run-bool
// (moot while overridden, and it would warn every frame). Read next frame, when this matches
// the bound-graph state (both only change here).
_player.AnimatorOverridden = _posePlaying;
// Pick the clip for the current locomotion state. Standing still, airborne, on a wall or on the
// ceiling holds the idle pose; moving on the ground plays the run clip while sprinting or the
// walk clip otherwise. Both locomotion clips are optional — a null one falls back to the idle
// pose, so an unset walk clip keeps the held-pose behaviour. PlayPose crossfades on any change
// and hands the rig back only when there is no clip at all (empty list / null idle clip).
AnimationClip clip = pose ? pose.Clip : null;
float speed = pose ? pose.ClipSpeed : 1f;
if (pose && _player.IsMovingOnGround)
{
AnimationClip locomotion = _player.IsSprinting ? pose.RunClip : pose.WalkClip;
if (locomotion)
{
clip = locomotion;
speed = _player.IsSprinting ? pose.RunClipSpeed : pose.WalkClipSpeed;
}
}
PlayPose(clip, speed);
// Ceiling y-offset: only while stuck to the ceiling. Ease toward the target instead of
// snapping, so entering and leaving the ceiling (and switching ceiling poses) glides. Routed
@@ -143,7 +154,6 @@ public partial class PlayerPoseController : MonoBehaviour
if (_player)
{
_player.SetPoseLocalYOffset(0f);
_player.AnimatorOverridden = false;
}
}
@@ -183,10 +193,11 @@ public partial class PlayerPoseController : MonoBehaviour
/// Plays and holds the given clip, overriding the Animator Controller. Switching to a different
/// clip crossfades from the current pose over <see cref="poseBlendDuration"/> (the first pose, or a
/// zero duration, appears instantly). Called every frame: it starts a transition on a clip change,
/// advances any in-flight blend, and re-snaps un-keyed bones to rest before the graph evaluates. A
/// null clip (or no animator) releases back to the controller.
/// advances any in-flight blend, applies <paramref name="speed"/> to the target playback, and
/// re-snaps un-keyed bones to rest before the graph evaluates. A null clip (or no animator) releases
/// back to the controller.
/// </summary>
private void PlayPose(AnimationClip clip)
private void PlayPose(AnimationClip clip, float speed)
{
if (!clip || !_animator)
{
@@ -201,6 +212,12 @@ public partial class PlayerPoseController : MonoBehaviour
AdvanceBlend(Time.deltaTime);
// Set every frame (not just on clip change) so tuning a pose's speed slider live in the inspector
// takes effect immediately and re-selecting the same clip keeps its speed. The outgoing pose on
// input 0 keeps the speed it carried, so a crossfade fades it out at its own pace.
if (_toPlayable.IsValid())
PlayableExtensions.SetSpeed(_toPlayable, speed);
// Snap un-keyed bones to rest every frame, so each mixer input blends relative to rest: a
// partial or empty clip (e.g. the T-pose) defines the whole body, and a crossfade interpolates
// both poses against the same baseline. The graph overrides the keyed bones, weighted, when it