Merge branch 'main' into DEG-77-튜토리얼-구현

# Conflicts:
#	Assets/LIN/Scripts/DailyRoutine/InteractionController.cs
#	Assets/StoreAssets/Cartoon Game Sound 2.0/JBoB Sound Pack Demo/Cartoon_Preview.mp3
#	Assets/StoreAssets/Cartoon Game Sound 2.0/JBoB Sound Pack Demo/Foley & Impact_Preview.mp3
#	Assets/StoreAssets/Cartoon Game Sound 2.0/JBoB Sound Pack Demo/GUN_Preview.mp3
#	Assets/StoreAssets/Cartoon Game Sound 2.0/JBoB Sound Pack Demo/Magic_Preview.mp3
#	Assets/StoreAssets/Cartoon Game Sound 2.0/JBoB Sound Pack Demo/Open & Close_Preview.mp3
#	Assets/StoreAssets/Cartoon Game Sound 2.0/JBoB Sound Pack Demo/Sci-Fi_SpaceShip_Signal_Preview.mp3
#	Assets/StoreAssets/Cartoon Game Sound 2.0/JBoB Sound Pack Demo/Whoosh_Cinematic_Preview.mp3
#	Assets/StoreAssets/RPG Tiny Hero Duo/Prefab/MaleCharacterPBR.prefab
#	Assets/UnityTechnologies/Basic Asset Pack Interior/Materials/Grey.mat
This commit is contained in:
HaeinLEE 2025-05-07 13:59:43 +09:00
commit 5daf8c4577
2033 changed files with 670913 additions and 3684 deletions

13
.idea/.idea.Degulleo/.idea/.gitignore generated vendored Normal file
View File

@ -0,0 +1,13 @@
# 디폴트 무시된 파일
/shelf/
/workspace.xml
# Rider에서 무시된 파일
/.idea.Degulleo.iml
/contentModel.xml
/modules.xml
/projectSettingsUpdater.xml
# 에디터 기반 HTTP 클라이언트 요청
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>

6
.idea/.idea.Degulleo/.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

13
.idea/.idea.Degulleo3D-main/.idea/.gitignore generated vendored Normal file
View File

@ -0,0 +1,13 @@
# 디폴트 무시된 파일
/shelf/
/workspace.xml
# Rider에서 무시된 파일
/projectSettingsUpdater.xml
/modules.xml
/contentModel.xml
/.idea.Degulleo3D-main.iml
# 에디터 기반 HTTP 클라이언트 요청
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

BIN
Assets/JAY/Animation/Attack01.anim (Stored with Git LFS)

Binary file not shown.

BIN
Assets/JAY/Animation/Attack02.anim (Stored with Git LFS)

Binary file not shown.

BIN
Assets/JAY/Animation/Attack03.anim (Stored with Git LFS)

Binary file not shown.

BIN
Assets/JAY/Animation/Attack04.anim (Stored with Git LFS)

Binary file not shown.

BIN
Assets/JAY/Animation/Attack_idle.anim (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 23ef3f3f7e8603c43b49b5a12de765cf
guid: d84a1ba0d51fd80429c5896e83064112
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000

BIN
Assets/JAY/Animation/CustomAttack01.anim (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: c25471f7e975de140af2a11af5aa791a
guid: 656169137a9cd5c46aa69f47fabb9598
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000

BIN
Assets/JAY/Animation/CustomAttack02.anim (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: ee0fb1c70ff918147854e2fa7f8ce65d
guid: 3ac73c0cdb0b58c468547fbf44b42b84
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000

BIN
Assets/JAY/Animation/Damage.anim (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 2c17f0c4e3017bb448ff5120b9f61794
guid: 32e77e5f2114f974fa58a23aa6020694
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000

BIN
Assets/JAY/Animation/Dead.anim (Stored with Git LFS)

Binary file not shown.

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 26572f377ac934546b30d6d9e0cab051
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/JAY/Animation/Idle.anim (Stored with Git LFS)

Binary file not shown.

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 962d2d90bb1030b4599179cdb9e2e6c3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/JAY/Animation/Idle_Battle.fbx (Stored with Git LFS)

Binary file not shown.

View File

@ -1,749 +0,0 @@
fileFormatVersion: 2
guid: 594f1161bd9cdf84a8471ede0680f194
ModelImporter:
serializedVersion: 19301
internalIDToNameTable:
- first:
74: 1827226128182048838
second: Idle_Battle_SwordAndShield
externalObjects: {}
materials:
materialImportMode: 0
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
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: Idle_Battle_SwordAndShield
takeName: Take 001
internalID: 0
firstFrame: 0
lastFrame: 20
wrapMode: 0
orientationOffsetY: 0
level: 0
cycleOffset: 0
loop: 0
hasAdditiveReferencePose: 0
loopTime: 1
loopBlend: 0
loopBlendOrientation: 1
loopBlendPositionY: 1
loopBlendPositionXZ: 1
keepOriginalOrientation: 1
keepOriginalPositionY: 1
keepOriginalPositionXZ: 1
heightFromFeet: 0
mirror: 0
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: []
events: []
transformMask:
- path:
weight: 1
- path: Body05
weight: 0
- path: Eye01
weight: 0
- path: Hair01
weight: 0
- path: Head01_Male
weight: 0
- path: Mouth01
weight: 0
- path: root
weight: 1
- path: root/pelvis
weight: 1
- path: root/pelvis/spine_01
weight: 1
- path: root/pelvis/spine_01/spine_02
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/BackpackBone
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/shoulderPadJoint_l
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/index_01_l
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/index_01_l/index_02_l
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/index_01_l/index_02_l/index_03_l
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/thumb_01_l
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/thumb_01_l/thumb_02_l
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/thumb_01_l/thumb_02_l/thumb_03_l
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/weapon_l
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/shoulderPadJoint_r
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/index_01_r
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/index_01_r/index_02_r
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/index_01_r/index_02_r/index_03_r
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/thumb_01_r
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/thumb_01_r/thumb_02_r
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/thumb_01_r/thumb_02_r/thumb_03_r
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/weapon_r
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/CloakBone01
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/CloakBone01/CloakBone02
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/CloakBone01/CloakBone02/CloakBone03
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/neck_01
weight: 1
- path: root/pelvis/spine_01/spine_02/spine_03/neck_01/head
weight: 1
- path: root/pelvis/thigh_l
weight: 1
- path: root/pelvis/thigh_l/calf_l
weight: 1
- path: root/pelvis/thigh_l/calf_l/foot_l
weight: 1
- path: root/pelvis/thigh_l/calf_l/foot_l/ball_l
weight: 1
- path: root/pelvis/thigh_r
weight: 1
- path: root/pelvis/thigh_r/calf_r
weight: 1
- path: root/pelvis/thigh_r/calf_r/foot_r
weight: 1
- path: root/pelvis/thigh_r/calf_r/foot_r/ball_r
weight: 1
maskType: 1
maskSource: {fileID: 31900000, guid: 0a2d610c66cc08b4492b8b3de93fdbde, type: 2}
additiveReferencePoseFrame: 0
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human:
- boneName: pelvis
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: thigh_l
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: thigh_r
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: calf_l
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: calf_r
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: foot_l
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: foot_r
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: spine_01
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: 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: upperarm_l
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: upperarm_r
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: lowerarm_l
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: lowerarm_r
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: hand_l
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: hand_r
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: ball_l
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: ball_r
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: thumb_01_l
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: thumb_02_l
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: index_01_l
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: index_02_l
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: thumb_01_r
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: thumb_02_r
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: index_01_r
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: index_02_r
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: spine_02
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: spine_03
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
- boneName: clavicle_l
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: clavicle_r
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: neck_01
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: thumb_03_l
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: index_03_l
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: thumb_03_r
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: index_03_r
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
skeleton:
- name: Idle_Battle_SwordAndShiled(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: Hair01
parentName: Idle_Battle_SwordAndShiled(Clone)
position: {x: 5.5542004e-16, y: 0.9141078, z: 0.012847028}
rotation: {x: -0.5, y: 0.5, z: -0.5, w: 0.5}
scale: {x: 1, y: 1, z: 1}
- name: Eye01
parentName: Idle_Battle_SwordAndShiled(Clone)
position: {x: 2.7120293e-16, y: 0.9141078, z: 0.012847028}
rotation: {x: -0.5, y: 0.5, z: -0.5, w: 0.5}
scale: {x: 1, y: 1, z: 1}
- name: Head01_Male
parentName: Idle_Battle_SwordAndShiled(Clone)
position: {x: 2.7120293e-16, y: 0.9141078, z: 0.012847028}
rotation: {x: -0.5, y: 0.5, z: -0.5, w: 0.5}
scale: {x: 1, y: 1, z: 1}
- name: Mouth01
parentName: Idle_Battle_SwordAndShiled(Clone)
position: {x: 5.5542004e-16, y: 0.9141078, z: 0.012847028}
rotation: {x: -0.5, y: 0.5, z: -0.5, w: 0.5}
scale: {x: 1, y: 1, z: 1}
- name: Body05
parentName: Idle_Battle_SwordAndShiled(Clone)
position: {x: -0, y: 0.45777598, z: -0.45902124}
rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
scale: {x: 1, y: 1, z: 1}
- name: Cloak02
parentName: Idle_Battle_SwordAndShiled(Clone)
position: {x: -0, y: 0.5790208, z: -0.81771773}
rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
scale: {x: 1, y: 1, z: 1}
- name: root
parentName: Idle_Battle_SwordAndShiled(Clone)
position: {x: -0, y: 0, z: 0}
rotation: {x: -0.7093532, y: -0, z: -0, w: 0.7048532}
scale: {x: 1, y: 1.0000006, z: 1.0000006}
- name: pelvis
parentName: root
position: {x: -1.0845211e-17, y: 0.00007575201, z: 0.32165092}
rotation: {x: 0.062176764, y: 0.7043679, z: -0.062176853, w: 0.7043679}
scale: {x: 1.0000018, y: 1.0000011, z: 1.0000014}
- name: thigh_l
parentName: pelvis
position: {x: 0.029832672, y: -0.0141515955, z: -0.09502096}
rotation: {x: -0.036186893, y: 0.03976303, z: -0.002768956, w: 0.9985498}
scale: {x: 1.0000007, y: 1.0000006, z: 1.0000004}
- name: calf_l
parentName: thigh_l
position: {x: 0.1377729, y: -0.0059484076, z: -0.0027491562}
rotation: {x: 0.02691302, y: -0.022706516, z: 0.0010662572, w: -0.99937934}
scale: {x: 1.0000007, y: 1.0000001, z: 0.99999994}
- name: foot_l
parentName: calf_l
position: {x: 0.12562445, y: 0.012257197, z: 0.002024065}
rotation: {x: -0.025008963, y: -0.0624419, z: 0.0012533205, w: 0.9977344}
scale: {x: 1.0000008, y: 1.0000015, z: 1.0000015}
- name: ball_l
parentName: foot_l
position: {x: 0.020222384, y: -0.10951788, z: -0.0015459505}
rotation: {x: -0.00000006146728, y: -0.000000048428767, z: -0.7071068, w: -0.7071068}
scale: {x: 1.0000011, y: 0.9999998, z: 1.0000013}
- name: spine_01
parentName: pelvis
position: {x: -0.09894391, y: -0.01896602, z: 0.0033746792}
rotation: {x: -0.08780647, y: 0.004682541, z: 0.053046927, w: 0.9947131}
scale: {x: 0.99999946, y: 0.9999992, z: 0.999999}
- name: spine_02
parentName: spine_01
position: {x: -0.107710324, y: 0.011222288, z: 6.8414275e-17}
rotation: {x: 0.000000022351742, y: -0.00000016344711, z: 0.1341374, w: -0.9909628}
scale: {x: 0.9999996, y: 1.0000002, z: 1.0000002}
- name: spine_03
parentName: spine_02
position: {x: -0.09346745, y: 8.8817837e-17, z: 6.418694e-17}
rotation: {x: -0.000000011051662, y: -0.000000081724345, z: 0.042781133, w: 0.9990845}
scale: {x: 1.0000001, y: 1.0000006, z: 0.99999994}
- name: neck_01
parentName: spine_03
position: {x: -0.07696576, y: -1.5099033e-16, z: 1.13396255e-17}
rotation: {x: 0.000000013483575, y: 0.000000017281502, z: -0.087512165, w: -0.9961635}
scale: {x: 1.0000019, y: 1.0000018, z: 1.0000014}
- name: head
parentName: neck_01
position: {x: -0.20523393, y: -3.5527136e-17, z: 1.09031954e-16}
rotation: {x: -0.000000025381734, y: -0.000000052992352, z: 0.045955647, w: -0.99894345}
scale: {x: 1.0000007, y: 1.0000011, z: 1.0000013}
- name: clavicle_l
parentName: spine_03
position: {x: -0.01944315, y: -0.021992614, z: -0.062890135}
rotation: {x: -0.10418874, y: 0.7700338, z: 0.0322023, w: -0.6286141}
scale: {x: 1.0000005, y: 1.0000021, z: 1.0000014}
- name: upperarm_l
parentName: clavicle_l
position: {x: -0.10173372, y: 4.440892e-18, z: -1.4210854e-16}
rotation: {x: -0.011902688, y: 0.10369653, z: 0.070935935, w: 0.99200475}
scale: {x: 1.0000002, y: 1.0000017, z: 1.0000025}
- name: lowerarm_l
parentName: upperarm_l
position: {x: -0.19922544, y: -1.9984014e-17, z: 2.1316282e-16}
rotation: {x: 0.000000054948018, y: -0.000000029802315, z: 0.058328252, w: 0.9982975}
scale: {x: 1.0000004, y: 1.0000006, z: 1.0000005}
- name: hand_l
parentName: lowerarm_l
position: {x: -0.13859957, y: -3.5527136e-17, z: -1.065814e-15}
rotation: {x: 0.70662516, y: -0.026095154, z: 0.02609507, w: -0.7066251}
scale: {x: 1.0000001, y: 1.0000031, z: 1.0000025}
- name: index_01_l
parentName: hand_l
position: {x: -0.078995824, y: -0.029177444, z: 0.005036025}
rotation: {x: -0.0000028908248, y: 0.0025714093, z: 0.0010916347, w: 0.9999962}
scale: {x: 1.0000007, y: 1.0000012, z: 1.0000017}
- name: index_02_l
parentName: index_01_l
position: {x: -0.084993236, y: -2.842171e-16, z: -2.8366196e-16}
rotation: {x: 0.000005745178, y: -0.0034163173, z: -0.040483348, w: 0.99917436}
scale: {x: 1.0000007, y: 1.0000042, z: 1.0000045}
- name: index_03_l
parentName: index_02_l
position: {x: -0.063433915, y: -4.2632563e-16, z: 2.7755574e-18}
rotation: {x: -0.0026570698, y: 0.010807825, z: -0.035711274, w: 0.99930024}
scale: {x: 0.99999946, y: 1.0000002, z: 0.99999994}
- name: thumb_01_l
parentName: hand_l
position: {x: -0.062028673, y: 0.025731737, z: -0.046623435}
rotation: {x: -0.5024613, y: 0.3625928, z: -0.14099312, w: -0.77212703}
scale: {x: 1.0000008, y: 1.0000013, z: 1.0000001}
- name: thumb_02_l
parentName: thumb_01_l
position: {x: -0.052380655, y: -4.6629366e-17, z: 0}
rotation: {x: -0.024324644, y: -0.023914147, z: -0.032934725, w: 0.9988753}
scale: {x: 1.0000007, y: 1.0000002, z: 1.000003}
- name: thumb_03_l
parentName: thumb_02_l
position: {x: -0.045099992, y: 1.7763568e-17, z: -1.4210854e-16}
rotation: {x: -0.012497648, y: -0.0024275442, z: -0.071094766, w: 0.9973884}
scale: {x: 1.0000021, y: 0.99999994, z: 1.0000017}
- name: weapon_l
parentName: hand_l
position: {x: -0.094, y: 0.0069999998, z: 0.004}
rotation: {x: -0.7071067, y: 0.0000000018626445, z: 0.00000002833446, w: -0.7071068}
scale: {x: 1.0000005, y: 1.0000007, z: 1.0000005}
- name: shoulderPadJoint_l
parentName: clavicle_l
position: {x: -0.10172261, y: 0.0000031123172, z: 0.000054128275}
rotation: {x: -0.009676, y: 0.10392798, z: 0.09219542, w: 0.99025524}
scale: {x: 1.0000008, y: 1.0000015, z: 1.0000021}
- name: CloakBone01
parentName: spine_03
position: {x: -0.07525502, y: 0.1138894, z: -1.3765184e-16}
rotation: {x: -0.19011138, y: 0.9817625, z: -0.000000034166476, w: -0.00000002543333}
scale: {x: 1.0000001, y: 1.0000014, z: 1.000001}
- name: CloakBone02
parentName: CloakBone01
position: {x: -0.2614295, y: 2.6645352e-17, z: -5.804901e-17}
rotation: {x: -0.000000022111164, y: -0.000000037080298, z: 0.09271763, w: 0.9956925}
scale: {x: 1.0000005, y: 0.9999998, z: 0.9999997}
- name: CloakBone03
parentName: CloakBone02
position: {x: -0.30492613, y: -1.0658141e-16, z: -7.123106e-17}
rotation: {x: -0.000000019613275, y: 0.00000004588284, z: 0.0567417, w: 0.99838895}
scale: {x: 1.0000001, y: 0.99999934, z: 0.99999946}
- name: BackpackBone
parentName: spine_03
position: {x: -0.05273138, y: 0.21801382, z: -1.2915617e-16}
rotation: {x: -0.02944411, y: 0.7064935, z: -0.029444126, w: -0.7064935}
scale: {x: 1.0000006, y: 1.0000011, z: 1.0000013}
- name: clavicle_r
parentName: spine_03
position: {x: -0.01944353, y: -0.021992618, z: 0.0628901}
rotation: {x: -0.7700337, y: -0.104188755, z: -0.6286142, w: -0.032202322}
scale: {x: 1.0000011, y: 1.0000011, z: 1.0000007}
- name: upperarm_r
parentName: clavicle_r
position: {x: 0.10173414, y: 0.000000103064025, z: 0.000000544563}
rotation: {x: -0.011902684, y: 0.10369647, z: 0.070935935, w: 0.9920048}
scale: {x: 0.9999997, y: 1.0000011, z: 1.0000002}
- name: lowerarm_r
parentName: upperarm_r
position: {x: 0.19922526, y: -1.1510433e-11, z: 2.5579537e-15}
rotation: {x: 0.00000006891785, y: -0.000000014901156, z: 0.058328275, w: 0.99829745}
scale: {x: 1.0000002, y: 1.0000013, z: 1.0000031}
- name: hand_r
parentName: lowerarm_r
position: {x: 0.13859951, y: 9.530944e-10, z: 1.563194e-15}
rotation: {x: -0.7066251, y: 0.026095143, z: -0.02609511, w: 0.7066251}
scale: {x: 1.0000002, y: 1.0000004, z: 1.000001}
- name: index_01_r
parentName: hand_r
position: {x: 0.078995995, y: 0.029178, z: -0.00503602}
rotation: {x: -0.000003010034, y: 0.0025714354, z: 0.0010915379, w: 0.9999962}
scale: {x: 1.0000001, y: 0.99999994, z: 0.99999994}
- name: index_02_r
parentName: index_01_r
position: {x: 0.084993325, y: -0.00000055632756, z: 6.6904715e-10}
rotation: {x: 0.000005959391, y: -0.0034166572, z: -0.04048517, w: 0.9991743}
scale: {x: 0.99999994, y: 1.0000006, z: 0.9999998}
- name: index_03_r
parentName: index_02_r
position: {x: 0.063433595, y: -0.00000008902263, z: -0.0000000019323867}
rotation: {x: -0.002657218, y: 0.0108078215, z: -0.035711385, w: 0.99930024}
scale: {x: 1.0000004, y: 1.0000006, z: 0.99999946}
- name: thumb_01_r
parentName: hand_r
position: {x: 0.062028997, y: -0.025731001, z: 0.046623457}
rotation: {x: 0.50245965, y: -0.36258844, z: 0.14099674, w: 0.77212954}
scale: {x: 1.0000006, y: 1, z: 1.0000012}
- name: thumb_02_r
parentName: thumb_01_r
position: {x: 0.052380603, y: -0.000000021094301, z: 0.00000059586444}
rotation: {x: -0.024324942, y: -0.023915488, z: -0.032934904, w: 0.99887526}
scale: {x: 1, y: 0.9999992, z: 1.0000019}
- name: thumb_03_r
parentName: thumb_02_r
position: {x: 0.045099515, y: -0.00000023024785, z: 0.000000114253595}
rotation: {x: -0.012497454, y: -0.002427339, z: -0.07109481, w: 0.99738836}
scale: {x: 1.0000015, y: 0.9999998, z: 1.0000014}
- name: weapon_r
parentName: hand_r
position: {x: 0.09399239, y: -0.0072682807, z: -0.00360484}
rotation: {x: 0.70710677, y: 0.000000013038514, z: -0.0000000035533598, w: 0.70710695}
scale: {x: 1.0000002, y: 1.0000006, z: 1.0000007}
- name: shoulderPadJoint_r
parentName: clavicle_r
position: {x: 0.10172303, y: -0.0000030092533, z: -0.000053583713}
rotation: {x: -0.99025524, y: -0.09219543, z: 0.10392789, w: -0.009675993}
scale: {x: 1.0000001, y: 1.000002, z: 1.0000015}
- name: thigh_r
parentName: pelvis
position: {x: 0.02983256, y: 0.019493982, z: 0.094070405}
rotation: {x: -0.03963389, y: 0.1393248, z: 0.9894442, w: -0.004238036}
scale: {x: 1.0000002, y: 0.9999998, z: 0.9999998}
- name: calf_r
parentName: thigh_r
position: {x: -0.13777272, y: 0.0059483806, z: 0.0027488763}
rotation: {x: -0.026912972, y: 0.022706501, z: -0.0010662051, w: 0.9993793}
scale: {x: 1.0000015, y: 1.0000001, z: 1.0000001}
- name: foot_r
parentName: calf_r
position: {x: -0.12562485, y: -0.012257216, z: -0.0020234145}
rotation: {x: -0.025034029, y: -0.062442236, z: 0.0012543072, w: 0.99773383}
scale: {x: 1.0000001, y: 1.0000008, z: 1.000001}
- name: ball_r
parentName: foot_r
position: {x: -0.020222299, y: 0.109517895, z: 0.0015459999}
rotation: {x: -0.00000007823109, y: -0.0000000372529, z: 0.70710677, w: 0.70710695}
scale: {x: 1.0000015, y: 1.000005, z: 1.0000027}
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
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/JAY/Animation/MoveFWD.anim (Stored with Git LFS)

Binary file not shown.

View File

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

BIN
Assets/JAY/Animation/Run.anim (Stored with Git LFS) Normal file

Binary file not shown.

View File

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

View File

@ -0,0 +1,121 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!319 &31900000
AvatarMask:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: UpperBody
m_Mask: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
m_Elements:
- m_Path:
m_Weight: 1
- m_Path: Bip001
m_Weight: 0
- m_Path: Bip001/Bip001 Pelvis
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 L Thigh
m_Weight: 0
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 L Thigh/Bip001 L Calf
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 L Thigh/Bip001 L Calf/Bip001
L Foot
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 L Thigh/Bip001 L Calf/Bip001
L Foot/Bip001 L Toe0
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 R Thigh
m_Weight: 0
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 R Thigh/Bip001 R Calf
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 R Thigh/Bip001 R Calf/Bip001
R Foot
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 R Thigh/Bip001 R Calf/Bip001
R Foot/Bip001 R Toe0
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 Head
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 Head/Bip001
Ponytail1
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 Head/Bip001
Ponytail1/Bip001 Ponytail11
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 Head/Bip001
Ponytail1/Bip001 Ponytail11/Bip001 Ponytail12
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 Head/Bip001
Ponytail1/Bip001 Ponytail11/Bip001 Ponytail12/Bip001 Ponytail13
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 Head/head_dummy
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L
Clavicle
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L
Clavicle/Bip001 L UpperArm
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L
Clavicle/Bip001 L UpperArm/Bip001 L Forearm
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L
Clavicle/Bip001 L UpperArm/Bip001 L Forearm/Bip001 L Hand
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L
Clavicle/Bip001 L UpperArm/Bip001 L Forearm/Bip001 L Hand/Bip001 L Finger0
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L
Clavicle/Bip001 L UpperArm/Bip001 L Forearm/Bip001 L Hand/Bip001 L Finger0/Bip001
L Finger01
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L
Clavicle/Bip001 L UpperArm/Bip001 L Forearm/Bip001 L Hand/Bip001 L Finger1
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L
Clavicle/Bip001 L UpperArm/Bip001 L Forearm/Bip001 L Hand/Bip001 L Finger1/Bip001
L Finger11
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 L
Clavicle/Bip001 L UpperArm/Bip001 L Forearm/Bip001 L Hand/weapon_L
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R
Clavicle
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R
Clavicle/Bip001 R UpperArm
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R
Clavicle/Bip001 R UpperArm/Bip001 R Forearm
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R
Clavicle/Bip001 R UpperArm/Bip001 R Forearm/Bip001 R Hand
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R
Clavicle/Bip001 R UpperArm/Bip001 R Forearm/Bip001 R Hand/Bip001 R Finger0
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R
Clavicle/Bip001 R UpperArm/Bip001 R Forearm/Bip001 R Hand/Bip001 R Finger0/Bip001
R Finger01
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R
Clavicle/Bip001 R UpperArm/Bip001 R Forearm/Bip001 R Hand/Bip001 R Finger1
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R
Clavicle/Bip001 R UpperArm/Bip001 R Forearm/Bip001 R Hand/Bip001 R Finger1/Bip001
R Finger11
m_Weight: 1
- m_Path: Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Neck/Bip001 R
Clavicle/Bip001 R UpperArm/Bip001 R Forearm/Bip001 R Hand/weapon_R
m_Weight: 1
- m_Path: char_body
m_Weight: 0
- m_Path: char_head
m_Weight: 0

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 7a5307288916a174ab64fb7c68209bac
guid: 7653926bd219c614f9b786ddafa0477c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 31900000

View File

@ -1,109 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!319 &31900000
AvatarMask:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: UpperBodyOnly
m_Mask: 00000000010000000100000000000000000000000100000001000000010000000100000000000000000000000100000001000000
m_Elements:
- m_Path:
m_Weight: 1
- m_Path: Body05
m_Weight: 1
- m_Path: Eye01
m_Weight: 1
- m_Path: Hair01
m_Weight: 1
- m_Path: Head01_Male
m_Weight: 1
- m_Path: Mouth01
m_Weight: 1
- m_Path: root
m_Weight: 1
- m_Path: root/pelvis
m_Weight: 1
- m_Path: root/pelvis/spine_01
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/BackpackBone
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/shoulderPadJoint_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/index_01_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/index_01_l/index_02_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/index_01_l/index_02_l/index_03_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/thumb_01_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/thumb_01_l/thumb_02_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/thumb_01_l/thumb_02_l/thumb_03_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/weapon_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/shoulderPadJoint_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/index_01_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/index_01_r/index_02_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/index_01_r/index_02_r/index_03_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/thumb_01_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/thumb_01_r/thumb_02_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/thumb_01_r/thumb_02_r/thumb_03_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/weapon_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/CloakBone01
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/CloakBone01/CloakBone02
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/CloakBone01/CloakBone02/CloakBone03
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/neck_01
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/neck_01/head
m_Weight: 1
- m_Path: root/pelvis/thigh_l
m_Weight: 1
- m_Path: root/pelvis/thigh_l/calf_l
m_Weight: 1
- m_Path: root/pelvis/thigh_l/calf_l/foot_l
m_Weight: 1
- m_Path: root/pelvis/thigh_l/calf_l/foot_l/ball_l
m_Weight: 1
- m_Path: root/pelvis/thigh_r
m_Weight: 1
- m_Path: root/pelvis/thigh_r/calf_r
m_Weight: 1
- m_Path: root/pelvis/thigh_r/calf_r/foot_r
m_Weight: 1
- m_Path: root/pelvis/thigh_r/calf_r/foot_r/ball_r
m_Weight: 1

Binary file not shown.

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 5caba6316080f564091600905868fb66
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,109 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!319 &31900000
AvatarMask:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: WholeBody
m_Mask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
m_Elements:
- m_Path:
m_Weight: 1
- m_Path: Body05
m_Weight: 1
- m_Path: Eye01
m_Weight: 1
- m_Path: Hair01
m_Weight: 1
- m_Path: Head01_Male
m_Weight: 1
- m_Path: Mouth01
m_Weight: 1
- m_Path: root
m_Weight: 1
- m_Path: root/pelvis
m_Weight: 1
- m_Path: root/pelvis/spine_01
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/BackpackBone
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/shoulderPadJoint_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/index_01_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/index_01_l/index_02_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/index_01_l/index_02_l/index_03_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/thumb_01_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/thumb_01_l/thumb_02_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/thumb_01_l/thumb_02_l/thumb_03_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_l/upperarm_l/lowerarm_l/hand_l/weapon_l
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/shoulderPadJoint_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/index_01_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/index_01_r/index_02_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/index_01_r/index_02_r/index_03_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/thumb_01_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/thumb_01_r/thumb_02_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/thumb_01_r/thumb_02_r/thumb_03_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/clavicle_r/upperarm_r/lowerarm_r/hand_r/weapon_r
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/CloakBone01
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/CloakBone01/CloakBone02
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/CloakBone01/CloakBone02/CloakBone03
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/neck_01
m_Weight: 1
- m_Path: root/pelvis/spine_01/spine_02/spine_03/neck_01/head
m_Weight: 1
- m_Path: root/pelvis/thigh_l
m_Weight: 1
- m_Path: root/pelvis/thigh_l/calf_l
m_Weight: 1
- m_Path: root/pelvis/thigh_l/calf_l/foot_l
m_Weight: 1
- m_Path: root/pelvis/thigh_l/calf_l/foot_l/ball_l
m_Weight: 1
- m_Path: root/pelvis/thigh_r
m_Weight: 1
- m_Path: root/pelvis/thigh_r/calf_r
m_Weight: 1
- m_Path: root/pelvis/thigh_r/calf_r/foot_r
m_Weight: 1
- m_Path: root/pelvis/thigh_r/calf_r/foot_r/ball_r
m_Weight: 1

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 6593ee38fd371db459652c920630d2c9
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 31900000
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/JAY/Animation/Win.anim (Stored with Git LFS)

Binary file not shown.

View File

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

BIN
Assets/JAY/Animator/BattlePlayerController.controller (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 4b599839aef3f5146a78f2edb646f2b1
guid: c4b4877324e8f984a94db19f57f6e5bc
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9100000

BIN
Assets/JAY/Animator/NormalPlayerСontroller.controller (Stored with Git LFS) Normal file

Binary file not shown.

View File

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

Binary file not shown.

BIN
Assets/JAY/Character Test Scene.unity (Stored with Git LFS)

Binary file not shown.

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 5e5b542c7c8130b4a8bbd48394d0756d
guid: 264ff5a75e22d3f489e174962ff5f899
folderAsset: yes
DefaultImporter:
externalObjects: {}

BIN
Assets/JAY/Image/red_splatter.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 055c44a6ee790d743bcf692c99bfef6c
guid: 1020bfc1c110a2e47a7f4eda301bd3db
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
@ -63,9 +63,9 @@ TextureImporter:
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 1
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
@ -79,7 +79,7 @@ TextureImporter:
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
@ -92,7 +92,7 @@ TextureImporter:
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
@ -105,7 +105,7 @@ TextureImporter:
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

BIN
Assets/JAY/Prefabs/BattlePlayer.prefab (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 31f394375ca23d74e82ded5b2efca2b6
guid: e11ce8dc41a7b0540a9213d928d01439
PrefabImporter:
externalObjects: {}
userData:

BIN
Assets/JAY/Prefabs/NormalPlayer.prefab (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: b1e781a67c6f97f4d9cfb50a61f30655
guid: 58cb501786c0fcd46a57e67bdd0177a7
PrefabImporter:
externalObjects: {}
userData:

BIN
Assets/JAY/Prefabs/Player.prefab (Stored with Git LFS)

Binary file not shown.

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: b2775e44f9b29414faf17cc5025f9478
guid: 0004054258df8ff458a5892a12b13639
PrefabImporter:
externalObjects: {}
userData:

BIN
Assets/JAY/Prefabs/WoodChopstick.prefab (Stored with Git LFS)

Binary file not shown.

BIN
Assets/JAY/Prefabs/woodChopstick.fbx (Stored with Git LFS)

Binary file not shown.

View File

@ -0,0 +1,21 @@
using UnityEngine;
public class AnimatorEventRelay : MonoBehaviour
{
private PlayerController _playerController;
private void Awake()
{
_playerController = GetComponentInParent<PlayerController>();
}
public void SetAttackComboTrue()
{
_playerController?.SetAttackComboTrue();
}
public void SetAttackComboFalse()
{
_playerController?.SetAttackComboFalse();
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: e1c2c9ebd51c4d7aad9883cef372663f
timeCreated: 1746088356

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: f85f06ffdab841aba19658d505e1a75a
timeCreated: 1745899456

View File

@ -0,0 +1,41 @@
using UnityEngine;
using System.Collections;
public class CameraShake : MonoBehaviour
{
[SerializeField] private float shakeDuration = 0.2f;
[SerializeField] private float shakeMagnitude = 0.1f;
private Vector3 initialLocalPosition;
private Coroutine shakeCoroutine;
private void Awake()
{
initialLocalPosition = transform.localPosition;
}
public void Shake()
{
if (shakeCoroutine != null)
{
StopCoroutine(shakeCoroutine);
}
shakeCoroutine = StartCoroutine(ShakeRoutine());
}
private IEnumerator ShakeRoutine()
{
float elapsed = 0f;
while (elapsed < shakeDuration)
{
Vector3 randomPoint = Random.insideUnitSphere * shakeMagnitude;
transform.localPosition = initialLocalPosition + randomPoint;
elapsed += Time.deltaTime;
yield return null;
}
transform.localPosition = initialLocalPosition;
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 84537ad9e9c54885bdc75a1cd0e7a1df
timeCreated: 1745902439

View File

@ -0,0 +1,48 @@
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class PlayerHitEffectController : MonoBehaviour
{
[SerializeField] private Image hitFlashImage;
private float flashDuration = 0.7f;
private Color flashColor = new Color(1, 0, 0, 0.7f); // 반투명 빨간색
private Coroutine flashCoroutine;
private void Start()
{
hitFlashImage.color = Color.clear; // 처음에는 투명함
}
public void PlayHitEffect()
{
if (flashCoroutine != null)
{
StopCoroutine(flashCoroutine);
}
flashCoroutine = StartCoroutine(FlashRoutine());
}
private IEnumerator FlashRoutine()
{
// 일단 바로 최대 알파로 세팅
hitFlashImage.color = flashColor;
float timer = 0f;
while (timer < flashDuration)
{
timer += Time.deltaTime;
// 알파만 줄이기
Color c = flashColor;
c.a = Mathf.Lerp(flashColor.a, 0, timer / flashDuration);
hitFlashImage.color = c;
yield return null;
}
hitFlashImage.color = Color.clear;
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 0d7446d96b0c4470b42ee010cbbd809f
timeCreated: 1745899493

View File

@ -1,7 +1,6 @@
using UnityEngine;
public class PlayerActionAttack : IPlayerAction {
private static readonly int Attack = Animator.StringToHash("Attack");
private static readonly int ComboStep = Animator.StringToHash("ComboStep");
private PlayerController player;
private int comboStep = 1;
@ -16,7 +15,7 @@ public class PlayerActionAttack : IPlayerAction {
comboStep = 1;
comboQueued = false;
PlayComboAnimation(comboStep);
player.PlayerAnimator.SetBool(Attack, true);
player.SafeSetBool("Attack", true);
}
public void UpdateAction() {
@ -26,7 +25,7 @@ public class PlayerActionAttack : IPlayerAction {
}
public void EndAction() {
player.PlayerAnimator.SetBool(Attack, false);
player.SafeSetBool("Attack", false);
IsActive = false;
player.OnActionEnded(this); // player 에서도 action 초기화
player = null;
@ -48,9 +47,20 @@ public class PlayerActionAttack : IPlayerAction {
}
}
private void PlayComboAnimation(int step) {
player.PlayerAnimator.SetInteger(ComboStep, step);
private void PlayComboAnimation(int step)
{
if (player.PlayerAnimator == null) return;
// 안전하게 파라미터 체크
foreach (var param in player.PlayerAnimator.parameters)
{
if (param.nameHash == ComboStep && param.type == AnimatorControllerParameterType.Int)
{
player.PlayerAnimator.SetInteger(ComboStep, step);
break;
}
}
// 무기에 콤보 단계 전달
var weapon = player.GetComponentInChildren<WeaponController>();
if (weapon != null)

View File

@ -1,7 +1,10 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using UnityEditor.TextCore.Text;
using UnityEngine;
using UnityEngine.SceneManagement;
public enum PlayerState { None, Idle, Move, Win, Hit, Dead }
@ -10,8 +13,12 @@ public class PlayerController : CharacterBase, IObserver<GameObject>
// 외부 접근 가능 변수
[Header("Attach Points")]
[SerializeField] private Transform rightHandTransform;
[SerializeField] private CameraShake cameraShake;
[SerializeField] private GameObject normalModel; // char_body : 일상복
[SerializeField] private GameObject battleModel; // warrior_1 : 전투복
// 내부에서만 사용하는 변수
private PlayerHitEffectController hitEffectController;
private CharacterController _characterController;
private bool _isBattle;
private GameObject weapon;
@ -25,6 +32,7 @@ public class PlayerController : CharacterBase, IObserver<GameObject>
private PlayerStateIdle _playerStateIdle;
private PlayerStateMove _playerStateMove;
private PlayerStateWin _playerStateWin;
private PlayerStateHit _playerStateHit;
private PlayerStateDead _playerStateDead;
// 행동 관련
@ -37,41 +45,31 @@ public class PlayerController : CharacterBase, IObserver<GameObject>
private Dictionary<PlayerState, IPlayerState> _playerStates;
public Animator PlayerAnimator { get; private set; }
public CharacterController CharacterController => _characterController;
public bool IsBattle => _isBattle;
private void Awake()
{
PlayerAnimator = GetComponent<Animator>();
_characterController = GetComponent<CharacterController>();
if (Joystick == null)
{
Joystick = FindObjectOfType<FixedJoystick>();
}
AssignCharacterController();
AssignAnimator();
}
protected override void Start()
{
base.Start();
// 상태 초기화
_playerStateIdle = new PlayerStateIdle();
_playerStateMove = new PlayerStateMove();
_playerStateWin = new PlayerStateWin();
_playerStateDead = new PlayerStateDead();
_playerStates = new Dictionary<PlayerState, IPlayerState>
{
{ PlayerState.Idle, _playerStateIdle },
{ PlayerState.Move, _playerStateMove },
{ PlayerState.Win, _playerStateWin },
{ PlayerState.Dead, _playerStateDead },
};
_attackAction = new PlayerActionAttack();
_actionDash = new PlayerActionDash();
hitEffectController = GetComponentInChildren<PlayerHitEffectController>();
PlayerInit();
SwitchBattleMode();
// isBattle 초기화 (임시)
/*bool isHousingScene = SceneManager.GetActiveScene().name.Contains("Housing");
_isBattle = !isHousingScene;
Debug.Log("_isBattle: " + _isBattle);*/
}
private void Update()
@ -81,6 +79,10 @@ public class PlayerController : CharacterBase, IObserver<GameObject>
_playerStates[CurrentState].Update();
}
// Hit 상태거나 게임 끝났을 땐 땐 입력 무시
if (CurrentState == PlayerState.Hit || CurrentState == PlayerState.Dead || CurrentState == PlayerState.Win)
return;
// 대시 우선 입력 처리
if (Input.GetKeyDown(KeyCode.Space))
{
@ -91,7 +93,6 @@ public class PlayerController : CharacterBase, IObserver<GameObject>
// 공격 입력 처리
if (Input.GetKeyDown(KeyCode.X) && (_currentAction == null || !_currentAction.IsActive)
&& (CurrentState != PlayerState.Win && CurrentState != PlayerState.Dead)) {
Debug.Log("X 버튼 Down 됨");
StartAttackAction();
}
@ -101,11 +102,38 @@ public class PlayerController : CharacterBase, IObserver<GameObject>
_currentAction.UpdateAction();
}
}
private void OnDestroy()
{
OnGetHit -= HandlePlayerHit;
}
#region
private void PlayerInit()
{
// 상태 초기화
_playerStateIdle = new PlayerStateIdle();
_playerStateMove = new PlayerStateMove();
_playerStateHit = new PlayerStateHit();
_playerStateWin = new PlayerStateWin();
_playerStateDead = new PlayerStateDead();
_playerStates = new Dictionary<PlayerState, IPlayerState>
{
{ PlayerState.Idle, _playerStateIdle },
{ PlayerState.Move, _playerStateMove },
{ PlayerState.Hit, _playerStateHit },
{ PlayerState.Win, _playerStateWin },
{ PlayerState.Dead, _playerStateDead },
};
_attackAction = new PlayerActionAttack();
_actionDash = new PlayerActionDash();
OnGetHit -= HandlePlayerHit;
OnGetHit += HandlePlayerHit;
SetState(PlayerState.Idle);
InstantiateWeapon();
@ -123,6 +151,54 @@ public class PlayerController : CharacterBase, IObserver<GameObject>
}
}
/// <summary>
/// 애니메이션 초기화
/// </summary>
private void InitializeAnimatorParameters()
{
if (PlayerAnimator == null) return;
SafeSetBool("Walk", false);
SafeSetBool("Run", false);
// SafeSetBool(Dead, false);
SafeResetTrigger("Bore");
SafeResetTrigger("GetHit");
PlayerAnimator.Rebind(); // 레이어 초기화
// PlayerAnimator.Update(0f); // 즉시 반영
}
#endregion
#region
public void SafeSetBool(string paramName, bool value)
{
if (PlayerAnimator == null) return;
foreach (var param in PlayerAnimator.parameters)
{
if (param.name == paramName && param.type == AnimatorControllerParameterType.Bool)
{
PlayerAnimator.SetBool(paramName, value);
break;
}
}
}
private void SafeResetTrigger(string triggerName)
{
if (PlayerAnimator == null) return;
foreach (var param in PlayerAnimator.parameters)
{
if (param.name == triggerName && param.type == AnimatorControllerParameterType.Trigger)
{
PlayerAnimator.ResetTrigger(triggerName);
break;
}
}
}
#endregion
#region ,
@ -165,6 +241,28 @@ public class PlayerController : CharacterBase, IObserver<GameObject>
{
if (_currentAction == action) _currentAction = null;
}
/// <summary>
/// 전투, 일상 모드 플레이어 프리팹에 따라 애니메이터 가져오기
/// </summary>
private void AssignAnimator()
{
PlayerAnimator = _isBattle
? battleModel.GetComponent<Animator>()
: normalModel.GetComponent<Animator>();
InitializeAnimatorParameters();
}
/// <summary>
/// 전투, 일상 모드 플레이어 프리팹에 따라 Character Controller 가져오기
/// </summary>
private void AssignCharacterController()
{
_characterController = _isBattle
? battleModel.GetComponent<CharacterController>()
: normalModel.GetComponent<CharacterController>();
}
#endregion
@ -173,6 +271,16 @@ public class PlayerController : CharacterBase, IObserver<GameObject>
public void SwitchBattleMode()
{
_isBattle = !_isBattle;
// 복장 전환
normalModel.SetActive(!_isBattle);
battleModel.SetActive(_isBattle);
// Animator, Character Controller 다시 참조 (복장에 붙은 걸로)
AssignAnimator();
AssignCharacterController();
// 무기도 전투모드에만
weapon.SetActive(_isBattle);
}
@ -182,7 +290,6 @@ public class PlayerController : CharacterBase, IObserver<GameObject>
if (_weaponController.IsAttacking) return; // 이미 공격 중이면 실행 안함
if (_currentAction == _attackAction) {
Debug.Log($"Attack True");
_attackAction.EnableCombo();
_weaponController.AttackStart();
}
@ -191,7 +298,6 @@ public class PlayerController : CharacterBase, IObserver<GameObject>
public void SetAttackComboFalse()
{
if (_currentAction == _attackAction) {
Debug.Log($"Attack False");
// 이벤트 중복 호출? 공격 종료 시 SetAttackComboFalse가 아니라 ~True로 끝나서 오류 발생. (공격 안하는 상태여도 공격으로 판정됨)
_attackAction.DisableCombo();
_weaponController.AttackEnd(); // IsAttacking = false로 변경
@ -245,4 +351,33 @@ public class PlayerController : CharacterBase, IObserver<GameObject>
#endregion
#region
// TODO: Editor에서 확인하기 위한 테스트용 메서드
public void HandlePlayerHit()
{
if (CurrentState == PlayerState.Dead) return;
SetState(PlayerState.Hit);
}
private void HandlePlayerHit(CharacterBase character)
{
if (character != this) return;
if (CurrentState == PlayerState.Dead) return;
SetState(PlayerState.Hit);
}
public void PlayHitEffect()
{
hitEffectController?.PlayHitEffect();
}
public void ShakeCamera()
{
cameraShake?.Shake();
}
#endregion
}

View File

@ -24,7 +24,6 @@ public class PlayerControllerEditor : Editor
EditorGUILayout.LabelField("현재 상태", playerController.CurrentState.ToString(), EditorStyles.boldLabel);
EditorGUILayout.LabelField("현재 행동", playerController.CurrentAction != null ? playerController.CurrentAction.ToString() : "-", EditorStyles.boldLabel);
EditorGUILayout.EndVertical();
// 지면 접촉 상태
GUI.backgroundColor = Color.white;
@ -41,8 +40,8 @@ public class PlayerControllerEditor : Editor
playerController.SwitchBattleMode();
if (GUILayout.Button("Win"))
playerController.SetState(PlayerState.Win);
// if (GUILayout.Button("Hit"))
// playerController.SetState(PlayerState.Hit);
if (GUILayout.Button("Hit"))
playerController.HandlePlayerHit();
if (GUILayout.Button("Dead"))
playerController.SetState(PlayerState.Dead);

View File

@ -7,7 +7,7 @@ public class PlayerStateDead : IPlayerState
public void Enter(PlayerController playerController)
{
_playerController = playerController;
_playerController.PlayerAnimator.SetBool("Dead", true);
// _playerController.PlayerAnimator.SetBool("Dead", true);
}
public void Update()
@ -16,7 +16,7 @@ public class PlayerStateDead : IPlayerState
public void Exit()
{
_playerController.PlayerAnimator.SetBool("Dead", false);
// _playerController.PlayerAnimator.SetBool("Dead", false);
_playerController = null;
}
}

View File

@ -0,0 +1,41 @@
using UnityEngine;
public class PlayerStateHit : IPlayerState
{
private PlayerController _playerController;
private float hitDuration = 0.4f; // 피격 상태 지속 시간
private float timer = 0f;
public void Enter(PlayerController playerController)
{
_playerController = playerController;
// 애니메이션 실행
_playerController.SafeSetBool("IsHit", true);
// 현재 액션 중단 (공격, 대시 등)
_playerController.CurrentAction?.EndAction();
// 이펙트 및 카메라 흔들림
_playerController.PlayHitEffect();
_playerController.ShakeCamera();
// 타이머 초기화
timer = 0f;
}
public void Update()
{
timer += Time.deltaTime;
if (timer >= hitDuration)
{
_playerController.SetState(PlayerState.Idle);
}
}
public void Exit()
{
_playerController.SafeSetBool("IsHit", false);
_playerController = null;
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: bad367d3d78a422aa34cb0ebd7aacecf
timeCreated: 1746178893

View File

@ -1,15 +1,20 @@
using UnityEngine;
using UnityEngine.SceneManagement;
public class PlayerStateMove : IPlayerState
{
private static readonly int Move = Animator.StringToHash("Move");
private PlayerController _playerController;
private Vector3 _gravityVelocity;
private bool isPlayerBattle;
public void Enter(PlayerController playerController)
{
_playerController = playerController;
_playerController.PlayerAnimator.SetBool(Move, true);
isPlayerBattle = _playerController.IsBattle; // 전투 모드인지(던전인지)
// 파라미터가 존재하는지 확인 후 처리
_playerController.SafeSetBool("Run", isPlayerBattle);
_playerController.SafeSetBool("Walk", !isPlayerBattle);
}
public void Update()
@ -30,7 +35,8 @@ public class PlayerStateMove : IPlayerState
public void Exit()
{
_playerController.PlayerAnimator.SetBool(Move, false);
_playerController.SafeSetBool("Run", false);
_playerController.SafeSetBool("Walk", false);
_playerController = null;
}
@ -40,7 +46,8 @@ public class PlayerStateMove : IPlayerState
float inputVertical = _playerController.Joystick.Vertical;
Vector3 moveDir = new Vector3(inputHorizontal, 0, inputVertical);
Vector3 move = moveDir.normalized * _playerController.moveSpeed;
float speed = isPlayerBattle ? _playerController.moveSpeed : 2.5f; // 걷기 속도 고정
Vector3 move = moveDir.normalized * speed;
// 회전
if (moveDir.magnitude > 0.1f)
@ -56,7 +63,6 @@ public class PlayerStateMove : IPlayerState
}
_gravityVelocity.y += _playerController.gravity * Time.deltaTime;
Vector3 finalMove = (move + _gravityVelocity) * Time.deltaTime;
_playerController.CharacterController.Move(finalMove);
}

View File

@ -1,38 +1,25 @@
using System;
// Anchor 방식 리팩토링
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WeaponController : MonoBehaviour, IObservable<GameObject>
{
[Serializable]
public class WeaponTriggerZone
{
public Vector3 position;
public float radius;
}
[SerializeField] private WeaponTriggerZone[] _triggerZones;
[SerializeField] private Transform[] triggerAnchors;
[SerializeField] private float triggerRadius = 0.5f;
[SerializeField] private LayerMask targetLayerMask;
private List<IObserver<GameObject>> _observers = new List<IObserver<GameObject>>();
// 공격 데미지 처리
private int attackPower = 1;
private int _comboStep = 1;
public int AttackPower // 플레이어 공격 데미지
{
get
{
// 마지막 콤보일 경우 공격력 증가
return _comboStep == 4 ? attackPower * 4 : attackPower;
}
}
public int AttackPower => _comboStep == 4 ? attackPower * 4 : attackPower;
private PlayerController _playerController;
private bool _isAttacking = false;
public bool IsAttacking => _isAttacking;
// 충돌 처리
private Vector3[] _previousPositions;
private HashSet<Collider> _hitColliders;
private Ray _ray = new Ray();
@ -40,12 +27,12 @@ public class WeaponController : MonoBehaviour, IObservable<GameObject>
private void Start()
{
if (_triggerZones == null || _triggerZones.Length == 0)
if (triggerAnchors == null || triggerAnchors.Length == 0)
{
Debug.LogWarning("Trigger Zones이 설정되지 않았습니다.");
Debug.LogWarning("Trigger Anchors가 비어있습니다.");
return;
}
_playerController = GetComponent<PlayerController>();
if (_playerController == null)
{
@ -55,103 +42,71 @@ public class WeaponController : MonoBehaviour, IObservable<GameObject>
_playerController = player.GetComponent<PlayerController>();
}
}
_previousPositions = new Vector3[_triggerZones.Length];
_previousPositions = new Vector3[triggerAnchors.Length];
_hitColliders = new HashSet<Collider>();
}
public void AttackStart()
{
if (_hitColliders == null)
{
Debug.LogError("_hitColliders가 null입니다. 무기를 들고 있는지 확인해 주세요!");
return;
}
_isAttacking = true;
_hitColliders.Clear();
StopAllCoroutines();
StartCoroutine(AutoEndAttack()); // 자동 공격 종료
StartCoroutine(AutoEndAttack());
for (int i = 0; i < _triggerZones.Length; i++)
for (int i = 0; i < triggerAnchors.Length; i++)
{
_previousPositions[i] = transform.position + transform.TransformVector(_triggerZones[i].position);
_previousPositions[i] = triggerAnchors[i].position;
}
}
private IEnumerator AutoEndAttack()
{
yield return new WaitForSeconds(0.6f); // 0.6초 가량 대기
if (_isAttacking) // 아직 공격 중이면
{
Debug.Log("공격 자동 종료 - 타임아웃");
AttackEnd();
}
yield return new WaitForSeconds(0.6f);
if (_isAttacking) AttackEnd();
}
public void AttackEnd()
{
_isAttacking = false;
}
public void AttackEnd() => _isAttacking = false;
private void FixedUpdate()
{
if (_isAttacking)
if (!_isAttacking) return;
for (int i = 0; i < triggerAnchors.Length; i++)
{
for (int i = 0; i < _triggerZones.Length; i++)
var current = triggerAnchors[i].position;
var direction = current - _previousPositions[i];
if (direction.magnitude < 0.01f) continue;
_ray.origin = _previousPositions[i];
_ray.direction = direction;
int hitCount = Physics.SphereCastNonAlloc(_ray, triggerRadius, _hits, direction.magnitude, targetLayerMask);
for (int j = 0; j < hitCount; j++)
{
var worldPosition = transform.position +
transform.TransformVector(_triggerZones[i].position);
var direction = worldPosition - _previousPositions[i];
_ray.origin = _previousPositions[i];
_ray.direction = direction;
if (direction.magnitude < 0.01f) return;
var hitCount = Physics.SphereCastNonAlloc(_ray,
_triggerZones[i].radius, _hits,
direction.magnitude, targetLayerMask,
QueryTriggerInteraction.UseGlobal);
for (int j = 0; j < hitCount; j++)
var hit = _hits[j];
if (!_hitColliders.Contains(hit.collider))
{
var hit = _hits[j];
if (!_hitColliders.Contains(hit.collider))
{
_hitColliders.Add(hit.collider);
Notify(hit.collider.gameObject);
}
_hitColliders.Add(hit.collider);
Notify(hit.collider.gameObject);
}
_previousPositions[i] = worldPosition;
}
}
}
private IEnumerator ResumeTimeScale()
{
yield return new WaitForSecondsRealtime(10f);
Time.timeScale = 1f;
_previousPositions[i] = current;
}
}
public void Subscribe(IObserver<GameObject> observer)
{
if (!_observers.Contains(observer))
{
_observers.Add(observer);
}
if (!_observers.Contains(observer)) _observers.Add(observer);
}
public void Unsubscribe(IObserver<GameObject> observer)
{
_observers.Remove(observer);
}
public void Unsubscribe(IObserver<GameObject> observer) => _observers.Remove(observer);
public void Notify(GameObject value)
{
foreach (var observer in _observers)
{
observer.OnNext(value);
}
foreach (var o in _observers) o.OnNext(value);
}
private void OnDestroy()
@ -163,47 +118,19 @@ public class WeaponController : MonoBehaviour, IObservable<GameObject>
}
_observers.Clear();
}
public void SetComboStep(int step)
{
_comboStep = step;
}
public void SetComboStep(int step) => _comboStep = step;
#if UNITY_EDITOR
private void OnDrawGizmos()
{
if (_triggerZones == null) return;
if (_isAttacking && _previousPositions != null)
if (triggerAnchors == null) return;
Gizmos.color = Color.green;
foreach (var anchor in triggerAnchors)
{
for (int i = 0; i < _triggerZones.Length; i++)
{
if (_triggerZones[i] == null) continue;
var worldPosition = transform.position +
transform.TransformVector(_triggerZones[i].position);
var direction = worldPosition - _previousPositions[i];
Gizmos.color = Color.green;
Gizmos.DrawWireSphere(worldPosition, _triggerZones[i].radius);
Gizmos.color = Color.red;
Gizmos.DrawWireSphere(worldPosition + direction, _triggerZones[i].radius);
}
}
else
{
foreach (var triggerZone in _triggerZones)
{
if (triggerZone == null) continue;
Gizmos.color = Color.green;
Gizmos.DrawSphere(triggerZone.position, triggerZone.radius);
}
if (anchor != null)
Gizmos.DrawWireSphere(anchor.position, triggerRadius);
}
}
#endif
}

BIN
Assets/JYY/Animator/Alien Big Blink.controller (Stored with Git LFS) Normal file

Binary file not shown.

View File

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

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: aeeb3f547bce4be4d9bd9b5906dcca34
guid: 9378ba9fe6731e24abe1d046a30c3a26
folderAsset: yes
DefaultImporter:
externalObjects: {}

BIN
Assets/JYY/FBX/Alien Big Blink.FBX (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,129 @@
fileFormatVersion: 2
guid: 2291d228df4a9aa4db63bf9983718214
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
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
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:
- acb5e37c756182b489fcff25ca410788
- 7d124a8531e1d8e47b67a51d73fbadef
- 32b5b530673aef1408f82c5454978a27
- 62290ffec96cf784b96df8a1dc654934
- 930725940a0e4cf48a79579260b0613d
- 6ab35dac1ff2c4f4fab7e525e26f02d0
- dbdc7d53f3f421b419ebbb3a97dfe554
- 969cb3e38071c8341ac9cb6f541bc341
- c0badb4c3bdcbbd47bd3321f16f3e66d
- cdd16b2fb855db94a8c3daf47f470a06
- cc32ba050c9eb88488cfe412f90f07cb
- 444bdbc84fc5b1047884d48962941fce
- 1daf9d57eaa6f7e40832228783b44a9d
- b380897df40fc7842acedd37e7543568
- 31955f6250fc1c841abd7043d7c84ba8
- bfc3fb485f7bb284899d97759b9a4895
- 7b7f5b2a7a4050b47aef9d425355f745
- 80c556865b4ce7f428e688a363a63b8a
- 24f4ad476fad7b4408c6f87841359239
- 21be53cbf5352f148a24c4929c873847
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
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: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/JYY/FBX/Alien Big Blink.controller (Stored with Git LFS) Normal file

Binary file not shown.

View File

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

BIN
Assets/JYY/FBX/Alien Big Blink@Cast Spell.FBX (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 72a88a4cb2c991b48a9c7ebd8f1a5065
guid: acb5e37c756182b489fcff25ca410788
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []

BIN
Assets/JYY/FBX/Alien Big Blink@Die.FBX (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,109 @@
fileFormatVersion: 2
guid: 7d124a8531e1d8e47b67a51d73fbadef
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
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
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: []
skeleton: []
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: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/JYY/FBX/Alien Big Blink@Eye Beam Attack.FBX (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,109 @@
fileFormatVersion: 2
guid: 32b5b530673aef1408f82c5454978a27
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
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
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: []
skeleton: []
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: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/JYY/FBX/Alien Big Blink@Idle Float.FBX (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,109 @@
fileFormatVersion: 2
guid: 62290ffec96cf784b96df8a1dc654934
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
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
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: []
skeleton: []
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: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/JYY/FBX/Alien Big Blink@Idle Stand.FBX (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,109 @@
fileFormatVersion: 2
guid: 930725940a0e4cf48a79579260b0613d
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
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
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: []
skeleton: []
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: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/JYY/FBX/Alien Big Blink@Meditate.FBX (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,109 @@
fileFormatVersion: 2
guid: 6ab35dac1ff2c4f4fab7e525e26f02d0
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
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
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: []
skeleton: []
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: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/JYY/FBX/Alien Big Blink@Projectile Attack High.FBX (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,109 @@
fileFormatVersion: 2
guid: dbdc7d53f3f421b419ebbb3a97dfe554
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
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
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: []
skeleton: []
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: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/JYY/FBX/Alien Big Blink@Projectile Attack Low.FBX (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,109 @@
fileFormatVersion: 2
guid: 969cb3e38071c8341ac9cb6f541bc341
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
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
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: []
skeleton: []
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: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

Some files were not shown because too many files have changed in this diff Show More