02월4일 작업물
This commit is contained in:
parent
2e93f447dc
commit
6aee6544c7
|
|
@ -10,47 +10,47 @@ PrefabInstance:
|
||||||
m_Modifications:
|
m_Modifications:
|
||||||
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
propertyPath: m_LocalScale.x
|
propertyPath: m_LocalScale.x
|
||||||
value: 1.7955
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
propertyPath: m_LocalScale.y
|
propertyPath: m_LocalScale.y
|
||||||
value: 1.7955
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
propertyPath: m_LocalScale.z
|
propertyPath: m_LocalScale.z
|
||||||
value: 1.7955
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
value: 37.404156
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
propertyPath: m_LocalPosition.y
|
propertyPath: m_LocalPosition.y
|
||||||
value: 7.75
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
propertyPath: m_LocalPosition.z
|
propertyPath: m_LocalPosition.z
|
||||||
value: 24.345
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
propertyPath: m_LocalRotation.w
|
propertyPath: m_LocalRotation.w
|
||||||
value: 0.7058545
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
propertyPath: m_LocalRotation.x
|
propertyPath: m_LocalRotation.x
|
||||||
value: -0.7058545
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
propertyPath: m_LocalRotation.y
|
propertyPath: m_LocalRotation.y
|
||||||
value: -0.04206518
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
propertyPath: m_LocalRotation.z
|
propertyPath: m_LocalRotation.z
|
||||||
value: -0.04206518
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
value: -90
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.y
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
|
@ -58,7 +58,7 @@ PrefabInstance:
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
- target: {fileID: -8679921383154817045, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
value: -6.821
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -7511558181221131132, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
- target: {fileID: -7511558181221131132, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
propertyPath: m_Materials.Array.data[0]
|
propertyPath: m_Materials.Array.data[0]
|
||||||
|
|
@ -66,7 +66,7 @@ PrefabInstance:
|
||||||
objectReference: {fileID: 2100000, guid: 52b1a761d9ed33549a8cbf408621f61a, type: 2}
|
objectReference: {fileID: 2100000, guid: 52b1a761d9ed33549a8cbf408621f61a, type: 2}
|
||||||
- target: {fileID: 919132149155446097, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
- target: {fileID: 919132149155446097, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: "Meshy_AI_\uB0A1\uC740_\uCE7C_0202123706_texture"
|
value: Long Sword1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
|
|
@ -75,6 +75,12 @@ PrefabInstance:
|
||||||
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
insertIndex: -1
|
insertIndex: -1
|
||||||
addedObject: {fileID: -1612093166368112069}
|
addedObject: {fileID: -1612093166368112069}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 8969793428134418161}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 5023708991233411184}
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: bb77cc9931229de4498c04f7650496d0, type: 3}
|
||||||
--- !u!1 &2140436862665439697 stripped
|
--- !u!1 &2140436862665439697 stripped
|
||||||
GameObject:
|
GameObject:
|
||||||
|
|
@ -93,4 +99,53 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 4eebd921e8ac4c74182441ec944491ef, type: 3}
|
m_Script: {fileID: 11500000, guid: 4eebd921e8ac4c74182441ec944491ef, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
damage: 10
|
weaponBaseDamage: 10
|
||||||
|
_weaponCollider: {fileID: 0}
|
||||||
|
--- !u!65 &8969793428134418161
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2140436862665439697}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_IsTrigger: 1
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 0
|
||||||
|
serializedVersion: 3
|
||||||
|
m_Size: {x: 0.38805538, y: 0.10370442, z: 1.9960225}
|
||||||
|
m_Center: {x: -0.00056359917, y: 0.00017759763, z: 0.0017145276}
|
||||||
|
--- !u!54 &5023708991233411184
|
||||||
|
Rigidbody:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2140436862665439697}
|
||||||
|
serializedVersion: 4
|
||||||
|
m_Mass: 1
|
||||||
|
m_Drag: 0
|
||||||
|
m_AngularDrag: 0.05
|
||||||
|
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||||
|
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||||
|
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ImplicitCom: 1
|
||||||
|
m_ImplicitTensor: 1
|
||||||
|
m_UseGravity: 0
|
||||||
|
m_IsKinematic: 1
|
||||||
|
m_Interpolate: 0
|
||||||
|
m_Constraints: 0
|
||||||
|
m_CollisionDetection: 0
|
||||||
|
|
|
||||||
|
|
@ -10,35 +10,35 @@ PrefabInstance:
|
||||||
m_Modifications:
|
m_Modifications:
|
||||||
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
||||||
propertyPath: m_LocalScale.x
|
propertyPath: m_LocalScale.x
|
||||||
value: 0.62877
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
||||||
propertyPath: m_LocalScale.y
|
propertyPath: m_LocalScale.y
|
||||||
value: 0.62877
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
||||||
propertyPath: m_LocalScale.z
|
propertyPath: m_LocalScale.z
|
||||||
value: 0.62877
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
value: 36.294
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
||||||
propertyPath: m_LocalPosition.y
|
propertyPath: m_LocalPosition.y
|
||||||
value: 6.98
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
||||||
propertyPath: m_LocalPosition.z
|
propertyPath: m_LocalPosition.z
|
||||||
value: 26.08
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
||||||
propertyPath: m_LocalRotation.w
|
propertyPath: m_LocalRotation.w
|
||||||
value: 0.7071068
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
||||||
propertyPath: m_LocalRotation.x
|
propertyPath: m_LocalRotation.x
|
||||||
value: -0.7071068
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
||||||
propertyPath: m_LocalRotation.y
|
propertyPath: m_LocalRotation.y
|
||||||
|
|
@ -46,7 +46,7 @@ PrefabInstance:
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
||||||
propertyPath: m_LocalRotation.z
|
propertyPath: m_LocalRotation.z
|
||||||
value: -0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
- target: {fileID: -8679921383154817045, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
|
@ -66,7 +66,7 @@ PrefabInstance:
|
||||||
objectReference: {fileID: 2100000, guid: 1fcf7668092515844ba6a46e65da4e0e, type: 2}
|
objectReference: {fileID: 2100000, guid: 1fcf7668092515844ba6a46e65da4e0e, type: 2}
|
||||||
- target: {fileID: 919132149155446097, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
- target: {fileID: 919132149155446097, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: "Meshy_AI_\uB0A1\uC740_\uB2E8\uAC80_0202123716_texture"
|
value: Short Sword
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
|
|
@ -75,6 +75,12 @@ PrefabInstance:
|
||||||
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
||||||
insertIndex: -1
|
insertIndex: -1
|
||||||
addedObject: {fileID: -1799796546392776957}
|
addedObject: {fileID: -1799796546392776957}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 3083288925293399464}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: -3973499554777544766}
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: a5a40cd391a6c344595cccf2a60e81f3, type: 3}
|
||||||
--- !u!1 &1989840764554354322 stripped
|
--- !u!1 &1989840764554354322 stripped
|
||||||
GameObject:
|
GameObject:
|
||||||
|
|
@ -93,4 +99,53 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 4eebd921e8ac4c74182441ec944491ef, type: 3}
|
m_Script: {fileID: 11500000, guid: 4eebd921e8ac4c74182441ec944491ef, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
damage: 10
|
weaponBaseDamage: 10
|
||||||
|
_weaponCollider: {fileID: 0}
|
||||||
|
--- !u!65 &3083288925293399464
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1989840764554354322}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_IsTrigger: 1
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 0
|
||||||
|
serializedVersion: 3
|
||||||
|
m_Size: {x: 0.42812747, y: 0.2068659, z: 1.9971138}
|
||||||
|
m_Center: {x: 0.002586253, y: -0.00008453429, z: -0.0020856261}
|
||||||
|
--- !u!54 &-3973499554777544766
|
||||||
|
Rigidbody:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1989840764554354322}
|
||||||
|
serializedVersion: 4
|
||||||
|
m_Mass: 1
|
||||||
|
m_Drag: 0
|
||||||
|
m_AngularDrag: 0.05
|
||||||
|
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
||||||
|
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
||||||
|
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ImplicitCom: 1
|
||||||
|
m_ImplicitTensor: 1
|
||||||
|
m_UseGravity: 0
|
||||||
|
m_IsKinematic: 1
|
||||||
|
m_Interpolate: 0
|
||||||
|
m_Constraints: 0
|
||||||
|
m_CollisionDetection: 0
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,58 @@
|
||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &4116817349365388860
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5189329377133592040}
|
||||||
|
- component: {fileID: 4291496314861976794}
|
||||||
|
m_Layer: 6
|
||||||
|
m_Name: Heat Box
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 0
|
||||||
|
--- !u!4 &5189329377133592040
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4116817349365388860}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 0.09, y: 0.16, z: 2.04}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 4120830999722734443}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!65 &4291496314861976794
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4116817349365388860}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_IsTrigger: 1
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_Size: {x: 1, y: 1, z: 1}
|
||||||
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1001 &4520092900722824320
|
--- !u!1001 &4520092900722824320
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -10,35 +63,35 @@ PrefabInstance:
|
||||||
m_Modifications:
|
m_Modifications:
|
||||||
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
propertyPath: m_LocalScale.x
|
propertyPath: m_LocalScale.x
|
||||||
value: 2.450081
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
propertyPath: m_LocalScale.y
|
propertyPath: m_LocalScale.y
|
||||||
value: 2.292385
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
propertyPath: m_LocalScale.z
|
propertyPath: m_LocalScale.z
|
||||||
value: 2.9647658
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
value: 34.28
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
propertyPath: m_LocalPosition.y
|
propertyPath: m_LocalPosition.y
|
||||||
value: 8.899
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
propertyPath: m_LocalPosition.z
|
propertyPath: m_LocalPosition.z
|
||||||
value: 25.562
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
propertyPath: m_LocalRotation.w
|
propertyPath: m_LocalRotation.w
|
||||||
value: 0.7071068
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
propertyPath: m_LocalRotation.x
|
propertyPath: m_LocalRotation.x
|
||||||
value: -0.7071068
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
propertyPath: m_LocalRotation.y
|
propertyPath: m_LocalRotation.y
|
||||||
|
|
@ -46,7 +99,7 @@ PrefabInstance:
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
propertyPath: m_LocalRotation.z
|
propertyPath: m_LocalRotation.z
|
||||||
value: -0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
- target: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
|
@ -74,24 +127,27 @@ PrefabInstance:
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects:
|
||||||
|
- targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 5189329377133592040}
|
||||||
m_AddedComponents:
|
m_AddedComponents:
|
||||||
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
insertIndex: -1
|
insertIndex: 2
|
||||||
addedObject: {fileID: -4244908935780581778}
|
addedObject: {fileID: 5898612647368458389}
|
||||||
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
|
||||||
insertIndex: -1
|
|
||||||
addedObject: {fileID: -4464162073945719506}
|
|
||||||
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
insertIndex: -1
|
insertIndex: -1
|
||||||
addedObject: {fileID: -5261385165049439556}
|
addedObject: {fileID: -5261385165049439556}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 6438600877785711725}
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
--- !u!1 &3637766495420049873 stripped
|
--- !u!1 &3637766495420049873 stripped
|
||||||
GameObject:
|
GameObject:
|
||||||
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
m_PrefabInstance: {fileID: 4520092900722824320}
|
m_PrefabInstance: {fileID: 4520092900722824320}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!114 &-4244908935780581778
|
--- !u!114 &5898612647368458389
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
|
@ -104,27 +160,7 @@ MonoBehaviour:
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
weaponBaseDamage: 10
|
weaponBaseDamage: 10
|
||||||
--- !u!65 &-4464162073945719506
|
_weaponCollider: {fileID: 6438600877785711725}
|
||||||
BoxCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3637766495420049873}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_IsTrigger: 1
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_Size: {x: 0.19, y: 0.25, z: 1.9}
|
|
||||||
m_Center: {x: -0.03, y: 0.02, z: -0.0006678106}
|
|
||||||
--- !u!54 &-5261385165049439556
|
--- !u!54 &-5261385165049439556
|
||||||
Rigidbody:
|
Rigidbody:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -152,3 +188,29 @@ Rigidbody:
|
||||||
m_Interpolate: 0
|
m_Interpolate: 0
|
||||||
m_Constraints: 0
|
m_Constraints: 0
|
||||||
m_CollisionDetection: 0
|
m_CollisionDetection: 0
|
||||||
|
--- !u!65 &6438600877785711725
|
||||||
|
BoxCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3637766495420049873}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_IsTrigger: 1
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 0
|
||||||
|
serializedVersion: 3
|
||||||
|
m_Size: {x: 0.09035547, y: 0.05661974, z: 1.9976}
|
||||||
|
m_Center: {x: -0.0013071373, y: -0.00018994324, z: -0.00066781044}
|
||||||
|
--- !u!4 &4120830999722734443 stripped
|
||||||
|
Transform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: afba5816e8ef45948a025a0450a581a1, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 4520092900722824320}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,107 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &1163733789413127741
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1853753193380319200}
|
||||||
|
- component: {fileID: 6580353540313253097}
|
||||||
|
- component: {fileID: 6725208262828196419}
|
||||||
|
- component: {fileID: 661439740501535806}
|
||||||
|
m_Layer: 6
|
||||||
|
m_Name: Throw Monster Weapon
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &1853753193380319200
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1163733789413127741}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0.067, y: -0.559, z: 0.274}
|
||||||
|
m_LocalScale: {x: 0.97348, y: 0.97348, z: 0.97348}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!33 &6580353540313253097
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1163733789413127741}
|
||||||
|
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
--- !u!23 &6725208262828196419
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1163733789413127741}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 1
|
||||||
|
m_ReceiveShadows: 1
|
||||||
|
m_DynamicOccludee: 1
|
||||||
|
m_StaticShadowCaster: 0
|
||||||
|
m_MotionVectors: 1
|
||||||
|
m_LightProbeUsage: 1
|
||||||
|
m_ReflectionProbeUsage: 1
|
||||||
|
m_RayTracingMode: 2
|
||||||
|
m_RayTraceProcedural: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_StaticBatchInfo:
|
||||||
|
firstSubMesh: 0
|
||||||
|
subMeshCount: 0
|
||||||
|
m_StaticBatchRoot: {fileID: 0}
|
||||||
|
m_ProbeAnchor: {fileID: 0}
|
||||||
|
m_LightProbeVolumeOverride: {fileID: 0}
|
||||||
|
m_ScaleInLightmap: 1
|
||||||
|
m_ReceiveGI: 1
|
||||||
|
m_PreserveUVs: 0
|
||||||
|
m_IgnoreNormalsForChartDetection: 0
|
||||||
|
m_ImportantGI: 0
|
||||||
|
m_StitchLightmapSeams: 1
|
||||||
|
m_SelectedEditorRenderState: 3
|
||||||
|
m_MinimumChartSize: 4
|
||||||
|
m_AutoUVMaxDistance: 0.5
|
||||||
|
m_AutoUVMaxAngle: 89
|
||||||
|
m_LightmapParameters: {fileID: 0}
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
|
--- !u!135 &661439740501535806
|
||||||
|
SphereCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1163733789413127741}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_Radius: 0.50000024
|
||||||
|
m_Center: {x: -0.000011444099, y: 0, z: -0.000007629398}
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3fe90e2c4622f754381371a281472296
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -31,6 +31,38 @@ Transform:
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 820014222618867213}
|
m_Father: {fileID: 820014222618867213}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1 &149740767637875415
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 8489816395439659708}
|
||||||
|
m_Layer: 6
|
||||||
|
m_Name: GameObject
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &8489816395439659708
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 149740767637875415}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 1108089601745891472}
|
||||||
|
m_Father: {fileID: 3515307460793968011}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &216741287701997913
|
--- !u!1 &216741287701997913
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -1419,8 +1451,8 @@ GameObject:
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 5494800343343911850}
|
- component: {fileID: 5494800343343911850}
|
||||||
- component: {fileID: 2734043935891789976}
|
- component: {fileID: 2734043935891789976}
|
||||||
- component: {fileID: 2191869281094090394}
|
|
||||||
- component: {fileID: 165297179063843592}
|
- component: {fileID: 165297179063843592}
|
||||||
|
- component: {fileID: -5927759587507764226}
|
||||||
- component: {fileID: 1514289710616282544}
|
- component: {fileID: 1514289710616282544}
|
||||||
- component: {fileID: 8202243285445189301}
|
- component: {fileID: 8202243285445189301}
|
||||||
- component: {fileID: 5769769960016074036}
|
- component: {fileID: 5769769960016074036}
|
||||||
|
|
@ -1470,41 +1502,6 @@ Animator:
|
||||||
m_AllowConstantClipSamplingOptimization: 1
|
m_AllowConstantClipSamplingOptimization: 1
|
||||||
m_KeepAnimatorStateOnDisable: 0
|
m_KeepAnimatorStateOnDisable: 0
|
||||||
m_WriteDefaultValuesOnDisable: 0
|
m_WriteDefaultValuesOnDisable: 0
|
||||||
--- !u!114 &2191869281094090394
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3587750552762439828}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 8c775790f7852314c8d6527ffe977e03, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
optimizationDistance: 40
|
|
||||||
maxHP: 100
|
|
||||||
attackDamage: 10
|
|
||||||
expReward: 10
|
|
||||||
moveSpeed: 3.5
|
|
||||||
Monster_Idle: Monster_Idle
|
|
||||||
Monster_GetDamage: Monster_GetDamage
|
|
||||||
Monster_Die: 'Monster_Die '
|
|
||||||
attackRestDuration: 2
|
|
||||||
hitSound: {fileID: 0}
|
|
||||||
deathSound: {fileID: 0}
|
|
||||||
deathEffectPrefab: {fileID: 0}
|
|
||||||
hitEffect: {fileID: 0}
|
|
||||||
impactSpawnPoint: {fileID: 0}
|
|
||||||
myWeapon: {fileID: -4244908935780581778, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
|
||||||
attackRange: 4
|
|
||||||
attackDelay: 1.5
|
|
||||||
attackAnimations:
|
|
||||||
- Monster_Attack_1
|
|
||||||
Monster_Walk: Monster_Walk
|
|
||||||
stopBuffer: 0.3
|
|
||||||
patrolRadius: 5
|
|
||||||
patrolInterval: 2
|
|
||||||
--- !u!195 &165297179063843592
|
--- !u!195 &165297179063843592
|
||||||
NavMeshAgent:
|
NavMeshAgent:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -1527,6 +1524,47 @@ NavMeshAgent:
|
||||||
m_BaseOffset: 0
|
m_BaseOffset: 0
|
||||||
m_WalkableMask: 4294967295
|
m_WalkableMask: 4294967295
|
||||||
m_ObstacleAvoidanceType: 4
|
m_ObstacleAvoidanceType: 4
|
||||||
|
--- !u!114 &-5927759587507764226
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3587750552762439828}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 0e6d46f9fafc5dc4881b4fedd7bd689f, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
optimizationDistance: 40
|
||||||
|
maxHP: 100
|
||||||
|
attackDamage: 10
|
||||||
|
expReward: 10
|
||||||
|
moveSpeed: 3.5
|
||||||
|
myWeapon: {fileID: 0}
|
||||||
|
Monster_Idle: Monster_Idle
|
||||||
|
Monster_GetDamage: Monster_GetDamage
|
||||||
|
Monster_Die: Monster_Die
|
||||||
|
attackRestDuration: 1.5
|
||||||
|
hitSound: {fileID: 0}
|
||||||
|
deathSound: {fileID: 0}
|
||||||
|
deathEffectPrefab: {fileID: 0}
|
||||||
|
hitEffect: {fileID: 0}
|
||||||
|
impactSpawnPoint: {fileID: 0}
|
||||||
|
attackType: 1
|
||||||
|
projectilePrefab: {fileID: 1163733789413127741, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
|
firePoint: {fileID: 0}
|
||||||
|
handModel: {fileID: 1163733789413127741, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
|
reloadTime: 2
|
||||||
|
throwForce: 15
|
||||||
|
throwUpward: 5
|
||||||
|
attackRange: 10
|
||||||
|
attackDelay: 2
|
||||||
|
detectRange: 15
|
||||||
|
throwAnim: Monster_Attack_1
|
||||||
|
walkAnim: Monster_Walk
|
||||||
|
patrolRadius: 5
|
||||||
|
patrolInterval: 3
|
||||||
--- !u!54 &1514289710616282544
|
--- !u!54 &1514289710616282544
|
||||||
Rigidbody:
|
Rigidbody:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -2457,7 +2495,7 @@ Transform:
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 7080305393597894472}
|
m_GameObject: {fileID: 7080305393597894472}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0, y: -0.16723491, z: -0, w: 0.9859171}
|
m_LocalRotation: {x: 0.23055366, y: -0.16270708, z: -0.016085869, w: 0.959225}
|
||||||
m_LocalPosition: {x: 0.59595025, y: -0.06814218, z: 0.18439426}
|
m_LocalPosition: {x: 0.59595025, y: -0.06814218, z: 0.18439426}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
|
|
@ -2467,9 +2505,9 @@ Transform:
|
||||||
- {fileID: 6820430208105080267}
|
- {fileID: 6820430208105080267}
|
||||||
- {fileID: 6999144065060741639}
|
- {fileID: 6999144065060741639}
|
||||||
- {fileID: 6793412506891494909}
|
- {fileID: 6793412506891494909}
|
||||||
- {fileID: 1214684053570394478}
|
- {fileID: 8489816395439659708}
|
||||||
m_Father: {fileID: 5453506110754154993}
|
m_Father: {fileID: 5453506110754154993}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 25.917, y: -20.812, z: -6.761}
|
||||||
--- !u!1 &7153040190580437744
|
--- !u!1 &7153040190580437744
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -2588,7 +2626,7 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 9eb5b341f7503494e9b0f88cc4b1c17d, type: 3}
|
m_Script: {fileID: 11500000, guid: 9eb5b341f7503494e9b0f88cc4b1c17d, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
healthSource: {fileID: 2191869281094090394}
|
healthSource: {fileID: 0}
|
||||||
hpFillImage: {fileID: 7307672912510681016}
|
hpFillImage: {fileID: 7307672912510681016}
|
||||||
hpText: {fileID: 2164660505891504432}
|
hpText: {fileID: 2164660505891504432}
|
||||||
--- !u!1 &7576300459429704252
|
--- !u!1 &7576300459429704252
|
||||||
|
|
@ -3425,67 +3463,63 @@ Transform:
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 4924140283750863661}
|
m_Father: {fileID: 4924140283750863661}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1001 &3020592912531532293
|
--- !u!1001 &1646456170886479728
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Modification:
|
m_Modification:
|
||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_TransformParent: {fileID: 3515307460793968011}
|
m_TransformParent: {fileID: 8489816395439659708}
|
||||||
m_Modifications:
|
m_Modifications:
|
||||||
- target: {fileID: 3637766495420049873, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
- target: {fileID: 1163733789413127741, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: Spear
|
value: Throw Monster Weapon
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4120830999722734443, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
- target: {fileID: 1853753193380319200, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
propertyPath: m_LocalScale.x
|
|
||||||
value: 4.5709
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 4120830999722734443, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
|
||||||
propertyPath: m_LocalScale.y
|
propertyPath: m_LocalScale.y
|
||||||
value: 4.5709
|
value: 0.97348017
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4120830999722734443, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
- target: {fileID: 1853753193380319200, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
propertyPath: m_LocalScale.z
|
propertyPath: m_LocalScale.z
|
||||||
value: 4.5709
|
value: 0.97347987
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4120830999722734443, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
- target: {fileID: 1853753193380319200, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
value: 0.26
|
value: 0.067000516
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4120830999722734443, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
- target: {fileID: 1853753193380319200, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
propertyPath: m_LocalPosition.y
|
propertyPath: m_LocalPosition.y
|
||||||
value: -0.185
|
value: -0.558999
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4120830999722734443, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
- target: {fileID: 1853753193380319200, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
propertyPath: m_LocalPosition.z
|
propertyPath: m_LocalPosition.z
|
||||||
value: 2.33
|
value: 0.27400145
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4120830999722734443, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
- target: {fileID: 1853753193380319200, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
propertyPath: m_LocalRotation.w
|
propertyPath: m_LocalRotation.w
|
||||||
value: 1
|
value: 1
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4120830999722734443, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
- target: {fileID: 1853753193380319200, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
propertyPath: m_LocalRotation.x
|
propertyPath: m_LocalRotation.x
|
||||||
value: 0
|
value: -0.000000014901161
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4120830999722734443, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
- target: {fileID: 1853753193380319200, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
propertyPath: m_LocalRotation.y
|
propertyPath: m_LocalRotation.y
|
||||||
value: 0
|
value: -0.000000059604645
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4120830999722734443, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
- target: {fileID: 1853753193380319200, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
propertyPath: m_LocalRotation.z
|
propertyPath: m_LocalRotation.z
|
||||||
value: 0
|
value: 0.000000022351742
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4120830999722734443, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
- target: {fileID: 1853753193380319200, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4120830999722734443, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
- target: {fileID: 1853753193380319200, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.y
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4120830999722734443, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
- target: {fileID: 1853753193380319200, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
|
@ -3493,9 +3527,9 @@ PrefabInstance:
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
--- !u!4 &1214684053570394478 stripped
|
--- !u!4 &1108089601745891472 stripped
|
||||||
Transform:
|
Transform:
|
||||||
m_CorrespondingSourceObject: {fileID: 4120830999722734443, guid: 86581dd93bdff7f4b931c59503e2b65f, type: 3}
|
m_CorrespondingSourceObject: {fileID: 1853753193380319200, guid: 3fe90e2c4622f754381371a281472296, type: 3}
|
||||||
m_PrefabInstance: {fileID: 3020592912531532293}
|
m_PrefabInstance: {fileID: 1646456170886479728}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
|
|
||||||
|
|
@ -382,6 +382,7 @@ Transform:
|
||||||
- {fileID: 8601973675841176934}
|
- {fileID: 8601973675841176934}
|
||||||
- {fileID: 4258228940095842877}
|
- {fileID: 4258228940095842877}
|
||||||
- {fileID: 2239401418602158757}
|
- {fileID: 2239401418602158757}
|
||||||
|
- {fileID: 1000517034669344941}
|
||||||
m_Father: {fileID: 6886228752417663885}
|
m_Father: {fileID: 6886228752417663885}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &1520132395512168833
|
--- !u!1 &1520132395512168833
|
||||||
|
|
@ -1520,6 +1521,7 @@ MonoBehaviour:
|
||||||
deathEffectPrefab: {fileID: 0}
|
deathEffectPrefab: {fileID: 0}
|
||||||
hitEffect: {fileID: 0}
|
hitEffect: {fileID: 0}
|
||||||
impactSpawnPoint: {fileID: 0}
|
impactSpawnPoint: {fileID: 0}
|
||||||
|
myWeapon: {fileID: 8267965081717418493}
|
||||||
attackRange: 2
|
attackRange: 2
|
||||||
attackDelay: 1.5
|
attackDelay: 1.5
|
||||||
attackAnimations:
|
attackAnimations:
|
||||||
|
|
@ -2881,3 +2883,76 @@ Transform:
|
||||||
- {fileID: 24538573601920909}
|
- {fileID: 24538573601920909}
|
||||||
m_Father: {fileID: 2582067335924110456}
|
m_Father: {fileID: 2582067335924110456}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1001 &1953726205158157254
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 5795050858570269262}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 1657196367734596459, guid: 5d62f1e549a97b14484c4eef4f6b3885, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0.616
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1657196367734596459, guid: 5d62f1e549a97b14484c4eef4f6b3885, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: -0.587
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1657196367734596459, guid: 5d62f1e549a97b14484c4eef4f6b3885, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: -0.45
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1657196367734596459, guid: 5d62f1e549a97b14484c4eef4f6b3885, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 0.85455346
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1657196367734596459, guid: 5d62f1e549a97b14484c4eef4f6b3885, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: -0.44047815
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1657196367734596459, guid: 5d62f1e549a97b14484c4eef4f6b3885, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: -0.27476853
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1657196367734596459, guid: 5d62f1e549a97b14484c4eef4f6b3885, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: -0.014818206
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1657196367734596459, guid: 5d62f1e549a97b14484c4eef4f6b3885, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: -49.55
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1657196367734596459, guid: 5d62f1e549a97b14484c4eef4f6b3885, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: -44.725
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 1657196367734596459, guid: 5d62f1e549a97b14484c4eef4f6b3885, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 19.515
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2140436862665439697, guid: 5d62f1e549a97b14484c4eef4f6b3885, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: Long Sword1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 5d62f1e549a97b14484c4eef4f6b3885, type: 3}
|
||||||
|
--- !u!4 &1000517034669344941 stripped
|
||||||
|
Transform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 1657196367734596459, guid: 5d62f1e549a97b14484c4eef4f6b3885, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 1953726205158157254}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &8267965081717418493 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: -1612093166368112069, guid: 5d62f1e549a97b14484c4eef4f6b3885, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 1953726205158157254}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4eebd921e8ac4c74182441ec944491ef, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
|
|
||||||
66583
Assets/4.PlayerAnimation/Player Anime/Monster_Throw.anim
Normal file
66583
Assets/4.PlayerAnimation/Player Anime/Monster_Throw.anim
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
8
Assets/5.Enemy Animation.meta
Normal file
8
Assets/5.Enemy Animation.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cb2eb4c30e1269846945d1cddad0a27e
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
BIN
Assets/5.Enemy Animation/char@Throw Object.fbx
Normal file
BIN
Assets/5.Enemy Animation/char@Throw Object.fbx
Normal file
Binary file not shown.
109
Assets/5.Enemy Animation/char@Throw Object.fbx.meta
Normal file
109
Assets/5.Enemy Animation/char@Throw Object.fbx.meta
Normal file
|
|
@ -0,0 +1,109 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 52bb5430ce0687e4fb3c96a0b7ef1d56
|
||||||
|
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:
|
||||||
|
|
@ -83211,14 +83211,14 @@ AnimationClip:
|
||||||
m_HasGenericRootTransform: 0
|
m_HasGenericRootTransform: 0
|
||||||
m_HasMotionFloatCurves: 0
|
m_HasMotionFloatCurves: 0
|
||||||
m_Events:
|
m_Events:
|
||||||
- time: 0.53333336
|
- time: 0.43333334
|
||||||
functionName: OnAttackStart
|
functionName: OnAttackStart
|
||||||
data:
|
data:
|
||||||
objectReferenceParameter: {fileID: 0}
|
objectReferenceParameter: {fileID: 0}
|
||||||
floatParameter: 0
|
floatParameter: 0
|
||||||
intParameter: 0
|
intParameter: 0
|
||||||
messageOptions: 0
|
messageOptions: 0
|
||||||
- time: 1.3
|
- time: 0.7
|
||||||
functionName: OnAttackEnd
|
functionName: OnAttackEnd
|
||||||
data:
|
data:
|
||||||
objectReferenceParameter: {fileID: 0}
|
objectReferenceParameter: {fileID: 0}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,31 @@
|
||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1102 &-5884916198237161424
|
||||||
|
AnimatorState:
|
||||||
|
serializedVersion: 6
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: Monster_Attack_1
|
||||||
|
m_Speed: 1
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_Transitions: []
|
||||||
|
m_StateMachineBehaviours: []
|
||||||
|
m_Position: {x: 50, y: 50, z: 0}
|
||||||
|
m_IKOnFeet: 0
|
||||||
|
m_WriteDefaultValues: 1
|
||||||
|
m_Mirror: 0
|
||||||
|
m_SpeedParameterActive: 0
|
||||||
|
m_MirrorParameterActive: 0
|
||||||
|
m_CycleOffsetParameterActive: 0
|
||||||
|
m_TimeParameterActive: 0
|
||||||
|
m_Motion: {fileID: 7400000, guid: eba67b40820a5461abe64d831925ba35, type: 2}
|
||||||
|
m_Tag:
|
||||||
|
m_SpeedParameter:
|
||||||
|
m_MirrorParameter:
|
||||||
|
m_CycleOffsetParameter:
|
||||||
|
m_TimeParameter:
|
||||||
--- !u!1102 &-1543731576706283773
|
--- !u!1102 &-1543731576706283773
|
||||||
AnimatorState:
|
AnimatorState:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
|
|
@ -178,7 +204,7 @@ AnimatorStateMachine:
|
||||||
m_State: {fileID: -1543731576706283773}
|
m_State: {fileID: -1543731576706283773}
|
||||||
m_Position: {x: 130, y: 210, z: 0}
|
m_Position: {x: 130, y: 210, z: 0}
|
||||||
- serializedVersion: 1
|
- serializedVersion: 1
|
||||||
m_State: {fileID: 6260182891193709862}
|
m_State: {fileID: -5884916198237161424}
|
||||||
m_Position: {x: 410, y: -190, z: 0}
|
m_Position: {x: 410, y: -190, z: 0}
|
||||||
m_ChildStateMachines: []
|
m_ChildStateMachines: []
|
||||||
m_AnyStateTransitions: []
|
m_AnyStateTransitions: []
|
||||||
|
|
@ -216,32 +242,6 @@ AnimatorState:
|
||||||
m_MirrorParameter:
|
m_MirrorParameter:
|
||||||
m_CycleOffsetParameter:
|
m_CycleOffsetParameter:
|
||||||
m_TimeParameter:
|
m_TimeParameter:
|
||||||
--- !u!1102 &6260182891193709862
|
|
||||||
AnimatorState:
|
|
||||||
serializedVersion: 6
|
|
||||||
m_ObjectHideFlags: 1
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: Monster_Attack_1
|
|
||||||
m_Speed: 1
|
|
||||||
m_CycleOffset: 0
|
|
||||||
m_Transitions: []
|
|
||||||
m_StateMachineBehaviours: []
|
|
||||||
m_Position: {x: 50, y: 50, z: 0}
|
|
||||||
m_IKOnFeet: 0
|
|
||||||
m_WriteDefaultValues: 1
|
|
||||||
m_Mirror: 0
|
|
||||||
m_SpeedParameterActive: 0
|
|
||||||
m_MirrorParameterActive: 0
|
|
||||||
m_CycleOffsetParameterActive: 0
|
|
||||||
m_TimeParameterActive: 0
|
|
||||||
m_Motion: {fileID: 7400000, guid: eba67b40820a5461abe64d831925ba35, type: 2}
|
|
||||||
m_Tag:
|
|
||||||
m_SpeedParameter:
|
|
||||||
m_MirrorParameter:
|
|
||||||
m_CycleOffsetParameter:
|
|
||||||
m_TimeParameter:
|
|
||||||
--- !u!1102 &6576084975643352587
|
--- !u!1102 &6576084975643352587
|
||||||
AnimatorState:
|
AnimatorState:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a3bf14fca134cc64eb64d2875f47c1c4
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 7400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,560 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cc0cd4104413a0749b029fc8eeec3bd0
|
||||||
|
ModelImporter:
|
||||||
|
serializedVersion: 22200
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
materials:
|
||||||
|
materialImportMode: 0
|
||||||
|
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: 3
|
||||||
|
animationRotationError: 0.5
|
||||||
|
animationPositionError: 0.5
|
||||||
|
animationScaleError: 0.5
|
||||||
|
animationWrapMode: 0
|
||||||
|
extraExposedTransformPaths: []
|
||||||
|
extraUserProperties: []
|
||||||
|
clipAnimations:
|
||||||
|
- serializedVersion: 16
|
||||||
|
name: HumanM@Attack1H01_L
|
||||||
|
takeName: Untitled
|
||||||
|
internalID: 3094330708855449807
|
||||||
|
firstFrame: 0
|
||||||
|
lastFrame: 33
|
||||||
|
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:
|
||||||
|
- time: 0.30108693
|
||||||
|
functionName: OnAttackStart
|
||||||
|
data:
|
||||||
|
objectReferenceParameter: {instanceID: 0}
|
||||||
|
floatParameter: 0
|
||||||
|
intParameter: 0
|
||||||
|
messageOptions: 0
|
||||||
|
- time: 0.6371376
|
||||||
|
functionName: OnAttackEnd
|
||||||
|
data:
|
||||||
|
objectReferenceParameter: {instanceID: 0}
|
||||||
|
floatParameter: 0
|
||||||
|
intParameter: 0
|
||||||
|
messageOptions: 0
|
||||||
|
transformMask:
|
||||||
|
- path:
|
||||||
|
weight: 1
|
||||||
|
- path: HumanF_BodyMesh
|
||||||
|
weight: 0
|
||||||
|
- path: Rig
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-neck
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-neck/B-head
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-neck/B-head/B-jaw
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L/B-handProp.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L/B-indexFinger01.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L/B-indexFinger01.L/B-indexFinger02.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L/B-indexFinger01.L/B-indexFinger02.L/B-indexFinger03.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L/B-middleFinger01.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L/B-middleFinger01.L/B-middleFinger02.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L/B-middleFinger01.L/B-middleFinger02.L/B-middleFinger03.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L/B-pinky01.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L/B-pinky01.L/B-pinky02.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L/B-pinky01.L/B-pinky02.L/B-pinky03.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L/B-ringFinger01.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L/B-ringFinger01.L/B-ringFinger02.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L/B-ringFinger01.L/B-ringFinger02.L/B-ringFinger03.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L/B-thumb01.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L/B-thumb01.L/B-thumb02.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.L/B-upperArm.L/B-forearm.L/B-hand.L/B-thumb01.L/B-thumb02.L/B-thumb03.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R/B-handProp.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R/B-indexFinger01.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R/B-indexFinger01.R/B-indexFinger02.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R/B-indexFinger01.R/B-indexFinger02.R/B-indexFinger03.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R/B-middleFinger01.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R/B-middleFinger01.R/B-middleFinger02.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R/B-middleFinger01.R/B-middleFinger02.R/B-middleFinger03.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R/B-pinky01.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R/B-pinky01.R/B-pinky02.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R/B-pinky01.R/B-pinky02.R/B-pinky03.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R/B-ringFinger01.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R/B-ringFinger01.R/B-ringFinger02.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R/B-ringFinger01.R/B-ringFinger02.R/B-ringFinger03.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R/B-thumb01.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R/B-thumb01.R/B-thumb02.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-spine/B-chest/B-shoulder.R/B-upperArm.R/B-forearm.R/B-hand.R/B-thumb01.R/B-thumb02.R/B-thumb03.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-thigh.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-thigh.L/B-shin.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-thigh.L/B-shin.L/B-foot.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-thigh.L/B-shin.L/B-foot.L/B-toe.L
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-thigh.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-thigh.R/B-shin.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-thigh.R/B-shin.R/B-foot.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-hips/B-thigh.R/B-shin.R/B-foot.R/B-toe.R
|
||||||
|
weight: 1
|
||||||
|
- path: Rig/B-root/B-spineProxy
|
||||||
|
weight: 1
|
||||||
|
maskType: 1
|
||||||
|
maskSource: {fileID: 31900000, guid: 89527f5525238ee44b3182458d85143a, type: 2}
|
||||||
|
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: 1
|
||||||
|
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:
|
||||||
|
- name: HumanM@Attack1H01_L(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: Rig
|
||||||
|
parentName: HumanM@Attack1H01_L(Clone)
|
||||||
|
position: {x: -0, y: 0, z: 0}
|
||||||
|
rotation: {x: 0, y: -0, z: -0, w: 1}
|
||||||
|
scale: {x: 1, y: 1, z: 1}
|
||||||
|
- name: B-root
|
||||||
|
parentName: Rig
|
||||||
|
position: {x: -0, y: 0, z: 0}
|
||||||
|
rotation: {x: 0, y: -0, z: -0, w: 1}
|
||||||
|
scale: {x: 1, y: 1, z: 1}
|
||||||
|
- name: B-hips
|
||||||
|
parentName: B-root
|
||||||
|
position: {x: -0.00083699997, y: 0.8965806, z: 0.023218}
|
||||||
|
rotation: {x: -0.044953372, y: -0.02007761, z: -0.04432125, w: 0.99780345}
|
||||||
|
scale: {x: 1, y: 1, z: 1}
|
||||||
|
- name: B-spine
|
||||||
|
parentName: B-hips
|
||||||
|
position: {x: -0.00000038418608, y: 0.08378134, z: -0.0000001254813}
|
||||||
|
rotation: {x: 0.07952783, y: -0.061675698, z: 0.0708069, w: 0.99240005}
|
||||||
|
scale: {x: 1, y: 1, z: 1}
|
||||||
|
- name: B-chest
|
||||||
|
parentName: B-spine
|
||||||
|
position: {x: 0.00000085362007, y: 0.2003291, z: -0.0000003672516}
|
||||||
|
rotation: {x: 0.068947345, y: -0.003977178, z: -0.05095408, w: 0.9963103}
|
||||||
|
scale: {x: 1, y: 0.9999997, z: 0.9999997}
|
||||||
|
- name: B-shoulder.R
|
||||||
|
parentName: B-chest
|
||||||
|
position: {x: -0.00000010573589, y: 0.1911564, z: -0.005314272}
|
||||||
|
rotation: {x: -0.5051556, y: -0.2426669, z: -0.5689022, w: 0.6018977}
|
||||||
|
scale: {x: 1.0000002, y: 1, z: 1.0000002}
|
||||||
|
- name: B-upperArm.R
|
||||||
|
parentName: B-shoulder.R
|
||||||
|
position: {x: 0.00000003577203, y: 0.2015759, z: -0.0000004680681}
|
||||||
|
rotation: {x: 0.103834815, y: 0.53432846, z: 0.0193506, w: 0.8386519}
|
||||||
|
scale: {x: 1.0000005, y: 0.9999997, z: 1}
|
||||||
|
- name: B-forearm.R
|
||||||
|
parentName: B-upperArm.R
|
||||||
|
position: {x: 0.00000029779372, y: 0.2341377, z: -0.00000010364547}
|
||||||
|
rotation: {x: 0.017562887, y: -0.007080703, z: 0.0138788875, w: 0.9997244}
|
||||||
|
scale: {x: 0.9999992, y: 1.0000004, z: 0.9999994}
|
||||||
|
- name: B-hand.R
|
||||||
|
parentName: B-forearm.R
|
||||||
|
position: {x: -0.00000026537117, y: 0.19596447, z: 0.0000000011376525}
|
||||||
|
rotation: {x: -0.0015101233, y: 0.6089517, z: 0.01459254, w: 0.7930716}
|
||||||
|
scale: {x: 1.0000001, y: 0.99999934, z: 1.0000007}
|
||||||
|
- name: B-indexFinger01.R
|
||||||
|
parentName: B-hand.R
|
||||||
|
position: {x: -0.039847255, y: 0.14592145, z: -0.0024733872}
|
||||||
|
rotation: {x: 0.021290986, y: -0.018421646, z: 0.03624673, w: 0.9989462}
|
||||||
|
scale: {x: 1.0000004, y: 1, z: 0.9999994}
|
||||||
|
- name: B-indexFinger02.R
|
||||||
|
parentName: B-indexFinger01.R
|
||||||
|
position: {x: -0.00000016483804, y: 0.051680062, z: -0.0000004189711}
|
||||||
|
rotation: {x: 0.012073109, y: 0.027056692, z: -0.00039820472, w: 0.99956095}
|
||||||
|
scale: {x: 1.0000001, y: 1.0000002, z: 1.0000002}
|
||||||
|
- name: B-indexFinger03.R
|
||||||
|
parentName: B-indexFinger02.R
|
||||||
|
position: {x: -0.00000065176897, y: 0.038299132, z: 0.00000025667788}
|
||||||
|
rotation: {x: 0.5395017, y: -0.0025743968, z: -0.011348144, w: 0.8419041}
|
||||||
|
scale: {x: 0.99999994, y: 1.0000002, z: 0.99999994}
|
||||||
|
- name: B-middleFinger01.R
|
||||||
|
parentName: B-hand.R
|
||||||
|
position: {x: -0.010262938, y: 0.14571612, z: -0.0098788645}
|
||||||
|
rotation: {x: 0.023539834, y: -0.02626985, z: 0.03313153, w: 0.9988284}
|
||||||
|
scale: {x: 1.0000007, y: 0.9999999, z: 1.0000002}
|
||||||
|
- name: B-middleFinger02.R
|
||||||
|
parentName: B-middleFinger01.R
|
||||||
|
position: {x: -0.0000005974616, y: 0.05384352, z: -0.0000003771701}
|
||||||
|
rotation: {x: 0.011056468, y: 0.053538248, z: -0.0003280394, w: 0.9985046}
|
||||||
|
scale: {x: 0.99999964, y: 1.0000004, z: 1.0000001}
|
||||||
|
- name: B-middleFinger03.R
|
||||||
|
parentName: B-middleFinger02.R
|
||||||
|
position: {x: -0.00000031228402, y: 0.03966582, z: 0.00000078060464}
|
||||||
|
rotation: {x: 0.54409623, y: -0.021281641, z: 0.006141441, w: 0.8387304}
|
||||||
|
scale: {x: 0.99999964, y: 1.0000004, z: 0.9999995}
|
||||||
|
- name: B-ringFinger01.R
|
||||||
|
parentName: B-hand.R
|
||||||
|
position: {x: 0.017707428, y: 0.14186867, z: -0.0063086674}
|
||||||
|
rotation: {x: 0.024646945, y: -0.04151547, z: 0.030203475, w: 0.9983771}
|
||||||
|
scale: {x: 1.0000005, y: 1.0000002, z: 0.99999964}
|
||||||
|
- name: B-ringFinger02.R
|
||||||
|
parentName: B-ringFinger01.R
|
||||||
|
position: {x: -0.000000542884, y: 0.04994895, z: 0.00000035361504}
|
||||||
|
rotation: {x: 0.0107872905, y: 0.013776022, z: 0.00036796022, w: 0.9998469}
|
||||||
|
scale: {x: 0.9999996, y: 1, z: 1.0000001}
|
||||||
|
- name: B-ringFinger03.R
|
||||||
|
parentName: B-ringFinger02.R
|
||||||
|
position: {x: 0.00000043444734, y: 0.038347248, z: -0.000000056919788}
|
||||||
|
rotation: {x: 0.570882, y: -0.04259287, z: 0.009378246, w: 0.8198729}
|
||||||
|
scale: {x: 1.0000002, y: 1.0000004, z: 1.0000002}
|
||||||
|
- name: B-pinky01.R
|
||||||
|
parentName: B-hand.R
|
||||||
|
position: {x: 0.04595776, y: 0.13234657, z: -0.0026849052}
|
||||||
|
rotation: {x: 0.026267217, y: -0.06912257, z: 0.030348647, w: 0.9968005}
|
||||||
|
scale: {x: 1.0000002, y: 1.0000005, z: 1.0000002}
|
||||||
|
- name: B-pinky02.R
|
||||||
|
parentName: B-pinky01.R
|
||||||
|
position: {x: -0.000000007593004, y: 0.042360805, z: -0.00000061702394}
|
||||||
|
rotation: {x: 0.011975261, y: 0.02256257, z: 0.00016762683, w: 0.99967366}
|
||||||
|
scale: {x: 1.0000002, y: 0.99999964, z: 0.9999993}
|
||||||
|
- name: B-pinky03.R
|
||||||
|
parentName: B-pinky02.R
|
||||||
|
position: {x: 0.000000490262, y: 0.03559031, z: 0.000000525607}
|
||||||
|
rotation: {x: 0.5526941, y: -0.013525999, z: 0.01944641, w: 0.8330475}
|
||||||
|
scale: {x: 0.9999995, y: 0.9999999, z: 0.99999976}
|
||||||
|
- name: B-thumb01.R
|
||||||
|
parentName: B-hand.R
|
||||||
|
position: {x: -0.043999806, y: 0.05360066, z: 0.014425339}
|
||||||
|
rotation: {x: -0.16974564, y: 0.5267521, z: 0.37323916, w: 0.744588}
|
||||||
|
scale: {x: 0.9999995, y: 1.0000002, z: 1.0000005}
|
||||||
|
- name: B-thumb02.R
|
||||||
|
parentName: B-thumb01.R
|
||||||
|
position: {x: -0.00000024829808, y: 0.052145515, z: 0.0000002662714}
|
||||||
|
rotation: {x: 0.028767044, y: 0.011341477, z: -0.001111775, w: 0.9995212}
|
||||||
|
scale: {x: 1.0000006, y: 0.99999946, z: 1.0000002}
|
||||||
|
- name: B-thumb03.R
|
||||||
|
parentName: B-thumb02.R
|
||||||
|
position: {x: 0.00000023047775, y: 0.038913652, z: 0.00000013830525}
|
||||||
|
rotation: {x: 0.19096673, y: 0.015796091, z: 0.0035950136, w: 0.98146284}
|
||||||
|
scale: {x: 0.9999998, y: 1.0000007, z: 0.9999995}
|
||||||
|
- name: B-handProp.R
|
||||||
|
parentName: B-hand.R
|
||||||
|
position: {x: 0.0036509219, y: 0.1164577, z: 0.02523654}
|
||||||
|
rotation: {x: -0.0136685325, y: 0.012546305, z: 0.67608315, w: 0.73659176}
|
||||||
|
scale: {x: 1.0000006, y: 1.0000005, z: 0.9999996}
|
||||||
|
- name: B-neck
|
||||||
|
parentName: B-chest
|
||||||
|
position: {x: -0.0000002985938, y: 0.2707323, z: 0.0000005006723}
|
||||||
|
rotation: {x: 0.093086205, y: -0.26514617, z: 0.1415606, w: 0.9492066}
|
||||||
|
scale: {x: 1, y: 1.0000005, z: 1.0000005}
|
||||||
|
- name: B-head
|
||||||
|
parentName: B-neck
|
||||||
|
position: {x: -0.0000005028943, y: 0.07409673, z: -0.00000002937186}
|
||||||
|
rotation: {x: -0.23326245, y: 0.045576554, z: -0.00031345605, w: 0.9713451}
|
||||||
|
scale: {x: 1, y: 0.99999976, z: 0.99999976}
|
||||||
|
- name: B-jaw
|
||||||
|
parentName: B-head
|
||||||
|
position: {x: -0, y: 0, z: 0}
|
||||||
|
rotation: {x: 0.7071114, y: 0.0000047574113, z: 0.0000052294236, w: 0.7071022}
|
||||||
|
scale: {x: 1, y: 1, z: 1}
|
||||||
|
- name: B-shoulder.L
|
||||||
|
parentName: B-chest
|
||||||
|
position: {x: -0.00000010573589, y: 0.1911564, z: -0.005314272}
|
||||||
|
rotation: {x: -0.41339293, y: 0.43990132, z: 0.56977326, w: 0.55763036}
|
||||||
|
scale: {x: 1.0000002, y: 1, z: 1.0000002}
|
||||||
|
- name: B-upperArm.L
|
||||||
|
parentName: B-shoulder.L
|
||||||
|
position: {x: 0.000000097092986, y: 0.2015772, z: -0.0000010100549}
|
||||||
|
rotation: {x: 0.019548057, y: -0.504983, z: 0.06607356, w: 0.86037457}
|
||||||
|
scale: {x: 1.0000004, y: 0.9999997, z: 1}
|
||||||
|
- name: B-forearm.L
|
||||||
|
parentName: B-upperArm.L
|
||||||
|
position: {x: -0.00000008594093, y: 0.2341381, z: -0.0000020371474}
|
||||||
|
rotation: {x: 0.025677275, y: 0.0098736845, z: -0.022052899, w: 0.9993783}
|
||||||
|
scale: {x: 0.9999994, y: 1.0000005, z: 0.9999996}
|
||||||
|
- name: B-hand.L
|
||||||
|
parentName: B-forearm.L
|
||||||
|
position: {x: -0.00000014965507, y: 0.19596392, z: -0.000002056581}
|
||||||
|
rotation: {x: 0.05398119, y: -0.5617904, z: 0.11390613, w: 0.8176204}
|
||||||
|
scale: {x: 0.99999994, y: 1.0000002, z: 1.0000007}
|
||||||
|
- name: B-indexFinger01.L
|
||||||
|
parentName: B-hand.L
|
||||||
|
position: {x: 0.039847255, y: 0.14592129, z: -0.0024733818}
|
||||||
|
rotation: {x: 0.021290867, y: 0.018420178, z: -0.036246993, w: 0.9989462}
|
||||||
|
scale: {x: 1.0000005, y: 0.9999999, z: 1.0000001}
|
||||||
|
- name: B-indexFinger02.L
|
||||||
|
parentName: B-indexFinger01.L
|
||||||
|
position: {x: 0.000000121531, y: 0.05168002, z: -0.0000003132513}
|
||||||
|
rotation: {x: 0.012072692, y: -0.027056938, z: 0.0003978261, w: 0.99956095}
|
||||||
|
scale: {x: 1.0000001, y: 1.0000004, z: 0.9999996}
|
||||||
|
- name: B-indexFinger03.L
|
||||||
|
parentName: B-indexFinger02.L
|
||||||
|
position: {x: 0.0000006657549, y: 0.038299095, z: 0.00000026302325}
|
||||||
|
rotation: {x: 0.5395013, y: 0.0025739223, z: 0.011348291, w: 0.84190434}
|
||||||
|
scale: {x: 0.99999994, y: 0.9999993, z: 1}
|
||||||
|
- name: B-middleFinger01.L
|
||||||
|
parentName: B-hand.L
|
||||||
|
position: {x: 0.010262938, y: 0.14571597, z: -0.009878859}
|
||||||
|
rotation: {x: 0.023541197, y: 0.026268616, z: -0.033131883, w: 0.99882835}
|
||||||
|
scale: {x: 1.0000007, y: 0.9999998, z: 1.0000001}
|
||||||
|
- name: B-middleFinger02.L
|
||||||
|
parentName: B-middleFinger01.L
|
||||||
|
position: {x: 0.00000059895365, y: 0.05384347, z: -0.00000026802326}
|
||||||
|
rotation: {x: 0.011071659, y: -0.053537022, z: 0.00032983374, w: 0.9985045}
|
||||||
|
scale: {x: 0.9999998, y: 0.9999999, z: 0.99999976}
|
||||||
|
- name: B-middleFinger03.L
|
||||||
|
parentName: B-middleFinger02.L
|
||||||
|
position: {x: 0.00000024472794, y: 0.039665613, z: -0.00000007511139}
|
||||||
|
rotation: {x: 0.544096, y: 0.021281306, z: -0.0061413436, w: 0.8387306}
|
||||||
|
scale: {x: 0.9999996, y: 1.0000002, z: 1.0000002}
|
||||||
|
- name: B-ringFinger01.L
|
||||||
|
parentName: B-hand.L
|
||||||
|
position: {x: -0.017707428, y: 0.14186852, z: -0.0063086627}
|
||||||
|
rotation: {x: 0.024655104, y: 0.041513335, z: -0.030203747, w: 0.99837697}
|
||||||
|
scale: {x: 1.0000005, y: 1.0000002, z: 0.9999996}
|
||||||
|
- name: B-ringFinger02.L
|
||||||
|
parentName: B-ringFinger01.L
|
||||||
|
position: {x: 0.000000539424, y: 0.04994888, z: -0.00000054509644}
|
||||||
|
rotation: {x: 0.010776004, y: -0.01377588, z: -0.00036849992, w: 0.999847}
|
||||||
|
scale: {x: 0.9999995, y: 0.99999964, z: 1.0000007}
|
||||||
|
- name: B-ringFinger03.L
|
||||||
|
parentName: B-ringFinger02.L
|
||||||
|
position: {x: -0.00000042212133, y: 0.038347226, z: 0.00000006269704}
|
||||||
|
rotation: {x: 0.570882, y: 0.042593215, z: -0.009378437, w: 0.8198729}
|
||||||
|
scale: {x: 1, y: 1, z: 1}
|
||||||
|
- name: B-pinky01.L
|
||||||
|
parentName: B-hand.L
|
||||||
|
position: {x: -0.04595776, y: 0.1323464, z: -0.0026858994}
|
||||||
|
rotation: {x: 0.02625449, y: 0.06912375, z: -0.030347873, w: 0.99680066}
|
||||||
|
scale: {x: 1.0000001, y: 0.9999994, z: 1.0000001}
|
||||||
|
- name: B-pinky02.L
|
||||||
|
parentName: B-pinky01.L
|
||||||
|
position: {x: -4.7400034e-10, y: 0.042361826, z: 0.00000049031206}
|
||||||
|
rotation: {x: 0.012002333, y: -0.022562345, z: -0.00016665435, w: 0.9996734}
|
||||||
|
scale: {x: 1.0000002, y: 1.0000007, z: 0.9999994}
|
||||||
|
- name: B-pinky03.L
|
||||||
|
parentName: B-pinky02.L
|
||||||
|
position: {x: -0.000000503181, y: 0.03559012, z: -0.0000004567936}
|
||||||
|
rotation: {x: 0.5526937, y: 0.013525954, z: -0.019446451, w: 0.83304775}
|
||||||
|
scale: {x: 1.0000005, y: 0.9999999, z: 1.0000007}
|
||||||
|
- name: B-thumb01.L
|
||||||
|
parentName: B-hand.L
|
||||||
|
position: {x: 0.043999806, y: 0.05360061, z: 0.014425342}
|
||||||
|
rotation: {x: -0.057234317, y: -0.567982, z: -0.416403, w: 0.70762235}
|
||||||
|
scale: {x: 1.0000002, y: 0.9999996, z: 1.0000001}
|
||||||
|
- name: B-thumb02.L
|
||||||
|
parentName: B-thumb01.L
|
||||||
|
position: {x: 0.00000040659947, y: 0.052145515, z: 0.000000065670875}
|
||||||
|
rotation: {x: 0.028755093, y: -0.011342698, z: 0.0011017129, w: 0.9995216}
|
||||||
|
scale: {x: 0.9999997, y: 1.0000002, z: 1.0000004}
|
||||||
|
- name: B-thumb03.L
|
||||||
|
parentName: B-thumb02.L
|
||||||
|
position: {x: -0.0000005391776, y: 0.038914427, z: 0.0000006627957}
|
||||||
|
rotation: {x: 0.19096707, y: -0.01579638, z: -0.0035946076, w: 0.9814628}
|
||||||
|
scale: {x: 0.9999997, y: 1.0000001, z: 0.99999946}
|
||||||
|
- name: B-handProp.L
|
||||||
|
parentName: B-hand.L
|
||||||
|
position: {x: -0.0036504408, y: 0.11645629, z: 0.025236148}
|
||||||
|
rotation: {x: -0.013668934, y: -0.012546174, z: -0.6760832, w: 0.7365917}
|
||||||
|
scale: {x: 0.9999996, y: 1.0000005, z: 0.9999996}
|
||||||
|
- name: B-thigh.L
|
||||||
|
parentName: B-hips
|
||||||
|
position: {x: -0.08695093, y: -0.05449924, z: 0.0009353434}
|
||||||
|
rotation: {x: 0.9246362, y: -0.053312525, z: 0.37443578, w: 0.044760346}
|
||||||
|
scale: {x: 1, y: 1, z: 1.0000015}
|
||||||
|
- name: B-shin.L
|
||||||
|
parentName: B-thigh.L
|
||||||
|
position: {x: 0.000000291668, y: 0.41223192, z: -0.0000007366876}
|
||||||
|
rotation: {x: 0.30847895, y: -0.029738309, z: -0.0029087812, w: 0.9507618}
|
||||||
|
scale: {x: 1.0000008, y: 0.9999997, z: 0.9999997}
|
||||||
|
- name: B-foot.L
|
||||||
|
parentName: B-shin.L
|
||||||
|
position: {x: 0.000000012107979, y: 0.38807765, z: 0.0000007308742}
|
||||||
|
rotation: {x: -0.68078923, y: -0.13140081, z: -0.13417457, w: 0.7079951}
|
||||||
|
scale: {x: 1.0000001, y: 1.0000004, z: 1.0000004}
|
||||||
|
- name: B-toe.L
|
||||||
|
parentName: B-foot.L
|
||||||
|
position: {x: -0.0000002134788, y: 0.1774447, z: 0.00000081949463}
|
||||||
|
rotation: {x: -0.00000012303444, y: 0.957763, z: -0.28755867, w: -0.0000004097871}
|
||||||
|
scale: {x: 1, y: 0.99999994, z: 0.9999993}
|
||||||
|
- name: B-thigh.R
|
||||||
|
parentName: B-hips
|
||||||
|
position: {x: 0.08695139, y: -0.05449913, z: 0.00093444344}
|
||||||
|
rotation: {x: 0.9855103, y: 0.16888827, z: -0.009696808, w: 0.012338936}
|
||||||
|
scale: {x: 0.9999942, y: 1.0000001, z: 0.99998736}
|
||||||
|
- name: B-shin.R
|
||||||
|
parentName: B-thigh.R
|
||||||
|
position: {x: 0.0000012584915, y: 0.41223097, z: 0.0000012415915}
|
||||||
|
rotation: {x: 0.28806838, y: 0.0076203495, z: 0.04920969, w: 0.9563143}
|
||||||
|
scale: {x: 0.9999999, y: 1.0000007, z: 1}
|
||||||
|
- name: B-foot.R
|
||||||
|
parentName: B-shin.R
|
||||||
|
position: {x: -0.00000058465486, y: 0.38807717, z: -0.0000006054801}
|
||||||
|
rotation: {x: -0.7337884, y: 0.08217282, z: 0.098163, w: 0.6672079}
|
||||||
|
scale: {x: 1.0000008, y: 0.9999992, z: 0.99999994}
|
||||||
|
- name: B-toe.R
|
||||||
|
parentName: B-foot.R
|
||||||
|
position: {x: 0.00000028147048, y: 0.17744899, z: -0.0000000057287757}
|
||||||
|
rotation: {x: 0.00000014886098, y: 0.9577633, z: -0.28755778, w: 0.0000004958085}
|
||||||
|
scale: {x: 1, y: 0.9999949, z: 1.0000048}
|
||||||
|
- name: B-spineProxy
|
||||||
|
parentName: B-root
|
||||||
|
position: {x: 0.009365, y: 0.90589994, z: 0.026651}
|
||||||
|
rotation: {x: 0.13226873, y: 0.24121958, z: -0.011016067, w: 0.9613516}
|
||||||
|
scale: {x: 1, y: 1, z: 1}
|
||||||
|
armTwist: 0.5
|
||||||
|
foreArmTwist: 0.5
|
||||||
|
upperLegTwist: 0.5
|
||||||
|
legTwist: 0.5
|
||||||
|
armStretch: 0.05
|
||||||
|
legStretch: 0.05
|
||||||
|
feetSpacing: 0
|
||||||
|
globalScale: 1
|
||||||
|
rootMotionBoneName:
|
||||||
|
hasTranslationDoF: 0
|
||||||
|
hasExtraRoot: 1
|
||||||
|
skeletonHasParents: 1
|
||||||
|
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||||
|
autoGenerateAvatarMappingIfUnspecified: 1
|
||||||
|
animationType: 2
|
||||||
|
humanoidOversampling: 1
|
||||||
|
avatarSetup: 1
|
||||||
|
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||||
|
importBlendShapeDeformPercent: 1
|
||||||
|
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||||
|
additionalBone: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -26,6 +26,32 @@ AnimatorState:
|
||||||
m_MirrorParameter:
|
m_MirrorParameter:
|
||||||
m_CycleOffsetParameter:
|
m_CycleOffsetParameter:
|
||||||
m_TimeParameter:
|
m_TimeParameter:
|
||||||
|
--- !u!1102 &-6007387887935768991
|
||||||
|
AnimatorState:
|
||||||
|
serializedVersion: 6
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: ghoul_attack
|
||||||
|
m_Speed: 1
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_Transitions: []
|
||||||
|
m_StateMachineBehaviours: []
|
||||||
|
m_Position: {x: 50, y: 50, z: 0}
|
||||||
|
m_IKOnFeet: 0
|
||||||
|
m_WriteDefaultValues: 1
|
||||||
|
m_Mirror: 0
|
||||||
|
m_SpeedParameterActive: 0
|
||||||
|
m_MirrorParameterActive: 0
|
||||||
|
m_CycleOffsetParameterActive: 0
|
||||||
|
m_TimeParameterActive: 0
|
||||||
|
m_Motion: {fileID: 7400000, guid: ea2b7b1447852468d8fe575ce8eca7fd, type: 2}
|
||||||
|
m_Tag:
|
||||||
|
m_SpeedParameter:
|
||||||
|
m_MirrorParameter:
|
||||||
|
m_CycleOffsetParameter:
|
||||||
|
m_TimeParameter:
|
||||||
--- !u!1102 &-4942273955469260354
|
--- !u!1102 &-4942273955469260354
|
||||||
AnimatorState:
|
AnimatorState:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
|
|
@ -52,32 +78,6 @@ AnimatorState:
|
||||||
m_MirrorParameter:
|
m_MirrorParameter:
|
||||||
m_CycleOffsetParameter:
|
m_CycleOffsetParameter:
|
||||||
m_TimeParameter:
|
m_TimeParameter:
|
||||||
--- !u!1102 &-2591084073835577238
|
|
||||||
AnimatorState:
|
|
||||||
serializedVersion: 6
|
|
||||||
m_ObjectHideFlags: 1
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: ghoul_attack
|
|
||||||
m_Speed: 1
|
|
||||||
m_CycleOffset: 0
|
|
||||||
m_Transitions: []
|
|
||||||
m_StateMachineBehaviours: []
|
|
||||||
m_Position: {x: 50, y: 50, z: 0}
|
|
||||||
m_IKOnFeet: 0
|
|
||||||
m_WriteDefaultValues: 1
|
|
||||||
m_Mirror: 0
|
|
||||||
m_SpeedParameterActive: 0
|
|
||||||
m_MirrorParameterActive: 0
|
|
||||||
m_CycleOffsetParameterActive: 0
|
|
||||||
m_TimeParameterActive: 0
|
|
||||||
m_Motion: {fileID: 7400000, guid: ea2b7b1447852468d8fe575ce8eca7fd, type: 2}
|
|
||||||
m_Tag:
|
|
||||||
m_SpeedParameter:
|
|
||||||
m_MirrorParameter:
|
|
||||||
m_CycleOffsetParameter:
|
|
||||||
m_TimeParameter:
|
|
||||||
--- !u!1109 &-1841353923706876430
|
--- !u!1109 &-1841353923706876430
|
||||||
AnimatorTransition:
|
AnimatorTransition:
|
||||||
m_ObjectHideFlags: 1
|
m_ObjectHideFlags: 1
|
||||||
|
|
@ -241,8 +241,8 @@ AnimatorStateMachine:
|
||||||
m_State: {fileID: -4942273955469260354}
|
m_State: {fileID: -4942273955469260354}
|
||||||
m_Position: {x: 400, y: 460, z: 0}
|
m_Position: {x: 400, y: 460, z: 0}
|
||||||
- serializedVersion: 1
|
- serializedVersion: 1
|
||||||
m_State: {fileID: -2591084073835577238}
|
m_State: {fileID: -6007387887935768991}
|
||||||
m_Position: {x: 480, y: 270, z: 0}
|
m_Position: {x: 520, y: 290, z: 0}
|
||||||
m_ChildStateMachines: []
|
m_ChildStateMachines: []
|
||||||
m_AnyStateTransitions: []
|
m_AnyStateTransitions: []
|
||||||
m_EntryTransitions:
|
m_EntryTransitions:
|
||||||
|
|
|
||||||
|
|
@ -104967,8 +104967,8 @@ AnimationClip:
|
||||||
m_HasGenericRootTransform: 0
|
m_HasGenericRootTransform: 0
|
||||||
m_HasMotionFloatCurves: 0
|
m_HasMotionFloatCurves: 0
|
||||||
m_Events:
|
m_Events:
|
||||||
- time: 0.43333334
|
- time: 0.4
|
||||||
functionName: OnAttackHit
|
functionName: OnAttackStart
|
||||||
data: OnAttackHit
|
data: OnAttackHit
|
||||||
objectReferenceParameter: {fileID: 11500000, guid: 8c775790f7852314c8d6527ffe977e03, type: 3}
|
objectReferenceParameter: {fileID: 11500000, guid: 8c775790f7852314c8d6527ffe977e03, type: 3}
|
||||||
floatParameter: 0
|
floatParameter: 0
|
||||||
|
|
|
||||||
|
|
@ -1,179 +1,521 @@
|
||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 3aac88110c0304ed78cea6d9d308117d
|
guid: 3aac88110c0304ed78cea6d9d308117d
|
||||||
ModelImporter:
|
ModelImporter:
|
||||||
serializedVersion: 22
|
serializedVersion: 22200
|
||||||
fileIDToRecycleName:
|
internalIDToNameTable:
|
||||||
100000: back_cloth_1
|
- first:
|
||||||
100002: back_cloth_2
|
1: 100000
|
||||||
100004: back_cloth_left_1
|
second: back_cloth_1
|
||||||
100006: back_cloth_left_2
|
- first:
|
||||||
100008: back_cloth_right_1
|
1: 100002
|
||||||
100010: back_cloth_right_2
|
second: back_cloth_2
|
||||||
100012: ball_l
|
- first:
|
||||||
100014: ball_r
|
1: 100004
|
||||||
100016: beard_left_1
|
second: back_cloth_left_1
|
||||||
100018: beard_left_2
|
- first:
|
||||||
100020: beard_right_1
|
1: 100006
|
||||||
100022: beard_right_2
|
second: back_cloth_left_2
|
||||||
100024: calf_l
|
- first:
|
||||||
100026: calf_r
|
1: 100008
|
||||||
100028: chin
|
second: back_cloth_right_1
|
||||||
100030: clavicle_l
|
- first:
|
||||||
100032: clavicle_r
|
1: 100010
|
||||||
100034: ear_left
|
second: back_cloth_right_2
|
||||||
100036: ear_right
|
- first:
|
||||||
100038: eyebrow_left
|
1: 100012
|
||||||
100040: eyebrow_right
|
second: ball_l
|
||||||
100042: foot_l
|
- first:
|
||||||
100044: foot_r
|
1: 100014
|
||||||
100046: front_cloth_1
|
second: ball_r
|
||||||
100048: front_cloth_2
|
- first:
|
||||||
100050: front_cloth_3
|
1: 100016
|
||||||
100052: ghoul
|
second: beard_left_1
|
||||||
100054: //RootNode
|
- first:
|
||||||
100056: ghoul_alpha
|
1: 100018
|
||||||
100058: hair
|
second: beard_left_2
|
||||||
100060: hair_1
|
- first:
|
||||||
100062: hand_l
|
1: 100020
|
||||||
100064: hand_r
|
second: beard_right_1
|
||||||
100066: head
|
- first:
|
||||||
100068: index_01_l
|
1: 100022
|
||||||
100070: index_01_r
|
second: beard_right_2
|
||||||
100072: index_02_l
|
- first:
|
||||||
100074: index_02_r
|
1: 100024
|
||||||
100076: index_03_l
|
second: calf_l
|
||||||
100078: index_03_r
|
- first:
|
||||||
100080: index_04_l
|
1: 100026
|
||||||
100082: index_04_r
|
second: calf_r
|
||||||
100084: jaw
|
- first:
|
||||||
100086: lip
|
1: 100028
|
||||||
100088: lowerarm_l
|
second: chin
|
||||||
100090: lowerarm_r
|
- first:
|
||||||
100092: middle_01_l
|
1: 100030
|
||||||
100094: middle_01_r
|
second: clavicle_l
|
||||||
100096: middle_02_l
|
- first:
|
||||||
100098: middle_02_r
|
1: 100032
|
||||||
100100: middle_03_l
|
second: clavicle_r
|
||||||
100102: middle_03_r
|
- first:
|
||||||
100104: middle_04_l
|
1: 100034
|
||||||
100106: middle_04_r
|
second: ear_left
|
||||||
100108: neck_01
|
- first:
|
||||||
100110: pelvis
|
1: 100036
|
||||||
100112: ring_01_l
|
second: ear_right
|
||||||
100114: ring_01_r
|
- first:
|
||||||
100116: ring_02_l
|
1: 100038
|
||||||
100118: ring_02_r
|
second: eyebrow_left
|
||||||
100120: ring_03_l
|
- first:
|
||||||
100122: ring_03_r
|
1: 100040
|
||||||
100124: ring_04_l
|
second: eyebrow_right
|
||||||
100126: ring_04_r
|
- first:
|
||||||
100128: root
|
1: 100042
|
||||||
100130: spine_01
|
second: foot_l
|
||||||
100132: spine_02
|
- first:
|
||||||
100134: spine_03
|
1: 100044
|
||||||
100136: thigh_l
|
second: foot_r
|
||||||
100138: thigh_r
|
- first:
|
||||||
100140: thumb_01_l
|
1: 100046
|
||||||
100142: thumb_01_r
|
second: front_cloth_1
|
||||||
100144: thumb_02_l
|
- first:
|
||||||
100146: thumb_02_r
|
1: 100048
|
||||||
100148: thumb_03_l
|
second: front_cloth_2
|
||||||
100150: thumb_03_r
|
- first:
|
||||||
100152: upperarm_l
|
1: 100050
|
||||||
100154: upperarm_r
|
second: front_cloth_3
|
||||||
400000: back_cloth_1
|
- first:
|
||||||
400002: back_cloth_2
|
1: 100052
|
||||||
400004: back_cloth_left_1
|
second: ghoul
|
||||||
400006: back_cloth_left_2
|
- first:
|
||||||
400008: back_cloth_right_1
|
1: 100054
|
||||||
400010: back_cloth_right_2
|
second: //RootNode
|
||||||
400012: ball_l
|
- first:
|
||||||
400014: ball_r
|
1: 100056
|
||||||
400016: beard_left_1
|
second: ghoul_alpha
|
||||||
400018: beard_left_2
|
- first:
|
||||||
400020: beard_right_1
|
1: 100058
|
||||||
400022: beard_right_2
|
second: hair
|
||||||
400024: calf_l
|
- first:
|
||||||
400026: calf_r
|
1: 100060
|
||||||
400028: chin
|
second: hair_1
|
||||||
400030: clavicle_l
|
- first:
|
||||||
400032: clavicle_r
|
1: 100062
|
||||||
400034: ear_left
|
second: hand_l
|
||||||
400036: ear_right
|
- first:
|
||||||
400038: eyebrow_left
|
1: 100064
|
||||||
400040: eyebrow_right
|
second: hand_r
|
||||||
400042: foot_l
|
- first:
|
||||||
400044: foot_r
|
1: 100066
|
||||||
400046: front_cloth_1
|
second: head
|
||||||
400048: front_cloth_2
|
- first:
|
||||||
400050: front_cloth_3
|
1: 100068
|
||||||
400052: ghoul
|
second: index_01_l
|
||||||
400054: //RootNode
|
- first:
|
||||||
400056: ghoul_alpha
|
1: 100070
|
||||||
400058: hair
|
second: index_01_r
|
||||||
400060: hair_1
|
- first:
|
||||||
400062: hand_l
|
1: 100072
|
||||||
400064: hand_r
|
second: index_02_l
|
||||||
400066: head
|
- first:
|
||||||
400068: index_01_l
|
1: 100074
|
||||||
400070: index_01_r
|
second: index_02_r
|
||||||
400072: index_02_l
|
- first:
|
||||||
400074: index_02_r
|
1: 100076
|
||||||
400076: index_03_l
|
second: index_03_l
|
||||||
400078: index_03_r
|
- first:
|
||||||
400080: index_04_l
|
1: 100078
|
||||||
400082: index_04_r
|
second: index_03_r
|
||||||
400084: jaw
|
- first:
|
||||||
400086: lip
|
1: 100080
|
||||||
400088: lowerarm_l
|
second: index_04_l
|
||||||
400090: lowerarm_r
|
- first:
|
||||||
400092: middle_01_l
|
1: 100082
|
||||||
400094: middle_01_r
|
second: index_04_r
|
||||||
400096: middle_02_l
|
- first:
|
||||||
400098: middle_02_r
|
1: 100084
|
||||||
400100: middle_03_l
|
second: jaw
|
||||||
400102: middle_03_r
|
- first:
|
||||||
400104: middle_04_l
|
1: 100086
|
||||||
400106: middle_04_r
|
second: lip
|
||||||
400108: neck_01
|
- first:
|
||||||
400110: pelvis
|
1: 100088
|
||||||
400112: ring_01_l
|
second: lowerarm_l
|
||||||
400114: ring_01_r
|
- first:
|
||||||
400116: ring_02_l
|
1: 100090
|
||||||
400118: ring_02_r
|
second: lowerarm_r
|
||||||
400120: ring_03_l
|
- first:
|
||||||
400122: ring_03_r
|
1: 100092
|
||||||
400124: ring_04_l
|
second: middle_01_l
|
||||||
400126: ring_04_r
|
- first:
|
||||||
400128: root
|
1: 100094
|
||||||
400130: spine_01
|
second: middle_01_r
|
||||||
400132: spine_02
|
- first:
|
||||||
400134: spine_03
|
1: 100096
|
||||||
400136: thigh_l
|
second: middle_02_l
|
||||||
400138: thigh_r
|
- first:
|
||||||
400140: thumb_01_l
|
1: 100098
|
||||||
400142: thumb_01_r
|
second: middle_02_r
|
||||||
400144: thumb_02_l
|
- first:
|
||||||
400146: thumb_02_r
|
1: 100100
|
||||||
400148: thumb_03_l
|
second: middle_03_l
|
||||||
400150: thumb_03_r
|
- first:
|
||||||
400152: upperarm_l
|
1: 100102
|
||||||
400154: upperarm_r
|
second: middle_03_r
|
||||||
2100000: ghoul_col
|
- first:
|
||||||
2100002: ghoul_transp
|
1: 100104
|
||||||
4300000: ghoul
|
second: middle_04_l
|
||||||
4300002: ghoul_alpha
|
- first:
|
||||||
7400000: idle
|
1: 100106
|
||||||
7400002: block
|
second: middle_04_r
|
||||||
7400004: gethit
|
- first:
|
||||||
7400006: die
|
1: 100108
|
||||||
7400008: attack
|
second: neck_01
|
||||||
7400010: walk
|
- first:
|
||||||
7400012: run
|
1: 100110
|
||||||
7400014: spawn
|
second: pelvis
|
||||||
9500000: //RootNode
|
- first:
|
||||||
13700000: ghoul
|
1: 100112
|
||||||
13700002: ghoul_alpha
|
second: ring_01_l
|
||||||
|
- first:
|
||||||
|
1: 100114
|
||||||
|
second: ring_01_r
|
||||||
|
- first:
|
||||||
|
1: 100116
|
||||||
|
second: ring_02_l
|
||||||
|
- first:
|
||||||
|
1: 100118
|
||||||
|
second: ring_02_r
|
||||||
|
- first:
|
||||||
|
1: 100120
|
||||||
|
second: ring_03_l
|
||||||
|
- first:
|
||||||
|
1: 100122
|
||||||
|
second: ring_03_r
|
||||||
|
- first:
|
||||||
|
1: 100124
|
||||||
|
second: ring_04_l
|
||||||
|
- first:
|
||||||
|
1: 100126
|
||||||
|
second: ring_04_r
|
||||||
|
- first:
|
||||||
|
1: 100128
|
||||||
|
second: root
|
||||||
|
- first:
|
||||||
|
1: 100130
|
||||||
|
second: spine_01
|
||||||
|
- first:
|
||||||
|
1: 100132
|
||||||
|
second: spine_02
|
||||||
|
- first:
|
||||||
|
1: 100134
|
||||||
|
second: spine_03
|
||||||
|
- first:
|
||||||
|
1: 100136
|
||||||
|
second: thigh_l
|
||||||
|
- first:
|
||||||
|
1: 100138
|
||||||
|
second: thigh_r
|
||||||
|
- first:
|
||||||
|
1: 100140
|
||||||
|
second: thumb_01_l
|
||||||
|
- first:
|
||||||
|
1: 100142
|
||||||
|
second: thumb_01_r
|
||||||
|
- first:
|
||||||
|
1: 100144
|
||||||
|
second: thumb_02_l
|
||||||
|
- first:
|
||||||
|
1: 100146
|
||||||
|
second: thumb_02_r
|
||||||
|
- first:
|
||||||
|
1: 100148
|
||||||
|
second: thumb_03_l
|
||||||
|
- first:
|
||||||
|
1: 100150
|
||||||
|
second: thumb_03_r
|
||||||
|
- first:
|
||||||
|
1: 100152
|
||||||
|
second: upperarm_l
|
||||||
|
- first:
|
||||||
|
1: 100154
|
||||||
|
second: upperarm_r
|
||||||
|
- first:
|
||||||
|
4: 400000
|
||||||
|
second: back_cloth_1
|
||||||
|
- first:
|
||||||
|
4: 400002
|
||||||
|
second: back_cloth_2
|
||||||
|
- first:
|
||||||
|
4: 400004
|
||||||
|
second: back_cloth_left_1
|
||||||
|
- first:
|
||||||
|
4: 400006
|
||||||
|
second: back_cloth_left_2
|
||||||
|
- first:
|
||||||
|
4: 400008
|
||||||
|
second: back_cloth_right_1
|
||||||
|
- first:
|
||||||
|
4: 400010
|
||||||
|
second: back_cloth_right_2
|
||||||
|
- first:
|
||||||
|
4: 400012
|
||||||
|
second: ball_l
|
||||||
|
- first:
|
||||||
|
4: 400014
|
||||||
|
second: ball_r
|
||||||
|
- first:
|
||||||
|
4: 400016
|
||||||
|
second: beard_left_1
|
||||||
|
- first:
|
||||||
|
4: 400018
|
||||||
|
second: beard_left_2
|
||||||
|
- first:
|
||||||
|
4: 400020
|
||||||
|
second: beard_right_1
|
||||||
|
- first:
|
||||||
|
4: 400022
|
||||||
|
second: beard_right_2
|
||||||
|
- first:
|
||||||
|
4: 400024
|
||||||
|
second: calf_l
|
||||||
|
- first:
|
||||||
|
4: 400026
|
||||||
|
second: calf_r
|
||||||
|
- first:
|
||||||
|
4: 400028
|
||||||
|
second: chin
|
||||||
|
- first:
|
||||||
|
4: 400030
|
||||||
|
second: clavicle_l
|
||||||
|
- first:
|
||||||
|
4: 400032
|
||||||
|
second: clavicle_r
|
||||||
|
- first:
|
||||||
|
4: 400034
|
||||||
|
second: ear_left
|
||||||
|
- first:
|
||||||
|
4: 400036
|
||||||
|
second: ear_right
|
||||||
|
- first:
|
||||||
|
4: 400038
|
||||||
|
second: eyebrow_left
|
||||||
|
- first:
|
||||||
|
4: 400040
|
||||||
|
second: eyebrow_right
|
||||||
|
- first:
|
||||||
|
4: 400042
|
||||||
|
second: foot_l
|
||||||
|
- first:
|
||||||
|
4: 400044
|
||||||
|
second: foot_r
|
||||||
|
- first:
|
||||||
|
4: 400046
|
||||||
|
second: front_cloth_1
|
||||||
|
- first:
|
||||||
|
4: 400048
|
||||||
|
second: front_cloth_2
|
||||||
|
- first:
|
||||||
|
4: 400050
|
||||||
|
second: front_cloth_3
|
||||||
|
- first:
|
||||||
|
4: 400052
|
||||||
|
second: ghoul
|
||||||
|
- first:
|
||||||
|
4: 400054
|
||||||
|
second: //RootNode
|
||||||
|
- first:
|
||||||
|
4: 400056
|
||||||
|
second: ghoul_alpha
|
||||||
|
- first:
|
||||||
|
4: 400058
|
||||||
|
second: hair
|
||||||
|
- first:
|
||||||
|
4: 400060
|
||||||
|
second: hair_1
|
||||||
|
- first:
|
||||||
|
4: 400062
|
||||||
|
second: hand_l
|
||||||
|
- first:
|
||||||
|
4: 400064
|
||||||
|
second: hand_r
|
||||||
|
- first:
|
||||||
|
4: 400066
|
||||||
|
second: head
|
||||||
|
- first:
|
||||||
|
4: 400068
|
||||||
|
second: index_01_l
|
||||||
|
- first:
|
||||||
|
4: 400070
|
||||||
|
second: index_01_r
|
||||||
|
- first:
|
||||||
|
4: 400072
|
||||||
|
second: index_02_l
|
||||||
|
- first:
|
||||||
|
4: 400074
|
||||||
|
second: index_02_r
|
||||||
|
- first:
|
||||||
|
4: 400076
|
||||||
|
second: index_03_l
|
||||||
|
- first:
|
||||||
|
4: 400078
|
||||||
|
second: index_03_r
|
||||||
|
- first:
|
||||||
|
4: 400080
|
||||||
|
second: index_04_l
|
||||||
|
- first:
|
||||||
|
4: 400082
|
||||||
|
second: index_04_r
|
||||||
|
- first:
|
||||||
|
4: 400084
|
||||||
|
second: jaw
|
||||||
|
- first:
|
||||||
|
4: 400086
|
||||||
|
second: lip
|
||||||
|
- first:
|
||||||
|
4: 400088
|
||||||
|
second: lowerarm_l
|
||||||
|
- first:
|
||||||
|
4: 400090
|
||||||
|
second: lowerarm_r
|
||||||
|
- first:
|
||||||
|
4: 400092
|
||||||
|
second: middle_01_l
|
||||||
|
- first:
|
||||||
|
4: 400094
|
||||||
|
second: middle_01_r
|
||||||
|
- first:
|
||||||
|
4: 400096
|
||||||
|
second: middle_02_l
|
||||||
|
- first:
|
||||||
|
4: 400098
|
||||||
|
second: middle_02_r
|
||||||
|
- first:
|
||||||
|
4: 400100
|
||||||
|
second: middle_03_l
|
||||||
|
- first:
|
||||||
|
4: 400102
|
||||||
|
second: middle_03_r
|
||||||
|
- first:
|
||||||
|
4: 400104
|
||||||
|
second: middle_04_l
|
||||||
|
- first:
|
||||||
|
4: 400106
|
||||||
|
second: middle_04_r
|
||||||
|
- first:
|
||||||
|
4: 400108
|
||||||
|
second: neck_01
|
||||||
|
- first:
|
||||||
|
4: 400110
|
||||||
|
second: pelvis
|
||||||
|
- first:
|
||||||
|
4: 400112
|
||||||
|
second: ring_01_l
|
||||||
|
- first:
|
||||||
|
4: 400114
|
||||||
|
second: ring_01_r
|
||||||
|
- first:
|
||||||
|
4: 400116
|
||||||
|
second: ring_02_l
|
||||||
|
- first:
|
||||||
|
4: 400118
|
||||||
|
second: ring_02_r
|
||||||
|
- first:
|
||||||
|
4: 400120
|
||||||
|
second: ring_03_l
|
||||||
|
- first:
|
||||||
|
4: 400122
|
||||||
|
second: ring_03_r
|
||||||
|
- first:
|
||||||
|
4: 400124
|
||||||
|
second: ring_04_l
|
||||||
|
- first:
|
||||||
|
4: 400126
|
||||||
|
second: ring_04_r
|
||||||
|
- first:
|
||||||
|
4: 400128
|
||||||
|
second: root
|
||||||
|
- first:
|
||||||
|
4: 400130
|
||||||
|
second: spine_01
|
||||||
|
- first:
|
||||||
|
4: 400132
|
||||||
|
second: spine_02
|
||||||
|
- first:
|
||||||
|
4: 400134
|
||||||
|
second: spine_03
|
||||||
|
- first:
|
||||||
|
4: 400136
|
||||||
|
second: thigh_l
|
||||||
|
- first:
|
||||||
|
4: 400138
|
||||||
|
second: thigh_r
|
||||||
|
- first:
|
||||||
|
4: 400140
|
||||||
|
second: thumb_01_l
|
||||||
|
- first:
|
||||||
|
4: 400142
|
||||||
|
second: thumb_01_r
|
||||||
|
- first:
|
||||||
|
4: 400144
|
||||||
|
second: thumb_02_l
|
||||||
|
- first:
|
||||||
|
4: 400146
|
||||||
|
second: thumb_02_r
|
||||||
|
- first:
|
||||||
|
4: 400148
|
||||||
|
second: thumb_03_l
|
||||||
|
- first:
|
||||||
|
4: 400150
|
||||||
|
second: thumb_03_r
|
||||||
|
- first:
|
||||||
|
4: 400152
|
||||||
|
second: upperarm_l
|
||||||
|
- first:
|
||||||
|
4: 400154
|
||||||
|
second: upperarm_r
|
||||||
|
- first:
|
||||||
|
21: 2100000
|
||||||
|
second: ghoul_col
|
||||||
|
- first:
|
||||||
|
21: 2100002
|
||||||
|
second: ghoul_transp
|
||||||
|
- first:
|
||||||
|
43: 4300000
|
||||||
|
second: ghoul
|
||||||
|
- first:
|
||||||
|
43: 4300002
|
||||||
|
second: ghoul_alpha
|
||||||
|
- first:
|
||||||
|
74: 7400000
|
||||||
|
second: idle
|
||||||
|
- first:
|
||||||
|
74: 7400002
|
||||||
|
second: block
|
||||||
|
- first:
|
||||||
|
74: 7400004
|
||||||
|
second: gethit
|
||||||
|
- first:
|
||||||
|
74: 7400006
|
||||||
|
second: die
|
||||||
|
- first:
|
||||||
|
74: 7400008
|
||||||
|
second: attack
|
||||||
|
- first:
|
||||||
|
74: 7400010
|
||||||
|
second: walk
|
||||||
|
- first:
|
||||||
|
74: 7400012
|
||||||
|
second: run
|
||||||
|
- first:
|
||||||
|
74: 7400014
|
||||||
|
second: spawn
|
||||||
|
- first:
|
||||||
|
95: 9500000
|
||||||
|
second: //RootNode
|
||||||
|
- first:
|
||||||
|
137: 13700000
|
||||||
|
second: ghoul
|
||||||
|
- first:
|
||||||
|
137: 13700002
|
||||||
|
second: ghoul_alpha
|
||||||
externalObjects:
|
externalObjects:
|
||||||
- first:
|
- first:
|
||||||
type: UnityEngine:Material
|
type: UnityEngine:Material
|
||||||
|
|
@ -186,7 +528,7 @@ ModelImporter:
|
||||||
name: ghoul_transp
|
name: ghoul_transp
|
||||||
second: {fileID: 2100000, guid: e02eb956af4e548d8a272b11a85391a4, type: 2}
|
second: {fileID: 2100000, guid: e02eb956af4e548d8a272b11a85391a4, type: 2}
|
||||||
materials:
|
materials:
|
||||||
importMaterials: 1
|
materialImportMode: 1
|
||||||
materialName: 0
|
materialName: 0
|
||||||
materialSearch: 1
|
materialSearch: 1
|
||||||
materialLocation: 1
|
materialLocation: 1
|
||||||
|
|
@ -195,6 +537,7 @@ ModelImporter:
|
||||||
bakeSimulation: 0
|
bakeSimulation: 0
|
||||||
resampleCurves: 1
|
resampleCurves: 1
|
||||||
optimizeGameObjects: 0
|
optimizeGameObjects: 0
|
||||||
|
removeConstantScaleCurves: 0
|
||||||
motionNodeName:
|
motionNodeName:
|
||||||
rigImportErrors:
|
rigImportErrors:
|
||||||
rigImportWarnings:
|
rigImportWarnings:
|
||||||
|
|
@ -203,6 +546,7 @@ ModelImporter:
|
||||||
animationRetargetingWarnings:
|
animationRetargetingWarnings:
|
||||||
animationDoRetargetingWarnings: 0
|
animationDoRetargetingWarnings: 0
|
||||||
importAnimatedCustomProperties: 0
|
importAnimatedCustomProperties: 0
|
||||||
|
importConstraints: 0
|
||||||
animationCompression: 1
|
animationCompression: 1
|
||||||
animationRotationError: 0.5
|
animationRotationError: 0.5
|
||||||
animationPositionError: 0.5
|
animationPositionError: 0.5
|
||||||
|
|
@ -214,6 +558,7 @@ ModelImporter:
|
||||||
- serializedVersion: 16
|
- serializedVersion: 16
|
||||||
name: idle
|
name: idle
|
||||||
takeName: Take 001
|
takeName: Take 001
|
||||||
|
internalID: 0
|
||||||
firstFrame: 81
|
firstFrame: 81
|
||||||
lastFrame: 161
|
lastFrame: 161
|
||||||
wrapMode: 0
|
wrapMode: 0
|
||||||
|
|
@ -242,6 +587,7 @@ ModelImporter:
|
||||||
- serializedVersion: 16
|
- serializedVersion: 16
|
||||||
name: block
|
name: block
|
||||||
takeName: Take 001
|
takeName: Take 001
|
||||||
|
internalID: 0
|
||||||
firstFrame: 260
|
firstFrame: 260
|
||||||
lastFrame: 290
|
lastFrame: 290
|
||||||
wrapMode: 0
|
wrapMode: 0
|
||||||
|
|
@ -270,6 +616,7 @@ ModelImporter:
|
||||||
- serializedVersion: 16
|
- serializedVersion: 16
|
||||||
name: gethit
|
name: gethit
|
||||||
takeName: Take 001
|
takeName: Take 001
|
||||||
|
internalID: 0
|
||||||
firstFrame: 300
|
firstFrame: 300
|
||||||
lastFrame: 320
|
lastFrame: 320
|
||||||
wrapMode: 0
|
wrapMode: 0
|
||||||
|
|
@ -298,6 +645,7 @@ ModelImporter:
|
||||||
- serializedVersion: 16
|
- serializedVersion: 16
|
||||||
name: die
|
name: die
|
||||||
takeName: Take 001
|
takeName: Take 001
|
||||||
|
internalID: 0
|
||||||
firstFrame: 340
|
firstFrame: 340
|
||||||
lastFrame: 375
|
lastFrame: 375
|
||||||
wrapMode: 0
|
wrapMode: 0
|
||||||
|
|
@ -326,6 +674,7 @@ ModelImporter:
|
||||||
- serializedVersion: 16
|
- serializedVersion: 16
|
||||||
name: attack
|
name: attack
|
||||||
takeName: Take 001
|
takeName: Take 001
|
||||||
|
internalID: 0
|
||||||
firstFrame: 380
|
firstFrame: 380
|
||||||
lastFrame: 430
|
lastFrame: 430
|
||||||
wrapMode: 0
|
wrapMode: 0
|
||||||
|
|
@ -354,6 +703,7 @@ ModelImporter:
|
||||||
- serializedVersion: 16
|
- serializedVersion: 16
|
||||||
name: walk
|
name: walk
|
||||||
takeName: Take 001
|
takeName: Take 001
|
||||||
|
internalID: 0
|
||||||
firstFrame: 470
|
firstFrame: 470
|
||||||
lastFrame: 500
|
lastFrame: 500
|
||||||
wrapMode: 0
|
wrapMode: 0
|
||||||
|
|
@ -382,6 +732,7 @@ ModelImporter:
|
||||||
- serializedVersion: 16
|
- serializedVersion: 16
|
||||||
name: run
|
name: run
|
||||||
takeName: Take 001
|
takeName: Take 001
|
||||||
|
internalID: 0
|
||||||
firstFrame: 540
|
firstFrame: 540
|
||||||
lastFrame: 560
|
lastFrame: 560
|
||||||
wrapMode: 0
|
wrapMode: 0
|
||||||
|
|
@ -410,6 +761,7 @@ ModelImporter:
|
||||||
- serializedVersion: 16
|
- serializedVersion: 16
|
||||||
name: spawn
|
name: spawn
|
||||||
takeName: Take 001
|
takeName: Take 001
|
||||||
|
internalID: 0
|
||||||
firstFrame: 600
|
firstFrame: 600
|
||||||
lastFrame: 644
|
lastFrame: 644
|
||||||
wrapMode: 0
|
wrapMode: 0
|
||||||
|
|
@ -441,32 +793,49 @@ ModelImporter:
|
||||||
globalScale: 1
|
globalScale: 1
|
||||||
meshCompression: 0
|
meshCompression: 0
|
||||||
addColliders: 0
|
addColliders: 0
|
||||||
|
useSRGBMaterialColor: 1
|
||||||
|
sortHierarchyByName: 1
|
||||||
|
importPhysicalCameras: 0
|
||||||
importVisibility: 1
|
importVisibility: 1
|
||||||
importBlendShapes: 1
|
importBlendShapes: 1
|
||||||
importCameras: 1
|
importCameras: 1
|
||||||
importLights: 1
|
importLights: 1
|
||||||
|
nodeNameCollisionStrategy: 0
|
||||||
|
fileIdsGeneration: 1
|
||||||
swapUVChannels: 0
|
swapUVChannels: 0
|
||||||
generateSecondaryUV: 0
|
generateSecondaryUV: 0
|
||||||
useFileUnits: 1
|
useFileUnits: 1
|
||||||
optimizeMeshForGPU: 1
|
|
||||||
keepQuads: 0
|
keepQuads: 0
|
||||||
weldVertices: 1
|
weldVertices: 1
|
||||||
|
bakeAxisConversion: 0
|
||||||
preserveHierarchy: 0
|
preserveHierarchy: 0
|
||||||
|
skinWeightsMode: 0
|
||||||
|
maxBonesPerVertex: 4
|
||||||
|
minBoneWeight: 0.001
|
||||||
|
optimizeBones: 1
|
||||||
|
meshOptimizationFlags: -1
|
||||||
indexFormat: 0
|
indexFormat: 0
|
||||||
secondaryUVAngleDistortion: 8
|
secondaryUVAngleDistortion: 8
|
||||||
secondaryUVAreaDistortion: 15.000001
|
secondaryUVAreaDistortion: 15.000001
|
||||||
secondaryUVHardAngle: 88
|
secondaryUVHardAngle: 88
|
||||||
|
secondaryUVMarginMethod: 0
|
||||||
|
secondaryUVMinLightmapResolution: 40
|
||||||
|
secondaryUVMinObjectScale: 1
|
||||||
secondaryUVPackMargin: 4
|
secondaryUVPackMargin: 4
|
||||||
useFileScale: 1
|
useFileScale: 1
|
||||||
|
strictVertexDataChecks: 0
|
||||||
tangentSpace:
|
tangentSpace:
|
||||||
normalSmoothAngle: 60
|
normalSmoothAngle: 60
|
||||||
normalImportMode: 0
|
normalImportMode: 0
|
||||||
tangentImportMode: 3
|
tangentImportMode: 3
|
||||||
normalCalculationMode: 4
|
normalCalculationMode: 4
|
||||||
|
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 1
|
||||||
|
blendShapeNormalImportMode: 1
|
||||||
|
normalSmoothingSource: 0
|
||||||
|
referencedClips: []
|
||||||
importAnimation: 1
|
importAnimation: 1
|
||||||
copyAvatar: 0
|
|
||||||
humanDescription:
|
humanDescription:
|
||||||
serializedVersion: 2
|
serializedVersion: 3
|
||||||
human: []
|
human: []
|
||||||
skeleton: []
|
skeleton: []
|
||||||
armTwist: 0.5
|
armTwist: 0.5
|
||||||
|
|
@ -476,14 +845,19 @@ ModelImporter:
|
||||||
armStretch: 0.05
|
armStretch: 0.05
|
||||||
legStretch: 0.05
|
legStretch: 0.05
|
||||||
feetSpacing: 0
|
feetSpacing: 0
|
||||||
|
globalScale: 1
|
||||||
rootMotionBoneName:
|
rootMotionBoneName:
|
||||||
rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
hasTranslationDoF: 0
|
hasTranslationDoF: 0
|
||||||
hasExtraRoot: 0
|
hasExtraRoot: 0
|
||||||
skeletonHasParents: 1
|
skeletonHasParents: 1
|
||||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||||
|
autoGenerateAvatarMappingIfUnspecified: 1
|
||||||
animationType: 2
|
animationType: 2
|
||||||
humanoidOversampling: 1
|
humanoidOversampling: 1
|
||||||
|
avatarSetup: 1
|
||||||
|
addHumanoidExtraRootOnlyWhenUsingAvatar: 0
|
||||||
|
importBlendShapeDeformPercent: 0
|
||||||
|
remapMaterialsIfMaterialImportModeIsNone: 1
|
||||||
additionalBone: 0
|
additionalBone: 0
|
||||||
userData:
|
userData:
|
||||||
assetBundleName:
|
assetBundleName:
|
||||||
|
|
|
||||||
239
Assets/Scripts/Enemy/AI/ChargeMonster.cs
Normal file
239
Assets/Scripts/Enemy/AI/ChargeMonster.cs
Normal file
|
|
@ -0,0 +1,239 @@
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.AI;
|
||||||
|
using System.Collections;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 돌진 공격 몬스터
|
||||||
|
/// - 플레이어를 향해 빠르게 돌진
|
||||||
|
/// - 부딪히면 데미지
|
||||||
|
/// </summary>
|
||||||
|
public class ChargeMonster : MonsterClass
|
||||||
|
{
|
||||||
|
[Header("=== 돌진 공격 설정 ===")]
|
||||||
|
[SerializeField] private float chargeSpeed = 15f; // 돌진 속도
|
||||||
|
[SerializeField] private float chargeRange = 10f; // 돌진 시작 거리
|
||||||
|
[SerializeField] private float chargeDuration = 2f; // 돌진 지속 시간
|
||||||
|
[SerializeField] private float chargeDelay = 3f; // 돌진 쿨타임
|
||||||
|
[SerializeField] private float prepareTime = 0.5f; // 돌진 준비 시간
|
||||||
|
|
||||||
|
private float lastChargeTime;
|
||||||
|
private bool isCharging = false;
|
||||||
|
private bool isPreparing = false;
|
||||||
|
private Vector3 chargeDirection;
|
||||||
|
|
||||||
|
[Header("공격 / 이동 애니메이션")]
|
||||||
|
[SerializeField] private string chargeAnimation = "Monster_Charge";
|
||||||
|
[SerializeField] private string prepareAnimation = "Monster_ChargePrepare";
|
||||||
|
[SerializeField] private string Monster_Walk = "Monster_Walk";
|
||||||
|
|
||||||
|
[Header("AI 상세 설정")]
|
||||||
|
[SerializeField] private float patrolRadius = 5f;
|
||||||
|
[SerializeField] private float patrolInterval = 2f;
|
||||||
|
|
||||||
|
private float nextPatrolTime;
|
||||||
|
private bool isPlayerInZone;
|
||||||
|
private Rigidbody _rigidbody;
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// 초기화
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
protected override void Awake()
|
||||||
|
{
|
||||||
|
base.Awake();
|
||||||
|
_rigidbody = GetComponent<Rigidbody>();
|
||||||
|
|
||||||
|
if (_rigidbody == null)
|
||||||
|
{
|
||||||
|
_rigidbody = gameObject.AddComponent<Rigidbody>();
|
||||||
|
}
|
||||||
|
|
||||||
|
_rigidbody.isKinematic = true; // NavMeshAgent 사용 시 Kinematic
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Init()
|
||||||
|
{
|
||||||
|
if (agent != null)
|
||||||
|
{
|
||||||
|
agent.stoppingDistance = 1f;
|
||||||
|
}
|
||||||
|
if (animator != null) animator.applyRootMotion = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// AI 로직
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
protected override void ExecuteAILogic()
|
||||||
|
{
|
||||||
|
if (isHit || isCharging || isPreparing) return;
|
||||||
|
|
||||||
|
float distance = Vector3.Distance(transform.position, playerTransform.position);
|
||||||
|
|
||||||
|
if (isPlayerInZone || distance <= chargeRange * 1.5f)
|
||||||
|
{
|
||||||
|
HandleChargeCombat(distance);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Patrol();
|
||||||
|
}
|
||||||
|
|
||||||
|
UpdateMovementAnimation();
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleChargeCombat(float distance)
|
||||||
|
{
|
||||||
|
// 돌진 범위 안이면 돌진 준비
|
||||||
|
if (distance <= chargeRange && Time.time >= lastChargeTime + chargeDelay)
|
||||||
|
{
|
||||||
|
StartCoroutine(PrepareCharge());
|
||||||
|
}
|
||||||
|
// 아니면 추적
|
||||||
|
else if (!isCharging)
|
||||||
|
{
|
||||||
|
if (agent.isOnNavMesh)
|
||||||
|
agent.SetDestination(playerTransform.position);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
IEnumerator PrepareCharge()
|
||||||
|
{
|
||||||
|
isPreparing = true;
|
||||||
|
|
||||||
|
// 이동 멈춤
|
||||||
|
if (agent.isOnNavMesh)
|
||||||
|
{
|
||||||
|
agent.isStopped = true;
|
||||||
|
agent.velocity = Vector3.zero;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 플레이어 방향 저장
|
||||||
|
chargeDirection = (playerTransform.position - transform.position).normalized;
|
||||||
|
chargeDirection.y = 0;
|
||||||
|
|
||||||
|
// 플레이어 바라보기
|
||||||
|
transform.rotation = Quaternion.LookRotation(chargeDirection);
|
||||||
|
|
||||||
|
// 준비 애니메이션
|
||||||
|
if (!string.IsNullOrEmpty(prepareAnimation))
|
||||||
|
{
|
||||||
|
animator.Play(prepareAnimation, 0, 0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
Debug.Log("[ChargeMonster] 돌진 준비 중...");
|
||||||
|
yield return new WaitForSeconds(prepareTime);
|
||||||
|
|
||||||
|
// 돌진 시작!
|
||||||
|
StartCoroutine(Charge());
|
||||||
|
}
|
||||||
|
|
||||||
|
IEnumerator Charge()
|
||||||
|
{
|
||||||
|
isPreparing = false;
|
||||||
|
isCharging = true;
|
||||||
|
lastChargeTime = Time.time;
|
||||||
|
|
||||||
|
// NavMeshAgent 끄기
|
||||||
|
if (agent.isOnNavMesh) agent.enabled = false;
|
||||||
|
|
||||||
|
// Rigidbody Kinematic 끄기
|
||||||
|
if (_rigidbody != null) _rigidbody.isKinematic = false;
|
||||||
|
|
||||||
|
// 돌진 애니메이션
|
||||||
|
animator.Play(chargeAnimation, 0, 0f);
|
||||||
|
|
||||||
|
Debug.Log("[ChargeMonster] 돌진 시작!");
|
||||||
|
|
||||||
|
float chargeStartTime = Time.time;
|
||||||
|
|
||||||
|
while (Time.time < chargeStartTime + chargeDuration)
|
||||||
|
{
|
||||||
|
// 빠르게 앞으로 이동
|
||||||
|
if (_rigidbody != null)
|
||||||
|
{
|
||||||
|
_rigidbody.velocity = chargeDirection * chargeSpeed;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
transform.position += chargeDirection * chargeSpeed * Time.deltaTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
yield return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 돌진 종료
|
||||||
|
if (_rigidbody != null)
|
||||||
|
{
|
||||||
|
_rigidbody.velocity = Vector3.zero;
|
||||||
|
_rigidbody.isKinematic = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// NavMeshAgent 다시 켜기
|
||||||
|
if (agent != null) agent.enabled = true;
|
||||||
|
|
||||||
|
isCharging = false;
|
||||||
|
Debug.Log("[ChargeMonster] 돌진 종료!");
|
||||||
|
}
|
||||||
|
|
||||||
|
void UpdateMovementAnimation()
|
||||||
|
{
|
||||||
|
if (isCharging || isPreparing || isHit || isResting) return;
|
||||||
|
|
||||||
|
if (agent.velocity.magnitude < 0.1f)
|
||||||
|
animator.Play(Monster_Idle);
|
||||||
|
else
|
||||||
|
animator.Play(Monster_Walk);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Patrol()
|
||||||
|
{
|
||||||
|
if (Time.time < nextPatrolTime) return;
|
||||||
|
|
||||||
|
Vector3 randomPoint = transform.position + new Vector3(
|
||||||
|
Random.Range(-patrolRadius, patrolRadius),
|
||||||
|
0,
|
||||||
|
Random.Range(-patrolRadius, patrolRadius)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (NavMesh.SamplePosition(randomPoint, out NavMeshHit hit, 3f, NavMesh.AllAreas))
|
||||||
|
if (agent.isOnNavMesh) agent.SetDestination(hit.position);
|
||||||
|
|
||||||
|
nextPatrolTime = Time.time + patrolInterval;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// 충돌 감지 (돌진 중 플레이어와 충돌)
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
private void OnCollisionEnter(Collision collision)
|
||||||
|
{
|
||||||
|
if (!isCharging) return;
|
||||||
|
|
||||||
|
if (collision.gameObject.CompareTag("Player"))
|
||||||
|
{
|
||||||
|
if (collision.gameObject.TryGetComponent<PlayerHealth>(out var playerHealth))
|
||||||
|
{
|
||||||
|
if (!playerHealth.isInvincible)
|
||||||
|
{
|
||||||
|
playerHealth.TakeDamage(attackDamage);
|
||||||
|
Debug.Log($"[ChargeMonster] 돌진 적중! 데미지: {attackDamage}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// Trigger 감지
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
private void OnTriggerEnter(Collider other)
|
||||||
|
{
|
||||||
|
if (other.CompareTag("Player")) isPlayerInZone = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnTriggerExit(Collider other)
|
||||||
|
{
|
||||||
|
if (other.CompareTag("Player")) isPlayerInZone = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/Enemy/AI/ChargeMonster.cs.meta
Normal file
11
Assets/Scripts/Enemy/AI/ChargeMonster.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 96bb72d8a631bfd43a4cc61ab770a9ee
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
309
Assets/Scripts/Enemy/AI/ExplodeMonster.cs
Normal file
309
Assets/Scripts/Enemy/AI/ExplodeMonster.cs
Normal file
|
|
@ -0,0 +1,309 @@
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.AI;
|
||||||
|
using System.Collections;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 자폭 몬스터
|
||||||
|
/// - 플레이어에게 빠르게 접근
|
||||||
|
/// - 일정 거리 내에 들어오면 폭발
|
||||||
|
/// - 범위 내 모든 대상에게 데미지
|
||||||
|
/// - 자신도 사망
|
||||||
|
/// </summary>
|
||||||
|
public class ExplodeMonster : MonsterClass
|
||||||
|
{
|
||||||
|
[Header("=== 자폭 설정 ===")]
|
||||||
|
[SerializeField] private float explodeRange = 3f; // 폭발 범위
|
||||||
|
[SerializeField] private float triggerRange = 2f; // 폭발 시작 거리
|
||||||
|
[SerializeField] private float fuseTime = 1.5f; // 폭발까지 지연 시간
|
||||||
|
[SerializeField] private float explosionDamage = 50f; // 폭발 데미지 (기본 공격력 무시)
|
||||||
|
[SerializeField] private bool damagesSelf = true; // 자신도 죽는가?
|
||||||
|
|
||||||
|
[Header("폭발 효과")]
|
||||||
|
[SerializeField] private GameObject explosionEffectPrefab; // 폭발 이펙트
|
||||||
|
[SerializeField] private ParticleSystem fuseEffect; // 퓨즈 불꽃 효과
|
||||||
|
[SerializeField] private AudioClip fuseSound; // 치익~ 소리
|
||||||
|
[SerializeField] private AudioClip explosionSound; // 폭발음
|
||||||
|
[SerializeField] private float cameraShakeIntensity = 0.5f; // 화면 흔들림
|
||||||
|
|
||||||
|
[Header("애니메이션")]
|
||||||
|
[SerializeField] private string runAnimation = "Monster_Run"; // 달리기
|
||||||
|
[SerializeField] private string fuseAnimation = "Monster_Fuse"; // 폭발 준비
|
||||||
|
[SerializeField] private string explodeAnimation = "Monster_Explode"; // 폭발
|
||||||
|
|
||||||
|
[Header("AI 설정")]
|
||||||
|
[SerializeField] private float chaseSpeed = 5f; // 추격 속도 (빠르게!)
|
||||||
|
[SerializeField] private float patrolRadius = 5f;
|
||||||
|
[SerializeField] private float patrolInterval = 2f;
|
||||||
|
|
||||||
|
private bool isExploding = false; // 폭발 준비 중
|
||||||
|
private bool hasExploded = false; // 이미 폭발했는가?
|
||||||
|
private float nextPatrolTime;
|
||||||
|
private bool isPlayerInZone;
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// 초기화
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
protected override void Init()
|
||||||
|
{
|
||||||
|
if (agent != null)
|
||||||
|
{
|
||||||
|
agent.speed = chaseSpeed; // 빠르게!
|
||||||
|
agent.stoppingDistance = 0.5f; // 최대한 가까이
|
||||||
|
}
|
||||||
|
if (animator != null) animator.applyRootMotion = false;
|
||||||
|
|
||||||
|
// 퓨즈 이펙트 끄기
|
||||||
|
if (fuseEffect != null) fuseEffect.Stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnResetStats()
|
||||||
|
{
|
||||||
|
isExploding = false;
|
||||||
|
hasExploded = false;
|
||||||
|
if (fuseEffect != null) fuseEffect.Stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// AI 로직
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
protected override void ExecuteAILogic()
|
||||||
|
{
|
||||||
|
if (isHit || isExploding || hasExploded) return;
|
||||||
|
|
||||||
|
float distance = Vector3.Distance(transform.position, playerTransform.position);
|
||||||
|
|
||||||
|
// 플레이어 발견하면 무조건 돌진!
|
||||||
|
if (isPlayerInZone || distance <= 15f)
|
||||||
|
{
|
||||||
|
ChasePlayer(distance);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Patrol();
|
||||||
|
}
|
||||||
|
|
||||||
|
UpdateMovementAnimation();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ChasePlayer(float distance)
|
||||||
|
{
|
||||||
|
// 폭발 범위 안에 들어오면 폭발!
|
||||||
|
if (distance <= triggerRange)
|
||||||
|
{
|
||||||
|
StartCoroutine(Explode());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 플레이어에게 전력 질주!
|
||||||
|
if (agent.isOnNavMesh)
|
||||||
|
{
|
||||||
|
agent.SetDestination(playerTransform.position);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void UpdateMovementAnimation()
|
||||||
|
{
|
||||||
|
if (isExploding || isHit) return;
|
||||||
|
|
||||||
|
// 빠르게 달리는 애니메이션
|
||||||
|
if (agent.velocity.magnitude > 0.1f)
|
||||||
|
{
|
||||||
|
animator.Play(runAnimation);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
animator.Play(Monster_Idle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Patrol()
|
||||||
|
{
|
||||||
|
if (Time.time < nextPatrolTime) return;
|
||||||
|
|
||||||
|
Vector3 randomPoint = transform.position + new Vector3(
|
||||||
|
Random.Range(-patrolRadius, patrolRadius),
|
||||||
|
0,
|
||||||
|
Random.Range(-patrolRadius, patrolRadius)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (NavMesh.SamplePosition(randomPoint, out NavMeshHit hit, 3f, NavMesh.AllAreas))
|
||||||
|
if (agent.isOnNavMesh) agent.SetDestination(hit.position);
|
||||||
|
|
||||||
|
nextPatrolTime = Time.time + patrolInterval;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// 💣 폭발 코루틴
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
IEnumerator Explode()
|
||||||
|
{
|
||||||
|
if (hasExploded) yield break;
|
||||||
|
|
||||||
|
isExploding = true;
|
||||||
|
hasExploded = true;
|
||||||
|
|
||||||
|
// 이동 멈춤
|
||||||
|
if (agent.isOnNavMesh)
|
||||||
|
{
|
||||||
|
agent.isStopped = true;
|
||||||
|
agent.velocity = Vector3.zero;
|
||||||
|
}
|
||||||
|
|
||||||
|
Debug.Log($"[ExplodeMonster] 💣 폭발 카운트다운 시작! ({fuseTime}초)");
|
||||||
|
|
||||||
|
// 폭발 준비 애니메이션
|
||||||
|
if (!string.IsNullOrEmpty(fuseAnimation))
|
||||||
|
{
|
||||||
|
animator.Play(fuseAnimation, 0, 0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 퓨즈 이펙트 시작
|
||||||
|
if (fuseEffect != null)
|
||||||
|
{
|
||||||
|
fuseEffect.Play();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 치익~ 소리
|
||||||
|
if (fuseSound != null && audioSource != null)
|
||||||
|
{
|
||||||
|
audioSource.PlayOneShot(fuseSound);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 대기 (퓨즈 타는 시간)
|
||||||
|
yield return new WaitForSeconds(fuseTime);
|
||||||
|
|
||||||
|
// 💥 폭발!
|
||||||
|
PerformExplosion();
|
||||||
|
}
|
||||||
|
|
||||||
|
void PerformExplosion()
|
||||||
|
{
|
||||||
|
Debug.Log("[ExplodeMonster] 💥💥💥 폭발!!!");
|
||||||
|
|
||||||
|
// 폭발 애니메이션
|
||||||
|
if (!string.IsNullOrEmpty(explodeAnimation))
|
||||||
|
{
|
||||||
|
animator.Play(explodeAnimation, 0, 0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 폭발 이펙트 생성
|
||||||
|
if (explosionEffectPrefab != null)
|
||||||
|
{
|
||||||
|
Instantiate(explosionEffectPrefab, transform.position, Quaternion.identity);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 폭발음
|
||||||
|
if (explosionSound != null)
|
||||||
|
{
|
||||||
|
AudioSource.PlayClipAtPoint(explosionSound, transform.position, 1f);
|
||||||
|
}
|
||||||
|
|
||||||
|
//// 화면 흔들림 (CameraShake가 있다면)
|
||||||
|
//CameraShake cameraShake = Camera.main?.GetComponent<CameraShake>();
|
||||||
|
//if (cameraShake != null)
|
||||||
|
//{
|
||||||
|
// cameraShake.Shake(cameraShakeIntensity, 0.5f);
|
||||||
|
//}
|
||||||
|
|
||||||
|
// 범위 내 모든 대상에게 데미지
|
||||||
|
DamageNearbyTargets();
|
||||||
|
|
||||||
|
// 자신도 사망
|
||||||
|
if (damagesSelf)
|
||||||
|
{
|
||||||
|
Die();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DamageNearbyTargets()
|
||||||
|
{
|
||||||
|
// 폭발 범위 내 모든 Collider 찾기
|
||||||
|
Collider[] hitColliders = Physics.OverlapSphere(transform.position, explodeRange);
|
||||||
|
|
||||||
|
foreach (Collider hit in hitColliders)
|
||||||
|
{
|
||||||
|
// 플레이어인가?
|
||||||
|
if (hit.CompareTag("Player"))
|
||||||
|
{
|
||||||
|
if (hit.TryGetComponent<PlayerHealth>(out var playerHealth))
|
||||||
|
{
|
||||||
|
if (!playerHealth.isInvincible)
|
||||||
|
{
|
||||||
|
playerHealth.TakeDamage(explosionDamage);
|
||||||
|
Debug.Log($"[ExplodeMonster] 💥 플레이어 적중! 데미지: {explosionDamage}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 다른 몬스터도 데미지 받게 하려면 (선택사항)
|
||||||
|
else if (hit.CompareTag("Enemy") && hit.gameObject != gameObject)
|
||||||
|
{
|
||||||
|
if (hit.TryGetComponent<IDamageable>(out var damageable))
|
||||||
|
{
|
||||||
|
damageable.TakeDamage(explosionDamage * 0.5f); // 절반 데미지
|
||||||
|
Debug.Log($"[ExplodeMonster] 💥 다른 몬스터도 피해! {hit.name}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// 피격 시: 즉시 폭발! (선택사항)
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
protected override void OnStartHit()
|
||||||
|
{
|
||||||
|
// 선택사항: 맞으면 바로 폭발하게 하려면 주석 해제
|
||||||
|
// if (!hasExploded && !isExploding)
|
||||||
|
// {
|
||||||
|
// StartCoroutine(Explode());
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// 사망 시: 폭발 효과 정리
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
protected override void OnDie()
|
||||||
|
{
|
||||||
|
if (fuseEffect != null && fuseEffect.isPlaying)
|
||||||
|
{
|
||||||
|
fuseEffect.Stop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// Trigger 감지
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
private void OnTriggerEnter(Collider other)
|
||||||
|
{
|
||||||
|
if (other.CompareTag("Player")) isPlayerInZone = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnTriggerExit(Collider other)
|
||||||
|
{
|
||||||
|
if (other.CompareTag("Player")) isPlayerInZone = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// Gizmos (폭발 범위 시각화)
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
private void OnDrawGizmosSelected()
|
||||||
|
{
|
||||||
|
// 폭발 시작 범위 (빨강)
|
||||||
|
Gizmos.color = Color.red;
|
||||||
|
Gizmos.DrawWireSphere(transform.position, triggerRange);
|
||||||
|
|
||||||
|
// 폭발 데미지 범위 (주황)
|
||||||
|
Gizmos.color = new Color(1f, 0.5f, 0f, 0.3f);
|
||||||
|
Gizmos.DrawSphere(transform.position, explodeRange);
|
||||||
|
|
||||||
|
// 외곽선
|
||||||
|
Gizmos.color = Color.yellow;
|
||||||
|
Gizmos.DrawWireSphere(transform.position, explodeRange);
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/Enemy/AI/ExplodeMonster.cs.meta
Normal file
11
Assets/Scripts/Enemy/AI/ExplodeMonster.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5e12969016fd3304e8824d5244651515
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using UnityEngine;
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
public class MonsterWeapon : MonoBehaviour
|
public class MonsterWeapon : MonoBehaviour
|
||||||
{
|
{
|
||||||
|
|
@ -7,13 +8,14 @@ public class MonsterWeapon : MonoBehaviour
|
||||||
[SerializeField] private float weaponBaseDamage = 10f;
|
[SerializeField] private float weaponBaseDamage = 10f;
|
||||||
|
|
||||||
private float _finalDamage;
|
private float _finalDamage;
|
||||||
private BoxCollider _weaponCollider;
|
[SerializeField] private BoxCollider _weaponCollider;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
_weaponCollider = GetComponent<BoxCollider>();
|
_weaponCollider = GetComponent<BoxCollider>();
|
||||||
_finalDamage = weaponBaseDamage;
|
_finalDamage = weaponBaseDamage;
|
||||||
DisableHitBox();
|
//DisableHitBox();
|
||||||
|
EnableHitBox();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetDamage(float monsterStrength)
|
public void SetDamage(float monsterStrength)
|
||||||
|
|
@ -24,8 +26,11 @@ public class MonsterWeapon : MonoBehaviour
|
||||||
|
|
||||||
public void EnableHitBox()
|
public void EnableHitBox()
|
||||||
{
|
{
|
||||||
|
Debug.Log("enabletest");
|
||||||
|
|
||||||
if (_weaponCollider != null)
|
if (_weaponCollider != null)
|
||||||
{
|
{
|
||||||
|
Debug.Log("setcollider");
|
||||||
_weaponCollider.enabled = true;
|
_weaponCollider.enabled = true;
|
||||||
Debug.Log("🔴 [무기] 공격 판정 ON! (휘두르기 시작)"); // 로그 추가
|
Debug.Log("🔴 [무기] 공격 판정 ON! (휘두르기 시작)"); // 로그 추가
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,10 @@ using UnityEngine.AI;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 몬스터 기본 클래스 (공통 기능만)
|
||||||
|
/// - 공격 방식은 자식 클래스에서 구현
|
||||||
|
/// </summary>
|
||||||
public abstract class MonsterClass : MonoBehaviour, IDamageable
|
public abstract class MonsterClass : MonoBehaviour, IDamageable
|
||||||
{
|
{
|
||||||
[Header("--- 최적화 설정 ---")]
|
[Header("--- 최적화 설정 ---")]
|
||||||
|
|
@ -12,13 +16,17 @@ public abstract class MonsterClass : MonoBehaviour, IDamageable
|
||||||
|
|
||||||
[Header("몬스터 기본 스탯")]
|
[Header("몬스터 기본 스탯")]
|
||||||
[SerializeField] protected float maxHP = 100f;
|
[SerializeField] protected float maxHP = 100f;
|
||||||
[SerializeField] protected float attackDamage = 10f; // 몬스터의 힘 (예: 10)
|
[SerializeField] protected float attackDamage = 10f;
|
||||||
[SerializeField] protected int expReward = 10;
|
[SerializeField] protected int expReward = 10;
|
||||||
[SerializeField] protected float moveSpeed = 3.5f;
|
[SerializeField] protected float moveSpeed = 3.5f;
|
||||||
|
|
||||||
protected float currentHP;
|
protected float currentHP;
|
||||||
public event Action<float, float> OnHealthChanged;
|
public event Action<float, float> OnHealthChanged;
|
||||||
|
|
||||||
|
[Header("전투 / 무기 (선택사항)")]
|
||||||
|
// ⭐ 근접 몬스터가 사용할 무기 (원거리 몬스터는 비워둬도 됨)
|
||||||
|
[SerializeField] protected MonsterWeapon myWeapon;
|
||||||
|
|
||||||
[Header("피격 / 사망 / 대기 애니메이션")]
|
[Header("피격 / 사망 / 대기 애니메이션")]
|
||||||
[SerializeField] protected string Monster_Idle = "Monster_Idle";
|
[SerializeField] protected string Monster_Idle = "Monster_Idle";
|
||||||
[SerializeField] protected string Monster_GetDamage = "Monster_GetDamage";
|
[SerializeField] protected string Monster_GetDamage = "Monster_GetDamage";
|
||||||
|
|
@ -31,7 +39,7 @@ public abstract class MonsterClass : MonoBehaviour, IDamageable
|
||||||
|
|
||||||
public bool IsAggroed { get; protected set; }
|
public bool IsAggroed { get; protected set; }
|
||||||
|
|
||||||
[Header("AI 설정 (공격 후 휴식)")]
|
[Header("AI 설정")]
|
||||||
[SerializeField] protected float attackRestDuration = 1.5f;
|
[SerializeField] protected float attackRestDuration = 1.5f;
|
||||||
protected bool isResting;
|
protected bool isResting;
|
||||||
|
|
||||||
|
|
@ -43,8 +51,9 @@ public abstract class MonsterClass : MonoBehaviour, IDamageable
|
||||||
[SerializeField] protected ParticleSystem hitEffect;
|
[SerializeField] protected ParticleSystem hitEffect;
|
||||||
[SerializeField] protected Transform impactSpawnPoint;
|
[SerializeField] protected Transform impactSpawnPoint;
|
||||||
|
|
||||||
[Header("=== 전투(무기) 설정 ===")]
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
[SerializeField] private MonsterWeapon myWeapon;
|
// 생명주기
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
protected virtual void Awake()
|
protected virtual void Awake()
|
||||||
{
|
{
|
||||||
|
|
@ -63,6 +72,11 @@ public abstract class MonsterClass : MonoBehaviour, IDamageable
|
||||||
if (MobUpdateManager.Instance != null) MobUpdateManager.Instance.RegisterMob(this);
|
if (MobUpdateManager.Instance != null) MobUpdateManager.Instance.RegisterMob(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected virtual void OnDisable()
|
||||||
|
{
|
||||||
|
if (MobUpdateManager.Instance != null) MobUpdateManager.Instance.UnregisterMob(this);
|
||||||
|
}
|
||||||
|
|
||||||
public void ResetStats()
|
public void ResetStats()
|
||||||
{
|
{
|
||||||
isDead = false;
|
isDead = false;
|
||||||
|
|
@ -73,20 +87,20 @@ public abstract class MonsterClass : MonoBehaviour, IDamageable
|
||||||
Collider col = GetComponent<Collider>();
|
Collider col = GetComponent<Collider>();
|
||||||
if (col != null) col.enabled = true;
|
if (col != null) col.enabled = true;
|
||||||
|
|
||||||
// ⭐ 여기서 몬스터의 힘(attackDamage)을 무기에 보냄
|
OnResetStats();
|
||||||
if (myWeapon != null)
|
|
||||||
{
|
|
||||||
myWeapon.SetDamage(attackDamage);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void OnDisable()
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
{
|
// 추상 메서드 (자식이 반드시 구현)
|
||||||
if (MobUpdateManager.Instance != null) MobUpdateManager.Instance.UnregisterMob(this);
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
}
|
|
||||||
|
|
||||||
protected virtual void Init() { }
|
protected virtual void Init() { }
|
||||||
protected abstract void ExecuteAILogic();
|
protected abstract void ExecuteAILogic();
|
||||||
|
protected virtual void OnResetStats() { }
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// 공통 기능
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
public virtual void Reactivate()
|
public virtual void Reactivate()
|
||||||
{
|
{
|
||||||
|
|
@ -123,11 +137,26 @@ public abstract class MonsterClass : MonoBehaviour, IDamageable
|
||||||
|
|
||||||
protected void StopMovement()
|
protected void StopMovement()
|
||||||
{
|
{
|
||||||
if (agent != null && agent.isOnNavMesh) { agent.isStopped = true; agent.velocity = Vector3.zero; }
|
if (agent != null && agent.isOnNavMesh)
|
||||||
if (animator != null) { animator.SetFloat("Speed", 0f); animator.Play(Monster_Idle); }
|
{
|
||||||
|
agent.isStopped = true;
|
||||||
|
agent.velocity = Vector3.zero;
|
||||||
|
}
|
||||||
|
if (animator != null)
|
||||||
|
{
|
||||||
|
animator.SetFloat("Speed", 0f);
|
||||||
|
animator.Play(Monster_Idle);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void TakeDamage(float amount) { OnDamaged(amount); }
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// 피격 / 사망
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
public virtual void TakeDamage(float amount)
|
||||||
|
{
|
||||||
|
OnDamaged(amount);
|
||||||
|
}
|
||||||
|
|
||||||
public virtual void OnDamaged(float damage)
|
public virtual void OnDamaged(float damage)
|
||||||
{
|
{
|
||||||
|
|
@ -146,7 +175,7 @@ public abstract class MonsterClass : MonoBehaviour, IDamageable
|
||||||
isResting = false;
|
isResting = false;
|
||||||
StopAllCoroutines();
|
StopAllCoroutines();
|
||||||
|
|
||||||
if (myWeapon != null) myWeapon.DisableHitBox();
|
OnStartHit();
|
||||||
|
|
||||||
if (agent && agent.isOnNavMesh)
|
if (agent && agent.isOnNavMesh)
|
||||||
{
|
{
|
||||||
|
|
@ -159,26 +188,7 @@ public abstract class MonsterClass : MonoBehaviour, IDamageable
|
||||||
if (hitSound) audioSource.PlayOneShot(hitSound);
|
if (hitSound) audioSource.PlayOneShot(hitSound);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void OnAttackStart()
|
protected virtual void OnStartHit() { }
|
||||||
{
|
|
||||||
isAttacking = true;
|
|
||||||
isResting = false;
|
|
||||||
if (myWeapon != null) myWeapon.EnableHitBox();
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void OnAttackEnd()
|
|
||||||
{
|
|
||||||
if (myWeapon != null) myWeapon.DisableHitBox();
|
|
||||||
isAttacking = false;
|
|
||||||
if (!isDead && !isHit) StartCoroutine(RestAfterAttack());
|
|
||||||
}
|
|
||||||
|
|
||||||
protected IEnumerator RestAfterAttack()
|
|
||||||
{
|
|
||||||
isResting = true;
|
|
||||||
yield return new WaitForSeconds(attackRestDuration);
|
|
||||||
isResting = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void OnHitEnd()
|
public virtual void OnHitEnd()
|
||||||
{
|
{
|
||||||
|
|
@ -192,7 +202,7 @@ public abstract class MonsterClass : MonoBehaviour, IDamageable
|
||||||
isDead = true;
|
isDead = true;
|
||||||
IsAggroed = false;
|
IsAggroed = false;
|
||||||
|
|
||||||
if (myWeapon != null) myWeapon.DisableHitBox();
|
OnDie();
|
||||||
|
|
||||||
OnMonsterKilled?.Invoke(expReward);
|
OnMonsterKilled?.Invoke(expReward);
|
||||||
Collider col = GetComponent<Collider>();
|
Collider col = GetComponent<Collider>();
|
||||||
|
|
@ -209,6 +219,46 @@ public abstract class MonsterClass : MonoBehaviour, IDamageable
|
||||||
Invoke("ReturnToPool", 1.5f);
|
Invoke("ReturnToPool", 1.5f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected virtual void OnDie() { }
|
||||||
|
|
||||||
public bool IsDead => isDead;
|
public bool IsDead => isDead;
|
||||||
protected void ReturnToPool() => gameObject.SetActive(false);
|
protected void ReturnToPool() => gameObject.SetActive(false);
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// ⭐ 공격 이벤트 (여기가 중요!)
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 애니메이션 이벤트: 공격 시작
|
||||||
|
/// - 부모는 기본적으로 무기를 켬
|
||||||
|
/// - 자식(원거리)은 이걸 Override 해서 화살 발사로 바꿈
|
||||||
|
/// </summary>
|
||||||
|
public virtual void OnAttackStart()
|
||||||
|
{
|
||||||
|
isAttacking = true;
|
||||||
|
isResting = false;
|
||||||
|
|
||||||
|
if (myWeapon != null)
|
||||||
|
{
|
||||||
|
myWeapon.EnableHitBox();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void OnAttackEnd()
|
||||||
|
{
|
||||||
|
if (myWeapon != null)
|
||||||
|
{
|
||||||
|
myWeapon.DisableHitBox();
|
||||||
|
}
|
||||||
|
|
||||||
|
isAttacking = false;
|
||||||
|
if (!isDead && !isHit) StartCoroutine(RestAfterAttack());
|
||||||
|
}
|
||||||
|
|
||||||
|
protected virtual IEnumerator RestAfterAttack()
|
||||||
|
{
|
||||||
|
isResting = true;
|
||||||
|
yield return new WaitForSeconds(attackRestDuration);
|
||||||
|
isResting = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,9 +1,13 @@
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.AI;
|
using UnityEngine.AI;
|
||||||
|
|
||||||
public class NormalMonster : MonsterClass
|
/// <summary>
|
||||||
|
/// 근접 공격 몬스터 (칼, 도끼 등)
|
||||||
|
/// </summary>
|
||||||
|
public class MeleeMonster : MonsterClass
|
||||||
{
|
{
|
||||||
[Header("전투 설정")]
|
[Header("=== 근접 공격 설정 ===")]
|
||||||
|
[SerializeField] private MonsterWeapon myWeapon;
|
||||||
[SerializeField] private float attackRange = 2f;
|
[SerializeField] private float attackRange = 2f;
|
||||||
[SerializeField] private float attackDelay = 1.5f;
|
[SerializeField] private float attackDelay = 1.5f;
|
||||||
|
|
||||||
|
|
@ -24,20 +28,39 @@ public class NormalMonster : MonsterClass
|
||||||
private int attackIndex;
|
private int attackIndex;
|
||||||
private bool isPlayerInZone;
|
private bool isPlayerInZone;
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// 초기화
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
if (agent != null) agent.stoppingDistance = attackRange - 0.4f;
|
if (agent != null) agent.stoppingDistance = attackRange - 0.4f;
|
||||||
if (animator != null) animator.applyRootMotion = false;
|
if (animator != null) animator.applyRootMotion = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void OnResetStats()
|
||||||
|
{
|
||||||
|
// 무기에 데미지 설정
|
||||||
|
if (myWeapon != null)
|
||||||
|
{
|
||||||
|
myWeapon.SetDamage(attackDamage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// AI 로직
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
protected override void ExecuteAILogic()
|
protected override void ExecuteAILogic()
|
||||||
{
|
{
|
||||||
// 공격 중(isAttacking)이면 AI 생각 멈춤 -> 부들부들 방지!
|
|
||||||
if (isHit || isAttacking || isResting) return;
|
if (isHit || isAttacking || isResting) return;
|
||||||
|
|
||||||
float distance = Vector3.Distance(transform.position, playerTransform.position);
|
float distance = Vector3.Distance(transform.position, playerTransform.position);
|
||||||
if (isPlayerInZone || distance <= attackRange * 2f) HandlePlayerTarget();
|
|
||||||
else Patrol();
|
if (isPlayerInZone || distance <= attackRange * 2f)
|
||||||
|
HandlePlayerTarget();
|
||||||
|
else
|
||||||
|
Patrol();
|
||||||
|
|
||||||
UpdateMovementAnimation();
|
UpdateMovementAnimation();
|
||||||
}
|
}
|
||||||
|
|
@ -45,7 +68,9 @@ public class NormalMonster : MonsterClass
|
||||||
void HandlePlayerTarget()
|
void HandlePlayerTarget()
|
||||||
{
|
{
|
||||||
float distance = Vector3.Distance(transform.position, playerTransform.position);
|
float distance = Vector3.Distance(transform.position, playerTransform.position);
|
||||||
if (distance <= attackRange - stopBuffer) TryAttack();
|
|
||||||
|
if (distance <= attackRange - stopBuffer)
|
||||||
|
TryAttack();
|
||||||
else if (Time.time >= nextRepathTime)
|
else if (Time.time >= nextRepathTime)
|
||||||
{
|
{
|
||||||
if (agent.isOnNavMesh) agent.SetDestination(playerTransform.position);
|
if (agent.isOnNavMesh) agent.SetDestination(playerTransform.position);
|
||||||
|
|
@ -61,11 +86,8 @@ public class NormalMonster : MonsterClass
|
||||||
string attackName = attackAnimations[attackIndex];
|
string attackName = attackAnimations[attackIndex];
|
||||||
attackIndex = (attackIndex + 1) % attackAnimations.Length;
|
attackIndex = (attackIndex + 1) % attackAnimations.Length;
|
||||||
|
|
||||||
// ⭐ [핵심 수정] 애니메이션 이벤트 기다리지 말고, 즉시 "공격 상태"로 전환!
|
|
||||||
// 이걸 해야 AI가 이동하려는 시도를 멈춥니다.
|
|
||||||
isAttacking = true;
|
isAttacking = true;
|
||||||
|
|
||||||
// 이동 멈춤 (미끄러짐 방지)
|
|
||||||
if (agent.isOnNavMesh)
|
if (agent.isOnNavMesh)
|
||||||
{
|
{
|
||||||
agent.isStopped = true;
|
agent.isStopped = true;
|
||||||
|
|
@ -78,19 +100,79 @@ public class NormalMonster : MonsterClass
|
||||||
void UpdateMovementAnimation()
|
void UpdateMovementAnimation()
|
||||||
{
|
{
|
||||||
if (isAttacking || isHit || isResting) return;
|
if (isAttacking || isHit || isResting) return;
|
||||||
if (agent.velocity.magnitude < 0.1f) animator.Play(Monster_Idle);
|
|
||||||
else animator.Play(Monster_Walk);
|
if (agent.velocity.magnitude < 0.1f)
|
||||||
|
animator.Play(Monster_Idle);
|
||||||
|
else
|
||||||
|
animator.Play(Monster_Walk);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Patrol()
|
void Patrol()
|
||||||
{
|
{
|
||||||
if (Time.time < nextPatrolTime) return;
|
if (Time.time < nextPatrolTime) return;
|
||||||
Vector3 randomPoint = transform.position + new Vector3(Random.Range(-patrolRadius, patrolRadius), 0, Random.Range(-patrolRadius, patrolRadius));
|
|
||||||
|
Vector3 randomPoint = transform.position + new Vector3(
|
||||||
|
Random.Range(-patrolRadius, patrolRadius),
|
||||||
|
0,
|
||||||
|
Random.Range(-patrolRadius, patrolRadius)
|
||||||
|
);
|
||||||
|
|
||||||
if (NavMesh.SamplePosition(randomPoint, out NavMeshHit hit, 3f, NavMesh.AllAreas))
|
if (NavMesh.SamplePosition(randomPoint, out NavMeshHit hit, 3f, NavMesh.AllAreas))
|
||||||
if (agent.isOnNavMesh) agent.SetDestination(hit.position);
|
if (agent.isOnNavMesh) agent.SetDestination(hit.position);
|
||||||
|
|
||||||
nextPatrolTime = Time.time + patrolInterval;
|
nextPatrolTime = Time.time + patrolInterval;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnTriggerEnter(Collider other) { if (other.CompareTag("Player")) isPlayerInZone = true; }
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
private void OnTriggerExit(Collider other) { if (other.CompareTag("Player")) isPlayerInZone = false; }
|
// 공격 이벤트 (애니메이션에서 호출)
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
public void OnAttackStart()
|
||||||
|
{
|
||||||
|
isAttacking = true;
|
||||||
|
isResting = false;
|
||||||
|
if (myWeapon != null) myWeapon.EnableHitBox();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnAttackEnd()
|
||||||
|
{
|
||||||
|
if (myWeapon != null) myWeapon.DisableHitBox();
|
||||||
|
isAttacking = false;
|
||||||
|
if (!isDead && !isHit) StartCoroutine(RestAfterAttack());
|
||||||
|
}
|
||||||
|
|
||||||
|
System.Collections.IEnumerator RestAfterAttack()
|
||||||
|
{
|
||||||
|
isResting = true;
|
||||||
|
yield return new WaitForSeconds(attackRestDuration);
|
||||||
|
isResting = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// 피격 / 사망 시 무기 끄기
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
protected override void OnStartHit()
|
||||||
|
{
|
||||||
|
if (myWeapon != null) myWeapon.DisableHitBox();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnDie()
|
||||||
|
{
|
||||||
|
if (myWeapon != null) myWeapon.DisableHitBox();
|
||||||
|
}
|
||||||
|
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
// Trigger 감지 (플레이어 인식 영역)
|
||||||
|
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
private void OnTriggerEnter(Collider other)
|
||||||
|
{
|
||||||
|
if (other.CompareTag("Player")) isPlayerInZone = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnTriggerExit(Collider other)
|
||||||
|
{
|
||||||
|
if (other.CompareTag("Player")) isPlayerInZone = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
82
Assets/Scripts/Enemy/AI/Projectile.cs
Normal file
82
Assets/Scripts/Enemy/AI/Projectile.cs
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 원거리 공격 발사체 (화살, 마법탄 등)
|
||||||
|
/// </summary>
|
||||||
|
public class Projectile : MonoBehaviour
|
||||||
|
{
|
||||||
|
private Vector3 _direction;
|
||||||
|
private float _speed;
|
||||||
|
private float _damage;
|
||||||
|
private bool _isInitialized = false;
|
||||||
|
|
||||||
|
[Header("설정")]
|
||||||
|
[SerializeField] private float lifetime = 5f; // 수명
|
||||||
|
[SerializeField] private GameObject hitEffectPrefab; // 충돌 이펙트
|
||||||
|
|
||||||
|
private Rigidbody _rigidbody;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
_rigidbody = GetComponent<Rigidbody>();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 발사체 초기화
|
||||||
|
/// </summary>
|
||||||
|
public void Initialize(Vector3 direction, float speed, float damage)
|
||||||
|
{
|
||||||
|
_direction = direction.normalized;
|
||||||
|
_speed = speed;
|
||||||
|
_damage = damage;
|
||||||
|
_isInitialized = true;
|
||||||
|
|
||||||
|
// Rigidbody로 발사
|
||||||
|
if (_rigidbody != null)
|
||||||
|
{
|
||||||
|
_rigidbody.velocity = _direction * _speed;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 수명 후 파괴
|
||||||
|
Destroy(gameObject, lifetime);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FixedUpdate()
|
||||||
|
{
|
||||||
|
if (!_isInitialized) return;
|
||||||
|
|
||||||
|
// Rigidbody가 없으면 수동으로 이동
|
||||||
|
if (_rigidbody == null)
|
||||||
|
{
|
||||||
|
transform.position += _direction * _speed * Time.fixedDeltaTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnTriggerEnter(Collider other)
|
||||||
|
{
|
||||||
|
// 발사한 몬스터 무시
|
||||||
|
if (other.CompareTag("Enemy")) return;
|
||||||
|
|
||||||
|
// 플레이어와 충돌
|
||||||
|
if (other.CompareTag("Player"))
|
||||||
|
{
|
||||||
|
if (other.TryGetComponent<PlayerHealth>(out var playerHealth))
|
||||||
|
{
|
||||||
|
if (!playerHealth.isInvincible)
|
||||||
|
{
|
||||||
|
playerHealth.TakeDamage(_damage);
|
||||||
|
Debug.Log($"[Projectile] 플레이어 적중! 데미지: {_damage}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 충돌 이펙트
|
||||||
|
if (hitEffectPrefab != null)
|
||||||
|
{
|
||||||
|
Instantiate(hitEffectPrefab, transform.position, Quaternion.identity);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 발사체 파괴
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/Enemy/AI/Projectile.cs.meta
Normal file
11
Assets/Scripts/Enemy/AI/Projectile.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e2c31bd36273f1f4ab74fc1d65b76e1c
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
184
Assets/Scripts/Enemy/AI/Range Monster.cs
Normal file
184
Assets/Scripts/Enemy/AI/Range Monster.cs
Normal file
|
|
@ -0,0 +1,184 @@
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.AI;
|
||||||
|
using System.Collections;
|
||||||
|
|
||||||
|
public class SmartThrowMonster : MonsterClass
|
||||||
|
{
|
||||||
|
public enum ThrowType { Unlimited, Reload } // 무제한(활) vs 재장전(돌)
|
||||||
|
|
||||||
|
[Header("=== 투척/원거리 설정 ===")]
|
||||||
|
[SerializeField] private ThrowType attackType = ThrowType.Unlimited;
|
||||||
|
[SerializeField] private GameObject projectilePrefab; // 날아갈 물체
|
||||||
|
[SerializeField] private Transform firePoint; // 발사 위치
|
||||||
|
[SerializeField] private GameObject handModel; // 손에 들고 있는 모델 (던지면 꺼짐)
|
||||||
|
|
||||||
|
[Header("수치 설정")]
|
||||||
|
[SerializeField] private float reloadTime = 2.0f; // 돌 다시 생기는 시간
|
||||||
|
[SerializeField] private float throwForce = 15f; // 던지는 힘 (곡사)
|
||||||
|
[SerializeField] private float throwUpward = 5f; // 위로 띄우는 힘
|
||||||
|
[SerializeField] private float attackRange = 10f;
|
||||||
|
[SerializeField] private float attackDelay = 2f;
|
||||||
|
[SerializeField] private float detectRange = 15f; // 플레이어 감지 거리
|
||||||
|
|
||||||
|
[Header("애니메이션")]
|
||||||
|
[SerializeField] private string throwAnim = "Monster_Throw";
|
||||||
|
[SerializeField] private string walkAnim = "Monster_Walk";
|
||||||
|
|
||||||
|
// ⭐ [추가] 순찰 관련 변수
|
||||||
|
[Header("AI 순찰 설정")]
|
||||||
|
[SerializeField] private float patrolRadius = 5f;
|
||||||
|
[SerializeField] private float patrolInterval = 3f;
|
||||||
|
|
||||||
|
private float lastAttackTime;
|
||||||
|
private bool isReloading = false; // 돌 줍는 중인가?
|
||||||
|
private float nextPatrolTime; // 다음 순찰 시간
|
||||||
|
private bool isPlayerInZone; // 플레이어가 감지 범위 내에 있는가?
|
||||||
|
|
||||||
|
protected override void Init()
|
||||||
|
{
|
||||||
|
if (agent != null) agent.stoppingDistance = attackRange * 0.8f;
|
||||||
|
if (animator != null) animator.applyRootMotion = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void ExecuteAILogic()
|
||||||
|
{
|
||||||
|
if (isHit || isAttacking || isReloading || isResting) return;
|
||||||
|
|
||||||
|
float dist = Vector3.Distance(transform.position, playerTransform.position);
|
||||||
|
|
||||||
|
// 1. 플레이어를 감지했거나(Trigger), 사거리 안에 있거나, 감지 거리 안에 있을 때 -> 전투 모드
|
||||||
|
if (isPlayerInZone || dist <= attackRange || dist <= detectRange)
|
||||||
|
{
|
||||||
|
if (dist <= attackRange)
|
||||||
|
{
|
||||||
|
TryAttack();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 사거리 밖이면 추적
|
||||||
|
if (agent.isOnNavMesh)
|
||||||
|
{
|
||||||
|
agent.isStopped = false;
|
||||||
|
agent.SetDestination(playerTransform.position);
|
||||||
|
UpdateMovementAnimation();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 2. 플레이어 없음 -> 순찰 모드
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Patrol();
|
||||||
|
UpdateMovementAnimation();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TryAttack()
|
||||||
|
{
|
||||||
|
if (Time.time < lastAttackTime + attackDelay) return;
|
||||||
|
if (isReloading) return; // 돌 없으면 못 던짐
|
||||||
|
|
||||||
|
lastAttackTime = Time.time;
|
||||||
|
isAttacking = true;
|
||||||
|
|
||||||
|
// 조준 (멈추고 바라보기)
|
||||||
|
if (agent.isOnNavMesh) { agent.isStopped = true; agent.velocity = Vector3.zero; }
|
||||||
|
transform.LookAt(new Vector3(playerTransform.position.x, transform.position.y, playerTransform.position.z));
|
||||||
|
|
||||||
|
animator.Play(throwAnim);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ⭐ [추가] 순찰 로직
|
||||||
|
void Patrol()
|
||||||
|
{
|
||||||
|
if (Time.time < nextPatrolTime) return;
|
||||||
|
|
||||||
|
Vector3 randomPoint = transform.position + new Vector3(
|
||||||
|
Random.Range(-patrolRadius, patrolRadius),
|
||||||
|
0,
|
||||||
|
Random.Range(-patrolRadius, patrolRadius)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (NavMesh.SamplePosition(randomPoint, out NavMeshHit hit, 3f, NavMesh.AllAreas))
|
||||||
|
{
|
||||||
|
if (agent.isOnNavMesh)
|
||||||
|
{
|
||||||
|
agent.SetDestination(hit.position);
|
||||||
|
agent.isStopped = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
nextPatrolTime = Time.time + patrolInterval;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ⭐ [추가] 움직임 애니메이션 관리
|
||||||
|
void UpdateMovementAnimation()
|
||||||
|
{
|
||||||
|
if (isAttacking || isHit || isResting) return;
|
||||||
|
|
||||||
|
if (agent.velocity.magnitude > 0.1f)
|
||||||
|
animator.Play(walkAnim);
|
||||||
|
else
|
||||||
|
animator.Play(Monster_Idle);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ⭐ 애니메이션 이벤트: OnAttackStart
|
||||||
|
public override void OnAttackStart()
|
||||||
|
{
|
||||||
|
if (projectilePrefab && firePoint)
|
||||||
|
{
|
||||||
|
// 1. 발사체 생성
|
||||||
|
GameObject obj = Instantiate(projectilePrefab, firePoint.position, transform.rotation);
|
||||||
|
|
||||||
|
// 데미지 전달
|
||||||
|
if (obj.TryGetComponent<Projectile>(out var proj))
|
||||||
|
{
|
||||||
|
// 돌 던지기(Reload) 타입이면 초기 속도 0 (물리력으로 날림)
|
||||||
|
// 활 쏘기(Unlimited) 타입이면 Projectile 자체 속도 사용
|
||||||
|
float initSpeed = (attackType == ThrowType.Reload) ? 0f : 20f;
|
||||||
|
proj.Initialize(transform.forward, initSpeed, attackDamage);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 물리력으로 던지기 (돌 던지기 타입일 때만)
|
||||||
|
if (attackType == ThrowType.Reload)
|
||||||
|
{
|
||||||
|
Rigidbody rb = obj.GetComponent<Rigidbody>();
|
||||||
|
if (rb)
|
||||||
|
{
|
||||||
|
rb.useGravity = true;
|
||||||
|
Vector3 force = transform.forward * throwForce + Vector3.up * throwUpward;
|
||||||
|
rb.AddForce(force, ForceMode.Impulse);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. 손에 있는 모델 숨기기
|
||||||
|
if (attackType == ThrowType.Reload && handModel != null)
|
||||||
|
{
|
||||||
|
handModel.SetActive(false);
|
||||||
|
StartCoroutine(ReloadRoutine());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
IEnumerator ReloadRoutine()
|
||||||
|
{
|
||||||
|
isReloading = true;
|
||||||
|
// Debug.Log("🔄 [Mob] 돌 줍는 중..."); // 로그 너무 많이 뜨면 주석 처리
|
||||||
|
|
||||||
|
yield return new WaitForSeconds(reloadTime);
|
||||||
|
|
||||||
|
if (handModel != null) handModel.SetActive(true);
|
||||||
|
isReloading = false;
|
||||||
|
// Debug.Log("✅ [Mob] 장전 완료!");
|
||||||
|
}
|
||||||
|
|
||||||
|
// ⭐ [추가] 감지 영역 설정
|
||||||
|
private void OnTriggerEnter(Collider other)
|
||||||
|
{
|
||||||
|
if (other.CompareTag("Player")) isPlayerInZone = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnTriggerExit(Collider other)
|
||||||
|
{
|
||||||
|
if (other.CompareTag("Player")) isPlayerInZone = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/Enemy/AI/Range Monster.cs.meta
Normal file
11
Assets/Scripts/Enemy/AI/Range Monster.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0e6d46f9fafc5dc4881b4fedd7bd689f
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Loading…
Reference in New Issue
Block a user