ADD: 레드 STREAM ON 영상 중간저장

This commit is contained in:
DESKTOP-S4BOTN2\user 2026-04-14 23:56:41 +09:00
parent 870dee9447
commit 11be1ead86
13 changed files with 20577 additions and 4 deletions

View File

@ -0,0 +1,848 @@
fileFormatVersion: 2
guid: 90830e7fe5c8a5446854c749eb3d85f3
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: []
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: Bip001
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: Bip001 L Thigh
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: Bip001 R Thigh
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: Bip001 L Calf
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: Bip001 R Calf
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: Bip001 L Foot
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: Bip001 R Foot
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: Bip001 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: Bip001 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: Bip001 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: Bip001 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: Bip001 L Clavicle
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: Bip001 R Clavicle
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: Bip001 L UpperArm
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: Bip001 R UpperArm
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: Bip001 L Forearm
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: Bip001 R Forearm
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: Bip001 L Hand
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: Bip001 R Hand
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: Bip001 L Toe0
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: Bip001 R Toe0
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: Bip001 L Finger0
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: Bip001 L Finger01
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: Bip001 L Finger02
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: Bip001 L Finger1
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: Bip001 L Finger11
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: Bip001 L Finger12
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: Bip001 L Finger2
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: Bip001 L Finger21
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: Bip001 L Finger22
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: Bip001 L Finger3
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: Bip001 L Finger31
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: Bip001 L Finger32
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: Bip001 L Finger4
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: Bip001 L Finger41
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: Bip001 L Finger42
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: Bip001 R Finger0
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: Bip001 R Finger01
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: Bip001 R Finger02
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: Bip001 R Finger1
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: Bip001 R Finger11
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: Bip001 R Finger12
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: Bip001 R Finger2
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: Bip001 R Finger21
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: Bip001 R Finger22
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: Bip001 R Finger3
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: Bip001 R Finger31
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: Bip001 R Finger32
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: Bip001 R Finger4
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: Bip001 R Finger41
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: Bip001 R Finger42
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
skeleton:
- name: "\uB808\uB4DC_260418_\uC624\uB9AC\uC9C0\uB110 \uB370\uBDD4_BipedOnly(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: Bip001
parentName: "\uB808\uB4DC_260418_\uC624\uB9AC\uC9C0\uB110 \uB370\uBDD4_BipedOnly(Clone)"
position: {x: -0, y: 0.9799315, z: 0.042217273}
rotation: {x: -0.50000036, y: 0.49999967, z: 0.49999967, w: 0.50000036}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 Pelvis
parentName: Bip001
position: {x: -0, y: 0, z: 0}
rotation: {x: -0.5, y: 0.5, z: 0.4999993, w: 0.5000007}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Thigh
parentName: Bip001 Pelvis
position: {x: 0.000000076293944, y: 0.00000015258789, z: 0.08176791}
rotation: {x: 0.001976152, y: 0.99999636, z: 0.00008437395, w: 0.0018326684}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Calf
parentName: Bip001 L Thigh
position: {x: -0.41385725, y: 0, z: 0}
rotation: {x: -1.13696795e-11, y: 2.326667e-10, z: 0.017587233, w: 0.9998454}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Foot
parentName: Bip001 L Calf
position: {x: -0.48468727, y: 0, z: 0.000000009536743}
rotation: {x: 0.00011729934, y: 0.0018315805, z: -0.019562993, w: 0.99980694}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Toe0
parentName: Bip001 L Foot
position: {x: -0.0713059, y: 0.0853438, z: -0.00023212432}
rotation: {x: 9.260879e-22, y: 9.260879e-22, z: -0.7071068, w: 0.7071068}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Toe0Nub
parentName: Bip001 L Toe0
position: {x: -0.06890652, y: 0, z: 0}
rotation: {x: 1.3096859e-21, y: -8.0195134e-38, z: 1, w: 6.123234e-17}
scale: {x: -1, y: -1, z: -1}
- name: Bip001 R Thigh
parentName: Bip001 Pelvis
position: {x: -0.000000076293944, y: -0.0000000667572, z: -0.08176791}
rotation: {x: 0.0019761543, y: 0.99999636, z: -0.000085763655, w: -0.0018341398}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Calf
parentName: Bip001 R Thigh
position: {x: -0.41385725, y: -0.0000000023841857, z: 0}
rotation: {x: 1.659709e-11, y: -1.161414e-10, z: 0.017587237, w: 0.9998454}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Foot
parentName: Bip001 R Calf
position: {x: -0.48468727, y: -0.0000000023841857, z: -0.000000009536743}
rotation: {x: -0.00011730106, y: -0.0018316681, z: -0.019562993, w: 0.99980694}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Toe0
parentName: Bip001 R Foot
position: {x: -0.0713059, y: 0.0853438, z: 0.00023211479}
rotation: {x: 9.260879e-22, y: 9.260879e-22, z: -0.7071068, w: 0.7071068}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Toe0Nub
parentName: Bip001 R Toe0
position: {x: -0.06890652, y: 0, z: 0}
rotation: {x: 0, y: 1.3096859e-21, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 Spine
parentName: Bip001 Pelvis
position: {x: -0.1187384, y: 0.0051981164, z: 0.00000015398298}
rotation: {x: -0.000002080476, y: 0.00000069367604, z: -0.00039815903, w: 0.99999994}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 Spine1
parentName: Bip001 Spine
position: {x: -0.12959075, y: -0.00015201568, z: -4.2162354e-10}
rotation: {x: -3.0117564e-14, y: -1.110223e-16, z: -3.3437213e-30, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Clavicle
parentName: Bip001 Spine1
position: {x: -0.15043998, y: -0.04835419, z: 0.040440448}
rotation: {x: 0.7071077, y: 0.00028154056, z: -0.70710576, w: 0.00028154135}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L UpperArm
parentName: Bip001 L Clavicle
position: {x: -0.07138987, y: -0.0000000025331974, z: 0}
rotation: {x: 2.996828e-10, y: 0.000000021855634, z: 0.00000068445536, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Forearm
parentName: Bip001 L UpperArm
position: {x: -0.22398145, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 1.7905076e-23, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Hand
parentName: Bip001 L Forearm
position: {x: -0.21193427, y: 0, z: 0}
rotation: {x: -0.7071067, y: 0.0000035234266, z: 0.0000035215205, w: 0.7071068}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger0
parentName: Bip001 L Hand
position: {x: -0.028392715, y: 0.011796264, z: -0.023759682}
rotation: {x: 0.42038393, y: -0.34573525, z: 0.1198159, w: 0.83029425}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger01
parentName: Bip001 L Finger0
position: {x: -0.02951683, y: 0, z: 0}
rotation: {x: 0.0034644417, y: 0.016262949, z: -0.027668044, w: 0.9994789}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger02
parentName: Bip001 L Finger01
position: {x: -0.021145476, y: 0.000000076293944, z: 0}
rotation: {x: 0.000000029802322, y: 0.000000014901161, z: -4.440892e-16, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger0Nub
parentName: Bip001 L Finger02
position: {x: -0.02684269, y: -0.000000076293944, z: 0}
rotation: {x: 0.000000029802322, y: 0.000000014901161, z: -4.440892e-16, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger1
parentName: Bip001 L Hand
position: {x: -0.08332485, y: 0.0021809386, z: -0.021814765}
rotation: {x: -0.0019396703, y: -0.0022935579, z: -0.009399458, w: 0.9999513}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger11
parentName: Bip001 L Finger1
position: {x: -0.028248634, y: 0.00000015258789, z: 0}
rotation: {x: 2.3283062e-10, y: -2.1100274e-10, z: 4.9127898e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger12
parentName: Bip001 L Finger11
position: {x: -0.019584045, y: -0.00000015258789, z: 0}
rotation: {x: 2.3283062e-10, y: -2.1100274e-10, z: 4.9127898e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger1Nub
parentName: Bip001 L Finger12
position: {x: -0.022983016, y: 0.00000015258789, z: 0}
rotation: {x: 2.3283062e-10, y: -2.1100274e-10, z: 4.9127898e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger2
parentName: Bip001 L Hand
position: {x: -0.08369041, y: 0.0002835083, z: -0.0070702033}
rotation: {x: -0.00016107928, y: 0.0034182346, z: -0.004327905, w: 0.9999848}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger21
parentName: Bip001 L Finger2
position: {x: -0.03128601, y: -0.00000015258789, z: 0}
rotation: {x: -1.4551915e-11, y: -7.9694466e-11, z: 4.6566123e-10, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger22
parentName: Bip001 L Finger21
position: {x: -0.025667267, y: 0.00000015258789, z: 0.0000000011920929}
rotation: {x: -1.4551915e-11, y: -7.9694466e-11, z: 4.6566123e-10, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger2Nub
parentName: Bip001 L Finger22
position: {x: -0.027416306, y: 0, z: 0}
rotation: {x: -1.4551915e-11, y: -7.9694466e-11, z: 4.6566123e-10, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger3
parentName: Bip001 L Hand
position: {x: -0.08377491, y: -0.00087997434, z: 0.008317358}
rotation: {x: 0.000489932, y: 0.0002906334, z: -0.015637932, w: 0.9998776}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger31
parentName: Bip001 L Finger3
position: {x: -0.02872589, y: 0, z: 0}
rotation: {x: -5.820766e-11, y: 2.3646862e-11, z: -9.313226e-10, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger32
parentName: Bip001 L Finger31
position: {x: -0.019782905, y: 0.00000015258789, z: 0}
rotation: {x: -5.820766e-11, y: 2.3646862e-11, z: -9.313226e-10, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger3Nub
parentName: Bip001 L Finger32
position: {x: -0.022478942, y: -0.00000015258789, z: 0}
rotation: {x: -5.820766e-11, y: 2.3646862e-11, z: -9.313226e-10, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger4
parentName: Bip001 L Hand
position: {x: -0.081071734, y: 0.0033520507, z: 0.022619087}
rotation: {x: 0.0030500593, y: -0.0019212259, z: -0.0030884123, w: 0.99998873}
scale: {x: 1.000001, y: 1, z: 1.000001}
- name: Bip001 L Finger41
parentName: Bip001 L Finger4
position: {x: -0.02152832, y: 0, z: 0}
rotation: {x: -2.3283067e-10, y: -6.9121604e-11, z: -1.609363e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger42
parentName: Bip001 L Finger41
position: {x: -0.0149958795, y: -0.00000015258789, z: 0.0000000023841857}
rotation: {x: -2.3283067e-10, y: -6.9121604e-11, z: -1.609363e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger4Nub
parentName: Bip001 L Finger42
position: {x: -0.020091247, y: 0, z: -0.0000000023841857}
rotation: {x: -2.3283067e-10, y: -6.9121604e-11, z: -1.609363e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 Neck
parentName: Bip001 Spine1
position: {x: -0.19892891, y: -0.028541552, z: -0.00000003916286}
rotation: {x: -1.5046715e-14, y: -0.0000000011038934, z: 0.00039800015, w: 0.99999994}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 Head
parentName: Bip001 Neck
position: {x: -0.07392304, y: 0.012196978, z: 0.00000003216256}
rotation: {x: -2.3598475e-19, y: -3.799925e-13, z: 0.00000083042096, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 HeadNub
parentName: Bip001 Head
position: {x: -0.20863387, y: -0.0000000023841857, z: 0}
rotation: {x: -4.1174796e-20, y: 0, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Clavicle
parentName: Bip001 Spine1
position: {x: -0.15043998, y: -0.048353963, z: -0.040440716}
rotation: {x: 0.7071077, y: 0.00028154056, z: 0.70710576, w: -0.00028154135}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R UpperArm
parentName: Bip001 R Clavicle
position: {x: -0.07138988, y: 0.0000000025331974, z: 0}
rotation: {x: -2.996828e-10, y: -0.000000021855634, z: 0.00000068445536, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Forearm
parentName: Bip001 R UpperArm
position: {x: -0.22398144, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 5.3819814e-23, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Hand
parentName: Bip001 R Forearm
position: {x: -0.21193427, y: 0, z: 0}
rotation: {x: 0.7071067, y: -0.0000035234266, z: 0.0000035215205, w: 0.7071068}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger0
parentName: Bip001 R Hand
position: {x: -0.028392715, y: 0.011796264, z: 0.023759676}
rotation: {x: -0.42038405, y: 0.34573638, z: 0.11981613, w: 0.8302937}
scale: {x: 1, y: 1, z: 1.000001}
- name: Bip001 R Finger01
parentName: Bip001 R Finger0
position: {x: -0.02951683, y: -0.000000038146972, z: -0.00000015258789}
rotation: {x: -0.0034644408, y: -0.016262949, z: -0.02766803, w: 0.9994789}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger02
parentName: Bip001 R Finger01
position: {x: -0.021145476, y: 0.000000076293944, z: 0}
rotation: {x: -0.000000014901163, y: -0.000000014901161, z: 0.00000000745058, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger0Nub
parentName: Bip001 R Finger02
position: {x: -0.026842726, y: 0, z: 0}
rotation: {x: -0.000000014901161, y: 0.000000014901163, z: 1, w: -0.000000007450581}
scale: {x: -1, y: -1, z: -1}
- name: Bip001 R Finger1
parentName: Bip001 R Hand
position: {x: -0.08332489, y: 0.0021809386, z: 0.021814765}
rotation: {x: 0.0019396703, y: 0.002293558, z: -0.009399457, w: 0.9999513}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger11
parentName: Bip001 R Finger1
position: {x: -0.028248558, y: 0, z: 0}
rotation: {x: -2.3283064e-10, y: -2.1827873e-11, z: -9.313226e-10, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger12
parentName: Bip001 R Finger11
position: {x: -0.019584045, y: 0, z: -0.0000000023841857}
rotation: {x: -2.3283064e-10, y: -2.1827873e-11, z: -9.313226e-10, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger1Nub
parentName: Bip001 R Finger12
position: {x: -0.022983093, y: 0, z: 0.0000000023841857}
rotation: {x: -2.1827873e-11, y: 2.3283064e-10, z: 1, w: 9.313227e-10}
scale: {x: -1, y: -1, z: -1}
- name: Bip001 R Finger2
parentName: Bip001 R Hand
position: {x: -0.083690375, y: 0.0002835083, z: 0.007070203}
rotation: {x: 0.00016107933, y: -0.0034182344, z: -0.004327905, w: 0.9999848}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger21
parentName: Bip001 R Finger2
position: {x: -0.031285934, y: -0.00000015258789, z: 0}
rotation: {x: 0, y: 7.935341e-11, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger22
parentName: Bip001 R Finger21
position: {x: -0.025667343, y: 0.00000015258789, z: 0}
rotation: {x: 0, y: 7.935341e-11, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger2Nub
parentName: Bip001 R Finger22
position: {x: -0.027416306, y: 0, z: 0}
rotation: {x: 7.935341e-11, y: -4.8589953e-27, z: 1, w: 6.123234e-17}
scale: {x: -1, y: -1, z: -1}
- name: Bip001 R Finger3
parentName: Bip001 R Hand
position: {x: -0.08377491, y: -0.00087997434, z: -0.008317358}
rotation: {x: -0.000489932, y: -0.0002906334, z: -0.015637932, w: 0.9998776}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger31
parentName: Bip001 R Finger3
position: {x: -0.028725928, y: 0, z: 0}
rotation: {x: 0, y: -2.3646862e-11, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger32
parentName: Bip001 R Finger31
position: {x: -0.019782905, y: 0.00000015258789, z: 0}
rotation: {x: 0, y: -2.3646862e-11, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger3Nub
parentName: Bip001 R Finger32
position: {x: -0.022478942, y: -0.00000015258789, z: 0}
rotation: {x: -2.3646862e-11, y: 1.4479527e-27, z: 1, w: 6.123234e-17}
scale: {x: -1, y: -1, z: -1}
- name: Bip001 R Finger4
parentName: Bip001 R Hand
position: {x: -0.0810717, y: 0.0033520507, z: -0.02261909}
rotation: {x: -0.0030500595, y: 0.0019212258, z: -0.0030884123, w: 0.99998873}
scale: {x: 1.000001, y: 1, z: 1.000001}
- name: Bip001 R Finger41
parentName: Bip001 R Finger4
position: {x: -0.02152832, y: 0, z: 0}
rotation: {x: 2.3283067e-10, y: -4.547474e-11, z: 1.05879135e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger42
parentName: Bip001 R Finger41
position: {x: -0.0149958795, y: -0.00000015258789, z: -0.0000000047683715}
rotation: {x: 2.3283067e-10, y: -4.547474e-11, z: 1.05879135e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger4Nub
parentName: Bip001 R Finger42
position: {x: -0.020091247, y: 0, z: 0}
rotation: {x: -4.547474e-11, y: -2.3283067e-10, z: 1, w: 6.1221755e-17}
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: 1
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:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: df2276e968131104a9b479fa57ae5fc2
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b8dd498bb71acf84192b2854efbd640f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,877 @@
fileFormatVersion: 2
guid: 3e441adf402ffe040a5cfe0a6787760b
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: 0
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations:
- serializedVersion: 16
name: "Ani_\uB808\uB4DC_\uC624\uB9AC\uC9C0\uB110_StreamOn_01"
takeName: Take 001
internalID: 1827226128182048838
firstFrame: 0
lastFrame: 8010
wrapMode: 0
orientationOffsetY: 0
level: 0
cycleOffset: 0
loop: 0
hasAdditiveReferencePose: 0
loopTime: 0
loopBlend: 0
loopBlendOrientation: 1
loopBlendPositionY: 1
loopBlendPositionXZ: 1
keepOriginalOrientation: 1
keepOriginalPositionY: 1
keepOriginalPositionXZ: 1
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: Bip001
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: Bip001 L Thigh
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: Bip001 R Thigh
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: Bip001 L Calf
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: Bip001 R Calf
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: Bip001 L Foot
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: Bip001 R Foot
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: Bip001 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: Bip001 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: Bip001 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: Bip001 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: Bip001 L Clavicle
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: Bip001 R Clavicle
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: Bip001 L UpperArm
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: Bip001 R UpperArm
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: Bip001 L Forearm
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: Bip001 R Forearm
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: Bip001 L Hand
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: Bip001 R Hand
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: Bip001 L Toe0
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: Bip001 R Toe0
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: Bip001 L Finger0
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: Bip001 L Finger01
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: Bip001 L Finger02
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: Bip001 L Finger1
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: Bip001 L Finger11
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: Bip001 L Finger12
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: Bip001 L Finger2
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: Bip001 L Finger21
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: Bip001 L Finger22
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: Bip001 L Finger3
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: Bip001 L Finger31
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: Bip001 L Finger32
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: Bip001 L Finger4
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: Bip001 L Finger41
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: Bip001 L Finger42
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: Bip001 R Finger0
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: Bip001 R Finger01
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: Bip001 R Finger02
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: Bip001 R Finger1
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: Bip001 R Finger11
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: Bip001 R Finger12
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: Bip001 R Finger2
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: Bip001 R Finger21
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: Bip001 R Finger22
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: Bip001 R Finger3
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: Bip001 R Finger31
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: Bip001 R Finger32
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: Bip001 R Finger4
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: Bip001 R Finger41
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: Bip001 R Finger42
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
skeleton:
- name: "\uB808\uB4DC_260418_\uC624\uB9AC\uC9C0\uB110 \uB370\uBDD4_BipedOnly(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: Bip001
parentName: "\uB808\uB4DC_260418_\uC624\uB9AC\uC9C0\uB110 \uB370\uBDD4_BipedOnly(Clone)"
position: {x: -0, y: 0.9799315, z: 0.042217273}
rotation: {x: -0.50000036, y: 0.49999967, z: 0.49999967, w: 0.50000036}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 Pelvis
parentName: Bip001
position: {x: -0, y: 0, z: 0}
rotation: {x: -0.5, y: 0.5, z: 0.4999993, w: 0.5000007}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Thigh
parentName: Bip001 Pelvis
position: {x: 0.000000076293944, y: 0.00000015258789, z: 0.08176791}
rotation: {x: 0.001976152, y: 0.99999636, z: 0.00008437395, w: 0.0018326684}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Calf
parentName: Bip001 L Thigh
position: {x: -0.41385725, y: 0, z: 0}
rotation: {x: -1.13696795e-11, y: 2.326667e-10, z: 0.017587233, w: 0.9998454}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Foot
parentName: Bip001 L Calf
position: {x: -0.48468727, y: 0, z: 0.000000009536743}
rotation: {x: 0.00011729934, y: 0.0018315805, z: -0.019562993, w: 0.99980694}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Toe0
parentName: Bip001 L Foot
position: {x: -0.0713059, y: 0.0853438, z: -0.00023212432}
rotation: {x: 9.260879e-22, y: 9.260879e-22, z: -0.7071068, w: 0.7071068}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Toe0Nub
parentName: Bip001 L Toe0
position: {x: -0.06890652, y: 0, z: 0}
rotation: {x: 1.3096859e-21, y: -8.0195134e-38, z: 1, w: 6.123234e-17}
scale: {x: -1, y: -1, z: -1}
- name: Bip001 R Thigh
parentName: Bip001 Pelvis
position: {x: -0.000000076293944, y: -0.0000000667572, z: -0.08176791}
rotation: {x: 0.0019761543, y: 0.99999636, z: -0.000085763655, w: -0.0018341398}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Calf
parentName: Bip001 R Thigh
position: {x: -0.41385725, y: -0.0000000023841857, z: 0}
rotation: {x: 1.659709e-11, y: -1.161414e-10, z: 0.017587237, w: 0.9998454}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Foot
parentName: Bip001 R Calf
position: {x: -0.48468727, y: -0.0000000023841857, z: -0.000000009536743}
rotation: {x: -0.00011730106, y: -0.0018316681, z: -0.019562993, w: 0.99980694}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Toe0
parentName: Bip001 R Foot
position: {x: -0.0713059, y: 0.0853438, z: 0.00023211479}
rotation: {x: 9.260879e-22, y: 9.260879e-22, z: -0.7071068, w: 0.7071068}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Toe0Nub
parentName: Bip001 R Toe0
position: {x: -0.06890652, y: 0, z: 0}
rotation: {x: 0, y: 1.3096859e-21, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 Spine
parentName: Bip001 Pelvis
position: {x: -0.1187384, y: 0.0051981164, z: 0.00000015398298}
rotation: {x: -0.000002080476, y: 0.00000069367604, z: -0.00039815903, w: 0.99999994}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 Spine1
parentName: Bip001 Spine
position: {x: -0.12959075, y: -0.00015201568, z: -4.2162354e-10}
rotation: {x: -3.0117564e-14, y: -1.110223e-16, z: -3.3437213e-30, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Clavicle
parentName: Bip001 Spine1
position: {x: -0.15043998, y: -0.04835419, z: 0.040440448}
rotation: {x: 0.7071077, y: 0.00028154056, z: -0.70710576, w: 0.00028154135}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L UpperArm
parentName: Bip001 L Clavicle
position: {x: -0.07138987, y: -0.0000000025331974, z: 0}
rotation: {x: 2.996828e-10, y: 0.000000021855634, z: 0.00000068445536, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Forearm
parentName: Bip001 L UpperArm
position: {x: -0.22398145, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 1.7905076e-23, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Hand
parentName: Bip001 L Forearm
position: {x: -0.21193427, y: 0, z: 0}
rotation: {x: -0.7071067, y: 0.0000035234266, z: 0.0000035215205, w: 0.7071068}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger0
parentName: Bip001 L Hand
position: {x: -0.028392715, y: 0.011796264, z: -0.023759682}
rotation: {x: 0.42038393, y: -0.34573525, z: 0.1198159, w: 0.83029425}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger01
parentName: Bip001 L Finger0
position: {x: -0.02951683, y: 0, z: 0}
rotation: {x: 0.0034644417, y: 0.016262949, z: -0.027668044, w: 0.9994789}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger02
parentName: Bip001 L Finger01
position: {x: -0.021145476, y: 0.000000076293944, z: 0}
rotation: {x: 0.000000029802322, y: 0.000000014901161, z: -4.440892e-16, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger0Nub
parentName: Bip001 L Finger02
position: {x: -0.02684269, y: -0.000000076293944, z: 0}
rotation: {x: 0.000000029802322, y: 0.000000014901161, z: -4.440892e-16, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger1
parentName: Bip001 L Hand
position: {x: -0.08332485, y: 0.0021809386, z: -0.021814765}
rotation: {x: -0.0019396703, y: -0.0022935579, z: -0.009399458, w: 0.9999513}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger11
parentName: Bip001 L Finger1
position: {x: -0.028248634, y: 0.00000015258789, z: 0}
rotation: {x: 2.3283062e-10, y: -2.1100274e-10, z: 4.9127898e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger12
parentName: Bip001 L Finger11
position: {x: -0.019584045, y: -0.00000015258789, z: 0}
rotation: {x: 2.3283062e-10, y: -2.1100274e-10, z: 4.9127898e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger1Nub
parentName: Bip001 L Finger12
position: {x: -0.022983016, y: 0.00000015258789, z: 0}
rotation: {x: 2.3283062e-10, y: -2.1100274e-10, z: 4.9127898e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger2
parentName: Bip001 L Hand
position: {x: -0.08369041, y: 0.0002835083, z: -0.0070702033}
rotation: {x: -0.00016107928, y: 0.0034182346, z: -0.004327905, w: 0.9999848}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger21
parentName: Bip001 L Finger2
position: {x: -0.03128601, y: -0.00000015258789, z: 0}
rotation: {x: -1.4551915e-11, y: -7.9694466e-11, z: 4.6566123e-10, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger22
parentName: Bip001 L Finger21
position: {x: -0.025667267, y: 0.00000015258789, z: 0.0000000011920929}
rotation: {x: -1.4551915e-11, y: -7.9694466e-11, z: 4.6566123e-10, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger2Nub
parentName: Bip001 L Finger22
position: {x: -0.027416306, y: 0, z: 0}
rotation: {x: -1.4551915e-11, y: -7.9694466e-11, z: 4.6566123e-10, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger3
parentName: Bip001 L Hand
position: {x: -0.08377491, y: -0.00087997434, z: 0.008317358}
rotation: {x: 0.000489932, y: 0.0002906334, z: -0.015637932, w: 0.9998776}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger31
parentName: Bip001 L Finger3
position: {x: -0.02872589, y: 0, z: 0}
rotation: {x: -5.820766e-11, y: 2.3646862e-11, z: -9.313226e-10, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger32
parentName: Bip001 L Finger31
position: {x: -0.019782905, y: 0.00000015258789, z: 0}
rotation: {x: -5.820766e-11, y: 2.3646862e-11, z: -9.313226e-10, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger3Nub
parentName: Bip001 L Finger32
position: {x: -0.022478942, y: -0.00000015258789, z: 0}
rotation: {x: -5.820766e-11, y: 2.3646862e-11, z: -9.313226e-10, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger4
parentName: Bip001 L Hand
position: {x: -0.081071734, y: 0.0033520507, z: 0.022619087}
rotation: {x: 0.0030500593, y: -0.0019212259, z: -0.0030884123, w: 0.99998873}
scale: {x: 1.000001, y: 1, z: 1.000001}
- name: Bip001 L Finger41
parentName: Bip001 L Finger4
position: {x: -0.02152832, y: 0, z: 0}
rotation: {x: -2.3283067e-10, y: -6.9121604e-11, z: -1.609363e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger42
parentName: Bip001 L Finger41
position: {x: -0.0149958795, y: -0.00000015258789, z: 0.0000000023841857}
rotation: {x: -2.3283067e-10, y: -6.9121604e-11, z: -1.609363e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 L Finger4Nub
parentName: Bip001 L Finger42
position: {x: -0.020091247, y: 0, z: -0.0000000023841857}
rotation: {x: -2.3283067e-10, y: -6.9121604e-11, z: -1.609363e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 Neck
parentName: Bip001 Spine1
position: {x: -0.19892891, y: -0.028541552, z: -0.00000003916286}
rotation: {x: -1.5046715e-14, y: -0.0000000011038934, z: 0.00039800015, w: 0.99999994}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 Head
parentName: Bip001 Neck
position: {x: -0.07392304, y: 0.012196978, z: 0.00000003216256}
rotation: {x: -2.3598475e-19, y: -3.799925e-13, z: 0.00000083042096, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 HeadNub
parentName: Bip001 Head
position: {x: -0.20863387, y: -0.0000000023841857, z: 0}
rotation: {x: -4.1174796e-20, y: 0, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Clavicle
parentName: Bip001 Spine1
position: {x: -0.15043998, y: -0.048353963, z: -0.040440716}
rotation: {x: 0.7071077, y: 0.00028154056, z: 0.70710576, w: -0.00028154135}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R UpperArm
parentName: Bip001 R Clavicle
position: {x: -0.07138988, y: 0.0000000025331974, z: 0}
rotation: {x: -2.996828e-10, y: -0.000000021855634, z: 0.00000068445536, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Forearm
parentName: Bip001 R UpperArm
position: {x: -0.22398144, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 5.3819814e-23, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Hand
parentName: Bip001 R Forearm
position: {x: -0.21193427, y: 0, z: 0}
rotation: {x: 0.7071067, y: -0.0000035234266, z: 0.0000035215205, w: 0.7071068}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger0
parentName: Bip001 R Hand
position: {x: -0.028392715, y: 0.011796264, z: 0.023759676}
rotation: {x: -0.42038405, y: 0.34573638, z: 0.11981613, w: 0.8302937}
scale: {x: 1, y: 1, z: 1.000001}
- name: Bip001 R Finger01
parentName: Bip001 R Finger0
position: {x: -0.02951683, y: -0.000000038146972, z: -0.00000015258789}
rotation: {x: -0.0034644408, y: -0.016262949, z: -0.02766803, w: 0.9994789}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger02
parentName: Bip001 R Finger01
position: {x: -0.021145476, y: 0.000000076293944, z: 0}
rotation: {x: -0.000000014901163, y: -0.000000014901161, z: 0.00000000745058, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger0Nub
parentName: Bip001 R Finger02
position: {x: -0.026842726, y: 0, z: 0}
rotation: {x: -0.000000014901161, y: 0.000000014901163, z: 1, w: -0.000000007450581}
scale: {x: -1, y: -1, z: -1}
- name: Bip001 R Finger1
parentName: Bip001 R Hand
position: {x: -0.08332489, y: 0.0021809386, z: 0.021814765}
rotation: {x: 0.0019396703, y: 0.002293558, z: -0.009399457, w: 0.9999513}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger11
parentName: Bip001 R Finger1
position: {x: -0.028248558, y: 0, z: 0}
rotation: {x: -2.3283064e-10, y: -2.1827873e-11, z: -9.313226e-10, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger12
parentName: Bip001 R Finger11
position: {x: -0.019584045, y: 0, z: -0.0000000023841857}
rotation: {x: -2.3283064e-10, y: -2.1827873e-11, z: -9.313226e-10, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger1Nub
parentName: Bip001 R Finger12
position: {x: -0.022983093, y: 0, z: 0.0000000023841857}
rotation: {x: -2.1827873e-11, y: 2.3283064e-10, z: 1, w: 9.313227e-10}
scale: {x: -1, y: -1, z: -1}
- name: Bip001 R Finger2
parentName: Bip001 R Hand
position: {x: -0.083690375, y: 0.0002835083, z: 0.007070203}
rotation: {x: 0.00016107933, y: -0.0034182344, z: -0.004327905, w: 0.9999848}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger21
parentName: Bip001 R Finger2
position: {x: -0.031285934, y: -0.00000015258789, z: 0}
rotation: {x: 0, y: 7.935341e-11, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger22
parentName: Bip001 R Finger21
position: {x: -0.025667343, y: 0.00000015258789, z: 0}
rotation: {x: 0, y: 7.935341e-11, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger2Nub
parentName: Bip001 R Finger22
position: {x: -0.027416306, y: 0, z: 0}
rotation: {x: 7.935341e-11, y: -4.8589953e-27, z: 1, w: 6.123234e-17}
scale: {x: -1, y: -1, z: -1}
- name: Bip001 R Finger3
parentName: Bip001 R Hand
position: {x: -0.08377491, y: -0.00087997434, z: -0.008317358}
rotation: {x: -0.000489932, y: -0.0002906334, z: -0.015637932, w: 0.9998776}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger31
parentName: Bip001 R Finger3
position: {x: -0.028725928, y: 0, z: 0}
rotation: {x: 0, y: -2.3646862e-11, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger32
parentName: Bip001 R Finger31
position: {x: -0.019782905, y: 0.00000015258789, z: 0}
rotation: {x: 0, y: -2.3646862e-11, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger3Nub
parentName: Bip001 R Finger32
position: {x: -0.022478942, y: -0.00000015258789, z: 0}
rotation: {x: -2.3646862e-11, y: 1.4479527e-27, z: 1, w: 6.123234e-17}
scale: {x: -1, y: -1, z: -1}
- name: Bip001 R Finger4
parentName: Bip001 R Hand
position: {x: -0.0810717, y: 0.0033520507, z: -0.02261909}
rotation: {x: -0.0030500595, y: 0.0019212258, z: -0.0030884123, w: 0.99998873}
scale: {x: 1.000001, y: 1, z: 1.000001}
- name: Bip001 R Finger41
parentName: Bip001 R Finger4
position: {x: -0.02152832, y: 0, z: 0}
rotation: {x: 2.3283067e-10, y: -4.547474e-11, z: 1.05879135e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger42
parentName: Bip001 R Finger41
position: {x: -0.0149958795, y: -0.00000015258789, z: -0.0000000047683715}
rotation: {x: 2.3283067e-10, y: -4.547474e-11, z: 1.05879135e-20, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: Bip001 R Finger4Nub
parentName: Bip001 R Finger42
position: {x: -0.020091247, y: 0, z: 0}
rotation: {x: -4.547474e-11, y: -2.3283067e-10, z: 1, w: 6.1221755e-17}
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: 1
hasExtraRoot: 1
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 90830e7fe5c8a5446854c749eb3d85f3, type: 3}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 3
humanoidOversampling: 1
avatarSetup: 2
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 26ba51d5378e4454ab782efd48126706
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,360 @@
// ForearmHingeBaker.cs
// Unity Editor 스크립트 — Assets/Editor/ 폴더에 배치
//
// Humanoid 애니메이션 클립에서 Forearm의 비-힌지 회전 성분을 제거하고,
// UpperArm 회전을 보정하여 Hand가 원래 방향을 유지하도록 합니다.
// Biped의 단축(힌지) Forearm과 호환되는 Generic 클립을 생성합니다.
//
// 알고리즘:
// 1. 원본 포즈에서 Hand 월드 위치/회전을 기록
// 2. Forearm 힌지각을 해석적으로 풀이 — Hand가 그리는 원 위에서 원본 Hand에 가장 가까운 점
// 3. UpperArm을 최소한으로 보정하여 Hand가 원래 방향을 가리키도록
// 4. Hand 월드 회전을 원본으로 복원
//
// 사용법:
// 1. 씬에 Animator + Avatar가 설정된 캐릭터 배치
// 2. Tools > Animation > Forearm Hinge Baker
// 3. Animator와 소스 클립 지정
// 4. 힌지축 설정 (Forearm이 구부러지는 로컬 축)
// 5. Bake 실행 → _hinged.anim 파일 생성
using UnityEngine;
using UnityEditor;
using System.Collections.Generic;
public class ForearmHingeBaker : EditorWindow
{
Animator animator;
AnimationClip sourceClip;
int sampleRate = 30;
enum HingeAxis { X, Y, Z }
HingeAxis hingeAxis = HingeAxis.Z;
[MenuItem("Tools/Animation/Forearm Hinge Baker")]
static void Open()
{
var win = GetWindow<ForearmHingeBaker>("Forearm Hinge Baker");
win.minSize = new Vector2(350, 280);
}
void OnGUI()
{
EditorGUILayout.Space(4);
animator = EditorGUILayout.ObjectField("Animator (씬)", animator, typeof(Animator), true) as Animator;
sourceClip = EditorGUILayout.ObjectField("소스 클립", sourceClip, typeof(AnimationClip), false) as AnimationClip;
EditorGUILayout.Space(4);
sampleRate = EditorGUILayout.IntSlider("샘플레이트 (fps)", sampleRate, 1, 120);
hingeAxis = (HingeAxis)EditorGUILayout.EnumPopup("Forearm 힌지축 (로컬)", hingeAxis);
EditorGUILayout.Space(4);
EditorGUILayout.HelpBox(
"Forearm 힌지각을 해석적으로 풀이합니다.\n" +
"Hand가 힌지 회전으로 그리는 원 위에서 원본 위치에 가장 가까운 점을 찾고,\n" +
"UpperArm을 최소한으로 보정합니다.\n\n" +
"출력은 Generic 클립 (bone localRotation 기반)입니다.",
MessageType.Info);
EditorGUILayout.Space(4);
GUI.enabled = animator != null && sourceClip != null;
if (GUILayout.Button("Bake", GUILayout.Height(30)))
Bake();
GUI.enabled = true;
}
// ============================================================
// Core
// ============================================================
void Bake()
{
var go = animator.gameObject;
// 양쪽 팔 트리플렛: upper, lower, hand
var armTriplets = new (HumanBodyBones upper, HumanBodyBones lower, HumanBodyBones hand)[]
{
(HumanBodyBones.LeftUpperArm, HumanBodyBones.LeftLowerArm, HumanBodyBones.LeftHand),
(HumanBodyBones.RightUpperArm, HumanBodyBones.RightLowerArm, HumanBodyBones.RightHand),
};
// 본 계층 수집 (루트 자식부터, path = 상대경로)
var allBones = new List<Transform>();
var bonePaths = new Dictionary<Transform, string>();
foreach (Transform child in go.transform)
CollectHierarchy(child, child.name, allBones, bonePaths);
if (allBones.Count == 0)
{
EditorUtility.DisplayDialog("오류", "Animator 하위에 본이 없습니다.", "OK");
return;
}
int frameCount = Mathf.CeilToInt(sourceClip.length * sampleRate) + 1;
// 프레임별 저장소
var rotations = new Dictionary<Transform, Quaternion[]>();
var positions = new Dictionary<Transform, Vector3[]>();
foreach (var bone in allBones)
{
rotations[bone] = new Quaternion[frameCount];
positions[bone] = new Vector3[frameCount];
}
// 힌지축 벡터
Vector3 axisVec = hingeAxis switch
{
HingeAxis.X => Vector3.right,
HingeAxis.Y => Vector3.up,
HingeAxis.Z => Vector3.forward,
_ => Vector3.forward
};
// 수정 대상 본 세트 (arm triplet에 포함된 본들)
var modifiedBones = new HashSet<Transform>();
// 샘플링 + 힌지 제약 적용
AnimationMode.StartAnimationMode();
try
{
for (int i = 0; i < frameCount; i++)
{
float t = Mathf.Min((float)i / sampleRate, sourceClip.length);
AnimationMode.SampleAnimationClip(go, sourceClip, t);
// 모든 본의 원본 로컬 트랜스폼 기록
foreach (var bone in allBones)
{
rotations[bone][i] = bone.localRotation;
positions[bone][i] = bone.localPosition;
}
// 각 팔에 힌지 제약 적용
foreach (var (upperBone, lowerBone, handBone) in armTriplets)
{
var upper = animator.GetBoneTransform(upperBone);
var lower = animator.GetBoneTransform(lowerBone);
var hand = animator.GetBoneTransform(handBone);
if (upper == null || lower == null || hand == null) continue;
// 첫 프레임에서 수정 대상 등록
if (i == 0)
{
modifiedBones.Add(upper);
modifiedBones.Add(lower);
modifiedBones.Add(hand);
}
// --- 0. 원본 월드 트랜스폼 기록 ---
Vector3 origHandPos = hand.position;
Quaternion origHandRot = hand.rotation;
Vector3 shoulderPos = upper.position;
Vector3 elbowPos = lower.position;
// --- 1. 최적 힌지 각도 해석적 풀이 ---
// Forearm이 힌지축으로만 회전하면 Hand는 팔꿈치 중심 원 위를 이동.
// 이 원 위에서 원본 Hand 위치에 가장 가까운 점의 각도를 구함.
// θ=0, θ=90 에서 Hand 위치를 샘플링하여 원의 기하 정의
lower.localRotation = Quaternion.identity;
Vector3 h0 = hand.position - elbowPos;
lower.localRotation = Quaternion.AngleAxis(90f, axisVec);
Vector3 h90 = hand.position - elbowPos;
// 월드 힌지축
Quaternion parentRot = lower.parent != null ? lower.parent.rotation : Quaternion.identity;
Vector3 worldAxis = (parentRot * axisVec).normalized;
// 원의 중심 (elbow 기준 오프셋)
Vector3 centerOffset = Vector3.Dot(h0, worldAxis) * worldAxis;
// 원 위의 기준 방향
Vector3 r0 = h0 - centerOffset;
Vector3 r90 = h90 - centerOffset;
// 타겟을 원 평면에 투영
Vector3 targetOffset = origHandPos - elbowPos - centerOffset;
Vector3 targetInPlane = targetOffset - Vector3.Dot(targetOffset, worldAxis) * worldAxis;
float theta = 0f;
if (targetInPlane.sqrMagnitude > 1e-10f && r0.sqrMagnitude > 1e-10f)
{
theta = Mathf.Atan2(
Vector3.Dot(targetInPlane.normalized, r90.normalized),
Vector3.Dot(targetInPlane.normalized, r0.normalized)
) * Mathf.Rad2Deg;
}
// --- 2. 최적 힌지 각도 적용 ---
lower.localRotation = Quaternion.AngleAxis(theta, axisVec);
// --- 3. UpperArm 최소 보정 ---
// 최적 힌지라도 원본 Hand가 원 밖이면 오차 존재.
// FromToRotation으로 어깨→손 방향을 일치시켜 잔여 오차 보정.
Vector3 currentHandPos = hand.position;
Vector3 curDir = (currentHandPos - shoulderPos);
Vector3 tgtDir = (origHandPos - shoulderPos);
if (curDir.sqrMagnitude > 1e-8f && tgtDir.sqrMagnitude > 1e-8f)
{
Quaternion correction = Quaternion.FromToRotation(curDir.normalized, tgtDir.normalized);
upper.rotation = correction * upper.rotation;
}
// --- 4. Hand 월드 회전 복원 ---
hand.rotation = origHandRot;
// 수정된 로컬 회전 저장
rotations[upper][i] = upper.localRotation;
rotations[lower][i] = lower.localRotation;
rotations[hand][i] = hand.localRotation;
}
// 진행률
if (i % 100 == 0)
EditorUtility.DisplayProgressBar("Forearm Hinge Baker",
$"샘플링 {i}/{frameCount}", (float)i / frameCount);
}
}
finally
{
AnimationMode.StopAnimationMode();
EditorUtility.ClearProgressBar();
}
// 새 클립 생성
var newClip = new AnimationClip();
newClip.frameRate = sampleRate;
foreach (var bone in allBones)
{
string path = bonePaths[bone];
var rots = rotations[bone];
var poss = positions[bone];
// 회전 커브 (Quaternion)
var cx = new AnimationCurve();
var cy = new AnimationCurve();
var cz = new AnimationCurve();
var cw = new AnimationCurve();
for (int j = 0; j < frameCount; j++)
{
float time = (float)j / sampleRate;
cx.AddKey(time, rots[j].x);
cy.AddKey(time, rots[j].y);
cz.AddKey(time, rots[j].z);
cw.AddKey(time, rots[j].w);
}
newClip.SetCurve(path, typeof(Transform), "localRotation.x", cx);
newClip.SetCurve(path, typeof(Transform), "localRotation.y", cy);
newClip.SetCurve(path, typeof(Transform), "localRotation.z", cz);
newClip.SetCurve(path, typeof(Transform), "localRotation.w", cw);
// 위치 커브 (변화가 있는 본만)
bool posAnimated = false;
for (int j = 1; j < frameCount; j++)
{
if ((poss[j] - poss[0]).sqrMagnitude > 1e-6f)
{
posAnimated = true;
break;
}
}
if (posAnimated)
{
var px = new AnimationCurve();
var py = new AnimationCurve();
var pz = new AnimationCurve();
for (int j = 0; j < frameCount; j++)
{
float time = (float)j / sampleRate;
px.AddKey(time, poss[j].x);
py.AddKey(time, poss[j].y);
pz.AddKey(time, poss[j].z);
}
newClip.SetCurve(path, typeof(Transform), "localPosition.x", px);
newClip.SetCurve(path, typeof(Transform), "localPosition.y", py);
newClip.SetCurve(path, typeof(Transform), "localPosition.z", pz);
}
}
newClip.EnsureQuaternionContinuity();
// 저장
string srcPath = AssetDatabase.GetAssetPath(sourceClip);
string newPath;
if (!string.IsNullOrEmpty(srcPath))
{
string dir = System.IO.Path.GetDirectoryName(srcPath);
string name = System.IO.Path.GetFileNameWithoutExtension(srcPath);
newPath = $"{dir}/{name}_hinged.anim";
}
else
{
newPath = "Assets/hinged_clip.anim";
}
newPath = AssetDatabase.GenerateUniqueAssetPath(newPath);
AssetDatabase.CreateAsset(newClip, newPath);
AssetDatabase.SaveAssets();
Debug.Log($"[ForearmHingeBaker] 저장 완료: {newPath} ({frameCount}프레임, {allBones.Count}본)");
EditorUtility.DisplayDialog("완료",
$"저장: {newPath}\n프레임: {frameCount}\n본: {allBones.Count}", "OK");
Selection.activeObject = newClip;
EditorGUIUtility.PingObject(newClip);
}
// ============================================================
// Swing-Twist 분해
// q = swing * twist
// twist = 지정 축 주위 회전 (힌지 성분, forearm에 유지)
// swing = 나머지 회전 (제거 대상)
// ============================================================
static void SwingTwist(Quaternion q, Vector3 twistAxis,
out Quaternion swing, out Quaternion twist)
{
Vector3 r = new Vector3(q.x, q.y, q.z);
Vector3 proj = Vector3.Dot(r, twistAxis) * twistAxis;
twist = new Quaternion(proj.x, proj.y, proj.z, q.w);
float mag = Mathf.Sqrt(twist.x * twist.x + twist.y * twist.y
+ twist.z * twist.z + twist.w * twist.w);
if (mag < 1e-6f)
{
twist = Quaternion.identity;
swing = q;
}
else
{
twist.x /= mag;
twist.y /= mag;
twist.z /= mag;
twist.w /= mag;
swing = q * Quaternion.Inverse(twist);
}
}
// ============================================================
// 본 계층 수집
// ============================================================
void CollectHierarchy(Transform t, string path,
List<Transform> bones, Dictionary<Transform, string> paths)
{
bones.Add(t);
paths[t] = path;
for (int i = 0; i < t.childCount; i++)
{
var child = t.GetChild(i);
CollectHierarchy(child, path + "/" + child.name, bones, paths);
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: d45c483a732289e469d197dbe3a983b2