diff --git a/unity/Assets/2.5D Engine/Animations/Shake1.anim b/unity/Assets/2.5D Engine/Animations/Shake1.anim new file mode 100644 index 0000000..9ae3f50 --- /dev/null +++ b/unity/Assets/2.5D Engine/Animations/Shake1.anim @@ -0,0 +1,357 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Shake1 + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.16666667 + value: {x: 0, y: 0, z: 7} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.35 + value: {x: 0, y: 0, z: -7} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: 0, y: 0, z: 5} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.6666667 + value: {x: 0, y: 0, z: -5} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.8333333 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.8333333 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.35 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.6666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.8333333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.35 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.6666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.8333333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 7 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.35 + value: -7 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 5 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.6666667 + value: -5 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.8333333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: + classID: 4 + script: {fileID: 0} + flags: 16 + m_EulerEditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash01_AB.mat.meta b/unity/Assets/2.5D Engine/Animations/Shake1.anim.meta similarity index 64% rename from unity/Assets/Materials/Materials/Misc/Sword/slash01_AB.mat.meta rename to unity/Assets/2.5D Engine/Animations/Shake1.anim.meta index 6e5feb0..131d35a 100644 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash01_AB.mat.meta +++ b/unity/Assets/2.5D Engine/Animations/Shake1.anim.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: 64e96ff4458e88b499d1e1d8e5535052 +guid: 859e8bfa9c759c946974b932d809a1d9 NativeFormatImporter: externalObjects: {} - mainObjectFileID: 2100000 + mainObjectFileID: 7400000 userData: assetBundleName: assetBundleVariant: diff --git a/unity/Assets/2.5D Engine/Animations/Shake2.anim b/unity/Assets/2.5D Engine/Animations/Shake2.anim new file mode 100644 index 0000000..e257261 --- /dev/null +++ b/unity/Assets/2.5D Engine/Animations/Shake2.anim @@ -0,0 +1,321 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Shake2 + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.16666667 + value: {x: 0, y: 0, z: -8} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.33333334 + value: {x: 0, y: 0, z: 7} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: 0, y: 0, z: -5} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5833333 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.5833333 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5833333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5833333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: -8 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 7 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: -5 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5833333 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: + classID: 4 + script: {fileID: 0} + flags: 16 + m_EulerEditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash01_ADD.mat.meta b/unity/Assets/2.5D Engine/Animations/Shake2.anim.meta similarity index 64% rename from unity/Assets/Materials/Materials/Misc/Sword/slash01_ADD.mat.meta rename to unity/Assets/2.5D Engine/Animations/Shake2.anim.meta index 4347a00..046aa15 100644 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash01_ADD.mat.meta +++ b/unity/Assets/2.5D Engine/Animations/Shake2.anim.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: f775ebfdf5b09fd4981b26faf9e1c586 +guid: bd7f883fc1d9b7f4e91b697089acad75 NativeFormatImporter: externalObjects: {} - mainObjectFileID: 2100000 + mainObjectFileID: 7400000 userData: assetBundleName: assetBundleVariant: diff --git a/unity/Assets/2.5D Engine/Animations/Shake3.anim b/unity/Assets/2.5D Engine/Animations/Shake3.anim new file mode 100644 index 0000000..46476ad --- /dev/null +++ b/unity/Assets/2.5D Engine/Animations/Shake3.anim @@ -0,0 +1,321 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Shake3 + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.16666667 + value: {x: 0, y: 0, z: 7} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.33333334 + value: {x: 0, y: 0, z: -5} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.5 + value: {x: 0, y: 0, z: 3} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.75 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.75 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.75 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.75 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 7 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: -5 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.5 + value: 3 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.75 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: + classID: 4 + script: {fileID: 0} + flags: 16 + m_EulerEditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash02_AB.mat.meta b/unity/Assets/2.5D Engine/Animations/Shake3.anim.meta similarity index 64% rename from unity/Assets/Materials/Materials/Misc/Sword/slash02_AB.mat.meta rename to unity/Assets/2.5D Engine/Animations/Shake3.anim.meta index 0048736..6146b3a 100644 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash02_AB.mat.meta +++ b/unity/Assets/2.5D Engine/Animations/Shake3.anim.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: 50d7a6ff58aa03c41bf5ab4d6947a60b +guid: a3f5be6cdc03911489d1aa7022cacd81 NativeFormatImporter: externalObjects: {} - mainObjectFileID: 2100000 + mainObjectFileID: 7400000 userData: assetBundleName: assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash_ADD.mat b/unity/Assets/2.5D Engine/Particle Effects/Sword Slash Particles/Materials/Slash.mat similarity index 94% rename from unity/Assets/Materials/Materials/Misc/Sword/slash_ADD.mat rename to unity/Assets/2.5D Engine/Particle Effects/Sword Slash Particles/Materials/Slash.mat index 27a21d2..38b17a6 100644 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash_ADD.mat +++ b/unity/Assets/2.5D Engine/Particle Effects/Sword Slash Particles/Materials/Slash.mat @@ -7,8 +7,10 @@ Material: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: slash_ADD + m_Name: Slash m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 m_ValidKeywords: - _ALPHABLEND_ON - _FADING_ON @@ -21,6 +23,7 @@ Material: RenderType: Transparent disabledShaderPasses: - GRABPASS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -69,3 +72,4 @@ Material: - _SoftParticleFadeParams: {r: 0, g: 5, b: 0, a: 0} - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash_ADD.mat.meta b/unity/Assets/2.5D Engine/Particle Effects/Sword Slash Particles/Materials/Slash.mat.meta similarity index 100% rename from unity/Assets/Materials/Materials/Misc/Sword/slash_ADD.mat.meta rename to unity/Assets/2.5D Engine/Particle Effects/Sword Slash Particles/Materials/Slash.mat.meta diff --git a/unity/Assets/2.5D Engine/Particle Effects/Sword Slash Particles/Textures/Slash.png b/unity/Assets/2.5D Engine/Particle Effects/Sword Slash Particles/Textures/Slash.png new file mode 100644 index 0000000..9508787 Binary files /dev/null and b/unity/Assets/2.5D Engine/Particle Effects/Sword Slash Particles/Textures/Slash.png differ diff --git a/unity/Assets/Materials/Textures/slash.png.meta b/unity/Assets/2.5D Engine/Particle Effects/Sword Slash Particles/Textures/Slash.png.meta similarity index 100% rename from unity/Assets/Materials/Textures/slash.png.meta rename to unity/Assets/2.5D Engine/Particle Effects/Sword Slash Particles/Textures/Slash.png.meta diff --git a/unity/Assets/2.5D Engine/Prefabs/Scarecrow.prefab b/unity/Assets/2.5D Engine/Prefabs/Scarecrow.prefab new file mode 100644 index 0000000..f328f55 --- /dev/null +++ b/unity/Assets/2.5D Engine/Prefabs/Scarecrow.prefab @@ -0,0 +1,201 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2363241074000552831 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6215090515645932799} + - component: {fileID: 6923226934955006161} + m_Layer: 0 + m_Name: Shadow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6215090515645932799 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2363241074000552831} + 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: [] + m_Father: {fileID: 1067823222478139255} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &6923226934955006161 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2363241074000552831} + 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: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: -876546973899608171, guid: be3236dea9f1e304da1a5e3a513dad5e, type: 3} + 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: f605a81430a1aff4695577f89657408e, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 11.08, y: 8.65} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &7447625193278080842 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1067823222478139255} + - component: {fileID: 1108994882380700425} + - component: {fileID: 5010735564622604771} + m_Layer: 0 + m_Name: Scarecrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1067823222478139255 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 1 + m_Children: + - {fileID: 6215090515645932799} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1108994882380700425 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: f605a81430a1aff4695577f89657408e, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 11.08, y: 8.65} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!136 &5010735564622604771 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 2 + m_Radius: 3.93 + m_Height: 9.3 + m_Direction: 1 + m_Center: {x: 0, y: 4.65, z: 0} diff --git a/unity/Assets/2.5D Engine/Prefabs/Scarecrow.prefab.meta b/unity/Assets/2.5D Engine/Prefabs/Scarecrow.prefab.meta new file mode 100644 index 0000000..2b2c664 --- /dev/null +++ b/unity/Assets/2.5D Engine/Prefabs/Scarecrow.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: aad240ed1ff801843947266441166987 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/2.5D Engine/Prefabs/Skeleton Staff.prefab b/unity/Assets/2.5D Engine/Prefabs/Skeleton Staff.prefab new file mode 100644 index 0000000..c893551 --- /dev/null +++ b/unity/Assets/2.5D Engine/Prefabs/Skeleton Staff.prefab @@ -0,0 +1,201 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2363241074000552831 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6215090515645932799} + - component: {fileID: 6923226934955006161} + m_Layer: 0 + m_Name: Shadow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6215090515645932799 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2363241074000552831} + 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: [] + m_Father: {fileID: 1067823222478139255} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &6923226934955006161 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2363241074000552831} + 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: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: -876546973899608171, guid: be3236dea9f1e304da1a5e3a513dad5e, type: 3} + 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 18675d39fd8c5324794bb095ee21e9b9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 11.08, y: 8.65} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &7447625193278080842 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1067823222478139255} + - component: {fileID: 1108994882380700425} + - component: {fileID: 5010735564622604771} + m_Layer: 0 + m_Name: Skeleton Staff + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1067823222478139255 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 1 + m_Children: + - {fileID: 6215090515645932799} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1108994882380700425 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 18675d39fd8c5324794bb095ee21e9b9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 11.08, y: 8.65} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!136 &5010735564622604771 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 2 + m_Radius: 0.2514887 + m_Height: 20.605522 + m_Direction: 1 + m_Center: {x: 0.03238964, y: 10.538977, z: 0} diff --git a/unity/Assets/2.5D Engine/Prefabs/Skeleton Staff.prefab.meta b/unity/Assets/2.5D Engine/Prefabs/Skeleton Staff.prefab.meta new file mode 100644 index 0000000..3c1780a --- /dev/null +++ b/unity/Assets/2.5D Engine/Prefabs/Skeleton Staff.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4793c8194e5492a48b329a0707c57d64 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/2.5D Engine/Prefabs/Skull.prefab b/unity/Assets/2.5D Engine/Prefabs/Skull.prefab new file mode 100644 index 0000000..3e4bea9 --- /dev/null +++ b/unity/Assets/2.5D Engine/Prefabs/Skull.prefab @@ -0,0 +1,201 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2363241074000552831 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6215090515645932799} + - component: {fileID: 6923226934955006161} + m_Layer: 0 + m_Name: Shadow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6215090515645932799 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2363241074000552831} + 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: [] + m_Father: {fileID: 1067823222478139255} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &6923226934955006161 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2363241074000552831} + 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: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: -876546973899608171, guid: be3236dea9f1e304da1a5e3a513dad5e, type: 3} + 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 60f7600e391f2614880ab6faf3c2a980, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 11.08, y: 8.65} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &7447625193278080842 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1067823222478139255} + - component: {fileID: 1108994882380700425} + - component: {fileID: 5010735564622604771} + m_Layer: 0 + m_Name: Skull + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1067823222478139255 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 1 + m_Children: + - {fileID: 6215090515645932799} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1108994882380700425 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 60f7600e391f2614880ab6faf3c2a980, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 11.08, y: 8.65} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!136 &5010735564622604771 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 2 + m_Radius: 2.1847768 + m_Height: 9.437778 + m_Direction: 0 + m_Center: {x: 0.06888962, y: 2.3077235, z: 0} diff --git a/unity/Assets/2.5D Engine/Prefabs/Skull.prefab.meta b/unity/Assets/2.5D Engine/Prefabs/Skull.prefab.meta new file mode 100644 index 0000000..c13b5ab --- /dev/null +++ b/unity/Assets/2.5D Engine/Prefabs/Skull.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1856a62e01a472742ac6f96498b129f8 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/2.5D Engine/Prefabs/Spear 1.prefab b/unity/Assets/2.5D Engine/Prefabs/Spear 1.prefab new file mode 100644 index 0000000..6253318 --- /dev/null +++ b/unity/Assets/2.5D Engine/Prefabs/Spear 1.prefab @@ -0,0 +1,201 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2363241074000552831 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6215090515645932799} + - component: {fileID: 6923226934955006161} + m_Layer: 0 + m_Name: Shadow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6215090515645932799 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2363241074000552831} + 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: [] + m_Father: {fileID: 1067823222478139255} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &6923226934955006161 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2363241074000552831} + 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: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: -876546973899608171, guid: be3236dea9f1e304da1a5e3a513dad5e, type: 3} + 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 64baf3b6a778cca49b9fc7eb00af9d7b, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 11.08, y: 8.65} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &7447625193278080842 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1067823222478139255} + - component: {fileID: 1108994882380700425} + - component: {fileID: 5010735564622604771} + m_Layer: 0 + m_Name: Spear 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1067823222478139255 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 1 + m_Children: + - {fileID: 6215090515645932799} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1108994882380700425 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 64baf3b6a778cca49b9fc7eb00af9d7b, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 11.08, y: 8.65} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!136 &5010735564622604771 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 2 + m_Radius: 0.2514887 + m_Height: 15.713491 + m_Direction: 1 + m_Center: {x: 0.03238964, y: 8.092961, z: 0} diff --git a/unity/Assets/2.5D Engine/Prefabs/Spear 1.prefab.meta b/unity/Assets/2.5D Engine/Prefabs/Spear 1.prefab.meta new file mode 100644 index 0000000..406951f --- /dev/null +++ b/unity/Assets/2.5D Engine/Prefabs/Spear 1.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7af5a02ea03f651478b05941ccb7ec5c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/2.5D Engine/Prefabs/Spear 2.prefab b/unity/Assets/2.5D Engine/Prefabs/Spear 2.prefab new file mode 100644 index 0000000..2e91962 --- /dev/null +++ b/unity/Assets/2.5D Engine/Prefabs/Spear 2.prefab @@ -0,0 +1,201 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2363241074000552831 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6215090515645932799} + - component: {fileID: 6923226934955006161} + m_Layer: 0 + m_Name: Shadow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6215090515645932799 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2363241074000552831} + 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: [] + m_Father: {fileID: 1067823222478139255} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &6923226934955006161 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2363241074000552831} + 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: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: -876546973899608171, guid: be3236dea9f1e304da1a5e3a513dad5e, type: 3} + 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 56b9790d196251d4ba9803a6c64d169e, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 11.08, y: 8.65} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &7447625193278080842 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1067823222478139255} + - component: {fileID: 1108994882380700425} + - component: {fileID: 5010735564622604771} + m_Layer: 0 + m_Name: Spear 2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1067823222478139255 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 1 + m_Children: + - {fileID: 6215090515645932799} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1108994882380700425 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 56b9790d196251d4ba9803a6c64d169e, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 11.08, y: 8.65} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!136 &5010735564622604771 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 2 + m_Radius: 0.2514887 + m_Height: 15.713491 + m_Direction: 1 + m_Center: {x: 0.03238964, y: 8.092961, z: 0} diff --git a/unity/Assets/2.5D Engine/Prefabs/Spear 2.prefab.meta b/unity/Assets/2.5D Engine/Prefabs/Spear 2.prefab.meta new file mode 100644 index 0000000..a3e2989 --- /dev/null +++ b/unity/Assets/2.5D Engine/Prefabs/Spear 2.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8eb255d01df1af34ea45b0852ffcfd02 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/2.5D Engine/Prefabs/Spear 3.prefab b/unity/Assets/2.5D Engine/Prefabs/Spear 3.prefab new file mode 100644 index 0000000..074a3f4 --- /dev/null +++ b/unity/Assets/2.5D Engine/Prefabs/Spear 3.prefab @@ -0,0 +1,201 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2363241074000552831 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6215090515645932799} + - component: {fileID: 6923226934955006161} + m_Layer: 0 + m_Name: Shadow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6215090515645932799 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2363241074000552831} + 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: [] + m_Father: {fileID: 1067823222478139255} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &6923226934955006161 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2363241074000552831} + 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: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: -876546973899608171, guid: be3236dea9f1e304da1a5e3a513dad5e, type: 3} + 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 8b0a1de40e575a6478370dd74f07346d, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 11.08, y: 8.65} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &7447625193278080842 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1067823222478139255} + - component: {fileID: 1108994882380700425} + - component: {fileID: 5010735564622604771} + m_Layer: 0 + m_Name: Spear 3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1067823222478139255 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 1 + m_Children: + - {fileID: 6215090515645932799} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1108994882380700425 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: 8b0a1de40e575a6478370dd74f07346d, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 11.08, y: 8.65} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!136 &5010735564622604771 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7447625193278080842} + 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: 2 + m_Radius: 0.9560499 + m_Height: 5.117481 + m_Direction: 1 + m_Center: {x: 2.54, y: 2.7949562, z: -0.70456123} diff --git a/unity/Assets/2.5D Engine/Prefabs/Spear 3.prefab.meta b/unity/Assets/2.5D Engine/Prefabs/Spear 3.prefab.meta new file mode 100644 index 0000000..b624c15 --- /dev/null +++ b/unity/Assets/2.5D Engine/Prefabs/Spear 3.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d43bdff8650c4f440b2f6bd0f33c90dc +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Skulls.meta b/unity/Assets/2.5D Engine/Scripts.meta similarity index 77% rename from unity/Assets/Materials/Materials/Misc/Skulls.meta rename to unity/Assets/2.5D Engine/Scripts.meta index acd42e5..ea93b68 100644 --- a/unity/Assets/Materials/Materials/Misc/Skulls.meta +++ b/unity/Assets/2.5D Engine/Scripts.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 90157d49a9b32944a83fbe23bbbdefef +guid: 2c5d0362c58d18a4982f9d509374eaa9 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/unity/Assets/Resources/Spine/Brute/images/Brute/SmearLarge.meta b/unity/Assets/2.5D Engine/Shaders.meta similarity index 77% rename from unity/Assets/Resources/Spine/Brute/images/Brute/SmearLarge.meta rename to unity/Assets/2.5D Engine/Shaders.meta index cc465ba..be6467f 100644 --- a/unity/Assets/Resources/Spine/Brute/images/Brute/SmearLarge.meta +++ b/unity/Assets/2.5D Engine/Shaders.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 43e569359e58f3946bf5efb0c13b8620 +guid: 5a47317560a688441a5d700134160540 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/unity/Assets/Script.meta b/unity/Assets/2.5D Engine/Sounds.meta similarity index 77% rename from unity/Assets/Script.meta rename to unity/Assets/2.5D Engine/Sounds.meta index 81323e3..3d25b49 100644 --- a/unity/Assets/Script.meta +++ b/unity/Assets/2.5D Engine/Sounds.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 65e107dd9c5afa6468a4087a032544d9 +guid: b0d0926a4f773db41b587ef80df13b3f folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/unity/Assets/2.5D Engine/Sprites/Other/Skull 1.png b/unity/Assets/2.5D Engine/Sprites/Other/Skull 1.png new file mode 100644 index 0000000..faf01e7 Binary files /dev/null and b/unity/Assets/2.5D Engine/Sprites/Other/Skull 1.png differ diff --git a/unity/Assets/Resources/Spine/Brute/images/Brute/SmearLarge/SmearLarge.png.meta b/unity/Assets/2.5D Engine/Sprites/Other/Skull 1.png.meta similarity index 71% rename from unity/Assets/Resources/Spine/Brute/images/Brute/SmearLarge/SmearLarge.png.meta rename to unity/Assets/2.5D Engine/Sprites/Other/Skull 1.png.meta index cfaeeb8..42f254a 100644 --- a/unity/Assets/Resources/Spine/Brute/images/Brute/SmearLarge/SmearLarge.png.meta +++ b/unity/Assets/2.5D Engine/Sprites/Other/Skull 1.png.meta @@ -1,9 +1,12 @@ fileFormatVersion: 2 -guid: bae0c08e6e352574d8277b7373ce8d41 +guid: 60f7600e391f2614880ab6faf3c2a980 TextureImporter: - internalIDToNameTable: [] + internalIDToNameTable: + - first: + 213: -367487875906956285 + second: _0065_67.png_0 externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 0 @@ -20,11 +23,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 - ignoreMasterTextureLimit: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -45,7 +49,7 @@ TextureImporter: spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 - alignment: 0 + alignment: 7 spritePivot: {x: 0.5, y: 0.5} spritePixelsToUnits: 100 spriteBorder: {x: 0, y: 0, z: 0, w: 0} @@ -63,9 +67,10 @@ TextureImporter: textureFormatSet: 0 ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -75,9 +80,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -87,21 +93,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -111,12 +106,49 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 - sprites: [] + sprites: + - serializedVersion: 2 + name: _0065_67.png_0 + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1258 + height: 588 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 3049d4159bb66eaf0800000000000000 + internalID: -367487875906956285 + vertices: [] + indices: + edges: [] + weights: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -126,10 +158,12 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: + _0065_67.png_0: -367487875906956285 + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/unity/Assets/2.5D Engine/Sprites/Other/Skull 2.png b/unity/Assets/2.5D Engine/Sprites/Other/Skull 2.png new file mode 100644 index 0000000..bfe78a0 Binary files /dev/null and b/unity/Assets/2.5D Engine/Sprites/Other/Skull 2.png differ diff --git a/unity/Assets/Resources/Spine/Brute/images/Brute/pentagram/Skull.png.meta b/unity/Assets/2.5D Engine/Sprites/Other/Skull 2.png.meta similarity index 71% rename from unity/Assets/Resources/Spine/Brute/images/Brute/pentagram/Skull.png.meta rename to unity/Assets/2.5D Engine/Sprites/Other/Skull 2.png.meta index df275b3..082b88b 100644 --- a/unity/Assets/Resources/Spine/Brute/images/Brute/pentagram/Skull.png.meta +++ b/unity/Assets/2.5D Engine/Sprites/Other/Skull 2.png.meta @@ -1,9 +1,12 @@ fileFormatVersion: 2 -guid: 3e216ac7f62d16a4b87300b486b5f206 +guid: 18675d39fd8c5324794bb095ee21e9b9 TextureImporter: - internalIDToNameTable: [] + internalIDToNameTable: + - first: + 213: 6294709003494146569 + second: _0057_59.png_0 externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 0 @@ -20,11 +23,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 - ignoreMasterTextureLimit: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -45,7 +49,7 @@ TextureImporter: spriteMode: 1 spriteExtrude: 1 spriteMeshType: 1 - alignment: 0 + alignment: 7 spritePivot: {x: 0.5, y: 0.5} spritePixelsToUnits: 100 spriteBorder: {x: 0, y: 0, z: 0, w: 0} @@ -63,9 +67,10 @@ TextureImporter: textureFormatSet: 0 ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -75,9 +80,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -87,21 +93,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -111,12 +106,49 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 - sprites: [] + sprites: + - serializedVersion: 2 + name: _0057_59.png_0 + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 458 + height: 2416 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 902c8b5ec7c4b5750800000000000000 + internalID: 6294709003494146569 + vertices: [] + indices: + edges: [] + weights: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -126,10 +158,12 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: + spriteCustomMetadata: + entries: [] + nameFileIdTable: + _0057_59.png_0: 6294709003494146569 + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: diff --git a/unity/Assets/Light/scripts.meta b/unity/Assets/Light/scripts.meta new file mode 100644 index 0000000..e0143e8 --- /dev/null +++ b/unity/Assets/Light/scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: W3oWvHyqBnvWOyXZtjqOQEgCHiPhFwor4I6wYgNWQfSp5DHreJ44o2Q= +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Light/scripts/SceneInteraction.cs b/unity/Assets/Light/scripts/SceneInteraction.cs new file mode 100644 index 0000000..e02a42c --- /dev/null +++ b/unity/Assets/Light/scripts/SceneInteraction.cs @@ -0,0 +1,142 @@ +using UnityEngine; +using System.Collections; + +namespace IndianOceanAssets.Engine2_5D +{ + /// + /// 场景交互点 —— 玩家走到指定物体附近,按 Q 触å‘过场。 + /// 触å‘åŽä¸»è§’çš„å…‰åœˆé€æ¸æ‰©å¤§ï¼Œæœ€ç»ˆç‚¹äº®æ•´ä¸ªåœºæ™¯ï¼ˆPPTå¼è¿‡æ¸¡ï¼‰ã€‚ + /// + /// 挂载ä½ç½®ï¼šåœºæ™¯ä¸­çš„交互物件(如祭å›ã€æœºå…³ã€ç‰¹æ®ŠNPC等) + /// 需è¦ï¼šç‰©ä½“上有 Collider + 勾选 IsTrigger + /// çŽ©å®¶éœ€è¦ Tag = "Player" + /// + public class SceneInteraction : MonoBehaviour + { + [Header("交互设置")] + [SerializeField] private KeyCode interactKey = KeyCode.Q; + [Tooltip("玩家进入此范围æ‰èƒ½äº¤äº’")] + [SerializeField] private float interactionRadius = 3f; + + [Header("è¿‡åœºå‚æ•°")] + [Tooltip("光圈扩大的æŒç»­æ—¶é—´ï¼ˆç§’),类似PPT过场")] + [SerializeField] private float transitionDuration = 5f; + + [Tooltip("最终光圈åŠå¾„(è¦è¦†ç›–整个场景的è¯è®¾å¤§ä¸€ç‚¹ï¼‰")] + [SerializeField] private float finalLightRadius = 60f; + + [Tooltip("最终全局最å°äº®åº¦ï¼ˆ0.6=全场景å¯è§ä½†åæš—, 1.0=全亮)")] + [SerializeField, Range(0f, 1f)] private float finalMinBrightness = 0.7f; + + [Header("引用")] + [Tooltip("玩家的 LightSource 组件(必须已挂载)")] + [SerializeField] private LightSource playerLightSource; + + [Tooltip("交互æç¤º UI(å¯é€‰ï¼Œçީ家é è¿‘时显示)")] + [SerializeField] private GameObject interactionPrompt; + + [Header("音效(å¯é€‰ï¼‰")] + [SerializeField] private AudioSource interactionSFX; + + // çŠ¶æ€ + private bool _triggered = false; + private bool _playerInRange = false; + private Transform _player; + + private void Start() + { + // 自动查找玩家 + GameObject playerObj = GameObject.FindGameObjectWithTag("Player"); + if (playerObj != null) + { + _player = playerObj.transform; + if (playerLightSource == null) + playerLightSource = playerObj.GetComponent(); + } + + if (interactionPrompt != null) + interactionPrompt.SetActive(false); + } + + private void Update() + { + if (_triggered) return; + + // 检测玩家是å¦åœ¨èŒƒå›´å†… + if (_player != null) + { + float dist = Vector3.Distance(transform.position, _player.position); + _playerInRange = dist <= interactionRadius; + } + + // 显示/éšè—交互æç¤º + if (interactionPrompt != null) + interactionPrompt.SetActive(_playerInRange); + + // 检测 Q é”® + if (_playerInRange && Input.GetKeyDown(interactKey)) + { + StartCoroutine(ExpandLightTransition()); + } + } + + /// + /// 过场åç¨‹ï¼šå…‰åœˆé€æ¸æ‰©å¤§ + 全局亮度æå‡ + /// + private IEnumerator ExpandLightTransition() + { + _triggered = true; + + // éšè—交互æç¤º + if (interactionPrompt != null) + interactionPrompt.SetActive(false); + + // 播放音效 + if (interactionSFX != null) + interactionSFX.Play(); + + // 记录åˆå§‹å€¼ + float startRadius = playerLightSource != null ? playerLightSource.Radius : 5f; + float startBrightness = LightMaskSystem.Instance != null ? 0f : 0f; + + float elapsed = 0f; + + // 过程:平滑æ’值扩大 + while (elapsed < transitionDuration) + { + elapsed += Time.deltaTime; + float t = elapsed / transitionDuration; + + // SmoothStep æ’值(开始和结æŸéƒ½æŸ”和) + float smoothT = t * t * (3f - 2f * t); + + // 扩大玩家光圈åŠå¾„ + if (playerLightSource != null) + playerLightSource.SetRadius(Mathf.Lerp(startRadius, finalLightRadius, smoothT)); + + // æå‡å…¨å±€æœ€å°äº®åº¦ï¼ˆè®©é»‘æš—åŒºåŸŸä¹Ÿé€æ¸å¯è§ï¼‰ + if (LightMaskSystem.Instance != null) + LightMaskSystem.Instance.SetMinBrightness(Mathf.Lerp(startBrightness, finalMinBrightness, smoothT)); + + yield return null; + } + + // ç¡®ä¿æœ€ç»ˆå€¼ + if (playerLightSource != null) + playerLightSource.SetRadius(finalLightRadius); + + if (LightMaskSystem.Instance != null) + LightMaskSystem.Instance.SetMinBrightness(finalMinBrightness); + + Debug.Log("[SceneInteraction] 过场完æˆï¼Œåœºæ™¯å·²å…¨éƒ¨ç‚¹äº®"); + } + + // ===== 编辑器å¯è§†åŒ– ===== + + private void OnDrawGizmosSelected() + { + Gizmos.color = new Color(0f, 1f, 0f, 0.3f); + Gizmos.DrawWireSphere(transform.position, interactionRadius); + } + } +} diff --git a/unity/Assets/Script/Managers/SceneMonsterManager.cs.meta b/unity/Assets/Light/scripts/SceneInteraction.cs.meta similarity index 76% rename from unity/Assets/Script/Managers/SceneMonsterManager.cs.meta rename to unity/Assets/Light/scripts/SceneInteraction.cs.meta index 63e023f..353b74a 100644 --- a/unity/Assets/Script/Managers/SceneMonsterManager.cs.meta +++ b/unity/Assets/Light/scripts/SceneInteraction.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3c6d37fb46cffe1408e982d6d1b9a190 +guid: DHwc5iOpASgd5J94B1Q5+fBP0YzEOJ7hKYw+A3fa57BhVdIhBdXVDIw= MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/unity/Assets/Light/shaders.meta b/unity/Assets/Light/shaders.meta new file mode 100644 index 0000000..20c180a --- /dev/null +++ b/unity/Assets/Light/shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: XnhL5n7+Ui3TNcYLM45XiTfMXZPZUeGJ7vfNaCpVxxNIsNT2p+90gY0= +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Basics/solid_AB.mat b/unity/Assets/Materials/Materials/Basics/solid_AB.mat deleted file mode 100644 index 532bdc0..0000000 --- a/unity/Assets/Materials/Materials/Basics/solid_AB.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: solid_AB - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON _FADING_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 3 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 1 - - _SoftParticlesFarFadeDistance: 0.2 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 5, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/unity/Assets/Materials/Materials/Basics/solid_AB.mat.meta b/unity/Assets/Materials/Materials/Basics/solid_AB.mat.meta deleted file mode 100644 index 0e2e070..0000000 --- a/unity/Assets/Materials/Materials/Basics/solid_AB.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 072ade2f5404113439ad723bd09909d2 -timeCreated: 1448817852 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Basics/sparkle2_ADD.mat b/unity/Assets/Materials/Materials/Basics/sparkle2_ADD.mat deleted file mode 100644 index ee625de..0000000 --- a/unity/Assets/Materials/Materials/Basics/sparkle2_ADD.mat +++ /dev/null @@ -1,70 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: sparkle2_ADD - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ValidKeywords: - - _ALPHABLEND_ON - m_InvalidKeywords: [] - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - GRABPASS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 81c2794b522bc6a4fa81c3ad4900b9c6, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 1 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 4 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} - m_BuildTextureStacks: [] diff --git a/unity/Assets/Materials/Materials/Basics/sparkle2_ADD.mat.meta b/unity/Assets/Materials/Materials/Basics/sparkle2_ADD.mat.meta deleted file mode 100644 index 4fd8845..0000000 --- a/unity/Assets/Materials/Materials/Basics/sparkle2_ADD.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1fe38ac1a569ae54590f6e2aff679c74 -timeCreated: 1446214052 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Basics/sparkle_AB.mat b/unity/Assets/Materials/Materials/Basics/sparkle_AB.mat deleted file mode 100644 index 9af8f72..0000000 --- a/unity/Assets/Materials/Materials/Basics/sparkle_AB.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: sparkle_AB - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 42c6cbafef4b45440b6e298646aa1ec5, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/unity/Assets/Materials/Materials/Basics/sparkle_AB.mat.meta b/unity/Assets/Materials/Materials/Basics/sparkle_AB.mat.meta deleted file mode 100644 index 8e8202d..0000000 --- a/unity/Assets/Materials/Materials/Basics/sparkle_AB.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4408abb7a30b61a4a9a19dbb5f761d2b -timeCreated: 1455389945 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Basics/sparkle_ADD.mat b/unity/Assets/Materials/Materials/Basics/sparkle_ADD.mat deleted file mode 100644 index 940698b..0000000 --- a/unity/Assets/Materials/Materials/Basics/sparkle_ADD.mat +++ /dev/null @@ -1,70 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: sparkle_ADD - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ValidKeywords: - - _ALPHABLEND_ON - m_InvalidKeywords: [] - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - GRABPASS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 42c6cbafef4b45440b6e298646aa1ec5, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 1 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 4 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} - m_BuildTextureStacks: [] diff --git a/unity/Assets/Materials/Materials/Basics/sparkle_ADD.mat.meta b/unity/Assets/Materials/Materials/Basics/sparkle_ADD.mat.meta deleted file mode 100644 index ef1e586..0000000 --- a/unity/Assets/Materials/Materials/Basics/sparkle_ADD.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a976a44ca501e564bb2adee42f573b4d -timeCreated: 1446213834 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Magic/shield_magic_ADD.mat b/unity/Assets/Materials/Materials/Misc/Magic/shield_magic_ADD.mat deleted file mode 100644 index cc6625d..0000000 --- a/unity/Assets/Materials/Materials/Misc/Magic/shield_magic_ADD.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: shield_magic_ADD - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON _FADING_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: cf85581cb07626b46bceb11ed2b4349e, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 0 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 1 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 4 - - _SoftParticlesEnabled: 1 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 1, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/unity/Assets/Materials/Materials/Misc/Magic/shield_magic_ADD.mat.meta b/unity/Assets/Materials/Materials/Misc/Magic/shield_magic_ADD.mat.meta deleted file mode 100644 index a010871..0000000 --- a/unity/Assets/Materials/Materials/Misc/Magic/shield_magic_ADD.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 139f4c1696c68e54390a5ad669273cab -timeCreated: 1454968819 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Skulls/skull2_AB.mat b/unity/Assets/Materials/Materials/Misc/Skulls/skull2_AB.mat deleted file mode 100644 index 2fd01df..0000000 --- a/unity/Assets/Materials/Materials/Misc/Skulls/skull2_AB.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: skull2_AB - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: bd1c06c9454b93249b1bf03e39dd3587, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/unity/Assets/Materials/Materials/Misc/Skulls/skull2_AB.mat.meta b/unity/Assets/Materials/Materials/Misc/Skulls/skull2_AB.mat.meta deleted file mode 100644 index 878582c..0000000 --- a/unity/Assets/Materials/Materials/Misc/Skulls/skull2_AB.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: bab1fe4217d50234dad4b94da5a2227a -timeCreated: 1529164765 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Skulls/skull3_AB.mat b/unity/Assets/Materials/Materials/Misc/Skulls/skull3_AB.mat deleted file mode 100644 index b29c403..0000000 --- a/unity/Assets/Materials/Materials/Misc/Skulls/skull3_AB.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: skull3_AB - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: ebd9ac46f0a6811498a4195ac10fcfba, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/unity/Assets/Materials/Materials/Misc/Skulls/skull3_AB.mat.meta b/unity/Assets/Materials/Materials/Misc/Skulls/skull3_AB.mat.meta deleted file mode 100644 index eaee147..0000000 --- a/unity/Assets/Materials/Materials/Misc/Skulls/skull3_AB.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 46bc5c80807d4f7469309d4067c72757 -timeCreated: 1529164767 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Skulls/skull4_AB.mat b/unity/Assets/Materials/Materials/Misc/Skulls/skull4_AB.mat deleted file mode 100644 index 5cadbef..0000000 --- a/unity/Assets/Materials/Materials/Misc/Skulls/skull4_AB.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: skull4_AB - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: c550bb0cbd3237e4a88b543a96518cce, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/unity/Assets/Materials/Materials/Misc/Skulls/skull4_AB.mat.meta b/unity/Assets/Materials/Materials/Misc/Skulls/skull4_AB.mat.meta deleted file mode 100644 index 2ee3489..0000000 --- a/unity/Assets/Materials/Materials/Misc/Skulls/skull4_AB.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b32d83f23be6ff846b7e4581eb6eaf9b -timeCreated: 1529164769 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Skulls/skull_evil_AB.mat b/unity/Assets/Materials/Materials/Misc/Skulls/skull_evil_AB.mat deleted file mode 100644 index 5cdba0d..0000000 --- a/unity/Assets/Materials/Materials/Misc/Skulls/skull_evil_AB.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: skull_evil_AB - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 8b30ec1b990cb3b4f961fd47cd31d653, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/unity/Assets/Materials/Materials/Misc/Skulls/skull_evil_AB.mat.meta b/unity/Assets/Materials/Materials/Misc/Skulls/skull_evil_AB.mat.meta deleted file mode 100644 index fa6913c..0000000 --- a/unity/Assets/Materials/Materials/Misc/Skulls/skull_evil_AB.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d9d84bf291981044f8a47027ad0956fc -timeCreated: 1529438016 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Skulls/skull_love_AB.mat b/unity/Assets/Materials/Materials/Misc/Skulls/skull_love_AB.mat deleted file mode 100644 index 9368882..0000000 --- a/unity/Assets/Materials/Materials/Misc/Skulls/skull_love_AB.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: skull_love_AB - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 529f928ce594e144ba6b086b892cfd98, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/unity/Assets/Materials/Materials/Misc/Skulls/skull_love_AB.mat.meta b/unity/Assets/Materials/Materials/Misc/Skulls/skull_love_AB.mat.meta deleted file mode 100644 index 95019b5..0000000 --- a/unity/Assets/Materials/Materials/Misc/Skulls/skull_love_AB.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9508913321a683748b47ef37ee8cd11b -timeCreated: 1529166220 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash01_AB.mat b/unity/Assets/Materials/Materials/Misc/Sword/slash01_AB.mat deleted file mode 100644 index b572b4b..0000000 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash01_AB.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: slash01_AB - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON _FADING_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: d478fb64565f90c4498c4f5a68148fac, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 0 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 1 - - _SoftParticlesFarFadeDistance: 0.2 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 5, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash01_ADD.mat b/unity/Assets/Materials/Materials/Misc/Sword/slash01_ADD.mat deleted file mode 100644 index 02ba36a..0000000 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash01_ADD.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: slash01_ADD - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON _FADING_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: d478fb64565f90c4498c4f5a68148fac, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 0 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 1 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 4 - - _SoftParticlesEnabled: 1 - - _SoftParticlesFarFadeDistance: 0.2 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 5, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash02_AB.mat b/unity/Assets/Materials/Materials/Misc/Sword/slash02_AB.mat deleted file mode 100644 index b13b63a..0000000 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash02_AB.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: slash02_AB - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON _FADING_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 2b5fb67be84c87243835738b6d3828c1, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 0 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 1 - - _SoftParticlesFarFadeDistance: 0.2 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 5, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash02_ADD.mat b/unity/Assets/Materials/Materials/Misc/Sword/slash02_ADD.mat deleted file mode 100644 index 4e3100d..0000000 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash02_ADD.mat +++ /dev/null @@ -1,71 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: slash02_ADD - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ValidKeywords: - - _ALPHABLEND_ON - - _FADING_ON - m_InvalidKeywords: [] - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - GRABPASS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 2b5fb67be84c87243835738b6d3828c1, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 0 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 1 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 4 - - _SoftParticlesEnabled: 1 - - _SoftParticlesFarFadeDistance: 0.2 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 5, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} - m_BuildTextureStacks: [] diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash02_ADD.mat.meta b/unity/Assets/Materials/Materials/Misc/Sword/slash02_ADD.mat.meta deleted file mode 100644 index e9047b4..0000000 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash02_ADD.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d37aef7de1fc0aa42810d38ede4bce9f -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash03_AB.mat b/unity/Assets/Materials/Materials/Misc/Sword/slash03_AB.mat deleted file mode 100644 index fd4e24b..0000000 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash03_AB.mat +++ /dev/null @@ -1,71 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: slash03_AB - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ValidKeywords: - - _ALPHABLEND_ON - - _FADING_ON - m_InvalidKeywords: [] - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - GRABPASS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 0db0d2c7ee689544ab71a3a24818a71c, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 0 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 1 - - _SoftParticlesFarFadeDistance: 0.2 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 5, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} - m_BuildTextureStacks: [] diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash03_AB.mat.meta b/unity/Assets/Materials/Materials/Misc/Sword/slash03_AB.mat.meta deleted file mode 100644 index 2c17573..0000000 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash03_AB.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6e95095aaaabd654b99cc226c305f807 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash03_ADD.mat b/unity/Assets/Materials/Materials/Misc/Sword/slash03_ADD.mat deleted file mode 100644 index a0fdf4d..0000000 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash03_ADD.mat +++ /dev/null @@ -1,71 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: slash03_ADD - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ValidKeywords: - - _ALPHABLEND_ON - - _FADING_ON - m_InvalidKeywords: [] - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - GRABPASS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 0db0d2c7ee689544ab71a3a24818a71c, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 0 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 1 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 4 - - _SoftParticlesEnabled: 1 - - _SoftParticlesFarFadeDistance: 0.2 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 5, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} - m_BuildTextureStacks: [] diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash03_ADD.mat.meta b/unity/Assets/Materials/Materials/Misc/Sword/slash03_ADD.mat.meta deleted file mode 100644 index d04dcf4..0000000 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash03_ADD.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c00f4ebbd07bea24f9aeb168ec407416 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash_circle01_AB.mat b/unity/Assets/Materials/Materials/Misc/Sword/slash_circle01_AB.mat deleted file mode 100644 index ca7b30b..0000000 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash_circle01_AB.mat +++ /dev/null @@ -1,71 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: slash_circle01_AB - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ValidKeywords: - - _ALPHABLEND_ON - - _FADING_ON - m_InvalidKeywords: [] - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - GRABPASS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 1e1561d4b6abcb3439826647480d5a2a, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 0 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 3 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 1 - - _SoftParticlesFarFadeDistance: 0.2 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 5, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} - m_BuildTextureStacks: [] diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash_circle01_AB.mat.meta b/unity/Assets/Materials/Materials/Misc/Sword/slash_circle01_AB.mat.meta deleted file mode 100644 index 2516535..0000000 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash_circle01_AB.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e9edc2d464bda70448a5f572f7c7d5be -timeCreated: 1446058551 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash_circle01_ADD.mat b/unity/Assets/Materials/Materials/Misc/Sword/slash_circle01_ADD.mat deleted file mode 100644 index 610772a..0000000 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash_circle01_ADD.mat +++ /dev/null @@ -1,71 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: slash_circle01_ADD - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ValidKeywords: - - _ALPHABLEND_ON - - _FADING_ON - m_InvalidKeywords: [] - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - GRABPASS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 1e1561d4b6abcb3439826647480d5a2a, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 0 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 1 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 3 - - _LightingEnabled: 0 - - _Mode: 4 - - _SoftParticlesEnabled: 1 - - _SoftParticlesFarFadeDistance: 0.2 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 5, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} - m_BuildTextureStacks: [] diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash_circle01_ADD.mat.meta b/unity/Assets/Materials/Materials/Misc/Sword/slash_circle01_ADD.mat.meta deleted file mode 100644 index 45b5721..0000000 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash_circle01_ADD.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6eb991e61c0314441bebec3f82ff5838 -timeCreated: 1447015813 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash_circle02_ADD.mat b/unity/Assets/Materials/Materials/Misc/Sword/slash_circle02_ADD.mat deleted file mode 100644 index faa3942..0000000 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash_circle02_ADD.mat +++ /dev/null @@ -1,71 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: slash_circle02_ADD - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ValidKeywords: - - _ALPHABLEND_ON - - _FADING_ON - m_InvalidKeywords: [] - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - GRABPASS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 509425df8368aeb49ac69d0a04553f23, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 0 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 1 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 4 - - _SoftParticlesEnabled: 1 - - _SoftParticlesFarFadeDistance: 0.2 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 5, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} - m_BuildTextureStacks: [] diff --git a/unity/Assets/Materials/Materials/Misc/Sword/slash_circle02_ADD.mat.meta b/unity/Assets/Materials/Materials/Misc/Sword/slash_circle02_ADD.mat.meta deleted file mode 100644 index 90f9cc5..0000000 --- a/unity/Assets/Materials/Materials/Misc/Sword/slash_circle02_ADD.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: aada8adea3c6bfc4d928c85123b0c100 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Text/sharp_blue.mat b/unity/Assets/Materials/Materials/Misc/Text/sharp_blue.mat deleted file mode 100644 index 41feddb..0000000 --- a/unity/Assets/Materials/Materials/Misc/Text/sharp_blue.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: sharp_blue - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 6e9049c4381a52441905f0b6f22c50b7, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5019608} diff --git a/unity/Assets/Materials/Materials/Misc/Text/sharp_blue.mat.meta b/unity/Assets/Materials/Materials/Misc/Text/sharp_blue.mat.meta deleted file mode 100644 index 78146ad..0000000 --- a/unity/Assets/Materials/Materials/Misc/Text/sharp_blue.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 666a9773a2ea0cc4c9d0c65884f33431 -timeCreated: 1446473460 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Text/sharp_red.mat b/unity/Assets/Materials/Materials/Misc/Text/sharp_red.mat deleted file mode 100644 index 699d5af..0000000 --- a/unity/Assets/Materials/Materials/Misc/Text/sharp_red.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: sharp_red - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 52dc7fc8504ffa4478509abbf225397b, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/unity/Assets/Materials/Materials/Misc/Text/sharp_red.mat.meta b/unity/Assets/Materials/Materials/Misc/Text/sharp_red.mat.meta deleted file mode 100644 index 21b0e15..0000000 --- a/unity/Assets/Materials/Materials/Misc/Text/sharp_red.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c8c5f86f3a7ff694faf5f45758f045de -timeCreated: 1446473857 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Text/sharp_white.mat b/unity/Assets/Materials/Materials/Misc/Text/sharp_white.mat deleted file mode 100644 index 08c4864..0000000 --- a/unity/Assets/Materials/Materials/Misc/Text/sharp_white.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: sharp_white - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 365b61a3eb5291e49913e6a3fa1e998f, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/unity/Assets/Materials/Materials/Misc/Text/sharp_white.mat.meta b/unity/Assets/Materials/Materials/Misc/Text/sharp_white.mat.meta deleted file mode 100644 index 0944b87..0000000 --- a/unity/Assets/Materials/Materials/Misc/Text/sharp_white.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e90b17dfed84ba44a86ade94a99606d2 -timeCreated: 1553006576 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Text/sharp_yellow.mat b/unity/Assets/Materials/Materials/Misc/Text/sharp_yellow.mat deleted file mode 100644 index 79a4026..0000000 --- a/unity/Assets/Materials/Materials/Misc/Text/sharp_yellow.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: sharp_yellow - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: cba5f2c9bebcb774c892f091de39e67c, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/unity/Assets/Materials/Materials/Misc/Text/sharp_yellow.mat.meta b/unity/Assets/Materials/Materials/Misc/Text/sharp_yellow.mat.meta deleted file mode 100644 index 58499cb..0000000 --- a/unity/Assets/Materials/Materials/Misc/Text/sharp_yellow.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a5fb89a338069534188b51c3abb7a128 -timeCreated: 1448289834 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Text/smack.mat b/unity/Assets/Materials/Materials/Misc/Text/smack.mat deleted file mode 100644 index 6b8b9ef..0000000 --- a/unity/Assets/Materials/Materials/Misc/Text/smack.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: smack - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 2e75d274f07452744b768f19594ad72f, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/unity/Assets/Materials/Materials/Misc/Text/smack.mat.meta b/unity/Assets/Materials/Materials/Misc/Text/smack.mat.meta deleted file mode 100644 index 6601e3d..0000000 --- a/unity/Assets/Materials/Materials/Misc/Text/smack.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a03694b155628b44e94d75e444aa7341 -timeCreated: 1446473866 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Materials/Misc/Unsorted/snowflake_AB.mat b/unity/Assets/Materials/Materials/Misc/Unsorted/snowflake_AB.mat deleted file mode 100644 index 35b1825..0000000 --- a/unity/Assets/Materials/Materials/Misc/Unsorted/snowflake_AB.mat +++ /dev/null @@ -1,65 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: snowflake_AB - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 7a5dd798dffc8604fbac6d07059eadd5, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 10 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _InvFade: 1 - - _LightingEnabled: 0 - - _Mode: 2 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SrcBlend: 5 - - _ZWrite: 0 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/unity/Assets/Materials/Materials/Misc/Unsorted/snowflake_AB.mat.meta b/unity/Assets/Materials/Materials/Misc/Unsorted/snowflake_AB.mat.meta deleted file mode 100644 index de3ed9e..0000000 --- a/unity/Assets/Materials/Materials/Misc/Unsorted/snowflake_AB.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e886185bff410b84fa34b22a2dc8fbb7 -timeCreated: 1520710061 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Emojis/sad.png.meta b/unity/Assets/Materials/Textures/Emojis/sad.png.meta deleted file mode 100644 index b45570d..0000000 --- a/unity/Assets/Materials/Textures/Emojis/sad.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: b50bd2fcc72be4046ad095b737b93af5 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Emojis/sadcry.png b/unity/Assets/Materials/Textures/Emojis/sadcry.png deleted file mode 100644 index 72387aa..0000000 Binary files a/unity/Assets/Materials/Textures/Emojis/sadcry.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Emojis/sadcry.png.meta b/unity/Assets/Materials/Textures/Emojis/sadcry.png.meta deleted file mode 100644 index 0f303c9..0000000 --- a/unity/Assets/Materials/Textures/Emojis/sadcry.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: dede9400561424d4ea636df766dbb13e -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Emojis/scared.png b/unity/Assets/Materials/Textures/Emojis/scared.png deleted file mode 100644 index 399fd2c..0000000 Binary files a/unity/Assets/Materials/Textures/Emojis/scared.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Emojis/scared.png.meta b/unity/Assets/Materials/Textures/Emojis/scared.png.meta deleted file mode 100644 index 087e69f..0000000 --- a/unity/Assets/Materials/Textures/Emojis/scared.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: d235b9bd26b61f144a9efcd9cc34354a -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Emojis/shocked.png b/unity/Assets/Materials/Textures/Emojis/shocked.png deleted file mode 100644 index 9f39315..0000000 Binary files a/unity/Assets/Materials/Textures/Emojis/shocked.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Emojis/shocked.png.meta b/unity/Assets/Materials/Textures/Emojis/shocked.png.meta deleted file mode 100644 index d92f6de..0000000 --- a/unity/Assets/Materials/Textures/Emojis/shocked.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: ea8eac43fda39234b8b3e86a903abfb5 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Emojis/sick.png b/unity/Assets/Materials/Textures/Emojis/sick.png deleted file mode 100644 index f100eb5..0000000 Binary files a/unity/Assets/Materials/Textures/Emojis/sick.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Emojis/sick.png.meta b/unity/Assets/Materials/Textures/Emojis/sick.png.meta deleted file mode 100644 index 02ba634..0000000 --- a/unity/Assets/Materials/Textures/Emojis/sick.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: 7459bff9594199d4fa805edd8690f45e -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Emojis/sick2.png b/unity/Assets/Materials/Textures/Emojis/sick2.png deleted file mode 100644 index 19130d5..0000000 Binary files a/unity/Assets/Materials/Textures/Emojis/sick2.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Emojis/sick2.png.meta b/unity/Assets/Materials/Textures/Emojis/sick2.png.meta deleted file mode 100644 index 9da58b8..0000000 --- a/unity/Assets/Materials/Textures/Emojis/sick2.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: d9a2368c278c6244390f41b1b90d9f16 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Emojis/sick3.png b/unity/Assets/Materials/Textures/Emojis/sick3.png deleted file mode 100644 index fa32072..0000000 Binary files a/unity/Assets/Materials/Textures/Emojis/sick3.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Emojis/sick3.png.meta b/unity/Assets/Materials/Textures/Emojis/sick3.png.meta deleted file mode 100644 index 259c66b..0000000 --- a/unity/Assets/Materials/Textures/Emojis/sick3.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: 8a466238394200140be18244a670ec6a -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Emojis/silly.png b/unity/Assets/Materials/Textures/Emojis/silly.png deleted file mode 100644 index 91e6ee6..0000000 Binary files a/unity/Assets/Materials/Textures/Emojis/silly.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Emojis/silly.png.meta b/unity/Assets/Materials/Textures/Emojis/silly.png.meta deleted file mode 100644 index 9952948..0000000 --- a/unity/Assets/Materials/Textures/Emojis/silly.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: b30825b13c97bf643aee84ebd6554515 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Emojis/sillyhappy.png b/unity/Assets/Materials/Textures/Emojis/sillyhappy.png deleted file mode 100644 index 6d4f6b2..0000000 Binary files a/unity/Assets/Materials/Textures/Emojis/sillyhappy.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Emojis/sillyhappy.png.meta b/unity/Assets/Materials/Textures/Emojis/sillyhappy.png.meta deleted file mode 100644 index 7cff165..0000000 --- a/unity/Assets/Materials/Textures/Emojis/sillyhappy.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: 6886d504329f0714e96c9b0e05a61783 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Emojis/sillysmile.png b/unity/Assets/Materials/Textures/Emojis/sillysmile.png deleted file mode 100644 index e435d46..0000000 Binary files a/unity/Assets/Materials/Textures/Emojis/sillysmile.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Emojis/sillysmile.png.meta b/unity/Assets/Materials/Textures/Emojis/sillysmile.png.meta deleted file mode 100644 index be3643b..0000000 --- a/unity/Assets/Materials/Textures/Emojis/sillysmile.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: 84d869922a971f046bdf8f5346a287b4 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Emojis/sillywink.png b/unity/Assets/Materials/Textures/Emojis/sillywink.png deleted file mode 100644 index 75c72ad..0000000 Binary files a/unity/Assets/Materials/Textures/Emojis/sillywink.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Emojis/sillywink.png.meta b/unity/Assets/Materials/Textures/Emojis/sillywink.png.meta deleted file mode 100644 index 2500c8d..0000000 --- a/unity/Assets/Materials/Textures/Emojis/sillywink.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: c9bbbf1bdbae9624080588e1e0be2b78 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Emojis/sinister.png b/unity/Assets/Materials/Textures/Emojis/sinister.png deleted file mode 100644 index 6fda4f8..0000000 Binary files a/unity/Assets/Materials/Textures/Emojis/sinister.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Emojis/sinister.png.meta b/unity/Assets/Materials/Textures/Emojis/sinister.png.meta deleted file mode 100644 index 002a8ed..0000000 --- a/unity/Assets/Materials/Textures/Emojis/sinister.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: 6d52fe2e6f67dbd4c848cb2fcd19683f -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Emojis/sleep.png b/unity/Assets/Materials/Textures/Emojis/sleep.png deleted file mode 100644 index 2c6e596..0000000 Binary files a/unity/Assets/Materials/Textures/Emojis/sleep.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Emojis/sleep.png.meta b/unity/Assets/Materials/Textures/Emojis/sleep.png.meta deleted file mode 100644 index ed3c44f..0000000 --- a/unity/Assets/Materials/Textures/Emojis/sleep.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: 90a56fbdc69e92241ae44f6e7ae3f9f6 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Text/sharp_blue.png b/unity/Assets/Materials/Textures/Text/sharp_blue.png deleted file mode 100644 index a3ffd73..0000000 Binary files a/unity/Assets/Materials/Textures/Text/sharp_blue.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Text/sharp_blue.png.meta b/unity/Assets/Materials/Textures/Text/sharp_blue.png.meta deleted file mode 100644 index 14cd7fc..0000000 --- a/unity/Assets/Materials/Textures/Text/sharp_blue.png.meta +++ /dev/null @@ -1,57 +0,0 @@ -fileFormatVersion: 2 -guid: 6e9049c4381a52441905f0b6f22c50b7 -timeCreated: 1446473434 -licenseType: Store -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: 0 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Text/sharp_green.png b/unity/Assets/Materials/Textures/Text/sharp_green.png deleted file mode 100644 index 78cd7b9..0000000 Binary files a/unity/Assets/Materials/Textures/Text/sharp_green.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Text/sharp_green.png.meta b/unity/Assets/Materials/Textures/Text/sharp_green.png.meta deleted file mode 100644 index f545060..0000000 --- a/unity/Assets/Materials/Textures/Text/sharp_green.png.meta +++ /dev/null @@ -1,57 +0,0 @@ -fileFormatVersion: 2 -guid: b7cf90a528b15844b89589ffc27e113d -timeCreated: 1446473435 -licenseType: Store -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Text/sharp_red.png b/unity/Assets/Materials/Textures/Text/sharp_red.png deleted file mode 100644 index b95b999..0000000 Binary files a/unity/Assets/Materials/Textures/Text/sharp_red.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Text/sharp_red.png.meta b/unity/Assets/Materials/Textures/Text/sharp_red.png.meta deleted file mode 100644 index d05cf8e..0000000 --- a/unity/Assets/Materials/Textures/Text/sharp_red.png.meta +++ /dev/null @@ -1,57 +0,0 @@ -fileFormatVersion: 2 -guid: 52dc7fc8504ffa4478509abbf225397b -timeCreated: 1446473433 -licenseType: Store -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Text/sharp_white.png b/unity/Assets/Materials/Textures/Text/sharp_white.png deleted file mode 100644 index 7109cf7..0000000 Binary files a/unity/Assets/Materials/Textures/Text/sharp_white.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Text/sharp_white.png.meta b/unity/Assets/Materials/Textures/Text/sharp_white.png.meta deleted file mode 100644 index f06c993..0000000 --- a/unity/Assets/Materials/Textures/Text/sharp_white.png.meta +++ /dev/null @@ -1,57 +0,0 @@ -fileFormatVersion: 2 -guid: 365b61a3eb5291e49913e6a3fa1e998f -timeCreated: 1553006534 -licenseType: Store -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Text/sharp_yellow.png b/unity/Assets/Materials/Textures/Text/sharp_yellow.png deleted file mode 100644 index 5c1d6d9..0000000 Binary files a/unity/Assets/Materials/Textures/Text/sharp_yellow.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Text/sharp_yellow.png.meta b/unity/Assets/Materials/Textures/Text/sharp_yellow.png.meta deleted file mode 100644 index c9dcd0c..0000000 --- a/unity/Assets/Materials/Textures/Text/sharp_yellow.png.meta +++ /dev/null @@ -1,57 +0,0 @@ -fileFormatVersion: 2 -guid: cba5f2c9bebcb774c892f091de39e67c -timeCreated: 1446473435 -licenseType: Store -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/Text/smack.png b/unity/Assets/Materials/Textures/Text/smack.png deleted file mode 100644 index 5142169..0000000 Binary files a/unity/Assets/Materials/Textures/Text/smack.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/Text/smack.png.meta b/unity/Assets/Materials/Textures/Text/smack.png.meta deleted file mode 100644 index 61f830e..0000000 --- a/unity/Assets/Materials/Textures/Text/smack.png.meta +++ /dev/null @@ -1,57 +0,0 @@ -fileFormatVersion: 2 -guid: 2e75d274f07452744b768f19594ad72f -timeCreated: 1446473433 -licenseType: Store -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/shield_magic.png b/unity/Assets/Materials/Textures/shield_magic.png deleted file mode 100644 index 575bc4b..0000000 Binary files a/unity/Assets/Materials/Textures/shield_magic.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/shield_magic.png.meta b/unity/Assets/Materials/Textures/shield_magic.png.meta deleted file mode 100644 index 403de16..0000000 --- a/unity/Assets/Materials/Textures/shield_magic.png.meta +++ /dev/null @@ -1,57 +0,0 @@ -fileFormatVersion: 2 -guid: cf85581cb07626b46bceb11ed2b4349e -timeCreated: 1454968809 -licenseType: Store -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/skull2.png b/unity/Assets/Materials/Textures/skull2.png deleted file mode 100644 index d12e7b2..0000000 Binary files a/unity/Assets/Materials/Textures/skull2.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/skull2.png.meta b/unity/Assets/Materials/Textures/skull2.png.meta deleted file mode 100644 index f89bc42..0000000 --- a/unity/Assets/Materials/Textures/skull2.png.meta +++ /dev/null @@ -1,57 +0,0 @@ -fileFormatVersion: 2 -guid: bd1c06c9454b93249b1bf03e39dd3587 -timeCreated: 1529164709 -licenseType: Store -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/skull3.png b/unity/Assets/Materials/Textures/skull3.png deleted file mode 100644 index 644a8ea..0000000 Binary files a/unity/Assets/Materials/Textures/skull3.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/skull3.png.meta b/unity/Assets/Materials/Textures/skull3.png.meta deleted file mode 100644 index cfd1adc..0000000 --- a/unity/Assets/Materials/Textures/skull3.png.meta +++ /dev/null @@ -1,57 +0,0 @@ -fileFormatVersion: 2 -guid: ebd9ac46f0a6811498a4195ac10fcfba -timeCreated: 1529164709 -licenseType: Store -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/skull4.png b/unity/Assets/Materials/Textures/skull4.png deleted file mode 100644 index 658ae0b..0000000 Binary files a/unity/Assets/Materials/Textures/skull4.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/skull4.png.meta b/unity/Assets/Materials/Textures/skull4.png.meta deleted file mode 100644 index 6f79b00..0000000 --- a/unity/Assets/Materials/Textures/skull4.png.meta +++ /dev/null @@ -1,57 +0,0 @@ -fileFormatVersion: 2 -guid: c550bb0cbd3237e4a88b543a96518cce -timeCreated: 1529164709 -licenseType: Store -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/skull5.png b/unity/Assets/Materials/Textures/skull5.png deleted file mode 100644 index b1256fa..0000000 Binary files a/unity/Assets/Materials/Textures/skull5.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/skull5.png.meta b/unity/Assets/Materials/Textures/skull5.png.meta deleted file mode 100644 index 3306062..0000000 --- a/unity/Assets/Materials/Textures/skull5.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: 95ec1a446ccdf444f87596eaf078fb9b -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/skull_evil.png b/unity/Assets/Materials/Textures/skull_evil.png deleted file mode 100644 index 88c26d4..0000000 Binary files a/unity/Assets/Materials/Textures/skull_evil.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/skull_evil.png.meta b/unity/Assets/Materials/Textures/skull_evil.png.meta deleted file mode 100644 index 8f17a97..0000000 --- a/unity/Assets/Materials/Textures/skull_evil.png.meta +++ /dev/null @@ -1,57 +0,0 @@ -fileFormatVersion: 2 -guid: 8b30ec1b990cb3b4f961fd47cd31d653 -timeCreated: 1529437043 -licenseType: Store -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/skull_love.png b/unity/Assets/Materials/Textures/skull_love.png deleted file mode 100644 index 1e137c4..0000000 Binary files a/unity/Assets/Materials/Textures/skull_love.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/skull_love.png.meta b/unity/Assets/Materials/Textures/skull_love.png.meta deleted file mode 100644 index 8583b53..0000000 --- a/unity/Assets/Materials/Textures/skull_love.png.meta +++ /dev/null @@ -1,57 +0,0 @@ -fileFormatVersion: 2 -guid: 529f928ce594e144ba6b086b892cfd98 -timeCreated: 1529166212 -licenseType: Store -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/slash.png b/unity/Assets/Materials/Textures/slash.png deleted file mode 100644 index da617a6..0000000 Binary files a/unity/Assets/Materials/Textures/slash.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/slash01.png b/unity/Assets/Materials/Textures/slash01.png deleted file mode 100644 index 8b4991a..0000000 Binary files a/unity/Assets/Materials/Textures/slash01.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/slash01.png.meta b/unity/Assets/Materials/Textures/slash01.png.meta deleted file mode 100644 index 60568ae..0000000 --- a/unity/Assets/Materials/Textures/slash01.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: d478fb64565f90c4498c4f5a68148fac -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/slash02.png b/unity/Assets/Materials/Textures/slash02.png deleted file mode 100644 index 35f4daa..0000000 Binary files a/unity/Assets/Materials/Textures/slash02.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/slash02.png.meta b/unity/Assets/Materials/Textures/slash02.png.meta deleted file mode 100644 index 1d14a6d..0000000 --- a/unity/Assets/Materials/Textures/slash02.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: 2b5fb67be84c87243835738b6d3828c1 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/slash03.png b/unity/Assets/Materials/Textures/slash03.png deleted file mode 100644 index f2ae5e7..0000000 Binary files a/unity/Assets/Materials/Textures/slash03.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/slash03.png.meta b/unity/Assets/Materials/Textures/slash03.png.meta deleted file mode 100644 index 7f8324c..0000000 --- a/unity/Assets/Materials/Textures/slash03.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: 0db0d2c7ee689544ab71a3a24818a71c -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/slash_circle01.png b/unity/Assets/Materials/Textures/slash_circle01.png deleted file mode 100644 index 956c872..0000000 Binary files a/unity/Assets/Materials/Textures/slash_circle01.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/slash_circle01.png.meta b/unity/Assets/Materials/Textures/slash_circle01.png.meta deleted file mode 100644 index 494161d..0000000 --- a/unity/Assets/Materials/Textures/slash_circle01.png.meta +++ /dev/null @@ -1,57 +0,0 @@ -fileFormatVersion: 2 -guid: 1e1561d4b6abcb3439826647480d5a2a -timeCreated: 1446058546 -licenseType: Store -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: 1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/slash_circle01_soft.png b/unity/Assets/Materials/Textures/slash_circle01_soft.png deleted file mode 100644 index 0b68b3e..0000000 Binary files a/unity/Assets/Materials/Textures/slash_circle01_soft.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/slash_circle01_soft.png.meta b/unity/Assets/Materials/Textures/slash_circle01_soft.png.meta deleted file mode 100644 index bba94f7..0000000 --- a/unity/Assets/Materials/Textures/slash_circle01_soft.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: 71fbd3c088c69ba41aa0cf637312af49 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/slash_circle02.png b/unity/Assets/Materials/Textures/slash_circle02.png deleted file mode 100644 index 04bbee7..0000000 Binary files a/unity/Assets/Materials/Textures/slash_circle02.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/slash_circle02.png.meta b/unity/Assets/Materials/Textures/slash_circle02.png.meta deleted file mode 100644 index 473c570..0000000 --- a/unity/Assets/Materials/Textures/slash_circle02.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: 509425df8368aeb49ac69d0a04553f23 -TextureImporter: - fileIDToRecycleName: {} - externalObjects: {} - serializedVersion: 4 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - platformSettings: - - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/snowflake.png b/unity/Assets/Materials/Textures/snowflake.png deleted file mode 100644 index 782db29..0000000 Binary files a/unity/Assets/Materials/Textures/snowflake.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/snowflake.png.meta b/unity/Assets/Materials/Textures/snowflake.png.meta deleted file mode 100644 index ba146c7..0000000 --- a/unity/Assets/Materials/Textures/snowflake.png.meta +++ /dev/null @@ -1,57 +0,0 @@ -fileFormatVersion: 2 -guid: 7a5dd798dffc8604fbac6d07059eadd5 -timeCreated: 1520710043 -licenseType: Store -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 7 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/sparkle.png b/unity/Assets/Materials/Textures/sparkle.png deleted file mode 100644 index 2d6013d..0000000 Binary files a/unity/Assets/Materials/Textures/sparkle.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/sparkle.png.meta b/unity/Assets/Materials/Textures/sparkle.png.meta deleted file mode 100644 index 50aa088..0000000 --- a/unity/Assets/Materials/Textures/sparkle.png.meta +++ /dev/null @@ -1,57 +0,0 @@ -fileFormatVersion: 2 -guid: 42c6cbafef4b45440b6e298646aa1ec5 -timeCreated: 1446213826 -licenseType: Store -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Materials/Textures/sparkle2.png b/unity/Assets/Materials/Textures/sparkle2.png deleted file mode 100644 index 863be2f..0000000 Binary files a/unity/Assets/Materials/Textures/sparkle2.png and /dev/null differ diff --git a/unity/Assets/Materials/Textures/sparkle2.png.meta b/unity/Assets/Materials/Textures/sparkle2.png.meta deleted file mode 100644 index 5907aba..0000000 --- a/unity/Assets/Materials/Textures/sparkle2.png.meta +++ /dev/null @@ -1,57 +0,0 @@ -fileFormatVersion: 2 -guid: 81c2794b522bc6a4fa81c3ad4900b9c6 -timeCreated: 1446213826 -licenseType: Store -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - rGBM: 0 - compressionQuality: 50 - allowsAlphaSplitting: 0 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - outline: [] - spritePackingTag: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Asset Types/SkeletonDataAssetInspector.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Asset Types/SkeletonDataAssetInspector.cs deleted file mode 100644 index 5cb6eca..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Asset Types/SkeletonDataAssetInspector.cs +++ /dev/null @@ -1,1247 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#define SPINE_SKELETON_MECANIM - - #if (UNITY_2017_4 || UNITY_2018_1_OR_NEWER ) - #define SPINE_UNITY_2018_PREVIEW_API - #endif - - -using System; -using System.Reflection; -using System.Collections.Generic; -using UnityEditor; -using UnityEngine; - -using CompatibilityProblemInfo = Spine.Unity.SkeletonDataCompatibility.CompatibilityProblemInfo; - -namespace Spine.Unity.Editor { - using Event = UnityEngine.Event; - using Icons = SpineEditorUtilities.Icons; - using Animation = Spine.Animation; - - [CustomEditor(typeof(SkeletonDataAsset)), CanEditMultipleObjects] - public class SkeletonDataAssetInspector : UnityEditor.Editor { - internal static bool showAnimationStateData = true; - internal static bool showAnimationList = true; - internal static bool showSlotList = false; - internal static bool showAttachments = false; - - SerializedProperty atlasAssets, skeletonJSON, scale, fromAnimation, toAnimation, duration, defaultMix; - SerializedProperty skeletonDataModifiers; - SerializedProperty blendModeMaterials; - #if SPINE_TK2D - SerializedProperty spriteCollection; - #endif - - #if SPINE_SKELETON_MECANIM - static bool isMecanimExpanded = false; - SerializedProperty controller; - #endif - - SkeletonDataAsset targetSkeletonDataAsset; - SkeletonData targetSkeletonData; - - readonly List warnings = new List(); - CompatibilityProblemInfo compatibilityProblemInfo = null; - readonly SkeletonInspectorPreview preview = new SkeletonInspectorPreview(); - - GUIStyle activePlayButtonStyle, idlePlayButtonStyle; - readonly GUIContent DefaultMixLabel = new GUIContent("Default Mix Duration", "Sets 'SkeletonDataAsset.defaultMix' in the asset and 'AnimationState.data.defaultMix' at runtime load time."); - - string TargetAssetGUID { get { return AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(targetSkeletonDataAsset)); } } - string LastSkinKey { get { return TargetAssetGUID + "_lastSkin"; } } - string LastSkinName { get { return EditorPrefs.GetString(LastSkinKey, ""); } } - - void OnEnable () { - InitializeEditor(); - } - - void OnDestroy () { - HandleOnDestroyPreview(); - AppDomain.CurrentDomain.DomainUnload -= OnDomainUnload; - EditorApplication.update -= preview.HandleEditorUpdate; - } - - private void OnDomainUnload (object sender, EventArgs e) { - OnDestroy(); - } - - public void UpdateSkeletonData () { - preview.Clear(); - InitializeEditor(); - if (targetSkeletonDataAsset) - EditorUtility.SetDirty(targetSkeletonDataAsset); - } - - void InitializeEditor () { - SpineEditorUtilities.ConfirmInitialization(); - targetSkeletonDataAsset = (SkeletonDataAsset)target; - - bool newAtlasAssets = atlasAssets == null; - if (newAtlasAssets) atlasAssets = serializedObject.FindProperty("atlasAssets"); - skeletonJSON = serializedObject.FindProperty("skeletonJSON"); - scale = serializedObject.FindProperty("scale"); - fromAnimation = serializedObject.FindProperty("fromAnimation"); - toAnimation = serializedObject.FindProperty("toAnimation"); - duration = serializedObject.FindProperty("duration"); - defaultMix = serializedObject.FindProperty("defaultMix"); - - skeletonDataModifiers = serializedObject.FindProperty("skeletonDataModifiers"); - blendModeMaterials = serializedObject.FindProperty("blendModeMaterials"); - - #if SPINE_SKELETON_MECANIM - controller = serializedObject.FindProperty("controller"); - #endif - - #if SPINE_TK2D - if (newAtlasAssets) atlasAssets.isExpanded = false; - spriteCollection = serializedObject.FindProperty("spriteCollection"); - #else - // Analysis disable once ConvertIfToOrExpression - if (newAtlasAssets) atlasAssets.isExpanded = true; - #endif - - // This handles the case where the managed editor assembly is unloaded before recompilation when code changes. - AppDomain.CurrentDomain.DomainUnload -= OnDomainUnload; - AppDomain.CurrentDomain.DomainUnload += OnDomainUnload; - - EditorApplication.update -= preview.HandleEditorUpdate; - EditorApplication.update += preview.HandleEditorUpdate; - preview.OnSkinChanged -= HandlePreviewSkinChanged; - preview.OnSkinChanged += HandlePreviewSkinChanged; - - PopulateWarnings(); - if (targetSkeletonDataAsset.skeletonJSON == null) { - targetSkeletonData = null; - return; - } - - targetSkeletonData = NoProblems() ? targetSkeletonDataAsset.GetSkeletonData(false) : null; - - if (targetSkeletonData != null && NoProblems()) { - preview.Initialize(this.Repaint, targetSkeletonDataAsset, this.LastSkinName); - } - - } - - void Clear () { - preview.Clear(); - targetSkeletonDataAsset.Clear(); - targetSkeletonData = null; - } - - override public void OnInspectorGUI () { - // Multi-Editing - if (serializedObject.isEditingMultipleObjects) { - OnInspectorGUIMulti(); - return; - } - - { // Lazy initialization because accessing EditorStyles values in OnEnable during a recompile causes UnityEditor to throw null exceptions. (Unity 5.3.5) - idlePlayButtonStyle = idlePlayButtonStyle ?? new GUIStyle(EditorStyles.miniButton); - if (activePlayButtonStyle == null) { - activePlayButtonStyle = new GUIStyle(idlePlayButtonStyle); - activePlayButtonStyle.normal.textColor = Color.red; - } - } - - serializedObject.Update(); - - // Header - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent(target.name + " (SkeletonDataAsset)", Icons.spine), EditorStyles.whiteLargeLabel); - if (targetSkeletonData != null) EditorGUILayout.LabelField("(Drag and Drop to instantiate.)", EditorStyles.miniLabel); - - // Main Serialized Fields - using (var changeCheck = new EditorGUI.ChangeCheckScope()) { - using (new SpineInspectorUtility.BoxScope()) - DrawSkeletonDataFields(); - - if (compatibilityProblemInfo != null) - return; - - using (new SpineInspectorUtility.BoxScope()) { - DrawAtlasAssetsFields(); - HandleAtlasAssetsNulls(); - } - - if (changeCheck.changed) { - if (serializedObject.ApplyModifiedProperties()) { - this.Clear(); - this.InitializeEditor(); - - if (SpineEditorUtilities.Preferences.autoReloadSceneSkeletons) - SpineEditorUtilities.DataReloadHandler.ReloadSceneSkeletonComponents(targetSkeletonDataAsset); - - return; - } - } - } - - // Unity Quirk: Some code depends on valid preview. If preview is initialized elsewhere, this can cause contents to change between Layout and Repaint events, causing GUILayout control count errors. - if (NoProblems()) - preview.Initialize(this.Repaint, targetSkeletonDataAsset, this.LastSkinName); - - if (targetSkeletonData != null) { - GUILayout.Space(20f); - - using (new SpineInspectorUtility.BoxScope(false)) { - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Mix Settings", Icons.animationRoot), EditorStyles.boldLabel); - DrawAnimationStateInfo(); - EditorGUILayout.Space(); - } - - EditorGUILayout.LabelField("Preview", EditorStyles.boldLabel); - DrawAnimationList(); - if (targetSkeletonData.Animations.Count > 0) { - const string AnimationReferenceButtonText = "Create Animation Reference Assets"; - const string AnimationReferenceTooltipText = "AnimationReferenceAsset acts as Unity asset for a reference to a Spine.Animation. This can be used in inspectors.\n\nIt serializes a reference to a SkeletonDataAsset and an animationName.\n\nAt runtime, a reference to its Spine.Animation is loaded and cached into the object to be used as needed. This skips the need to find and cache animation references in individual MonoBehaviours."; - if (GUILayout.Button(SpineInspectorUtility.TempContent(AnimationReferenceButtonText, Icons.animationRoot, AnimationReferenceTooltipText), GUILayout.Width(250), GUILayout.Height(26))) { - CreateAnimationReferenceAssets(); - } - } - EditorGUILayout.Space(); - DrawSlotList(); - EditorGUILayout.Space(); - - DrawUnityTools(); - - } else { - #if !SPINE_TK2D - // Draw Reimport Button - using (new EditorGUI.DisabledGroupScope(skeletonJSON.objectReferenceValue == null)) { - if (GUILayout.Button(SpineInspectorUtility.TempContent("Attempt Reimport", Icons.warning))) - DoReimport(); - } - #else - EditorGUILayout.HelpBox("Couldn't load SkeletonData.", MessageType.Error); - #endif - - DrawWarningList(); - } - - if (!Application.isPlaying) - serializedObject.ApplyModifiedProperties(); - } - - void CreateAnimationReferenceAssets () { - const string AssetFolderName = "ReferenceAssets"; - string parentFolder = System.IO.Path.GetDirectoryName(AssetDatabase.GetAssetPath(targetSkeletonDataAsset)); - string dataPath = parentFolder + "/" + AssetFolderName; - if (!AssetDatabase.IsValidFolder(dataPath)) { - AssetDatabase.CreateFolder(parentFolder, AssetFolderName); - } - - FieldInfo nameField = typeof(AnimationReferenceAsset).GetField("animationName", BindingFlags.NonPublic | BindingFlags.Instance); - FieldInfo skeletonDataAssetField = typeof(AnimationReferenceAsset).GetField("skeletonDataAsset", BindingFlags.NonPublic | BindingFlags.Instance); - foreach (var animation in targetSkeletonData.Animations) { - string assetPath = string.Format("{0}/{1}.asset", dataPath, AssetUtility.GetPathSafeName(animation.Name)); - AnimationReferenceAsset existingAsset = AssetDatabase.LoadAssetAtPath(assetPath); - if (existingAsset == null) { - AnimationReferenceAsset newAsset = ScriptableObject.CreateInstance(); - skeletonDataAssetField.SetValue(newAsset, targetSkeletonDataAsset); - nameField.SetValue(newAsset, animation.Name); - AssetDatabase.CreateAsset(newAsset, assetPath); - } - } - - var folderObject = AssetDatabase.LoadAssetAtPath(dataPath, typeof(UnityEngine.Object)); - if (folderObject != null) { - Selection.activeObject = folderObject; - EditorGUIUtility.PingObject(folderObject); - } - } - - void OnInspectorGUIMulti () { - - // Skeleton data file field. - using (new SpineInspectorUtility.BoxScope()) { - EditorGUILayout.LabelField("SkeletonData", EditorStyles.boldLabel); - EditorGUILayout.PropertyField(skeletonJSON, SpineInspectorUtility.TempContent(skeletonJSON.displayName, Icons.spine)); - EditorGUILayout.DelayedFloatField(scale); //EditorGUILayout.PropertyField(scale); - EditorGUILayout.Space(); - EditorGUILayout.PropertyField(skeletonDataModifiers, true); - - DrawBlendModeMaterialProperties(); - } - - // Texture source field. - using (new SpineInspectorUtility.BoxScope()) { - EditorGUILayout.LabelField("Atlas", EditorStyles.boldLabel); - #if !SPINE_TK2D - EditorGUILayout.PropertyField(atlasAssets, true); - #else - using (new EditorGUI.DisabledGroupScope(spriteCollection.objectReferenceValue != null)) { - EditorGUILayout.PropertyField(atlasAssets, true); - } - EditorGUILayout.LabelField("spine-tk2d", EditorStyles.boldLabel); - EditorGUILayout.PropertyField(spriteCollection, true); - #endif - } - - // Mix settings. - using (new SpineInspectorUtility.BoxScope()) { - EditorGUILayout.LabelField("Mix Settings", EditorStyles.boldLabel); - SpineInspectorUtility.PropertyFieldWideLabel(defaultMix, DefaultMixLabel, 160); - EditorGUILayout.Space(); - } - - } - - void DrawBlendModeMaterialProperties () { - if (skeletonDataModifiers.arraySize > 0) { - EditorGUILayout.BeginHorizontal(GUILayout.Height(EditorGUIUtility.singleLineHeight + 5)); - EditorGUILayout.PrefixLabel("Blend Modes"); - if (GUILayout.Button(new GUIContent("Upgrade", "Upgrade BlendModeMaterialAsset to built-in BlendModeMaterials."), EditorStyles.miniButton, GUILayout.Width(65f))) { - foreach (SkeletonDataAsset skeletonData in targets) { - BlendModeMaterialsUtility.UpgradeBlendModeMaterials(skeletonData); - } - } - EditorGUILayout.EndHorizontal(); - } - EditorGUI.BeginChangeCheck(); - EditorGUILayout.PropertyField(blendModeMaterials, true); - if (EditorGUI.EndChangeCheck()) { - serializedObject.ApplyModifiedProperties(); - foreach (SkeletonDataAsset skeletonData in targets) { - BlendModeMaterialsUtility.UpdateBlendModeMaterials(skeletonData); - } - } - } - - void DrawSkeletonDataFields () { - using (new EditorGUILayout.HorizontalScope()) { - EditorGUILayout.LabelField("SkeletonData", EditorStyles.boldLabel); - if (targetSkeletonData != null) { - var sd = targetSkeletonData; - string m = string.Format("{8} - {0} {1}\nBones: {2}\nConstraints: \n {5} IK \n {6} Path \n {7} Transform\n\nSlots: {3}\nSkins: {4}\n\nAnimations: {9}", - sd.Version, string.IsNullOrEmpty(sd.Version) ? "" : "export ", sd.Bones.Count, sd.Slots.Count, sd.Skins.Count, sd.IkConstraints.Count, sd.PathConstraints.Count, sd.TransformConstraints.Count, skeletonJSON.objectReferenceValue.name, sd.Animations.Count); - EditorGUILayout.LabelField(GUIContent.none, new GUIContent(Icons.info, m), GUILayout.Width(30f)); - } - } - EditorGUILayout.PropertyField(skeletonJSON, SpineInspectorUtility.TempContent(skeletonJSON.displayName, Icons.spine)); - - if (compatibilityProblemInfo != null) { - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent(compatibilityProblemInfo.DescriptionString(), Icons.warning), GUILayout.Height(52)); - return; - } - - EditorGUILayout.DelayedFloatField(scale); //EditorGUILayout.PropertyField(scale); - EditorGUILayout.Space(); - EditorGUILayout.PropertyField(skeletonDataModifiers, true); - - DrawBlendModeMaterialProperties(); - } - - void DrawAtlasAssetsFields () { - EditorGUILayout.LabelField("Atlas", EditorStyles.boldLabel); - #if !SPINE_TK2D - EditorGUILayout.PropertyField(atlasAssets, true); - #else - using (new EditorGUI.DisabledGroupScope(spriteCollection.objectReferenceValue != null)) { - EditorGUILayout.PropertyField(atlasAssets, true); - } - EditorGUILayout.LabelField("spine-tk2d", EditorStyles.boldLabel); - EditorGUILayout.PropertyField(spriteCollection, true); - #endif - - if (atlasAssets.arraySize == 0) - EditorGUILayout.HelpBox("AtlasAssets array is empty. Skeleton's attachments will load without being mapped to images.", MessageType.Info); - } - - void HandleAtlasAssetsNulls () { - bool hasNulls = false; - foreach (var a in targetSkeletonDataAsset.atlasAssets) { - if (a == null) { - hasNulls = true; - break; - } - } - if (hasNulls) { - if (targetSkeletonDataAsset.atlasAssets.Length == 1) { - EditorGUILayout.HelpBox("Atlas array cannot have null entries!", MessageType.None); - } - else { - EditorGUILayout.HelpBox("Atlas array should not have null entries!", MessageType.Error); - if (SpineInspectorUtility.CenteredButton(SpineInspectorUtility.TempContent("Remove null entries"))) { - var trimmedAtlasAssets = new List(); - foreach (var a in targetSkeletonDataAsset.atlasAssets) { - if (a != null) - trimmedAtlasAssets.Add(a); - } - targetSkeletonDataAsset.atlasAssets = trimmedAtlasAssets.ToArray(); - serializedObject.Update(); - } - } - } - } - - void DrawAnimationStateInfo () { - using (new SpineInspectorUtility.IndentScope()) - showAnimationStateData = EditorGUILayout.Foldout(showAnimationStateData, "Animation State Data"); - - if (!showAnimationStateData) - return; - - using (var cc = new EditorGUI.ChangeCheckScope()) { - using (new SpineInspectorUtility.IndentScope()) - SpineInspectorUtility.PropertyFieldWideLabel(defaultMix, DefaultMixLabel, 160); - - - if (fromAnimation.arraySize > 0) { - using (new SpineInspectorUtility.IndentScope()) { - EditorGUILayout.LabelField("Custom Mix Durations", EditorStyles.boldLabel); - } - - for (int i = 0; i < fromAnimation.arraySize; i++) { - SerializedProperty from = fromAnimation.GetArrayElementAtIndex(i); - SerializedProperty to = toAnimation.GetArrayElementAtIndex(i); - SerializedProperty durationProp = duration.GetArrayElementAtIndex(i); - using (new EditorGUILayout.HorizontalScope()) { - GUILayout.Space(16f); // Space instead of EditorGUIUtility.indentLevel. indentLevel will add the space on every field. - EditorGUILayout.PropertyField(from, GUIContent.none); - //EditorGUILayout.LabelField(">", EditorStyles.miniLabel, GUILayout.Width(9f)); - EditorGUILayout.PropertyField(to, GUIContent.none); - //GUILayout.Space(5f); - durationProp.floatValue = EditorGUILayout.FloatField(durationProp.floatValue, GUILayout.MinWidth(25f), GUILayout.MaxWidth(60f)); - if (GUILayout.Button("Delete", EditorStyles.miniButton)) { - duration.DeleteArrayElementAtIndex(i); - toAnimation.DeleteArrayElementAtIndex(i); - fromAnimation.DeleteArrayElementAtIndex(i); - } - } - } - } - - using (new EditorGUILayout.HorizontalScope()) { - EditorGUILayout.Space(); - if (GUILayout.Button("Add Custom Mix")) { - duration.arraySize++; - toAnimation.arraySize++; - fromAnimation.arraySize++; - } - EditorGUILayout.Space(); - } - - if (cc.changed) { - targetSkeletonDataAsset.FillStateData(); - EditorUtility.SetDirty(targetSkeletonDataAsset); - serializedObject.ApplyModifiedProperties(); - } - } - } - - void DrawAnimationList () { - showAnimationList = EditorGUILayout.Foldout(showAnimationList, SpineInspectorUtility.TempContent(string.Format("Animations [{0}]", targetSkeletonData.Animations.Count), Icons.animationRoot)); - if (!showAnimationList) - return; - - bool isPreviewWindowOpen = preview.IsValid; - - if (isPreviewWindowOpen) { - if (GUILayout.Button(SpineInspectorUtility.TempContent("Setup Pose", Icons.skeleton), GUILayout.Width(105), GUILayout.Height(18))) { - preview.ClearAnimationSetupPose(); - preview.RefreshOnNextUpdate(); - } - } else { - EditorGUILayout.HelpBox("Animations can be previewed if you expand the Preview window below.", MessageType.Info); - } - - EditorGUILayout.LabelField("Name", " Duration"); - //bool nonessential = targetSkeletonData.ImagesPath != null; // Currently the only way to determine if skeleton data has nonessential data. (Spine 3.6) - //float fps = targetSkeletonData.Fps; - //if (nonessential && fps == 0) fps = 30; - - var activeTrack = preview.ActiveTrack; - foreach (Animation animation in targetSkeletonData.Animations) { - using (new GUILayout.HorizontalScope()) { - if (isPreviewWindowOpen) { - bool active = activeTrack != null && activeTrack.Animation == animation; - //bool sameAndPlaying = active && activeTrack.TimeScale > 0f; - if (GUILayout.Button("\u25BA", active ? activePlayButtonStyle : idlePlayButtonStyle, GUILayout.Width(24))) { - preview.PlayPauseAnimation(animation.Name, true); - activeTrack = preview.ActiveTrack; - } - } else { - GUILayout.Label("-", GUILayout.Width(24)); - } - //string frameCountString = (fps > 0) ? ("(" + (Mathf.RoundToInt(animation.Duration * fps)) + ")").PadLeft(12, ' ') : string.Empty; - //EditorGUILayout.LabelField(new GUIContent(animation.Name, Icons.animation), SpineInspectorUtility.TempContent(animation.Duration.ToString("f3") + "s" + frameCountString)); - string durationString = animation.Duration.ToString("f3"); - EditorGUILayout.LabelField(new GUIContent(animation.Name, Icons.animation), SpineInspectorUtility.TempContent(durationString + "s", tooltip: string.Format("{0} seconds\n{1} timelines", durationString, animation.Timelines.Count))); - } - } - } - - void DrawSlotList () { - showSlotList = EditorGUILayout.Foldout(showSlotList, SpineInspectorUtility.TempContent("Slots", Icons.slotRoot)); - - if (!showSlotList) return; - if (!preview.IsValid) return; - - var defaultSkin = targetSkeletonData.DefaultSkin; - Skin skin = preview.Skeleton.Skin ?? defaultSkin; - - using (new SpineInspectorUtility.IndentScope()) { - - using (new EditorGUILayout.HorizontalScope()) { - showAttachments = EditorGUILayout.ToggleLeft("Show Attachments", showAttachments, GUILayout.MaxWidth(150f)); - if (showAttachments) { - if (skin != null) { - int attachmentCount = skin.Attachments.Count; - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent(string.Format("{0} ({1} attachment{2})", skin.Name, attachmentCount, SpineInspectorUtility.PluralThenS(attachmentCount)), Icons.skin)); - } - - } - } - - var slotAttachments = new List(); - var defaultSkinAttachments = new List(); - var slotsItems = preview.Skeleton.Slots.Items; - for (int i = preview.Skeleton.Slots.Count - 1; i >= 0; i--) { - Slot slot = slotsItems[i]; - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent(slot.Data.Name, Icons.slot)); - if (showAttachments) { - slotAttachments.Clear(); - defaultSkinAttachments.Clear(); - - using (new SpineInspectorUtility.IndentScope()) { - { - skin.GetAttachments(i, slotAttachments); - if (defaultSkin != null) { - if (skin != defaultSkin) { - defaultSkin.GetAttachments(i, slotAttachments); - defaultSkin.GetAttachments(i, defaultSkinAttachments); - } - else { - defaultSkin.GetAttachments(i, defaultSkinAttachments); - } - } - } - - for (int a = 0; a < slotAttachments.Count; a++) { - var skinEntry = slotAttachments[a]; - Attachment attachment = skinEntry.Attachment; - string attachmentName = skinEntry.Name; - bool attachmentIsFromSkin = !defaultSkinAttachments.Contains(skinEntry); - - Texture2D attachmentTypeIcon = Icons.GetAttachmentIcon(attachment); - bool initialState = slot.Attachment == attachment; - - Texture2D iconToUse = attachmentIsFromSkin ? Icons.skinPlaceholder : attachmentTypeIcon; - bool toggled = EditorGUILayout.ToggleLeft(SpineInspectorUtility.TempContent(attachmentName, iconToUse), slot.Attachment == attachment, GUILayout.MinWidth(150f)); - - if (attachmentIsFromSkin) { - Rect extraIconRect = GUILayoutUtility.GetLastRect(); - extraIconRect.x += extraIconRect.width - (attachmentTypeIcon.width * 2f); - extraIconRect.width = attachmentTypeIcon.width; - extraIconRect.height = attachmentTypeIcon.height; - GUI.DrawTexture(extraIconRect, attachmentTypeIcon); - } - - if (toggled != initialState) { - slot.Attachment = toggled ? attachment : null; - preview.RefreshOnNextUpdate(); - } - } - } - - } - } - } - - } - - void DrawUnityTools () { - #if SPINE_SKELETON_MECANIM - using (new SpineInspectorUtility.BoxScope()) { - isMecanimExpanded = EditorGUILayout.Foldout(isMecanimExpanded, SpineInspectorUtility.TempContent("SkeletonMecanim", SpineInspectorUtility.UnityIcon())); - if (isMecanimExpanded) { - using (new SpineInspectorUtility.IndentScope()) { - EditorGUILayout.PropertyField(controller, SpineInspectorUtility.TempContent("Controller", SpineInspectorUtility.UnityIcon())); - if (controller.objectReferenceValue == null) { - - // Generate Mecanim Controller Button - using (new GUILayout.HorizontalScope()) { - GUILayout.Space(EditorGUIUtility.labelWidth); - if (GUILayout.Button(SpineInspectorUtility.TempContent("Generate Mecanim Controller"), GUILayout.Height(20))) - SkeletonBaker.GenerateMecanimAnimationClips(targetSkeletonDataAsset); - } - EditorGUILayout.HelpBox("SkeletonMecanim is the Mecanim alternative to SkeletonAnimation.\nIt is not required.", MessageType.Info); - - } else { - - // Update AnimationClips button. - using (new GUILayout.HorizontalScope()) { - GUILayout.Space(EditorGUIUtility.labelWidth); - if (GUILayout.Button(SpineInspectorUtility.TempContent("Force Update AnimationClips"), GUILayout.Height(20))) - SkeletonBaker.GenerateMecanimAnimationClips(targetSkeletonDataAsset); - } - - } - } - } - } - #endif - } - - void DrawWarningList () { - foreach (string line in warnings) - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent(line, Icons.warning)); - } - - void PopulateWarnings () { - warnings.Clear(); - compatibilityProblemInfo = null; - - if (skeletonJSON.objectReferenceValue == null) { - warnings.Add("Missing Skeleton JSON"); - } else { - var fieldValue = (TextAsset)skeletonJSON.objectReferenceValue; - string problemDescription = null; - if (!AssetUtility.IsSpineData(fieldValue, out compatibilityProblemInfo, ref problemDescription)) { - if (problemDescription != null) - warnings.Add(problemDescription); - else - warnings.Add("Skeleton data file is not a valid Spine JSON or binary file."); - } else { - #if SPINE_TK2D - bool searchForSpineAtlasAssets = true; - bool isSpriteCollectionNull = spriteCollection.objectReferenceValue == null; - if (!isSpriteCollectionNull) searchForSpineAtlasAssets = false; - #else - // Analysis disable once ConvertToConstant.Local - bool searchForSpineAtlasAssets = true; - #endif - - if (searchForSpineAtlasAssets) { - bool detectedNullAtlasEntry = false; - var atlasList = new List(); - var actualAtlasAssets = targetSkeletonDataAsset.atlasAssets; - - for (int i = 0; i < actualAtlasAssets.Length; i++) { - if (actualAtlasAssets[i] == null) { - detectedNullAtlasEntry = true; - break; - } else { - if (actualAtlasAssets[i].MaterialCount > 0) - atlasList.Add(actualAtlasAssets[i].GetAtlas()); - } - } - - if (detectedNullAtlasEntry) { - warnings.Add("AtlasAsset elements should not be null."); - } else { - List missingPaths = null; - if (atlasAssets.arraySize > 0) { - missingPaths = AssetUtility.GetRequiredAtlasRegions(AssetDatabase.GetAssetPath(skeletonJSON.objectReferenceValue)); - foreach (var atlas in atlasList) { - if (atlas == null) - continue; - for (int i = 0; i < missingPaths.Count; i++) { - if (atlas.FindRegion(missingPaths[i]) != null) { - missingPaths.RemoveAt(i); - i--; - } - } - } - - #if SPINE_TK2D - if (missingPaths.Count > 0) - warnings.Add("Missing regions. SkeletonDataAsset requires tk2DSpriteCollectionData or Spine AtlasAssets."); - #endif - } - - if (missingPaths != null) { - foreach (string missingRegion in missingPaths) - warnings.Add(string.Format("Missing Region: '{0}'", missingRegion)); - } - - } - } - - } - } - } - - void DoReimport () { - AssetUtility.ImportSpineContent(new [] { AssetDatabase.GetAssetPath(skeletonJSON.objectReferenceValue) }, null, true); - preview.Clear(); - InitializeEditor(); - EditorUtility.SetDirty(targetSkeletonDataAsset); - } - - void HandlePreviewSkinChanged (string skinName) { - EditorPrefs.SetString(LastSkinKey, skinName); - } - - bool NoProblems() { - return warnings.Count == 0 && compatibilityProblemInfo == null; - } - - #region Preview Handlers - void HandleOnDestroyPreview () { - EditorApplication.update -= preview.HandleEditorUpdate; - preview.OnDestroy(); - } - - override public bool HasPreviewGUI () { - if (serializedObject.isEditingMultipleObjects) - return false; - - for (int i = 0; i < atlasAssets.arraySize; i++) { - var prop = atlasAssets.GetArrayElementAtIndex(i); - if (prop.objectReferenceValue == null) - return false; - } - - return skeletonJSON.objectReferenceValue != null; - } - - override public void OnInteractivePreviewGUI (Rect r, GUIStyle background) { - if (NoProblems()) { - preview.Initialize(this.Repaint, targetSkeletonDataAsset, this.LastSkinName); - preview.HandleInteractivePreviewGUI(r, background); - } - } - - override public GUIContent GetPreviewTitle () { return SpineInspectorUtility.TempContent("Preview"); } - public override void OnPreviewSettings () { preview.HandleDrawSettings(); } - public override Texture2D RenderStaticPreview (string assetPath, UnityEngine.Object[] subAssets, int width, int height) { return preview.GetStaticPreview(width, height); } - #endregion - } - - internal class SkeletonInspectorPreview { - Color OriginColor = new Color(0.3f, 0.3f, 0.3f, 1); - static readonly int SliderHash = "Slider".GetHashCode(); - - SkeletonDataAsset skeletonDataAsset; - SkeletonData skeletonData; - - SkeletonAnimation skeletonAnimation; - GameObject previewGameObject; - internal bool requiresRefresh; - float animationLastTime; - - static float CurrentTime { get { return (float)EditorApplication.timeSinceStartup; } } - - Action Repaint; - public event Action OnSkinChanged; - - Texture previewTexture; - PreviewRenderUtility previewRenderUtility; - Camera PreviewUtilityCamera { - get { - if (previewRenderUtility == null) return null; - #if UNITY_2017_1_OR_NEWER - return previewRenderUtility.camera; - #else - return previewRenderUtility.m_Camera; - #endif - } - } - - static Vector3 lastCameraPositionGoal; - static float lastCameraOrthoGoal; - float cameraOrthoGoal = 1; - Vector3 cameraPositionGoal = new Vector3(0, 0, -10); - double cameraAdjustEndFrame = 0; - - List currentAnimationEvents = new List(); - List currentAnimationEventTimes = new List(); - List currentAnimationEventTooltips = new List(); - - public bool IsValid { get { return skeletonAnimation != null && skeletonAnimation.valid; } } - - public Skeleton Skeleton { get { return IsValid ? skeletonAnimation.Skeleton : null; } } - - public float TimeScale { - get { return IsValid ? skeletonAnimation.timeScale : 1f; } - set { if (IsValid) skeletonAnimation.timeScale = value; } - } - - public bool IsPlayingAnimation { get { - if (!IsValid) return false; - var currentTrack = skeletonAnimation.AnimationState.GetCurrent(0); - return currentTrack != null && currentTrack.TimeScale > 0; - } - } - - public TrackEntry ActiveTrack { get { return IsValid ? skeletonAnimation.AnimationState.GetCurrent(0) : null; } } - - public Vector3 PreviewCameraPosition { - get { return PreviewUtilityCamera.transform.position; } - set { PreviewUtilityCamera.transform.position = value; } - } - - public void HandleDrawSettings () { - const float SliderWidth = 150; - const float SliderSnap = 0.25f; - const float SliderMin = 0f; - const float SliderMax = 2f; - - if (IsValid) { - float timeScale = GUILayout.HorizontalSlider(TimeScale, SliderMin, SliderMax, GUILayout.MaxWidth(SliderWidth)); - timeScale = Mathf.RoundToInt(timeScale / SliderSnap) * SliderSnap; - TimeScale = timeScale; - } - } - - public void HandleEditorUpdate () { - AdjustCamera(); - if (IsPlayingAnimation) { - RefreshOnNextUpdate(); - Repaint(); - } else if (requiresRefresh) { - Repaint(); - } - } - - public void Initialize (Action repaintCallback, SkeletonDataAsset skeletonDataAsset, string skinName = "") { - if (skeletonDataAsset == null) return; - if (skeletonDataAsset.GetSkeletonData(false) == null) { - DestroyPreviewGameObject(); - return; - } - - this.Repaint = repaintCallback; - this.skeletonDataAsset = skeletonDataAsset; - this.skeletonData = skeletonDataAsset.GetSkeletonData(false); - - if (skeletonData == null) { - DestroyPreviewGameObject(); - return; - } - - const int PreviewLayer = 30; - const int PreviewCameraCullingMask = 1 << PreviewLayer; - - if (previewRenderUtility == null) { - previewRenderUtility = new PreviewRenderUtility(true); - animationLastTime = CurrentTime; - - { - var c = this.PreviewUtilityCamera; - c.orthographic = true; - c.cullingMask = PreviewCameraCullingMask; - c.nearClipPlane = 0.01f; - c.farClipPlane = 1000f; - c.orthographicSize = lastCameraOrthoGoal; - c.transform.position = lastCameraPositionGoal; - } - - DestroyPreviewGameObject(); - } - - if (previewGameObject == null) { - try { - previewGameObject = EditorInstantiation.InstantiateSkeletonAnimation(skeletonDataAsset, skinName, useObjectFactory:false).gameObject; - - if (previewGameObject != null) { - previewGameObject.hideFlags = HideFlags.HideAndDontSave; - previewGameObject.layer = PreviewLayer; - skeletonAnimation = previewGameObject.GetComponent(); - skeletonAnimation.initialSkinName = skinName; - skeletonAnimation.LateUpdate(); - previewGameObject.GetComponent().enabled = false; - - #if SPINE_UNITY_2018_PREVIEW_API - previewRenderUtility.AddSingleGO(previewGameObject); - #endif - } - - if (this.ActiveTrack != null) cameraAdjustEndFrame = EditorApplication.timeSinceStartup + skeletonAnimation.AnimationState.GetCurrent(0).Alpha; - AdjustCameraGoals(); - } catch { - DestroyPreviewGameObject(); - } - - RefreshOnNextUpdate(); - } - } - - public void HandleInteractivePreviewGUI (Rect r, GUIStyle background) { - if (Event.current.type == EventType.Repaint) { - if (requiresRefresh) { - previewRenderUtility.BeginPreview(r, background); - DoRenderPreview(true); - previewTexture = previewRenderUtility.EndPreview(); - requiresRefresh = false; - } - if (previewTexture != null) - GUI.DrawTexture(r, previewTexture, ScaleMode.StretchToFill, false); - } - - DrawSkinToolbar(r); - //DrawSetupPoseButton(r); - DrawTimeBar(r); - HandleMouseScroll(r); - } - - public Texture2D GetStaticPreview (int width, int height) { - var c = this.PreviewUtilityCamera; - if (c == null) - return null; - - RefreshOnNextUpdate(); - AdjustCameraGoals(); - c.orthographicSize = cameraOrthoGoal / 2; - c.transform.position = cameraPositionGoal; - previewRenderUtility.BeginStaticPreview(new Rect(0, 0, width, height)); - DoRenderPreview(false); - var tex = previewRenderUtility.EndStaticPreview(); - - return tex; - } - - public void DoRenderPreview (bool drawHandles) { - if (this.PreviewUtilityCamera.activeTexture == null || this.PreviewUtilityCamera.targetTexture == null) - return; - - GameObject go = previewGameObject; - if (requiresRefresh && go != null) { - var renderer = go.GetComponent(); - renderer.enabled = true; - - - if (!EditorApplication.isPlaying) { - float current = CurrentTime; - float deltaTime = (current - animationLastTime); - skeletonAnimation.Update(deltaTime); - animationLastTime = current; - skeletonAnimation.LateUpdate(); - } - - var thisPreviewUtilityCamera = this.PreviewUtilityCamera; - - if (drawHandles) { - Handles.SetCamera(thisPreviewUtilityCamera); - Handles.color = OriginColor; - - // Draw Cross - float scale = skeletonDataAsset.scale; - float cl = 1000 * scale; - Handles.DrawLine(new Vector3(-cl, 0), new Vector3(cl, 0)); - Handles.DrawLine(new Vector3(0, cl), new Vector3(0, -cl)); - } - - thisPreviewUtilityCamera.Render(); - - if (drawHandles) { - Handles.SetCamera(thisPreviewUtilityCamera); - SpineHandles.DrawBoundingBoxes(skeletonAnimation.transform, skeletonAnimation.skeleton); - if (SkeletonDataAssetInspector.showAttachments) - SpineHandles.DrawPaths(skeletonAnimation.transform, skeletonAnimation.skeleton); - } - - renderer.enabled = false; - } - } - - public void AdjustCamera () { - if (previewRenderUtility == null) - return; - - if (CurrentTime < cameraAdjustEndFrame) - AdjustCameraGoals(); - - lastCameraPositionGoal = cameraPositionGoal; - lastCameraOrthoGoal = cameraOrthoGoal; - - var c = this.PreviewUtilityCamera; - float orthoSet = Mathf.Lerp(c.orthographicSize, cameraOrthoGoal, 0.1f); - - c.orthographicSize = orthoSet; - - float dist = Vector3.Distance(c.transform.position, cameraPositionGoal); - if (dist > 0f) { - Vector3 pos = Vector3.Lerp(c.transform.position, cameraPositionGoal, 0.1f); - pos.x = 0; - c.transform.position = pos; - c.transform.rotation = Quaternion.identity; - RefreshOnNextUpdate(); - } - } - - void AdjustCameraGoals () { - if (previewGameObject == null) return; - - Bounds bounds = previewGameObject.GetComponent().bounds; - cameraOrthoGoal = bounds.size.y; - cameraPositionGoal = bounds.center + new Vector3(0, 0, -10f); - } - - void HandleMouseScroll (Rect position) { - Event current = Event.current; - int controlID = GUIUtility.GetControlID(SliderHash, FocusType.Passive); - switch (current.GetTypeForControl(controlID)) { - case EventType.ScrollWheel: - if (position.Contains(current.mousePosition)) { - cameraOrthoGoal += current.delta.y * 0.06f; - cameraOrthoGoal = Mathf.Max(0.01f, cameraOrthoGoal); - GUIUtility.hotControl = controlID; - current.Use(); - } - break; - } - } - - public void RefreshOnNextUpdate () { - requiresRefresh = true; - } - - public void ClearAnimationSetupPose () { - if (skeletonAnimation == null) { - Debug.LogWarning("Animation was stopped but preview doesn't exist. It's possible that the Preview Panel is closed."); - } - - skeletonAnimation.AnimationState.ClearTracks(); - skeletonAnimation.Skeleton.SetToSetupPose(); - } - - public void PlayPauseAnimation (string animationName, bool loop) { - if (skeletonData == null) return; - - if (skeletonAnimation == null) { - //Debug.LogWarning("Animation was stopped but preview doesn't exist. It's possible that the Preview Panel is closed."); - return; - } - - if (!skeletonAnimation.valid) return; - - if (string.IsNullOrEmpty(animationName)) { - skeletonAnimation.Skeleton.SetToSetupPose(); - skeletonAnimation.AnimationState.ClearTracks(); - return; - } - - var targetAnimation = skeletonData.FindAnimation(animationName); - if (targetAnimation != null) { - var currentTrack = this.ActiveTrack; - bool isEmpty = (currentTrack == null); - bool isNewAnimation = isEmpty || currentTrack.Animation != targetAnimation; - - var skeleton = skeletonAnimation.Skeleton; - var animationState = skeletonAnimation.AnimationState; - - if (isEmpty) { - skeleton.SetToSetupPose(); - animationState.SetAnimation(0, targetAnimation, loop); - } else { - bool sameAnimation = (currentTrack.Animation == targetAnimation); - if (sameAnimation) { - currentTrack.TimeScale = (currentTrack.TimeScale == 0) ? 1f : 0f; // pause/play - } else { - currentTrack.TimeScale = 1f; - animationState.SetAnimation(0, targetAnimation, loop); - } - } - - if (isNewAnimation) { - currentAnimationEvents.Clear(); - currentAnimationEventTimes.Clear(); - foreach (Timeline timeline in targetAnimation.Timelines) { - var eventTimeline = timeline as EventTimeline; - if (eventTimeline != null) { - for (int i = 0; i < eventTimeline.Events.Length; i++) { - currentAnimationEvents.Add(eventTimeline.Events[i]); - currentAnimationEventTimes.Add(eventTimeline.Frames[i]); - } - } - } - } - } else { - Debug.LogFormat("The Spine.Animation named '{0}' was not found for this Skeleton.", animationName); - } - - } - - void DrawSkinToolbar (Rect r) { - if (!this.IsValid) return; - - var skeleton = this.Skeleton; - string label = (skeleton.Skin != null) ? skeleton.Skin.Name : "default"; - - Rect popRect = new Rect(r); - popRect.y += 32; - popRect.x += 4; - popRect.height = 24; - popRect.width = 40; - EditorGUI.DropShadowLabel(popRect, SpineInspectorUtility.TempContent("Skin")); - - popRect.y += 11; - popRect.width = 150; - popRect.x += 44; - - if (GUI.Button(popRect, SpineInspectorUtility.TempContent(label, Icons.skin), EditorStyles.popup)) { - DrawSkinDropdown(); - } - } - - void DrawSetupPoseButton (Rect r) { - if (!this.IsValid) - return; - - var skeleton = this.Skeleton; - - Rect popRect = new Rect(r); - popRect.y += 64; - popRect.x += 4; - popRect.height = 24; - popRect.width = 40; - - //popRect.y += 11; - popRect.width = 150; - //popRect.x += 44; - - if (GUI.Button(popRect, SpineInspectorUtility.TempContent("Reset to SetupPose", Icons.skeleton))) { - ClearAnimationSetupPose(); - RefreshOnNextUpdate(); - } - } - - void DrawSkinDropdown () { - var menu = new GenericMenu(); - foreach (Skin s in skeletonData.Skins) - menu.AddItem(new GUIContent(s.Name, Icons.skin), skeletonAnimation.skeleton.Skin == s, HandleSkinDropdownSelection, s); - - menu.ShowAsContext(); - } - - void HandleSkinDropdownSelection (object o) { - Skin skin = (Skin)o; - skeletonAnimation.initialSkinName = skin.Name; - skeletonAnimation.Initialize(true); - RefreshOnNextUpdate(); - if (OnSkinChanged != null) OnSkinChanged(skin.Name); - } - - void DrawTimeBar (Rect r) { - if (skeletonAnimation == null) - return; - - Rect barRect = new Rect(r); - barRect.height = 32; - barRect.x += 4; - barRect.width -= 4; - - GUI.Box(barRect, ""); - - Rect lineRect = new Rect(barRect); - float lineRectWidth = lineRect.width; - TrackEntry t = skeletonAnimation.AnimationState.GetCurrent(0); - - if (t != null && Icons.userEvent != null) { // when changing to play mode, Icons.userEvent will not be reset - int loopCount = (int)(t.TrackTime / t.TrackEnd); - float currentTime = t.TrackTime - (t.TrackEnd * loopCount); - float normalizedTime = currentTime / t.Animation.Duration; - float wrappedTime = normalizedTime % 1f; - - lineRect.x = barRect.x + (lineRectWidth * wrappedTime) - 0.5f; - lineRect.width = 2; - - GUI.color = Color.red; - GUI.DrawTexture(lineRect, EditorGUIUtility.whiteTexture); - GUI.color = Color.white; - - currentAnimationEventTooltips = currentAnimationEventTooltips ?? new List(); - currentAnimationEventTooltips.Clear(); - for (int i = 0; i < currentAnimationEvents.Count; i++) { - float eventTime = currentAnimationEventTimes[i]; - var userEventIcon = Icons.userEvent; - float iconX = Mathf.Max(((eventTime / t.Animation.Duration) * lineRectWidth) - (userEventIcon.width / 2), barRect.x); - float iconY = barRect.y + userEventIcon.height; - var evRect = new Rect(barRect) { - x = iconX, - y = iconY, - width = userEventIcon.width, - height = userEventIcon.height - }; - GUI.DrawTexture(evRect, userEventIcon); - Event ev = Event.current; - if (ev.type == EventType.Repaint) { - if (evRect.Contains(ev.mousePosition)) { - string eventName = currentAnimationEvents[i].Data.Name; - Rect tooltipRect = new Rect(evRect) { - width = EditorStyles.helpBox.CalcSize(new GUIContent(eventName)).x - }; - tooltipRect.y -= 4; - tooltipRect.y -= tooltipRect.height * currentAnimationEventTooltips.Count; // Avoid several overlapping tooltips. - tooltipRect.x += 4; - - // Handle tooltip overflowing to the right. - float rightEdgeOverflow = (tooltipRect.x + tooltipRect.width) - (barRect.x + barRect.width); - if (rightEdgeOverflow > 0) - tooltipRect.x -= rightEdgeOverflow; - - currentAnimationEventTooltips.Add(new SpineEventTooltip { rect = tooltipRect, text = eventName }); - } - } - } - - // Draw tooltips. - for (int i = 0; i < currentAnimationEventTooltips.Count; i++) { - GUI.Label(currentAnimationEventTooltips[i].rect, currentAnimationEventTooltips[i].text, EditorStyles.helpBox); - GUI.tooltip = currentAnimationEventTooltips[i].text; - } - } - } - - public void OnDestroy () { - DisposePreviewRenderUtility(); - DestroyPreviewGameObject(); - } - - public void Clear () { - DisposePreviewRenderUtility(); - DestroyPreviewGameObject(); - } - - void DisposePreviewRenderUtility () { - if (previewRenderUtility != null) { - previewRenderUtility.Cleanup(); - previewRenderUtility = null; - } - } - - void DestroyPreviewGameObject () { - if (previewGameObject != null) { - GameObject.DestroyImmediate(previewGameObject); - previewGameObject = null; - } - } - - internal struct SpineEventTooltip { - public Rect rect; - public string text; - } - } - -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Asset Types/SkeletonDataAssetInspector.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Asset Types/SkeletonDataAssetInspector.cs.meta deleted file mode 100644 index fba64b6..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Asset Types/SkeletonDataAssetInspector.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 01cbef8f24d105f4bafa9668d669e040 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonAnimationInspector.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonAnimationInspector.cs deleted file mode 100644 index c332324..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonAnimationInspector.cs +++ /dev/null @@ -1,139 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEditor; -using UnityEngine; -using Spine; - -namespace Spine.Unity.Editor { - - [CustomEditor(typeof(SkeletonAnimation))] - [CanEditMultipleObjects] - public class SkeletonAnimationInspector : SkeletonRendererInspector { - protected SerializedProperty animationName, loop, timeScale, autoReset; - protected bool wasAnimationParameterChanged = false; - protected bool requireRepaint; - readonly GUIContent LoopLabel = new GUIContent("Loop", "Whether or not .AnimationName should loop. This only applies to the initial animation specified in the inspector, or any subsequent Animations played through .AnimationName. Animations set through state.SetAnimation are unaffected."); - readonly GUIContent TimeScaleLabel = new GUIContent("Time Scale", "The rate at which animations progress over time. 1 means normal speed. 0.5 means 50% speed."); - - protected override void OnEnable () { - base.OnEnable(); - animationName = serializedObject.FindProperty("_animationName"); - loop = serializedObject.FindProperty("loop"); - timeScale = serializedObject.FindProperty("timeScale"); - } - - protected override void DrawInspectorGUI (bool multi) { - base.DrawInspectorGUI(multi); - if (!TargetIsValid) return; - bool sameData = SpineInspectorUtility.TargetsUseSameData(serializedObject); - - foreach (var o in targets) - TrySetAnimation(o as SkeletonAnimation); - - EditorGUILayout.Space(); - if (!sameData) { - EditorGUILayout.DelayedTextField(animationName); - } else { - EditorGUI.BeginChangeCheck(); - EditorGUILayout.PropertyField(animationName); - wasAnimationParameterChanged |= EditorGUI.EndChangeCheck(); // Value used in the next update. - } - - EditorGUI.BeginChangeCheck(); - EditorGUILayout.PropertyField(loop, LoopLabel); - wasAnimationParameterChanged |= EditorGUI.EndChangeCheck(); // Value used in the next update. - EditorGUILayout.PropertyField(timeScale, TimeScaleLabel); - foreach (var o in targets) { - var component = o as SkeletonAnimation; - component.timeScale = Mathf.Max(component.timeScale, 0); - } - - EditorGUILayout.Space(); - SkeletonRootMotionParameter(); - - serializedObject.ApplyModifiedProperties(); - - if (!isInspectingPrefab) { - if (requireRepaint) { - UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); - requireRepaint = false; - } - } - } - - protected void TrySetAnimation (SkeletonAnimation skeletonAnimation) { - if (skeletonAnimation == null) return; - if (!skeletonAnimation.valid || skeletonAnimation.AnimationState == null) - return; - - TrackEntry current = skeletonAnimation.AnimationState.GetCurrent(0); - if (!isInspectingPrefab) { - string activeAnimation = (current != null) ? current.Animation.Name : ""; - bool activeLoop = (current != null) ? current.Loop : false; - bool animationParameterChanged = this.wasAnimationParameterChanged && - ((activeAnimation != animationName.stringValue) || (activeLoop != loop.boolValue)); - if (animationParameterChanged) { - this.wasAnimationParameterChanged = false; - var skeleton = skeletonAnimation.Skeleton; - var state = skeletonAnimation.AnimationState; - - if (!Application.isPlaying) { - if (state != null) state.ClearTrack(0); - skeleton.SetToSetupPose(); - } - - Spine.Animation animationToUse = skeleton.Data.FindAnimation(animationName.stringValue); - - if (!Application.isPlaying) { - if (animationToUse != null) { - skeletonAnimation.AnimationState.SetAnimation(0, animationToUse, loop.boolValue); - } - skeletonAnimation.Update(0); - skeletonAnimation.LateUpdate(); - requireRepaint = true; - } else { - if (animationToUse != null) - state.SetAnimation(0, animationToUse, loop.boolValue); - else - state.ClearTrack(0); - } - } - - // Reflect animationName serialized property in the inspector even if SetAnimation API was used. - if (Application.isPlaying) { - if (current != null && current.Animation != null) { - if (skeletonAnimation.AnimationName != animationName.stringValue) - animationName.stringValue = current.Animation.Name; - } - } - } - } - } -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonAnimationInspector.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonAnimationInspector.cs.meta deleted file mode 100644 index 1ca7941..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonAnimationInspector.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 39fbfef61034ca045b5aa80088e1e8a4 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonGraphicCustomMaterialsInspector.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonGraphicCustomMaterialsInspector.cs deleted file mode 100644 index f9a1c2d..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonGraphicCustomMaterialsInspector.cs +++ /dev/null @@ -1,159 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using UnityEditor; -using UnityEngine; -using Spine.Unity.Examples; - -namespace Spine.Unity.Editor { - - // This script is not intended for use with code. See spine-unity documentation page for additional information. - [CustomEditor(typeof(SkeletonGraphicCustomMaterials))] - public class SkeletonGraphicCustomMaterialsInspector : UnityEditor.Editor { - List componentCustomMaterialOverrides, _customMaterialOverridesPrev; - List componentCustomTextureOverrides, _customTextureOverridesPrev; - SkeletonGraphicCustomMaterials component; - - const BindingFlags PrivateInstance = BindingFlags.Instance | BindingFlags.NonPublic; - MethodInfo RemoveCustomMaterialOverrides, RemoveCustomTextureOverrides, SetCustomMaterialOverrides, SetCustomTextureOverrides; - - #region SkeletonGraphic context menu - [MenuItem("CONTEXT/SkeletonGraphic/Add Basic Serialized Custom Materials")] - static void AddSkeletonGraphicCustomMaterials (MenuCommand menuCommand) { - var skeletonGraphic = (SkeletonGraphic)menuCommand.context; - var newComponent = skeletonGraphic.gameObject.AddComponent(); - Undo.RegisterCreatedObjectUndo(newComponent, "Add Basic Serialized Custom Materials"); - } - - [MenuItem("CONTEXT/SkeletonGraphic/Add Basic Serialized Custom Materials", true)] - static bool AddSkeletonGraphicCustomMaterials_Validate (MenuCommand menuCommand) { - var skeletonGraphic = (SkeletonGraphic)menuCommand.context; - return (skeletonGraphic.GetComponent() == null); - } - #endregion - - void OnEnable () { - Type cm = typeof(SkeletonGraphicCustomMaterials); - RemoveCustomMaterialOverrides = cm.GetMethod("RemoveCustomMaterialOverrides", PrivateInstance); - RemoveCustomTextureOverrides = cm.GetMethod("RemoveCustomTextureOverrides", PrivateInstance); - SetCustomMaterialOverrides = cm.GetMethod("SetCustomMaterialOverrides", PrivateInstance); - SetCustomTextureOverrides = cm.GetMethod("SetCustomTextureOverrides", PrivateInstance); - } - - public override void OnInspectorGUI () { - component = (SkeletonGraphicCustomMaterials)target; - var skeletonGraphic = component.skeletonGraphic; - - // Draw the default inspector - DrawDefaultInspector(); - - if (serializedObject.isEditingMultipleObjects) - return; - - if (componentCustomMaterialOverrides == null) { - Type cm = typeof(SkeletonGraphicCustomMaterials); - componentCustomMaterialOverrides = cm.GetField("customMaterialOverrides", PrivateInstance).GetValue(component) as List; - componentCustomTextureOverrides = cm.GetField("customTextureOverrides", PrivateInstance).GetValue(component) as List; - if (componentCustomMaterialOverrides == null) { - Debug.Log("Reflection failed."); - return; - } - } - - // Fill with current values at start - if (_customMaterialOverridesPrev == null || _customTextureOverridesPrev == null) { - _customMaterialOverridesPrev = CopyList(componentCustomMaterialOverrides); - _customTextureOverridesPrev = CopyList(componentCustomTextureOverrides); - } - - // Compare new values with saved. If change is detected: - // store new values, restore old values, remove overrides, restore new values, restore overrides. - - // 1. Store new values - var customMaterialOverridesNew = CopyList(componentCustomMaterialOverrides); - var customTextureOverridesNew = CopyList(componentCustomTextureOverrides); - - // Detect changes - if (!_customMaterialOverridesPrev.SequenceEqual(customMaterialOverridesNew) || - !_customTextureOverridesPrev.SequenceEqual(customTextureOverridesNew)) { - // 2. Restore old values - componentCustomMaterialOverrides.Clear(); - componentCustomTextureOverrides.Clear(); - componentCustomMaterialOverrides.AddRange(_customMaterialOverridesPrev); - componentCustomTextureOverrides.AddRange(_customTextureOverridesPrev); - - // 3. Remove overrides - RemoveCustomMaterials(); - - // 4. Restore new values - componentCustomMaterialOverrides.Clear(); - componentCustomTextureOverrides.Clear(); - componentCustomMaterialOverrides.AddRange(customMaterialOverridesNew); - componentCustomTextureOverrides.AddRange(customTextureOverridesNew); - - // 5. Restore overrides - SetCustomMaterials(); - - if (skeletonGraphic != null) - skeletonGraphic.LateUpdate(); - } - - _customMaterialOverridesPrev = CopyList(componentCustomMaterialOverrides); - _customTextureOverridesPrev = CopyList(componentCustomTextureOverrides); - - if (SpineInspectorUtility.LargeCenteredButton(SpineInspectorUtility.TempContent("Clear and Reapply Changes", tooltip: "Removes all non-serialized overrides in the SkeletonGraphic and reapplies the overrides on this component."))) { - if (skeletonGraphic != null) { - skeletonGraphic.CustomMaterialOverride.Clear(); - skeletonGraphic.CustomTextureOverride.Clear(); - RemoveCustomMaterials(); - SetCustomMaterials(); - skeletonGraphic.LateUpdate(); - } - } - } - - void RemoveCustomMaterials () { - RemoveCustomMaterialOverrides.Invoke(component, null); - RemoveCustomTextureOverrides.Invoke(component, null); - } - - void SetCustomMaterials () { - SetCustomMaterialOverrides.Invoke(component, null); - SetCustomTextureOverrides.Invoke(component, null); - } - - static List CopyList (List list) { - return list.GetRange(0, list.Count); - } - } -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonGraphicCustomMaterialsInspector.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonGraphicCustomMaterialsInspector.cs.meta deleted file mode 100644 index 4a5d351..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonGraphicCustomMaterialsInspector.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 349bf125947e3aa4bb78690fec69ea17 -timeCreated: 1588789940 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonGraphicInspector.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonGraphicInspector.cs deleted file mode 100644 index e1406ca..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonGraphicInspector.cs +++ /dev/null @@ -1,436 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER -#define NEW_PREFAB_SYSTEM -#endif - -using UnityEngine; -using UnityEditor; - -namespace Spine.Unity.Editor { - using Icons = SpineEditorUtilities.Icons; - - [CustomEditor(typeof(SkeletonGraphic))] - [CanEditMultipleObjects] - public class SkeletonGraphicInspector : UnityEditor.Editor { - - const string SeparatorSlotNamesFieldName = "separatorSlotNames"; - const string ReloadButtonString = "Reload"; - protected GUIContent SkeletonDataAssetLabel; - static GUILayoutOption reloadButtonWidth; - static GUILayoutOption ReloadButtonWidth { get { return reloadButtonWidth = reloadButtonWidth ?? GUILayout.Width(GUI.skin.label.CalcSize(new GUIContent(ReloadButtonString)).x + 20); } } - static GUIStyle ReloadButtonStyle { get { return EditorStyles.miniButton; } } - - SerializedProperty material, color; - SerializedProperty skeletonDataAsset, initialSkinName; - SerializedProperty startingAnimation, startingLoop, timeScale, freeze, updateWhenInvisible, unscaledTime, tintBlack; - SerializedProperty initialFlipX, initialFlipY; - SerializedProperty meshGeneratorSettings; - SerializedProperty allowMultipleCanvasRenderers, separatorSlotNames, enableSeparatorSlots, updateSeparatorPartLocation; - SerializedProperty raycastTarget; - - SkeletonGraphic thisSkeletonGraphic; - protected bool isInspectingPrefab; - protected bool slotsReapplyRequired = false; - protected bool forceReloadQueued = false; - - protected bool TargetIsValid { - get { - if (serializedObject.isEditingMultipleObjects) { - foreach (var o in targets) { - var component = (SkeletonGraphic)o; - if (!component.IsValid) - return false; - } - return true; - } - else { - var component = (SkeletonGraphic)target; - return component.IsValid; - } - } - } - - void OnEnable () { -#if NEW_PREFAB_SYSTEM - isInspectingPrefab = false; -#else - isInspectingPrefab = (PrefabUtility.GetPrefabType(target) == PrefabType.Prefab); -#endif - SpineEditorUtilities.ConfirmInitialization(); - - // Labels - SkeletonDataAssetLabel = new GUIContent("SkeletonData Asset", Icons.spine); - - var so = this.serializedObject; - thisSkeletonGraphic = target as SkeletonGraphic; - - // MaskableGraphic - material = so.FindProperty("m_Material"); - color = so.FindProperty("m_Color"); - raycastTarget = so.FindProperty("m_RaycastTarget"); - - // SkeletonRenderer - skeletonDataAsset = so.FindProperty("skeletonDataAsset"); - initialSkinName = so.FindProperty("initialSkinName"); - - initialFlipX = so.FindProperty("initialFlipX"); - initialFlipY = so.FindProperty("initialFlipY"); - - // SkeletonAnimation - startingAnimation = so.FindProperty("startingAnimation"); - startingLoop = so.FindProperty("startingLoop"); - timeScale = so.FindProperty("timeScale"); - unscaledTime = so.FindProperty("unscaledTime"); - freeze = so.FindProperty("freeze"); - updateWhenInvisible = so.FindProperty("updateWhenInvisible"); - - meshGeneratorSettings = so.FindProperty("meshGenerator").FindPropertyRelative("settings"); - meshGeneratorSettings.isExpanded = SkeletonRendererInspector.advancedFoldout; - - allowMultipleCanvasRenderers = so.FindProperty("allowMultipleCanvasRenderers"); - updateSeparatorPartLocation = so.FindProperty("updateSeparatorPartLocation"); - enableSeparatorSlots = so.FindProperty("enableSeparatorSlots"); - - separatorSlotNames = so.FindProperty("separatorSlotNames"); - separatorSlotNames.isExpanded = true; - } - - public override void OnInspectorGUI () { - - if (UnityEngine.Event.current.type == EventType.Layout) { - if (forceReloadQueued) { - forceReloadQueued = false; - foreach (var c in targets) { - SpineEditorUtilities.ReloadSkeletonDataAssetAndComponent(c as SkeletonGraphic); - } - } - else { - foreach (var c in targets) { - var component = c as SkeletonGraphic; - if (!component.IsValid) { - SpineEditorUtilities.ReinitializeComponent(component); - if (!component.IsValid) continue; - } - } - } - } - - bool wasChanged = false; - EditorGUI.BeginChangeCheck(); - - using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) { - SpineInspectorUtility.PropertyFieldFitLabel(skeletonDataAsset, SkeletonDataAssetLabel); - if (GUILayout.Button(ReloadButtonString, ReloadButtonStyle, ReloadButtonWidth)) - forceReloadQueued = true; - } - - EditorGUILayout.PropertyField(material); - EditorGUILayout.PropertyField(color); - - if (thisSkeletonGraphic.skeletonDataAsset == null) { - EditorGUILayout.HelpBox("You need to assign a SkeletonDataAsset first.", MessageType.Info); - serializedObject.ApplyModifiedProperties(); - serializedObject.Update(); - return; - } - - string errorMessage = null; - if (SpineEditorUtilities.Preferences.componentMaterialWarning && - MaterialChecks.IsMaterialSetupProblematic(thisSkeletonGraphic, ref errorMessage)) { - EditorGUILayout.HelpBox(errorMessage, MessageType.Error, true); - } - - bool isSingleRendererOnly = (!allowMultipleCanvasRenderers.hasMultipleDifferentValues && allowMultipleCanvasRenderers.boolValue == false); - bool isSeparationEnabledButNotMultipleRenderers = - isSingleRendererOnly && (!enableSeparatorSlots.hasMultipleDifferentValues && enableSeparatorSlots.boolValue == true); - bool meshRendersIncorrectlyWithSingleRenderer = - isSingleRendererOnly && SkeletonHasMultipleSubmeshes(); - - if (isSeparationEnabledButNotMultipleRenderers || meshRendersIncorrectlyWithSingleRenderer) - meshGeneratorSettings.isExpanded = true; - - using (new SpineInspectorUtility.BoxScope()) { - - EditorGUILayout.PropertyField(meshGeneratorSettings, SpineInspectorUtility.TempContent("Advanced..."), includeChildren: true); - SkeletonRendererInspector.advancedFoldout = meshGeneratorSettings.isExpanded; - - if (meshGeneratorSettings.isExpanded) { - EditorGUILayout.Space(); - using (new SpineInspectorUtility.IndentScope()) { - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PropertyField(allowMultipleCanvasRenderers, SpineInspectorUtility.TempContent("Multiple CanvasRenderers")); - - if (GUILayout.Button(new GUIContent("Trim Renderers", "Remove currently unused CanvasRenderer GameObjects. These will be regenerated whenever needed."), - EditorStyles.miniButton, GUILayout.Width(100f))) { - - foreach (var skeletonGraphic in targets) { - ((SkeletonGraphic)skeletonGraphic).TrimRenderers(); - } - } - EditorGUILayout.EndHorizontal(); - - EditorGUILayout.PropertyField(updateWhenInvisible); - - // warning box - if (isSeparationEnabledButNotMultipleRenderers) { - using (new SpineInspectorUtility.BoxScope()) { - meshGeneratorSettings.isExpanded = true; - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("'Multiple Canvas Renderers' must be enabled\nwhen 'Enable Separation' is enabled.", Icons.warning), GUILayout.Height(42), GUILayout.Width(340)); - } - } - else if (meshRendersIncorrectlyWithSingleRenderer) { - using (new SpineInspectorUtility.BoxScope()) { - meshGeneratorSettings.isExpanded = true; - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("This mesh uses multiple atlas pages. You\n" + - "need to enable 'Multiple Canvas Renderers'\n" + - "for correct rendering. Consider packing\n" + - "attachments to a single atlas page if possible.", Icons.warning), GUILayout.Height(60), GUILayout.Width(340)); - } - } - } - - EditorGUILayout.Space(); - SeparatorsField(separatorSlotNames, enableSeparatorSlots, updateSeparatorPartLocation); - } - } - - EditorGUILayout.Space(); - EditorGUILayout.PropertyField(initialSkinName); - { - var rect = GUILayoutUtility.GetRect(EditorGUIUtility.currentViewWidth, EditorGUIUtility.singleLineHeight); - EditorGUI.PrefixLabel(rect, SpineInspectorUtility.TempContent("Initial Flip")); - rect.x += EditorGUIUtility.labelWidth; - rect.width = 30f; - SpineInspectorUtility.ToggleLeft(rect, initialFlipX, SpineInspectorUtility.TempContent("X", tooltip: "initialFlipX")); - rect.x += 35f; - SpineInspectorUtility.ToggleLeft(rect, initialFlipY, SpineInspectorUtility.TempContent("Y", tooltip: "initialFlipY")); - } - - EditorGUILayout.Space(); - EditorGUILayout.LabelField("Animation", EditorStyles.boldLabel); - EditorGUILayout.PropertyField(startingAnimation); - EditorGUILayout.PropertyField(startingLoop); - EditorGUILayout.PropertyField(timeScale); - EditorGUILayout.PropertyField(unscaledTime, SpineInspectorUtility.TempContent(unscaledTime.displayName, tooltip: "If checked, this will use Time.unscaledDeltaTime to make this update independent of game Time.timeScale. Instance SkeletonGraphic.timeScale will still be applied.")); - EditorGUILayout.Space(); - EditorGUILayout.PropertyField(freeze); - EditorGUILayout.Space(); - SkeletonRendererInspector.SkeletonRootMotionParameter(targets); - EditorGUILayout.Space(); - EditorGUILayout.LabelField("UI", EditorStyles.boldLabel); - EditorGUILayout.PropertyField(raycastTarget); - - EditorGUILayout.BeginHorizontal(GUILayout.Height(EditorGUIUtility.singleLineHeight + 5)); - EditorGUILayout.PrefixLabel("Match RectTransform with Mesh"); - if (GUILayout.Button("Match", EditorStyles.miniButton, GUILayout.Width(65f))) { - foreach (var skeletonGraphic in targets) { - MatchRectTransformWithBounds((SkeletonGraphic)skeletonGraphic); - } - } - EditorGUILayout.EndHorizontal(); - - if (TargetIsValid && !isInspectingPrefab) { - EditorGUILayout.Space(); - if (SpineInspectorUtility.CenteredButton(new GUIContent("Add Skeleton Utility", Icons.skeletonUtility), 21, true, 200f)) - foreach (var t in targets) { - var component = t as Component; - if (component.GetComponent() == null) { - component.gameObject.AddComponent(); - } - } - } - - wasChanged |= EditorGUI.EndChangeCheck(); - - if (wasChanged) { - serializedObject.ApplyModifiedProperties(); - slotsReapplyRequired = true; - } - - if (slotsReapplyRequired && UnityEngine.Event.current.type == EventType.Repaint) { - foreach (var target in targets) { - var skeletonGraphic = (SkeletonGraphic)target; - skeletonGraphic.ReapplySeparatorSlotNames(); - skeletonGraphic.LateUpdate(); - SceneView.RepaintAll(); - } - slotsReapplyRequired = false; - } - } - - protected bool SkeletonHasMultipleSubmeshes () { - foreach (var target in targets) { - var skeletonGraphic = (SkeletonGraphic)target; - if (skeletonGraphic.HasMultipleSubmeshInstructions()) - return true; - } - return false; - } - - public static void SetSeparatorSlotNames (SkeletonRenderer skeletonRenderer, string[] newSlotNames) { - var field = SpineInspectorUtility.GetNonPublicField(typeof(SkeletonRenderer), SeparatorSlotNamesFieldName); - field.SetValue(skeletonRenderer, newSlotNames); - } - - public static string[] GetSeparatorSlotNames (SkeletonRenderer skeletonRenderer) { - var field = SpineInspectorUtility.GetNonPublicField(typeof(SkeletonRenderer), SeparatorSlotNamesFieldName); - return field.GetValue(skeletonRenderer) as string[]; - } - - public static void SeparatorsField (SerializedProperty separatorSlotNames, SerializedProperty enableSeparatorSlots, - SerializedProperty updateSeparatorPartLocation) { - - bool multi = separatorSlotNames.serializedObject.isEditingMultipleObjects; - bool hasTerminalSlot = false; - if (!multi) { - var sr = separatorSlotNames.serializedObject.targetObject as ISkeletonComponent; - var skeleton = sr.Skeleton; - int lastSlot = skeleton.Slots.Count - 1; - if (skeleton != null) { - for (int i = 0, n = separatorSlotNames.arraySize; i < n; i++) { - int index = skeleton.FindSlotIndex(separatorSlotNames.GetArrayElementAtIndex(i).stringValue); - if (index == 0 || index == lastSlot) { - hasTerminalSlot = true; - break; - } - } - } - } - - string terminalSlotWarning = hasTerminalSlot ? " (!)" : ""; - - using (new EditorGUILayout.VerticalScope(EditorStyles.helpBox)) { - const string SeparatorsDescription = "Stored names of slots where the Skeleton's render will be split into different batches. This is used by separate components that split the render into different MeshRenderers or GameObjects."; - if (separatorSlotNames.isExpanded) { - EditorGUILayout.PropertyField(separatorSlotNames, SpineInspectorUtility.TempContent(separatorSlotNames.displayName + terminalSlotWarning, Icons.slotRoot, SeparatorsDescription), true); - GUILayout.BeginHorizontal(); - GUILayout.FlexibleSpace(); - if (GUILayout.Button("+", GUILayout.MaxWidth(28f), GUILayout.MaxHeight(15f))) { - separatorSlotNames.arraySize++; - } - GUILayout.EndHorizontal(); - } - else - EditorGUILayout.PropertyField(separatorSlotNames, new GUIContent(separatorSlotNames.displayName + string.Format("{0} [{1}]", terminalSlotWarning, separatorSlotNames.arraySize), SeparatorsDescription), true); - - EditorGUILayout.PropertyField(enableSeparatorSlots, SpineInspectorUtility.TempContent("Enable Separation", tooltip: "Whether to enable separation at the above separator slots.")); - EditorGUILayout.PropertyField(updateSeparatorPartLocation, SpineInspectorUtility.TempContent("Update Part Location", tooltip:"Update separator part GameObject location to match the position of the SkeletonGraphic. This can be helpful when re-parenting parts to a different GameObject.")); - } - } - - #region Menus - [MenuItem("CONTEXT/SkeletonGraphic/Match RectTransform with Mesh Bounds")] - static void MatchRectTransformWithBounds (MenuCommand command) { - var skeletonGraphic = (SkeletonGraphic)command.context; - MatchRectTransformWithBounds(skeletonGraphic); - } - - static void MatchRectTransformWithBounds (SkeletonGraphic skeletonGraphic) { - if (!skeletonGraphic.MatchRectTransformWithBounds()) - Debug.Log("Mesh was not previously generated."); - } - - [MenuItem("GameObject/Spine/SkeletonGraphic (UnityUI)", false, 15)] - static public void SkeletonGraphicCreateMenuItem () { - var parentGameObject = Selection.activeObject as GameObject; - var parentTransform = parentGameObject == null ? null : parentGameObject.GetComponent(); - - if (parentTransform == null) - Debug.LogWarning("Your new SkeletonGraphic will not be visible until it is placed under a Canvas"); - - var gameObject = NewSkeletonGraphicGameObject("New SkeletonGraphic"); - gameObject.transform.SetParent(parentTransform, false); - EditorUtility.FocusProjectWindow(); - Selection.activeObject = gameObject; - EditorGUIUtility.PingObject(Selection.activeObject); - } - - // SpineEditorUtilities.InstantiateDelegate. Used by drag and drop. - public static Component SpawnSkeletonGraphicFromDrop (SkeletonDataAsset data) { - return InstantiateSkeletonGraphic(data); - } - - public static SkeletonGraphic InstantiateSkeletonGraphic (SkeletonDataAsset skeletonDataAsset, string skinName) { - return InstantiateSkeletonGraphic(skeletonDataAsset, skeletonDataAsset.GetSkeletonData(true).FindSkin(skinName)); - } - - public static SkeletonGraphic InstantiateSkeletonGraphic (SkeletonDataAsset skeletonDataAsset, Skin skin = null) { - string spineGameObjectName = string.Format("SkeletonGraphic ({0})", skeletonDataAsset.name.Replace("_SkeletonData", "")); - var go = NewSkeletonGraphicGameObject(spineGameObjectName); - var graphic = go.GetComponent(); - graphic.skeletonDataAsset = skeletonDataAsset; - - SkeletonData data = skeletonDataAsset.GetSkeletonData(true); - - if (data == null) { - for (int i = 0; i < skeletonDataAsset.atlasAssets.Length; i++) { - string reloadAtlasPath = AssetDatabase.GetAssetPath(skeletonDataAsset.atlasAssets[i]); - skeletonDataAsset.atlasAssets[i] = (AtlasAssetBase)AssetDatabase.LoadAssetAtPath(reloadAtlasPath, typeof(AtlasAssetBase)); - } - - data = skeletonDataAsset.GetSkeletonData(true); - } - - skin = skin ?? data.DefaultSkin ?? data.Skins.Items[0]; - graphic.MeshGenerator.settings.zSpacing = SpineEditorUtilities.Preferences.defaultZSpacing; - - graphic.startingLoop = SpineEditorUtilities.Preferences.defaultInstantiateLoop; - graphic.Initialize(false); - if (skin != null) graphic.Skeleton.SetSkin(skin); - graphic.initialSkinName = skin.Name; - graphic.Skeleton.UpdateWorldTransform(); - graphic.UpdateMesh(); - return graphic; - } - - static GameObject NewSkeletonGraphicGameObject (string gameObjectName) { - var go = EditorInstantiation.NewGameObject(gameObjectName, true, typeof(RectTransform), typeof(CanvasRenderer), typeof(SkeletonGraphic)); - var graphic = go.GetComponent(); - graphic.material = SkeletonGraphicInspector.DefaultSkeletonGraphicMaterial; - return go; - } - - public static Material DefaultSkeletonGraphicMaterial { - get { - var guids = AssetDatabase.FindAssets("SkeletonGraphicDefault t:material"); - if (guids.Length <= 0) return null; - - var firstAssetPath = AssetDatabase.GUIDToAssetPath(guids[0]); - if (string.IsNullOrEmpty(firstAssetPath)) return null; - - var firstMaterial = AssetDatabase.LoadAssetAtPath(firstAssetPath); - return firstMaterial; - } - } - - #endregion - } -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonGraphicInspector.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonGraphicInspector.cs.meta deleted file mode 100644 index 5fced2e..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonGraphicInspector.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 0d81cc76b52fcdf499b2db252a317726 -timeCreated: 1455570945 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonMecanimInspector.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonMecanimInspector.cs deleted file mode 100644 index c322a8e..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonMecanimInspector.cs +++ /dev/null @@ -1,153 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -// Contributed by: Mitch Thompson - -using UnityEditor; -using UnityEngine; - -namespace Spine.Unity.Editor { - [CustomEditor(typeof(SkeletonMecanim))] - [CanEditMultipleObjects] - public class SkeletonMecanimInspector : SkeletonRendererInspector { - public static bool mecanimSettingsFoldout; - - protected SerializedProperty autoReset; - protected SerializedProperty useCustomMixMode; - protected SerializedProperty layerMixModes; - protected SerializedProperty layerBlendModes; - - protected override void OnEnable () { - base.OnEnable(); - SerializedProperty mecanimTranslator = serializedObject.FindProperty("translator"); - autoReset = mecanimTranslator.FindPropertyRelative("autoReset"); - useCustomMixMode = mecanimTranslator.FindPropertyRelative("useCustomMixMode"); - layerMixModes = mecanimTranslator.FindPropertyRelative("layerMixModes"); - layerBlendModes = mecanimTranslator.FindPropertyRelative("layerBlendModes"); - } - - protected override void DrawInspectorGUI (bool multi) { - - AddRootMotionComponentIfEnabled(); - - base.DrawInspectorGUI(multi); - - using (new SpineInspectorUtility.BoxScope()) { - mecanimSettingsFoldout = EditorGUILayout.Foldout(mecanimSettingsFoldout, "Mecanim Translator"); - if (mecanimSettingsFoldout) { - EditorGUILayout.PropertyField(autoReset, new GUIContent("Auto Reset", - "When set to true, the skeleton state is mixed out to setup-" + - "pose when an animation finishes, according to the " + - "animation's keyed items.")); - - EditorGUILayout.PropertyField(useCustomMixMode, new GUIContent("Custom MixMode", - "When disabled, the recommended MixMode is used according to the layer blend mode. Enable to specify a custom MixMode for each Mecanim layer.")); - - if (useCustomMixMode.hasMultipleDifferentValues || useCustomMixMode.boolValue == true) { - DrawLayerSettings(); - EditorGUILayout.Space(); - } - } - } - } - - protected void AddRootMotionComponentIfEnabled () { - foreach (var t in targets) { - var component = t as Component; - var animator = component.GetComponent(); - if (animator != null && animator.applyRootMotion) { - if (component.GetComponent() == null) { - component.gameObject.AddComponent(); - } - } - } - } - - protected void DrawLayerSettings () { - string[] layerNames = GetLayerNames(); - float widthLayerColumn = 140; - float widthMixColumn = 84; - - using (new GUILayout.HorizontalScope()) { - var rect = GUILayoutUtility.GetRect(EditorGUIUtility.currentViewWidth, EditorGUIUtility.singleLineHeight); - rect.width = widthLayerColumn; - EditorGUI.LabelField(rect, SpineInspectorUtility.TempContent("Mecanim Layer"), EditorStyles.boldLabel); - - var savedIndent = EditorGUI.indentLevel; - EditorGUI.indentLevel = 0; - - rect.position += new Vector2(rect.width, 0); - rect.width = widthMixColumn; - EditorGUI.LabelField(rect, SpineInspectorUtility.TempContent("Mix Mode"), EditorStyles.boldLabel); - - EditorGUI.indentLevel = savedIndent; - } - - using (new SpineInspectorUtility.IndentScope()) { - int layerCount = layerMixModes.arraySize; - for (int i = 0; i < layerCount; ++i) { - using (new GUILayout.HorizontalScope()) { - string layerName = i < layerNames.Length ? layerNames[i] : ("Layer " + i); - - var rect = GUILayoutUtility.GetRect(EditorGUIUtility.currentViewWidth, EditorGUIUtility.singleLineHeight); - rect.width = widthLayerColumn; - EditorGUI.PrefixLabel(rect, SpineInspectorUtility.TempContent(layerName)); - - var savedIndent = EditorGUI.indentLevel; - EditorGUI.indentLevel = 0; - - var mixMode = layerMixModes.GetArrayElementAtIndex(i); - rect.position += new Vector2(rect.width, 0); - rect.width = widthMixColumn; - EditorGUI.PropertyField(rect, mixMode, GUIContent.none); - - EditorGUI.indentLevel = savedIndent; - } - } - } - } - - protected string[] GetLayerNames () { - int maxLayerCount = 0; - int maxIndex = 0; - for (int i = 0; i < targets.Length; ++i) { - var skeletonMecanim = ((SkeletonMecanim)targets[i]); - int count = skeletonMecanim.Translator.MecanimLayerCount; - if (count > maxLayerCount) { - maxLayerCount = count; - maxIndex = i; - } - } - if (maxLayerCount == 0) - return new string[0]; - var skeletonMecanimMaxLayers = ((SkeletonMecanim)targets[maxIndex]); - return skeletonMecanimMaxLayers.Translator.MecanimLayerNames; - } - } -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonMecanimInspector.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonMecanimInspector.cs.meta deleted file mode 100644 index 9ef306e..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonMecanimInspector.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 6a9ca5213a3a4614c9a9f2e60909bc33 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonMecanimRootMotionInspector.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonMecanimRootMotionInspector.cs deleted file mode 100644 index bcdbbaa..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonMecanimRootMotionInspector.cs +++ /dev/null @@ -1,81 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEditor; -using UnityEngine; - -namespace Spine.Unity.Editor { - [CustomEditor(typeof(SkeletonMecanimRootMotion))] - [CanEditMultipleObjects] - public class SkeletonMecanimRootMotionInspector : SkeletonRootMotionBaseInspector { - protected SerializedProperty mecanimLayerFlags; - - protected GUIContent mecanimLayersLabel; - - protected override void OnEnable () { - base.OnEnable(); - mecanimLayerFlags = serializedObject.FindProperty("mecanimLayerFlags"); - - mecanimLayersLabel = new UnityEngine.GUIContent("Mecanim Layers", "Mecanim layers to apply root motion at. Defaults to the first Mecanim layer."); - } - - override public void OnInspectorGUI () { - - base.MainPropertyFields(); - MecanimLayerMaskPropertyField(); - - base.OptionalPropertyFields(); - serializedObject.ApplyModifiedProperties(); - } - - protected string[] GetLayerNames () { - int maxLayerCount = 0; - int maxIndex = 0; - for (int i = 0; i < targets.Length; ++i) { - var skeletonMecanim = ((SkeletonMecanimRootMotion)targets[i]).SkeletonMecanim; - int count = skeletonMecanim.Translator.MecanimLayerCount; - if (count > maxLayerCount) { - maxLayerCount = count; - maxIndex = i; - } - } - if (maxLayerCount == 0) - return new string[0]; - var skeletonMecanimMaxLayers = ((SkeletonMecanimRootMotion)targets[maxIndex]).SkeletonMecanim; - return skeletonMecanimMaxLayers.Translator.MecanimLayerNames; - } - - protected void MecanimLayerMaskPropertyField () { - string[] layerNames = GetLayerNames(); - if (layerNames.Length > 0) - mecanimLayerFlags.intValue = EditorGUILayout.MaskField( - mecanimLayersLabel, mecanimLayerFlags.intValue, layerNames); - } - } -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonMecanimRootMotionInspector.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonMecanimRootMotionInspector.cs.meta deleted file mode 100644 index 04c6dcf..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonMecanimRootMotionInspector.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 4613924c50d66cf458f0db803776dd2f -timeCreated: 1593175106 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRendererCustomMaterialsInspector.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRendererCustomMaterialsInspector.cs deleted file mode 100644 index 44c9f4a..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRendererCustomMaterialsInspector.cs +++ /dev/null @@ -1,165 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#define SPINE_OPTIONAL_MATERIALOVERRIDE - -// Contributed by: Lost Polygon - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using UnityEditor; -using UnityEngine; -using Spine.Unity.Examples; - -namespace Spine.Unity.Editor { - - // This script is not intended for use with code. See the readme.txt file in SkeletonRendererCustomMaterials folder to learn more. - [CustomEditor(typeof(SkeletonRendererCustomMaterials))] - public class SkeletonRendererCustomMaterialsInspector : UnityEditor.Editor { - List componentCustomMaterialOverrides, _customMaterialOverridesPrev; - List componentCustomSlotMaterials, _customSlotMaterialsPrev; - SkeletonRendererCustomMaterials component; - - const BindingFlags PrivateInstance = BindingFlags.Instance | BindingFlags.NonPublic; - MethodInfo RemoveCustomMaterialOverrides, RemoveCustomSlotMaterials, SetCustomMaterialOverrides, SetCustomSlotMaterials; - - #region SkeletonRenderer context menu - [MenuItem("CONTEXT/SkeletonRenderer/Add Basic Serialized Custom Materials")] - static void AddSkeletonRendererCustomMaterials (MenuCommand menuCommand) { - var skeletonRenderer = (SkeletonRenderer)menuCommand.context; - var newComponent = skeletonRenderer.gameObject.AddComponent(); - Undo.RegisterCreatedObjectUndo(newComponent, "Add Basic Serialized Custom Materials"); - } - - [MenuItem("CONTEXT/SkeletonRenderer/Add Basic Serialized Custom Materials", true)] - static bool AddSkeletonRendererCustomMaterials_Validate (MenuCommand menuCommand) { - var skeletonRenderer = (SkeletonRenderer)menuCommand.context; - return (skeletonRenderer.GetComponent() == null); - } - #endregion - - void OnEnable () { - Type cm = typeof(SkeletonRendererCustomMaterials); - RemoveCustomMaterialOverrides = cm.GetMethod("RemoveCustomMaterialOverrides", PrivateInstance); - RemoveCustomSlotMaterials = cm.GetMethod("RemoveCustomSlotMaterials", PrivateInstance); - SetCustomMaterialOverrides = cm.GetMethod("SetCustomMaterialOverrides", PrivateInstance); - SetCustomSlotMaterials = cm.GetMethod("SetCustomSlotMaterials", PrivateInstance); - } - - public override void OnInspectorGUI () { - component = (SkeletonRendererCustomMaterials)target; - var skeletonRenderer = component.skeletonRenderer; - - // Draw the default inspector - DrawDefaultInspector(); - - if (serializedObject.isEditingMultipleObjects) - return; - - if (componentCustomMaterialOverrides == null) { - Type cm = typeof(SkeletonRendererCustomMaterials); - componentCustomMaterialOverrides = cm.GetField("customMaterialOverrides", PrivateInstance).GetValue(component) as List; - componentCustomSlotMaterials = cm.GetField("customSlotMaterials", PrivateInstance).GetValue(component) as List; - if (componentCustomMaterialOverrides == null) { - Debug.Log("Reflection failed."); - return; - } - } - - // Fill with current values at start - if (_customMaterialOverridesPrev == null || _customSlotMaterialsPrev == null) { - _customMaterialOverridesPrev = CopyList(componentCustomMaterialOverrides); - _customSlotMaterialsPrev = CopyList(componentCustomSlotMaterials); - } - - // Compare new values with saved. If change is detected: - // store new values, restore old values, remove overrides, restore new values, restore overrides. - - // 1. Store new values - var customMaterialOverridesNew = CopyList(componentCustomMaterialOverrides); - var customSlotMaterialsNew = CopyList(componentCustomSlotMaterials); - - // Detect changes - if (!_customMaterialOverridesPrev.SequenceEqual(customMaterialOverridesNew) || - !_customSlotMaterialsPrev.SequenceEqual(customSlotMaterialsNew)) { - // 2. Restore old values - componentCustomMaterialOverrides.Clear(); - componentCustomSlotMaterials.Clear(); - componentCustomMaterialOverrides.AddRange(_customMaterialOverridesPrev); - componentCustomSlotMaterials.AddRange(_customSlotMaterialsPrev); - - // 3. Remove overrides - RemoveCustomMaterials(); - - // 4. Restore new values - componentCustomMaterialOverrides.Clear(); - componentCustomSlotMaterials.Clear(); - componentCustomMaterialOverrides.AddRange(customMaterialOverridesNew); - componentCustomSlotMaterials.AddRange(customSlotMaterialsNew); - - // 5. Restore overrides - SetCustomMaterials(); - - if (skeletonRenderer != null) - skeletonRenderer.LateUpdate(); - } - - _customMaterialOverridesPrev = CopyList(componentCustomMaterialOverrides); - _customSlotMaterialsPrev = CopyList(componentCustomSlotMaterials); - - if (SpineInspectorUtility.LargeCenteredButton(SpineInspectorUtility.TempContent("Clear and Reapply Changes", tooltip: "Removes all non-serialized overrides in the SkeletonRenderer and reapplies the overrides on this component."))) { - if (skeletonRenderer != null) { - #if SPINE_OPTIONAL_MATERIALOVERRIDE - skeletonRenderer.CustomMaterialOverride.Clear(); - #endif - skeletonRenderer.CustomSlotMaterials.Clear(); - RemoveCustomMaterials(); - SetCustomMaterials(); - skeletonRenderer.LateUpdate(); - } - } - } - - void RemoveCustomMaterials () { - RemoveCustomMaterialOverrides.Invoke(component, null); - RemoveCustomSlotMaterials.Invoke(component, null); - } - - void SetCustomMaterials () { - SetCustomMaterialOverrides.Invoke(component, null); - SetCustomSlotMaterials.Invoke(component, null); - } - - static List CopyList (List list) { - return list.GetRange(0, list.Count); - } - } -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRendererCustomMaterialsInspector.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRendererCustomMaterialsInspector.cs.meta deleted file mode 100644 index 1e37a56..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRendererCustomMaterialsInspector.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: e70f7f2a241d6d34aafd6a4a52a368d0 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRendererInspector.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRendererInspector.cs deleted file mode 100644 index d668691..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRendererInspector.cs +++ /dev/null @@ -1,593 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER -#define NEW_PREFAB_SYSTEM -#else -#define NO_PREFAB_MESH -#endif - -#if UNITY_2018_1_OR_NEWER -#define PER_MATERIAL_PROPERTY_BLOCKS -#endif - -#if UNITY_2017_1_OR_NEWER -#define BUILT_IN_SPRITE_MASK_COMPONENT -#endif - -using UnityEditor; -using System.Collections.Generic; -using UnityEngine; -using System.Reflection; - -namespace Spine.Unity.Editor { - using Event = UnityEngine.Event; - using Icons = SpineEditorUtilities.Icons; - - [CustomEditor(typeof(SkeletonRenderer))] - [CanEditMultipleObjects] - public class SkeletonRendererInspector : UnityEditor.Editor { - public static bool advancedFoldout; - - const string SeparatorSlotNamesFieldName = "separatorSlotNames"; - - protected SerializedProperty skeletonDataAsset, initialSkinName; - protected SerializedProperty initialFlipX, initialFlipY; - protected SerializedProperty updateWhenInvisible, singleSubmesh, separatorSlotNames, clearStateOnDisable, immutableTriangles, fixDrawOrder; - protected SerializedProperty normals, tangents, zSpacing, pmaVertexColors, tintBlack; // MeshGenerator settings - protected SerializedProperty maskInteraction; - protected SerializedProperty maskMaterialsNone, maskMaterialsInside, maskMaterialsOutside; - protected SpineInspectorUtility.SerializedSortingProperties sortingProperties; - - protected bool isInspectingPrefab; - protected bool forceReloadQueued = false; - protected bool setMaskNoneMaterialsQueued = false; - protected bool setInsideMaskMaterialsQueued = false; - protected bool setOutsideMaskMaterialsQueued = false; - protected bool deleteInsideMaskMaterialsQueued = false; - protected bool deleteOutsideMaskMaterialsQueued = false; - - protected GUIContent SkeletonDataAssetLabel, SkeletonUtilityButtonContent; - protected GUIContent PMAVertexColorsLabel, ClearStateOnDisableLabel, ZSpacingLabel, ImmubleTrianglesLabel, TintBlackLabel, UpdateWhenInvisibleLabel, SingleSubmeshLabel, FixDrawOrderLabel; - protected GUIContent NormalsLabel, TangentsLabel, MaskInteractionLabel; - protected GUIContent MaskMaterialsHeadingLabel, MaskMaterialsNoneLabel, MaskMaterialsInsideLabel, MaskMaterialsOutsideLabel; - protected GUIContent SetMaterialButtonLabel, ClearMaterialButtonLabel, DeleteMaterialButtonLabel; - - const string ReloadButtonString = "Reload"; - static GUILayoutOption reloadButtonWidth; - static GUILayoutOption ReloadButtonWidth { get { return reloadButtonWidth = reloadButtonWidth ?? GUILayout.Width(GUI.skin.label.CalcSize(new GUIContent(ReloadButtonString)).x + 20); } } - static GUIStyle ReloadButtonStyle { get { return EditorStyles.miniButton; } } - - protected bool TargetIsValid { - get { - if (serializedObject.isEditingMultipleObjects) { - foreach (var o in targets) { - var component = (SkeletonRenderer)o; - if (!component.valid) - return false; - } - return true; - } else { - var component = (SkeletonRenderer)target; - return component.valid; - } - } - } - - protected virtual void OnEnable () { -#if NEW_PREFAB_SYSTEM - isInspectingPrefab = false; -#else - isInspectingPrefab = (PrefabUtility.GetPrefabType(target) == PrefabType.Prefab); -#endif - SpineEditorUtilities.ConfirmInitialization(); - - // Labels - SkeletonDataAssetLabel = new GUIContent("SkeletonData Asset", Icons.spine); - SkeletonUtilityButtonContent = new GUIContent("Add Skeleton Utility", Icons.skeletonUtility); - ImmubleTrianglesLabel = new GUIContent("Immutable Triangles", "Enable to optimize rendering for skeletons that never change attachment visbility"); - PMAVertexColorsLabel = new GUIContent("PMA Vertex Colors", "Use this if you are using the default Spine/Skeleton shader or any premultiply-alpha shader."); - ClearStateOnDisableLabel = new GUIContent("Clear State On Disable", "Use this if you are pooling or enabling/disabling your Spine GameObject."); - ZSpacingLabel = new GUIContent("Z Spacing", "A value other than 0 adds a space between each rendered attachment to prevent Z Fighting when using shaders that read or write to the depth buffer. Large values may cause unwanted parallax and spaces depending on camera setup."); - NormalsLabel = new GUIContent("Add Normals", "Use this if your shader requires vertex normals. A more efficient solution for 2D setups is to modify the shader to assume a single normal value for the whole mesh."); - TangentsLabel = new GUIContent("Solve Tangents", "Calculates the tangents per frame. Use this if you are using lit shaders (usually with normal maps) that require vertex tangents."); - TintBlackLabel = new GUIContent("Tint Black (!)", "Adds black tint vertex data to the mesh as UV2 and UV3. Black tinting requires that the shader interpret UV2 and UV3 as black tint colors for this effect to work. You may also use the default [Spine/Skeleton Tint Black] shader.\n\nIf you only need to tint the whole skeleton and not individual parts, the [Spine/Skeleton Tint] shader is recommended for better efficiency and changing/animating the _Black material property via MaterialPropertyBlock."); - SingleSubmeshLabel = new GUIContent("Use Single Submesh", "Simplifies submesh generation by assuming you are only using one Material and need only one submesh. This is will disable multiple materials, render separation, and custom slot materials."); - UpdateWhenInvisibleLabel = new GUIContent("Update When Invisible", "Update mode used when the MeshRenderer becomes invisible. Update mode is automatically reset to UpdateMode.FullUpdate when the mesh becomes visible again."); - FixDrawOrderLabel = new GUIContent("Fix Draw Order", "Applies only when 3+ submeshes are used (2+ materials with alternating order, e.g. \"A B A\"). If true, GPU instancing will be disabled at all materials and MaterialPropertyBlocks are assigned at each material to prevent aggressive batching of submeshes by e.g. the LWRP renderer, leading to incorrect draw order (e.g. \"A1 B A2\" changed to \"A1A2 B\"). You can disable this parameter when everything is drawn correctly to save the additional performance cost. Note: the GPU instancing setting will remain disabled at affected material assets after exiting play mode, you have to enable it manually if you accidentally enabled this parameter."); - MaskInteractionLabel = new GUIContent("Mask Interaction", "SkeletonRenderer's interaction with a Sprite Mask."); - MaskMaterialsHeadingLabel = new GUIContent("Mask Interaction Materials", "Materials used for different interaction with sprite masks."); - MaskMaterialsNoneLabel = new GUIContent("Normal Materials", "Normal materials used when Mask Interaction is set to None."); - MaskMaterialsInsideLabel = new GUIContent("Inside Mask", "Materials used when Mask Interaction is set to Inside Mask."); - MaskMaterialsOutsideLabel = new GUIContent("Outside Mask", "Materials used when Mask Interaction is set to Outside Mask."); - SetMaterialButtonLabel = new GUIContent("Set", "Prepares material references for switching to the corresponding Mask Interaction mode at runtime. Creates the required materials if they do not exist."); - ClearMaterialButtonLabel = new GUIContent("Clear", "Clears unused material references. Note: when switching to the corresponding Mask Interaction mode at runtime, a new material is generated on the fly."); - DeleteMaterialButtonLabel = new GUIContent("Delete", "Clears unused material references and deletes the corresponding assets. Note: when switching to the corresponding Mask Interaction mode at runtime, a new material is generated on the fly."); - - var so = this.serializedObject; - skeletonDataAsset = so.FindProperty("skeletonDataAsset"); - initialSkinName = so.FindProperty("initialSkinName"); - initialFlipX = so.FindProperty("initialFlipX"); - initialFlipY = so.FindProperty("initialFlipY"); - normals = so.FindProperty("addNormals"); - tangents = so.FindProperty("calculateTangents"); - immutableTriangles = so.FindProperty("immutableTriangles"); - pmaVertexColors = so.FindProperty("pmaVertexColors"); - clearStateOnDisable = so.FindProperty("clearStateOnDisable"); - tintBlack = so.FindProperty("tintBlack"); - updateWhenInvisible = so.FindProperty("updateWhenInvisible"); - singleSubmesh = so.FindProperty("singleSubmesh"); - fixDrawOrder = so.FindProperty("fixDrawOrder"); - maskInteraction = so.FindProperty("maskInteraction"); - maskMaterialsNone = so.FindProperty("maskMaterials.materialsMaskDisabled"); - maskMaterialsInside = so.FindProperty("maskMaterials.materialsInsideMask"); - maskMaterialsOutside = so.FindProperty("maskMaterials.materialsOutsideMask"); - - separatorSlotNames = so.FindProperty("separatorSlotNames"); - separatorSlotNames.isExpanded = true; - - zSpacing = so.FindProperty("zSpacing"); - - SerializedObject renderersSerializedObject = SpineInspectorUtility.GetRenderersSerializedObject(serializedObject); // Allows proper multi-edit behavior. - sortingProperties = new SpineInspectorUtility.SerializedSortingProperties(renderersSerializedObject); - } - - public void OnSceneGUI () { - var skeletonRenderer = (SkeletonRenderer)target; - var skeleton = skeletonRenderer.Skeleton; - var transform = skeletonRenderer.transform; - if (skeleton == null) return; - - SpineHandles.DrawBones(transform, skeleton); - } - - override public void OnInspectorGUI () { - bool multi = serializedObject.isEditingMultipleObjects; - DrawInspectorGUI(multi); - HandleSkinChange(); - if (serializedObject.ApplyModifiedProperties() || SpineInspectorUtility.UndoRedoPerformed(Event.current) || - AreAnyMaskMaterialsMissing()) { - if (!Application.isPlaying) { - foreach (var o in targets) - SpineEditorUtilities.ReinitializeComponent((SkeletonRenderer)o); - SceneView.RepaintAll(); - } - } - } - - protected virtual void DrawInspectorGUI (bool multi) { - // Initialize. - if (Event.current.type == EventType.Layout) { - if (forceReloadQueued) { - forceReloadQueued = false; - foreach (var c in targets) { - SpineEditorUtilities.ReloadSkeletonDataAssetAndComponent(c as SkeletonRenderer); - } - } else { - foreach (var c in targets) { - var component = c as SkeletonRenderer; - if (!component.valid) { - SpineEditorUtilities.ReinitializeComponent(component); - if (!component.valid) continue; - } - } - } - - #if BUILT_IN_SPRITE_MASK_COMPONENT - if (setMaskNoneMaterialsQueued) { - setMaskNoneMaterialsQueued = false; - foreach (var c in targets) - EditorSetMaskMaterials(c as SkeletonRenderer, SpriteMaskInteraction.None); - } - if (setInsideMaskMaterialsQueued) { - setInsideMaskMaterialsQueued = false; - foreach (var c in targets) - EditorSetMaskMaterials(c as SkeletonRenderer, SpriteMaskInteraction.VisibleInsideMask); - } - if (setOutsideMaskMaterialsQueued) { - setOutsideMaskMaterialsQueued = false; - foreach (var c in targets) - EditorSetMaskMaterials(c as SkeletonRenderer, SpriteMaskInteraction.VisibleOutsideMask); - } - - if (deleteInsideMaskMaterialsQueued) { - deleteInsideMaskMaterialsQueued = false; - foreach (var c in targets) - EditorDeleteMaskMaterials(c as SkeletonRenderer, SpriteMaskInteraction.VisibleInsideMask); - } - if (deleteOutsideMaskMaterialsQueued) { - deleteOutsideMaskMaterialsQueued = false; - foreach (var c in targets) - EditorDeleteMaskMaterials(c as SkeletonRenderer, SpriteMaskInteraction.VisibleOutsideMask); - } - #endif - -#if NO_PREFAB_MESH - if (isInspectingPrefab) { - foreach (var c in targets) { - var component = (SkeletonRenderer)c; - MeshFilter meshFilter = component.GetComponent(); - if (meshFilter != null && meshFilter.sharedMesh != null) - meshFilter.sharedMesh = null; - } - } -#endif - } - - bool valid = TargetIsValid; - - // Fields. - if (multi) { - using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) { - SpineInspectorUtility.PropertyFieldFitLabel(skeletonDataAsset, SkeletonDataAssetLabel); - if (GUILayout.Button(ReloadButtonString, ReloadButtonStyle, ReloadButtonWidth)) - forceReloadQueued = true; - } - - if (valid) EditorGUILayout.PropertyField(initialSkinName, SpineInspectorUtility.TempContent("Initial Skin")); - - } else { - var component = (SkeletonRenderer)target; - - using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) { - SpineInspectorUtility.PropertyFieldFitLabel(skeletonDataAsset, SkeletonDataAssetLabel); - if (component.valid) { - if (GUILayout.Button(ReloadButtonString, ReloadButtonStyle, ReloadButtonWidth)) - forceReloadQueued = true; - } - } - - if (component.skeletonDataAsset == null) { - EditorGUILayout.HelpBox("Skeleton Data Asset required", MessageType.Warning); - return; - } - - if (!SpineEditorUtilities.SkeletonDataAssetIsValid(component.skeletonDataAsset)) { - EditorGUILayout.HelpBox("Skeleton Data Asset error. Please check Skeleton Data Asset.", MessageType.Error); - return; - } - - if (valid) - EditorGUILayout.PropertyField(initialSkinName, SpineInspectorUtility.TempContent("Initial Skin")); - - } - - EditorGUILayout.Space(); - - // Sorting Layers - SpineInspectorUtility.SortingPropertyFields(sortingProperties, applyModifiedProperties: true); - - if (maskInteraction != null) EditorGUILayout.PropertyField(maskInteraction, MaskInteractionLabel); - - if (!valid) - return; - - string errorMessage = null; - if (SpineEditorUtilities.Preferences.componentMaterialWarning && - MaterialChecks.IsMaterialSetupProblematic((SkeletonRenderer)this.target, ref errorMessage)) { - EditorGUILayout.HelpBox(errorMessage, MessageType.Error, true); - } - - // More Render Options... - using (new SpineInspectorUtility.BoxScope()) { - EditorGUI.BeginChangeCheck(); - - EditorGUILayout.BeginHorizontal(GUILayout.Height(EditorGUIUtility.singleLineHeight + 5)); - advancedFoldout = EditorGUILayout.Foldout(advancedFoldout, "Advanced"); - if (advancedFoldout) { - EditorGUILayout.Space(); - if (GUILayout.Button("Debug", EditorStyles.miniButton, GUILayout.Width(65f))) - SkeletonDebugWindow.Init(); - } else { - EditorGUILayout.Space(); - } - EditorGUILayout.EndHorizontal(); - - if (advancedFoldout) { - - using (new SpineInspectorUtility.IndentScope()) { - using (new EditorGUILayout.HorizontalScope()) { - SpineInspectorUtility.ToggleLeftLayout(initialFlipX); - SpineInspectorUtility.ToggleLeftLayout(initialFlipY); - EditorGUILayout.Space(); - } - - EditorGUILayout.Space(); - EditorGUILayout.LabelField("Renderer Settings", EditorStyles.boldLabel); - using (new SpineInspectorUtility.LabelWidthScope()) { - // Optimization options - if (updateWhenInvisible != null) EditorGUILayout.PropertyField(updateWhenInvisible, UpdateWhenInvisibleLabel); - - if (singleSubmesh != null) EditorGUILayout.PropertyField(singleSubmesh, SingleSubmeshLabel); - #if PER_MATERIAL_PROPERTY_BLOCKS - if (fixDrawOrder != null) EditorGUILayout.PropertyField(fixDrawOrder, FixDrawOrderLabel); - #endif - if (immutableTriangles != null) EditorGUILayout.PropertyField(immutableTriangles, ImmubleTrianglesLabel); - EditorGUILayout.PropertyField(clearStateOnDisable, ClearStateOnDisableLabel); - EditorGUILayout.Space(); - } - - SeparatorsField(separatorSlotNames); - EditorGUILayout.Space(); - - // Render options - const float MinZSpacing = -0.1f; - const float MaxZSpacing = 0f; - EditorGUILayout.Slider(zSpacing, MinZSpacing, MaxZSpacing, ZSpacingLabel); - EditorGUILayout.Space(); - - using (new SpineInspectorUtility.LabelWidthScope()) { - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Vertex Data", SpineInspectorUtility.UnityIcon()), EditorStyles.boldLabel); - if (pmaVertexColors != null) EditorGUILayout.PropertyField(pmaVertexColors, PMAVertexColorsLabel); - EditorGUILayout.PropertyField(tintBlack, TintBlackLabel); - - // Optional fields. May be disabled in SkeletonRenderer. - if (normals != null) EditorGUILayout.PropertyField(normals, NormalsLabel); - if (tangents != null) EditorGUILayout.PropertyField(tangents, TangentsLabel); - } - - #if BUILT_IN_SPRITE_MASK_COMPONENT - EditorGUILayout.Space(); - if (maskMaterialsNone.arraySize > 0 || maskMaterialsInside.arraySize > 0 || maskMaterialsOutside.arraySize > 0) { - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Mask Interaction Materials", SpineInspectorUtility.UnityIcon()), EditorStyles.boldLabel); - bool differentMaskModesSelected = maskInteraction.hasMultipleDifferentValues; - int activeMaskInteractionValue = differentMaskModesSelected ? -1 : maskInteraction.intValue; - - bool ignoredParam = true; - MaskMaterialsEditingField(ref setMaskNoneMaterialsQueued, ref ignoredParam, maskMaterialsNone, MaskMaterialsNoneLabel, - differentMaskModesSelected, allowDelete : false, isActiveMaterial : activeMaskInteractionValue == (int)SpriteMaskInteraction.None); - MaskMaterialsEditingField(ref setInsideMaskMaterialsQueued, ref deleteInsideMaskMaterialsQueued, maskMaterialsInside, MaskMaterialsInsideLabel, - differentMaskModesSelected, allowDelete: true, isActiveMaterial: activeMaskInteractionValue == (int)SpriteMaskInteraction.VisibleInsideMask); - MaskMaterialsEditingField(ref setOutsideMaskMaterialsQueued, ref deleteOutsideMaskMaterialsQueued, maskMaterialsOutside, MaskMaterialsOutsideLabel, - differentMaskModesSelected, allowDelete : true, isActiveMaterial: activeMaskInteractionValue == (int)SpriteMaskInteraction.VisibleOutsideMask); - } - #endif - - EditorGUILayout.Space(); - - if (valid && !isInspectingPrefab) { - if (multi) { - // Support multi-edit SkeletonUtility button. - // EditorGUILayout.Space(); - // bool addSkeletonUtility = GUILayout.Button(buttonContent, GUILayout.Height(30)); - // foreach (var t in targets) { - // var component = t as Component; - // if (addSkeletonUtility && component.GetComponent() == null) - // component.gameObject.AddComponent(); - // } - } else { - var component = (Component)target; - if (component.GetComponent() == null) { - if (SpineInspectorUtility.CenteredButton(SkeletonUtilityButtonContent, 21, true, 200f)) - component.gameObject.AddComponent(); - } - } - } - - EditorGUILayout.Space(); - } - } - - if (EditorGUI.EndChangeCheck()) - SceneView.RepaintAll(); - } - } - - protected void SkeletonRootMotionParameter() { - SkeletonRootMotionParameter(targets); - } - - public static void SkeletonRootMotionParameter(Object[] targets) { - int rootMotionComponentCount = 0; - foreach (var t in targets) { - var component = t as Component; - if (component.GetComponent() != null) { - ++rootMotionComponentCount; - } - } - bool allHaveRootMotion = rootMotionComponentCount == targets.Length; - bool anyHaveRootMotion = rootMotionComponentCount > 0; - - using (new GUILayout.HorizontalScope()) { - EditorGUILayout.PrefixLabel("Root Motion"); - - if (!allHaveRootMotion) { - if (GUILayout.Button(SpineInspectorUtility.TempContent("Add Component", Icons.constraintTransform), GUILayout.MaxWidth(130), GUILayout.Height(18))) { - foreach (var t in targets) { - var component = t as Component; - if (component.GetComponent() == null) { - component.gameObject.AddComponent(); - } - } - } - } - if (anyHaveRootMotion) { - if (GUILayout.Button(SpineInspectorUtility.TempContent("Remove Component", Icons.constraintTransform), GUILayout.MaxWidth(140), GUILayout.Height(18))) { - foreach (var t in targets) { - var component = t as Component; - var rootMotionComponent = component.GetComponent(); - if (rootMotionComponent != null) { - DestroyImmediate(rootMotionComponent); - } - } - } - } - } - } - - public static void SetSeparatorSlotNames (SkeletonRenderer skeletonRenderer, string[] newSlotNames) { - var field = SpineInspectorUtility.GetNonPublicField(typeof(SkeletonRenderer), SeparatorSlotNamesFieldName); - field.SetValue(skeletonRenderer, newSlotNames); - } - - public static string[] GetSeparatorSlotNames (SkeletonRenderer skeletonRenderer) { - var field = SpineInspectorUtility.GetNonPublicField(typeof(SkeletonRenderer), SeparatorSlotNamesFieldName); - return field.GetValue(skeletonRenderer) as string[]; - } - - public static void SeparatorsField (SerializedProperty separatorSlotNames) { - bool multi = separatorSlotNames.serializedObject.isEditingMultipleObjects; - bool hasTerminalSlot = false; - if (!multi) { - var sr = separatorSlotNames.serializedObject.targetObject as ISkeletonComponent; - var skeleton = sr.Skeleton; - int lastSlot = skeleton.Slots.Count - 1; - if (skeleton != null) { - for (int i = 0, n = separatorSlotNames.arraySize; i < n; i++) { - int index = skeleton.FindSlotIndex(separatorSlotNames.GetArrayElementAtIndex(i).stringValue); - if (index == 0 || index == lastSlot) { - hasTerminalSlot = true; - break; - } - } - } - } - - string terminalSlotWarning = hasTerminalSlot ? " (!)" : ""; - - using (new EditorGUILayout.VerticalScope(EditorStyles.helpBox)) { - const string SeparatorsDescription = "Stored names of slots where the Skeleton's render will be split into different batches. This is used by separate components that split the render into different MeshRenderers or GameObjects."; - if (separatorSlotNames.isExpanded) { - EditorGUILayout.PropertyField(separatorSlotNames, SpineInspectorUtility.TempContent(separatorSlotNames.displayName + terminalSlotWarning, Icons.slotRoot, SeparatorsDescription), true); - GUILayout.BeginHorizontal(); - GUILayout.FlexibleSpace(); - if (GUILayout.Button("+", GUILayout.MaxWidth(28f), GUILayout.MaxHeight(15f))) { - separatorSlotNames.arraySize++; - } - GUILayout.EndHorizontal(); - - EditorGUILayout.Space(); - } else - EditorGUILayout.PropertyField(separatorSlotNames, new GUIContent(separatorSlotNames.displayName + string.Format("{0} [{1}]", terminalSlotWarning, separatorSlotNames.arraySize), SeparatorsDescription), true); - } - } - - public void MaskMaterialsEditingField(ref bool wasSetRequested, ref bool wasDeleteRequested, - SerializedProperty maskMaterials, GUIContent label, - bool differentMaskModesSelected, bool allowDelete, bool isActiveMaterial) { - using (new EditorGUILayout.HorizontalScope()) { - - EditorGUILayout.LabelField(label, isActiveMaterial ? EditorStyles.boldLabel : EditorStyles.label, GUILayout.MinWidth(80f), GUILayout.MaxWidth(140)); - EditorGUILayout.LabelField(maskMaterials.hasMultipleDifferentValues ? "-" : maskMaterials.arraySize.ToString(), EditorStyles.miniLabel, GUILayout.Width(42f)); - - bool enableSetButton = differentMaskModesSelected || maskMaterials.arraySize == 0; - bool enableClearButtons = differentMaskModesSelected || (maskMaterials.arraySize != 0 && !isActiveMaterial); - - EditorGUI.BeginDisabledGroup(!enableSetButton); - if (GUILayout.Button(SetMaterialButtonLabel, EditorStyles.miniButtonLeft, GUILayout.Width(46f))) { - wasSetRequested = true; - } - EditorGUI.EndDisabledGroup(); - - EditorGUI.BeginDisabledGroup(!enableClearButtons); - { - if (GUILayout.Button(ClearMaterialButtonLabel, allowDelete ? EditorStyles.miniButtonMid : EditorStyles.miniButtonRight, GUILayout.Width(46f))) { - maskMaterials.ClearArray(); - } - else if (allowDelete && GUILayout.Button(DeleteMaterialButtonLabel, EditorStyles.miniButtonRight, GUILayout.Width(46f))) { - wasDeleteRequested = true; - } - if (!allowDelete) - GUILayout.Space(46f); - } - EditorGUI.EndDisabledGroup(); - } - } - - void HandleSkinChange() { - if (!Application.isPlaying && Event.current.type == EventType.Layout && !initialSkinName.hasMultipleDifferentValues) { - bool mismatchDetected = false; - string newSkinName = initialSkinName.stringValue; - foreach (var o in targets) { - mismatchDetected |= UpdateIfSkinMismatch((SkeletonRenderer)o, newSkinName); - } - - if (mismatchDetected) { - mismatchDetected = false; - UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); - } - } - } - - static bool UpdateIfSkinMismatch (SkeletonRenderer skeletonRenderer, string componentSkinName) { - if (!skeletonRenderer.valid || skeletonRenderer.EditorSkipSkinSync) return false; - - var skin = skeletonRenderer.Skeleton.Skin; - string skeletonSkinName = skin != null ? skin.Name : null; - bool defaultCase = skin == null && string.IsNullOrEmpty(componentSkinName); - bool fieldMatchesSkin = defaultCase || string.Equals(componentSkinName, skeletonSkinName, System.StringComparison.Ordinal); - - if (!fieldMatchesSkin) { - Skin skinToSet = string.IsNullOrEmpty(componentSkinName) ? null : skeletonRenderer.Skeleton.Data.FindSkin(componentSkinName); - skeletonRenderer.Skeleton.SetSkin(skinToSet); - skeletonRenderer.Skeleton.SetSlotsToSetupPose(); - - // Note: the UpdateIfSkinMismatch concept shall be replaced with e.g. an OnValidate based - // solution or in a separate commit. The current solution does not repaint the Game view because - // it is first applying values and in the next editor pass is calling this skin-changing method. - if (skeletonRenderer is SkeletonAnimation) - ((SkeletonAnimation) skeletonRenderer).Update(0f); - else if (skeletonRenderer is SkeletonMecanim) - ((SkeletonMecanim) skeletonRenderer).Update(); - - skeletonRenderer.LateUpdate(); - return true; - } - return false; - } - - bool AreAnyMaskMaterialsMissing() { - #if BUILT_IN_SPRITE_MASK_COMPONENT - foreach (var o in targets) { - var component = (SkeletonRenderer)o; - if (!component.valid) - continue; - if (SpineMaskUtilities.AreMaskMaterialsMissing(component)) - return true; - } - #endif - return false; - } - - #if BUILT_IN_SPRITE_MASK_COMPONENT - static void EditorSetMaskMaterials(SkeletonRenderer component, SpriteMaskInteraction maskType) - { - if (component == null) return; - if (!SpineEditorUtilities.SkeletonDataAssetIsValid(component.SkeletonDataAsset)) return; - SpineMaskUtilities.EditorInitMaskMaterials(component, component.maskMaterials, maskType); - } - - static void EditorDeleteMaskMaterials(SkeletonRenderer component, SpriteMaskInteraction maskType) { - if (component == null) return; - if (!SpineEditorUtilities.SkeletonDataAssetIsValid(component.SkeletonDataAsset)) return; - SpineMaskUtilities.EditorDeleteMaskMaterials(component.maskMaterials, maskType); - } - #endif - } -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRendererInspector.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRendererInspector.cs.meta deleted file mode 100644 index d7791c6..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRendererInspector.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: d0fc5db9788bce4418ad3252d43faa8a -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRootMotionBaseInspector.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRootMotionBaseInspector.cs deleted file mode 100644 index 8314eb0..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRootMotionBaseInspector.cs +++ /dev/null @@ -1,113 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEditor; -using UnityEngine; - -namespace Spine.Unity.Editor { - [CustomEditor(typeof(SkeletonRootMotionBase))] - [CanEditMultipleObjects] - public class SkeletonRootMotionBaseInspector : UnityEditor.Editor { - protected SerializedProperty rootMotionBoneName; - protected SerializedProperty transformPositionX; - protected SerializedProperty transformPositionY; - protected SerializedProperty rootMotionScaleX; - protected SerializedProperty rootMotionScaleY; - protected SerializedProperty rootMotionTranslateXPerY; - protected SerializedProperty rootMotionTranslateYPerX; - protected SerializedProperty rigidBody2D; - protected SerializedProperty rigidBody; - - protected GUIContent rootMotionBoneNameLabel; - protected GUIContent transformPositionXLabel; - protected GUIContent transformPositionYLabel; - protected GUIContent rootMotionScaleXLabel; - protected GUIContent rootMotionScaleYLabel; - protected GUIContent rootMotionTranslateXPerYLabel; - protected GUIContent rootMotionTranslateYPerXLabel; - protected GUIContent rigidBody2DLabel; - protected GUIContent rigidBodyLabel; - - protected virtual void OnEnable () { - - rootMotionBoneName = serializedObject.FindProperty("rootMotionBoneName"); - transformPositionX = serializedObject.FindProperty("transformPositionX"); - transformPositionY = serializedObject.FindProperty("transformPositionY"); - rootMotionScaleX = serializedObject.FindProperty("rootMotionScaleX"); - rootMotionScaleY = serializedObject.FindProperty("rootMotionScaleY"); - rootMotionTranslateXPerY = serializedObject.FindProperty("rootMotionTranslateXPerY"); - rootMotionTranslateYPerX = serializedObject.FindProperty("rootMotionTranslateYPerX"); - rigidBody2D = serializedObject.FindProperty("rigidBody2D"); - rigidBody = serializedObject.FindProperty("rigidBody"); - - rootMotionBoneNameLabel = new UnityEngine.GUIContent("Root Motion Bone", "The bone to take the motion from."); - transformPositionXLabel = new UnityEngine.GUIContent("X", "Root transform position (X)"); - transformPositionYLabel = new UnityEngine.GUIContent("Y", "Use the Y-movement of the bone."); - rootMotionScaleXLabel = new UnityEngine.GUIContent("Root Motion Scale (X)", "Scale applied to the horizontal root motion delta. Can be used for delta compensation to e.g. stretch a jump to the desired distance."); - rootMotionScaleYLabel = new UnityEngine.GUIContent("Root Motion Scale (Y)", "Scale applied to the vertical root motion delta. Can be used for delta compensation to e.g. stretch a jump to the desired distance."); - rootMotionTranslateXPerYLabel = new UnityEngine.GUIContent("Root Motion Translate (X)", "Added X translation per root motion Y delta. Can be used for delta compensation when scaling is not enough, to e.g. offset a horizontal jump to a vertically different goal."); - rootMotionTranslateYPerXLabel = new UnityEngine.GUIContent("Root Motion Translate (Y)", "Added Y translation per root motion X delta. Can be used for delta compensation when scaling is not enough, to e.g. offset a horizontal jump to a vertically different goal."); - rigidBody2DLabel = new UnityEngine.GUIContent("Rigidbody2D", - "Optional Rigidbody2D: Assign a Rigidbody2D here if you want " + - " to apply the root motion to the rigidbody instead of the Transform." + - "\n\n" + - "Note that animation and physics updates are not always in sync." + - "Some jitter may result at certain framerates."); - rigidBodyLabel = new UnityEngine.GUIContent("Rigidbody", - "Optional Rigidbody: Assign a Rigidbody here if you want " + - " to apply the root motion to the rigidbody instead of the Transform." + - "\n\n" + - "Note that animation and physics updates are not always in sync." + - "Some jitter may result at certain framerates."); - } - - public override void OnInspectorGUI () { - MainPropertyFields(); - OptionalPropertyFields(); - serializedObject.ApplyModifiedProperties(); - } - - protected virtual void MainPropertyFields () { - EditorGUILayout.PropertyField(rootMotionBoneName, rootMotionBoneNameLabel); - EditorGUILayout.PropertyField(transformPositionX, transformPositionXLabel); - EditorGUILayout.PropertyField(transformPositionY, transformPositionYLabel); - - EditorGUILayout.PropertyField(rootMotionScaleX, rootMotionScaleXLabel); - EditorGUILayout.PropertyField(rootMotionScaleY, rootMotionScaleYLabel); - - EditorGUILayout.PropertyField(rootMotionTranslateXPerY, rootMotionTranslateXPerYLabel); - EditorGUILayout.PropertyField(rootMotionTranslateYPerX, rootMotionTranslateYPerXLabel); - } - - protected virtual void OptionalPropertyFields () { - EditorGUILayout.PropertyField(rigidBody2D, rigidBody2DLabel); - EditorGUILayout.PropertyField(rigidBody, rigidBodyLabel); - } - } -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRootMotionBaseInspector.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRootMotionBaseInspector.cs.meta deleted file mode 100644 index 0304448..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRootMotionBaseInspector.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: f2cba83baf6afdf44a996e40017c6325 -timeCreated: 1593175106 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRootMotionInspector.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRootMotionInspector.cs deleted file mode 100644 index 2c96506..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRootMotionInspector.cs +++ /dev/null @@ -1,79 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEditor; -using UnityEngine; - -namespace Spine.Unity.Editor { - [CustomEditor(typeof(SkeletonRootMotion))] - [CanEditMultipleObjects] - public class SkeletonRootMotionInspector : SkeletonRootMotionBaseInspector { - protected SerializedProperty animationTrackFlags; - protected GUIContent animationTrackFlagsLabel; - - string[] TrackNames; - - protected override void OnEnable () { - base.OnEnable(); - - animationTrackFlags = serializedObject.FindProperty("animationTrackFlags"); - animationTrackFlagsLabel = new UnityEngine.GUIContent("Animation Tracks", - "Animation tracks to apply root motion at. Defaults to the first" + - " animation track (index 0)."); - } - - override public void OnInspectorGUI () { - - base.MainPropertyFields(); - AnimationTracksPropertyField(); - - base.OptionalPropertyFields(); - serializedObject.ApplyModifiedProperties(); - } - - protected void AnimationTracksPropertyField () { - - if (TrackNames == null) { - InitTrackNames(); - - } - - animationTrackFlags.intValue = EditorGUILayout.MaskField( - animationTrackFlagsLabel, animationTrackFlags.intValue, TrackNames); - } - - protected void InitTrackNames () { - int numEntries = 32; - TrackNames = new string[numEntries]; - for (int i = 0; i < numEntries; ++i) { - TrackNames[i] = string.Format("Track {0}", i); - } - } - } -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRootMotionInspector.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRootMotionInspector.cs.meta deleted file mode 100644 index 7c357a8..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonRootMotionInspector.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: e4836100aed984c4a9af11d39c63cb6b -timeCreated: 1593183609 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonUtilityBoneInspector.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonUtilityBoneInspector.cs deleted file mode 100644 index b4e12b6..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonUtilityBoneInspector.cs +++ /dev/null @@ -1,541 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -// Contributed by: Mitch Thompson - -#if UNITY_2019_2_OR_NEWER -#define HINGE_JOINT_NEW_BEHAVIOUR -#endif - -using UnityEngine; -using UnityEditor; -using System.Collections.Generic; -using Spine; - -namespace Spine.Unity.Editor { - using Icons = SpineEditorUtilities.Icons; - - [CustomEditor(typeof(SkeletonUtilityBone)), CanEditMultipleObjects] - public class SkeletonUtilityBoneInspector : UnityEditor.Editor { - SerializedProperty mode, boneName, zPosition, position, rotation, scale, overrideAlpha, hierarchy, parentReference; - GUIContent hierarchyLabel; - - //multi selected flags - bool containsFollows, containsOverrides, multiObject; - - //single selected helpers - SkeletonUtilityBone utilityBone; - SkeletonUtility skeletonUtility; - bool canCreateHingeChain = false; - - Dictionary> boundingBoxTable = new Dictionary>(); - - void OnEnable () { - mode = this.serializedObject.FindProperty("mode"); - boneName = this.serializedObject.FindProperty("boneName"); - zPosition = this.serializedObject.FindProperty("zPosition"); - position = this.serializedObject.FindProperty("position"); - rotation = this.serializedObject.FindProperty("rotation"); - scale = this.serializedObject.FindProperty("scale"); - overrideAlpha = this.serializedObject.FindProperty("overrideAlpha"); - hierarchy = this.serializedObject.FindProperty("hierarchy"); - hierarchyLabel = new GUIContent("Skeleton Utility Parent"); - parentReference = this.serializedObject.FindProperty("parentReference"); - - utilityBone = (SkeletonUtilityBone)target; - skeletonUtility = utilityBone.hierarchy; - EvaluateFlags(); - - if (!utilityBone.valid && skeletonUtility != null) { - if (skeletonUtility.skeletonRenderer != null) - skeletonUtility.skeletonRenderer.Initialize(false); - if (skeletonUtility.skeletonGraphic != null) - skeletonUtility.skeletonGraphic.Initialize(false); - } - - canCreateHingeChain = CanCreateHingeChain(); - boundingBoxTable.Clear(); - - if (multiObject) return; - if (utilityBone.bone == null) return; - - var skeleton = utilityBone.bone.Skeleton; - int slotCount = skeleton.Slots.Count; - Skin skin = skeleton.Skin; - if (skeleton.Skin == null) - skin = skeleton.Data.DefaultSkin; - - for(int i = 0; i < slotCount; i++){ - Slot slot = skeletonUtility.Skeleton.Slots.Items[i]; - if (slot.Bone == utilityBone.bone) { - var slotAttachments = new List(); - int slotIndex = skeleton.FindSlotIndex(slot.Data.Name); - skin.GetAttachments(slotIndex, slotAttachments); - - var boundingBoxes = new List(); - foreach (var att in slotAttachments) { - var boundingBoxAttachment = att.Attachment as BoundingBoxAttachment; - if (boundingBoxAttachment != null) - boundingBoxes.Add(boundingBoxAttachment); - } - - if (boundingBoxes.Count > 0) - boundingBoxTable.Add(slot, boundingBoxes); - } - } - } - - void EvaluateFlags () { - if (Selection.objects.Length == 1) { - containsFollows = utilityBone.mode == SkeletonUtilityBone.Mode.Follow; - containsOverrides = utilityBone.mode == SkeletonUtilityBone.Mode.Override; - } else { - int boneCount = 0; - foreach (Object o in Selection.objects) { - var go = o as GameObject; - if (go != null) { - SkeletonUtilityBone sub = go.GetComponent(); - if (sub != null) { - boneCount++; - containsFollows |= (sub.mode == SkeletonUtilityBone.Mode.Follow); - containsOverrides |= (sub.mode == SkeletonUtilityBone.Mode.Override); - } - } - } - - multiObject |= (boneCount > 1); - } - } - - public override void OnInspectorGUI () { - serializedObject.Update(); - - EditorGUI.BeginChangeCheck(); - EditorGUILayout.PropertyField(mode); - if (EditorGUI.EndChangeCheck()) { - containsOverrides = mode.enumValueIndex == 1; - containsFollows = mode.enumValueIndex == 0; - } - - using (new EditorGUI.DisabledGroupScope(multiObject)) { - string str = boneName.stringValue; - if (str == "") - str = ""; - if (multiObject) - str = ""; - - using (new GUILayout.HorizontalScope()) { - EditorGUILayout.PrefixLabel("Bone"); - if (GUILayout.Button(str, EditorStyles.popup)) { - BoneSelectorContextMenu(str, ((SkeletonUtilityBone)target).hierarchy.Skeleton.Bones, "", TargetBoneSelected); - } - } - } - - EditorGUILayout.PropertyField(zPosition); - EditorGUILayout.PropertyField(position); - EditorGUILayout.PropertyField(rotation); - EditorGUILayout.PropertyField(scale); - - using (new EditorGUI.DisabledGroupScope(containsFollows)) { - EditorGUILayout.PropertyField(overrideAlpha); - EditorGUILayout.PropertyField(parentReference); - EditorGUILayout.PropertyField(hierarchy, hierarchyLabel); - } - - EditorGUILayout.Space(); - - using (new GUILayout.HorizontalScope()) { - EditorGUILayout.Space(); - using (new EditorGUI.DisabledGroupScope(multiObject || !utilityBone.valid || utilityBone.bone == null || utilityBone.bone.Children.Count == 0)) { - if (GUILayout.Button(SpineInspectorUtility.TempContent("Add Child Bone", Icons.bone), GUILayout.MinWidth(120), GUILayout.Height(24))) - BoneSelectorContextMenu("", utilityBone.bone.Children, "", SpawnChildBoneSelected); - } - using (new EditorGUI.DisabledGroupScope(multiObject || !utilityBone.valid || utilityBone.bone == null || containsOverrides)) { - if (GUILayout.Button(SpineInspectorUtility.TempContent("Add Override", Icons.poseBones), GUILayout.MinWidth(120), GUILayout.Height(24))) - SpawnOverride(); - } - EditorGUILayout.Space(); - } - EditorGUILayout.Space(); - using (new GUILayout.HorizontalScope()) { - EditorGUILayout.Space(); - using (new EditorGUI.DisabledGroupScope(multiObject || !utilityBone.valid || !canCreateHingeChain)) { - if (GUILayout.Button(SpineInspectorUtility.TempContent("Create 3D Hinge Chain", Icons.hingeChain), GUILayout.MinWidth(120), GUILayout.Height(24))) - CreateHingeChain(); - if (GUILayout.Button(SpineInspectorUtility.TempContent("Create 2D Hinge Chain", Icons.hingeChain), GUILayout.MinWidth(120), GUILayout.Height(24))) - CreateHingeChain2D(); - } - EditorGUILayout.Space(); - } - - using (new EditorGUI.DisabledGroupScope(multiObject || boundingBoxTable.Count == 0)) { - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Bounding Boxes", Icons.boundingBox), EditorStyles.boldLabel); - - foreach (var entry in boundingBoxTable){ - Slot slot = entry.Key; - var boundingBoxes = entry.Value; - - EditorGUI.indentLevel++; - EditorGUILayout.LabelField(slot.Data.Name); - EditorGUI.indentLevel++; - { - foreach (var box in boundingBoxes) { - using (new GUILayout.HorizontalScope()) { - GUILayout.Space(30); - string buttonLabel = box.IsWeighted() ? box.Name + " (!)" : box.Name; - if (GUILayout.Button(buttonLabel, GUILayout.Width(200))) { - utilityBone.bone.Skeleton.UpdateWorldTransform(); - var bbTransform = utilityBone.transform.Find("[BoundingBox]" + box.Name); // Use FindChild in older versions of Unity. - if (bbTransform != null) { - var originalCollider = bbTransform.GetComponent(); - if (originalCollider != null) - SkeletonUtility.SetColliderPointsLocal(originalCollider, slot, box); - else - SkeletonUtility.AddBoundingBoxAsComponent(box, slot, bbTransform.gameObject); - } else { - var newPolygonCollider = SkeletonUtility.AddBoundingBoxGameObject(null, box, slot, utilityBone.transform); - bbTransform = newPolygonCollider.transform; - } - EditorGUIUtility.PingObject(bbTransform); - } - } - - } - } - EditorGUI.indentLevel--; - EditorGUI.indentLevel--; - } - } - - BoneFollowerInspector.RecommendRigidbodyButton(utilityBone); - - serializedObject.ApplyModifiedProperties(); - } - - static void BoneSelectorContextMenu (string current, ExposedList bones, string topValue, GenericMenu.MenuFunction2 callback) { - var menu = new GenericMenu(); - - if (topValue != "") - menu.AddItem(new GUIContent(topValue), current == topValue, callback, null); - - for (int i = 0; i < bones.Count; i++) - menu.AddItem(new GUIContent(bones.Items[i].Data.Name), bones.Items[i].Data.Name == current, callback, bones.Items[i]); - - menu.ShowAsContext(); - } - - void TargetBoneSelected (object obj) { - if (obj == null) { - boneName.stringValue = ""; - serializedObject.ApplyModifiedProperties(); - } else { - var bone = (Bone)obj; - boneName.stringValue = bone.Data.Name; - serializedObject.ApplyModifiedProperties(); - utilityBone.Reset(); - } - } - - void SpawnChildBoneSelected (object obj) { - if (obj == null) { - // Add recursively - foreach (var bone in utilityBone.bone.Children) { - GameObject go = skeletonUtility.SpawnBoneRecursively(bone, utilityBone.transform, utilityBone.mode, utilityBone.position, utilityBone.rotation, utilityBone.scale); - SkeletonUtilityBone[] newUtilityBones = go.GetComponentsInChildren(); - foreach (SkeletonUtilityBone utilBone in newUtilityBones) - SkeletonUtilityInspector.AttachIcon(utilBone); - } - } else { - var bone = (Bone)obj; - GameObject go = skeletonUtility.SpawnBone(bone, utilityBone.transform, utilityBone.mode, utilityBone.position, utilityBone.rotation, utilityBone.scale); - SkeletonUtilityInspector.AttachIcon(go.GetComponent()); - Selection.activeGameObject = go; - EditorGUIUtility.PingObject(go); - } - } - - void SpawnOverride () { - GameObject go = skeletonUtility.SpawnBone(utilityBone.bone, utilityBone.transform.parent, SkeletonUtilityBone.Mode.Override, utilityBone.position, utilityBone.rotation, utilityBone.scale); - go.name = go.name + " [Override]"; - SkeletonUtilityInspector.AttachIcon(go.GetComponent()); - Selection.activeGameObject = go; - EditorGUIUtility.PingObject(go); - } - - bool CanCreateHingeChain () { - if (utilityBone == null) - return false; - if (utilityBone.GetComponent() != null || utilityBone.GetComponent() != null) - return false; - if (utilityBone.bone != null && utilityBone.bone.Children.Count == 0) - return false; - - var rigidbodies = utilityBone.GetComponentsInChildren(); - var rigidbodies2D = utilityBone.GetComponentsInChildren(); - return rigidbodies.Length <= 0 && rigidbodies2D.Length <= 0; - } - - void CreateHingeChain2D () { - var kinematicParentUtilityBone = utilityBone.transform.parent.GetComponent(); - if (kinematicParentUtilityBone == null) { - UnityEditor.EditorUtility.DisplayDialog("No parent SkeletonUtilityBone found!", "Please select the first physically moving chain node, having a parent GameObject with a SkeletonUtilityBone component attached.", "OK"); - return; - } - - float mass = 10; - const float rotationLimit = 20.0f; - - SetSkeletonUtilityToFlipByRotation(); - - kinematicParentUtilityBone.mode = SkeletonUtilityBone.Mode.Follow; - kinematicParentUtilityBone.position = kinematicParentUtilityBone.rotation = kinematicParentUtilityBone.scale = kinematicParentUtilityBone.zPosition = true; - - GameObject commonParentObject = new GameObject(skeletonUtility.name + " HingeChain Parent " + utilityBone.name); - var commonParentActivateOnFlip = commonParentObject.AddComponent(); - commonParentActivateOnFlip.skeletonRenderer = skeletonUtility.skeletonRenderer; - commonParentActivateOnFlip.skeletonGraphic = skeletonUtility.skeletonGraphic; - - // HingeChain Parent - // Needs to be on top hierarchy level (not attached to the moving skeleton at least) for physics to apply proper momentum. - GameObject normalChainParentObject = new GameObject("HingeChain"); - normalChainParentObject.transform.SetParent(commonParentObject.transform); - commonParentActivateOnFlip.activeOnNormalX = normalChainParentObject; - - //var followRotationComponent = normalChainParentObject.AddComponent(); - //followRotationComponent.reference = skeletonUtility.boneRoot; - - // Follower Kinematic Rigidbody - GameObject followerKinematicObject = new GameObject(kinematicParentUtilityBone.name + " Follower"); - followerKinematicObject.transform.parent = normalChainParentObject.transform; - var followerRigidbody = followerKinematicObject.AddComponent(); - followerRigidbody.mass = mass; - followerRigidbody.isKinematic = true; - followerKinematicObject.AddComponent().reference = kinematicParentUtilityBone.transform; - followerKinematicObject.transform.position = kinematicParentUtilityBone.transform.position; - followerKinematicObject.transform.rotation = kinematicParentUtilityBone.transform.rotation; - - // Child Bones - var utilityBones = utilityBone.GetComponentsInChildren(); - var childBoneParentReference = followerKinematicObject.transform; - for (int i = 0; i < utilityBones.Length; ++i) { - var childBone = utilityBones[i]; - mass *= 0.75f; - childBone.parentReference = (i == 0) ? kinematicParentUtilityBone.transform : childBoneParentReference; - childBone.transform.SetParent(normalChainParentObject.transform, true); // we need a flat hierarchy of all Joint objects in Unity. - AttachRigidbodyAndCollider2D(childBone); - childBone.mode = SkeletonUtilityBone.Mode.Override; - childBone.scale = childBone.position = childBone.zPosition = false; - - HingeJoint2D joint = childBone.gameObject.AddComponent(); - joint.connectedBody = childBoneParentReference.GetComponent(); - joint.useLimits = true; - ApplyJoint2DAngleLimits(joint, rotationLimit, childBoneParentReference, childBone.transform); - - childBone.GetComponent().mass = mass; - childBoneParentReference = childBone.transform; - } - - Duplicate2DHierarchyForFlippedChains(normalChainParentObject, commonParentActivateOnFlip, skeletonUtility.transform, rotationLimit); - UnityEditor.Selection.activeGameObject = commonParentObject; - } - - void ApplyJoint2DAngleLimits (HingeJoint2D joint, float rotationLimit, Transform parentBone, Transform bone) { - #if HINGE_JOINT_NEW_BEHAVIOUR - float referenceAngle = (parentBone.eulerAngles.z - bone.eulerAngles.z + 360f) % 360f; - float minAngle = referenceAngle - rotationLimit; - float maxAngle = referenceAngle + rotationLimit; - if (maxAngle > 270f) { - minAngle -= 360f; - maxAngle -= 360f; - } - if (minAngle < -90f) { - minAngle += 360f; - maxAngle += 360f; - } -#else - float minAngle = - rotationLimit; - float maxAngle = rotationLimit; -#endif - joint.limits = new JointAngleLimits2D { - min = minAngle, - max = maxAngle - }; - } - - void Duplicate2DHierarchyForFlippedChains (GameObject normalChainParentObject, ActivateBasedOnFlipDirection commonParentActivateOnFlip, - Transform skeletonUtilityRoot, float rotationLimit) { - - GameObject mirroredChain = GameObject.Instantiate(normalChainParentObject, normalChainParentObject.transform.position, - normalChainParentObject.transform.rotation, commonParentActivateOnFlip.transform); - mirroredChain.name = normalChainParentObject.name + " FlippedX"; - - commonParentActivateOnFlip.activeOnFlippedX = mirroredChain; - - var followerKinematicObject = mirroredChain.GetComponentInChildren(); - followerKinematicObject.followFlippedX = true; - FlipBone2DHorizontal(followerKinematicObject.transform, skeletonUtilityRoot); - - var childBoneJoints = mirroredChain.GetComponentsInChildren(); - Transform prevRotatedChild = null; - Transform parentTransformForAngles = followerKinematicObject.transform; - for (int i = 0; i < childBoneJoints.Length; ++i) { - var joint = childBoneJoints[i]; - FlipBone2DHorizontal(joint.transform, skeletonUtilityRoot); - ApplyJoint2DAngleLimits(joint, rotationLimit, parentTransformForAngles, joint.transform); - - GameObject rotatedChild = GameObject.Instantiate(joint.gameObject, joint.transform, true); - rotatedChild.name = joint.name + " rotated"; - var rotationEulerAngles = rotatedChild.transform.localEulerAngles; - rotationEulerAngles.x = 180; - rotatedChild.transform.localEulerAngles = rotationEulerAngles; - DestroyImmediate(rotatedChild.GetComponent()); - DestroyImmediate(rotatedChild.GetComponent()); - DestroyImmediate(rotatedChild.GetComponent()); - - DestroyImmediate(joint.gameObject.GetComponent()); - - if (i > 0) { - var utilityBone = rotatedChild.GetComponent(); - utilityBone.parentReference = prevRotatedChild; - } - prevRotatedChild = rotatedChild.transform; - parentTransformForAngles = joint.transform; - } - - mirroredChain.SetActive(false); - } - - void FlipBone2DHorizontal(Transform bone, Transform mirrorPosition) { - Vector3 position = bone.position; - position.x = 2 * mirrorPosition.position.x - position.x; // = mirrorPosition + (mirrorPosition - bone.position) - bone.position = position; - - Vector3 boneZ = bone.forward; - Vector3 boneX = bone.right; - boneX.x *= -1; - - bone.rotation = Quaternion.LookRotation(boneZ, Vector3.Cross(boneZ, boneX)); - } - - void CreateHingeChain () { - var kinematicParentUtilityBone = utilityBone.transform.parent.GetComponent(); - if (kinematicParentUtilityBone == null) { - UnityEditor.EditorUtility.DisplayDialog("No parent SkeletonUtilityBone found!", "Please select the first physically moving chain node, having a parent GameObject with a SkeletonUtilityBone component attached.", "OK"); - return; - } - - SetSkeletonUtilityToFlipByRotation(); - - kinematicParentUtilityBone.mode = SkeletonUtilityBone.Mode.Follow; - kinematicParentUtilityBone.position = kinematicParentUtilityBone.rotation = kinematicParentUtilityBone.scale = kinematicParentUtilityBone.zPosition = true; - - // HingeChain Parent - // Needs to be on top hierarchy level (not attached to the moving skeleton at least) for physics to apply proper momentum. - GameObject chainParentObject = new GameObject(skeletonUtility.name + " HingeChain Parent " + utilityBone.name); - var followRotationComponent = chainParentObject.AddComponent(); - followRotationComponent.reference = skeletonUtility.boneRoot; - - // Follower Kinematic Rigidbody - GameObject followerKinematicObject = new GameObject(kinematicParentUtilityBone.name + " Follower"); - followerKinematicObject.transform.parent = chainParentObject.transform; - var followerRigidbody = followerKinematicObject.AddComponent(); - followerRigidbody.mass = 10; - followerRigidbody.isKinematic = true; - followerKinematicObject.AddComponent().reference = kinematicParentUtilityBone.transform; - followerKinematicObject.transform.position = kinematicParentUtilityBone.transform.position; - followerKinematicObject.transform.rotation = kinematicParentUtilityBone.transform.rotation; - - // Child Bones - var utilityBones = utilityBone.GetComponentsInChildren(); - var childBoneParentReference = followerKinematicObject.transform; - foreach (var childBone in utilityBones) { - childBone.parentReference = childBoneParentReference; - childBone.transform.SetParent(chainParentObject.transform, true); // we need a flat hierarchy of all Joint objects in Unity. - AttachRigidbodyAndCollider(childBone); - childBone.mode = SkeletonUtilityBone.Mode.Override; - - HingeJoint joint = childBone.gameObject.AddComponent(); - joint.axis = Vector3.forward; - joint.connectedBody = childBoneParentReference.GetComponent(); - joint.useLimits = true; - joint.limits = new JointLimits { - min = -20, - max = 20 - }; - childBone.GetComponent().mass = childBoneParentReference.transform.GetComponent().mass * 0.75f; - - childBoneParentReference = childBone.transform; - } - UnityEditor.Selection.activeGameObject = chainParentObject; - } - - void SetSkeletonUtilityToFlipByRotation () { - if (!skeletonUtility.flipBy180DegreeRotation) { - skeletonUtility.flipBy180DegreeRotation = true; - Debug.Log("Set SkeletonUtility " + skeletonUtility.name + " to flip by rotation instead of negative scale (required).", skeletonUtility); - } - } - - static void AttachRigidbodyAndCollider (SkeletonUtilityBone utilBone, bool enableCollider = false) { - if (utilBone.GetComponent() == null) { - if (utilBone.bone.Data.Length == 0) { - SphereCollider sphere = utilBone.gameObject.AddComponent(); - sphere.radius = 0.1f; - sphere.enabled = enableCollider; - } else { - float length = utilBone.bone.Data.Length; - BoxCollider box = utilBone.gameObject.AddComponent(); - box.size = new Vector3(length, length / 3f, 0.2f); - box.center = new Vector3(length / 2f, 0, 0); - box.enabled = enableCollider; - } - } - utilBone.gameObject.AddComponent(); - } - - static void AttachRigidbodyAndCollider2D(SkeletonUtilityBone utilBone, bool enableCollider = false) { - if (utilBone.GetComponent() == null) { - if (utilBone.bone.Data.Length == 0) { - var sphere = utilBone.gameObject.AddComponent(); - sphere.radius = 0.1f; - sphere.enabled = enableCollider; - } - else { - float length = utilBone.bone.Data.Length; - var box = utilBone.gameObject.AddComponent(); - box.size = new Vector3(length, length / 3f, 0.2f); - box.offset = new Vector3(length / 2f, 0, 0); - box.enabled = enableCollider; - } - } - utilBone.gameObject.AddComponent(); - } - } -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonUtilityBoneInspector.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonUtilityBoneInspector.cs.meta deleted file mode 100644 index 81de4d6..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonUtilityBoneInspector.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: b3ae20b4bcc31f645afd6f5b64f82473 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonUtilityInspector.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonUtilityInspector.cs deleted file mode 100644 index d20f00f..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonUtilityInspector.cs +++ /dev/null @@ -1,192 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER -#define NEW_PREFAB_SYSTEM -#endif - -using UnityEngine; -using UnityEditor; -using UnityEditor.AnimatedValues; -using System.Collections.Generic; -using Spine; -using System.Reflection; - -namespace Spine.Unity.Editor { - using Icons = SpineEditorUtilities.Icons; - - [CustomEditor(typeof(SkeletonUtility))] - public class SkeletonUtilityInspector : UnityEditor.Editor { - - SkeletonUtility skeletonUtility; - Skeleton skeleton; - SkeletonRenderer skeletonRenderer; - SkeletonGraphic skeletonGraphic; - -#if !NEW_PREFAB_SYSTEM - bool isPrefab; - #endif - - readonly GUIContent SpawnHierarchyButtonLabel = new GUIContent("Spawn Hierarchy", Icons.skeleton); - - void OnEnable () { - skeletonUtility = (SkeletonUtility)target; - skeletonRenderer = skeletonUtility.skeletonRenderer; - skeletonGraphic = skeletonUtility.skeletonGraphic; - skeleton = skeletonUtility.Skeleton; - - if (skeleton == null) { - if (skeletonRenderer != null) { - skeletonRenderer.Initialize(false); - skeletonRenderer.LateUpdate(); - } - else if (skeletonGraphic != null) { - skeletonGraphic.Initialize(false); - skeletonGraphic.LateUpdate(); - } - skeleton = skeletonUtility.Skeleton; - } - - if ((skeletonRenderer != null && !skeletonRenderer.valid) || - (skeletonGraphic != null && !skeletonGraphic.IsValid)) return; - - #if !NEW_PREFAB_SYSTEM - isPrefab |= PrefabUtility.GetPrefabType(this.target) == PrefabType.Prefab; - #endif - } - - public override void OnInspectorGUI () { - - #if !NEW_PREFAB_SYSTEM - if (isPrefab) { - GUILayout.Label(new GUIContent("Cannot edit Prefabs", Icons.warning)); - return; - } - #endif - - serializedObject.Update(); - - if ((skeletonRenderer != null && !skeletonRenderer.valid) || - (skeletonGraphic != null && !skeletonGraphic.IsValid)) { - GUILayout.Label(new GUIContent("Spine Component invalid. Check Skeleton Data Asset.", Icons.warning)); - return; - } - - EditorGUILayout.PropertyField(serializedObject.FindProperty("boneRoot"), SpineInspectorUtility.TempContent("Skeleton Root")); - EditorGUILayout.PropertyField(serializedObject.FindProperty("flipBy180DegreeRotation"), SpineInspectorUtility.TempContent("Flip by Rotation", null, - "If true, Skeleton.ScaleX and Skeleton.ScaleY are followed " + - "by 180 degree rotation. If false, negative Transform scale is used. " + - "Note that using negative scale is consistent with previous behaviour (hence the default), " + - "however causes serious problems with rigidbodies and physics. Therefore, it is recommended to " + - "enable this parameter where possible. When creating hinge chains for a chain of skeleton bones " + - "via SkeletonUtilityBone, it is mandatory to have this parameter enabled.")); - - bool hasRootBone = skeletonUtility.boneRoot != null; - - if (!hasRootBone) - EditorGUILayout.HelpBox("No hierarchy found. Use Spawn Hierarchy to generate GameObjects for bones.", MessageType.Info); - - using (new EditorGUI.DisabledGroupScope(hasRootBone)) { - if (SpineInspectorUtility.LargeCenteredButton(SpawnHierarchyButtonLabel)) - SpawnHierarchyContextMenu(); - } - - if (hasRootBone) { - if (SpineInspectorUtility.CenteredButton(new GUIContent("Remove Hierarchy"))) { - Undo.RegisterCompleteObjectUndo(skeletonUtility, "Remove Hierarchy"); - Undo.DestroyObjectImmediate(skeletonUtility.boneRoot.gameObject); - skeletonUtility.boneRoot = null; - } - } - - serializedObject.ApplyModifiedProperties(); - } - - void SpawnHierarchyContextMenu () { - var menu = new GenericMenu(); - - menu.AddItem(new GUIContent("Follow all bones"), false, SpawnFollowHierarchy); - menu.AddItem(new GUIContent("Follow (Root Only)"), false, SpawnFollowHierarchyRootOnly); - menu.AddSeparator(""); - menu.AddItem(new GUIContent("Override all bones"), false, SpawnOverrideHierarchy); - menu.AddItem(new GUIContent("Override (Root Only)"), false, SpawnOverrideHierarchyRootOnly); - - menu.ShowAsContext(); - } - - public static void AttachIcon (SkeletonUtilityBone boneComponent) { - Skeleton skeleton = boneComponent.hierarchy.Skeleton; - Texture2D icon = boneComponent.bone.Data.Length == 0 ? Icons.nullBone : Icons.boneNib; - - foreach (IkConstraint c in skeleton.IkConstraints) - if (c.Target == boneComponent.bone) { - icon = Icons.constraintNib; - break; - } - - typeof(EditorGUIUtility).InvokeMember("SetIconForObject", BindingFlags.InvokeMethod | BindingFlags.Static | BindingFlags.NonPublic, null, null, new object[2] { - boneComponent.gameObject, - icon - }); - } - - static void AttachIconsToChildren (Transform root) { - if (root != null) { - var utilityBones = root.GetComponentsInChildren(); - foreach (var utilBone in utilityBones) - AttachIcon(utilBone); - } - } - - void SpawnFollowHierarchy () { - Undo.RegisterCompleteObjectUndo(skeletonUtility, "Spawn Hierarchy"); - Selection.activeGameObject = skeletonUtility.SpawnHierarchy(SkeletonUtilityBone.Mode.Follow, true, true, true); - AttachIconsToChildren(skeletonUtility.boneRoot); - } - - void SpawnFollowHierarchyRootOnly () { - Undo.RegisterCompleteObjectUndo(skeletonUtility, "Spawn Root"); - Selection.activeGameObject = skeletonUtility.SpawnRoot(SkeletonUtilityBone.Mode.Follow, true, true, true); - AttachIconsToChildren(skeletonUtility.boneRoot); - } - - void SpawnOverrideHierarchy () { - Undo.RegisterCompleteObjectUndo(skeletonUtility, "Spawn Hierarchy"); - Selection.activeGameObject = skeletonUtility.SpawnHierarchy(SkeletonUtilityBone.Mode.Override, true, true, true); - AttachIconsToChildren(skeletonUtility.boneRoot); - } - - void SpawnOverrideHierarchyRootOnly () { - Undo.RegisterCompleteObjectUndo(skeletonUtility, "Spawn Root"); - Selection.activeGameObject = skeletonUtility.SpawnRoot(SkeletonUtilityBone.Mode.Override, true, true, true); - AttachIconsToChildren(skeletonUtility.boneRoot); - } - } - -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonUtilityInspector.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonUtilityInspector.cs.meta deleted file mode 100644 index 44e13b1..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Components/SkeletonUtilityInspector.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: a5b90df955eb8c2429ac67c8b2de6c5c -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/GUI/SkeletonDataAsset Icon.png b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/GUI/SkeletonDataAsset Icon.png deleted file mode 100644 index 61c0f18..0000000 Binary files a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/GUI/SkeletonDataAsset Icon.png and /dev/null differ diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/GUI/SkeletonDataAsset Icon.png.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/GUI/SkeletonDataAsset Icon.png.meta deleted file mode 100644 index 22239ca..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/GUI/SkeletonDataAsset Icon.png.meta +++ /dev/null @@ -1,46 +0,0 @@ -fileFormatVersion: 2 -guid: 68defdbc95b30a74a9ad396bfc9a2277 -TextureImporter: - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 1 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: 1 - mipBias: -1 - wrapMode: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 2 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Shaders.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Shaders.meta deleted file mode 100644 index 007cc76..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Shaders.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 10e0b626d7ae7394a934ee9f2fb81b5a -folderAsset: yes -timeCreated: 1527569604 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonBaker.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonBaker.cs deleted file mode 100644 index a4bf070..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonBaker.cs +++ /dev/null @@ -1,1490 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER -#define NEW_PREFAB_SYSTEM -#endif - -#define SPINE_SKELETONMECANIM - -using UnityEngine; -using UnityEditor; -using UnityEditorInternal; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.IO; -using Spine; - -namespace Spine.Unity.Editor { - - /// - /// [SUPPORTS] - /// Linear, Constant, and Bezier Curves* - /// Inverse Kinematics* - /// Inherit Rotation - /// Translate Timeline - /// Rotate Timeline - /// Scale Timeline** - /// Event Timeline*** - /// Attachment Timeline - /// - /// RegionAttachment - /// MeshAttachment (optionally Skinned) - /// - /// [LIMITATIONS] - /// *Bezier Curves are baked into the animation at 60fps and are not realtime. Use bakeIncrement constant to adjust key density if desired. - /// *Inverse Kinematics is baked into the animation at 60fps and are not realtime. Use bakeIncrement constant to adjust key density if desired. - /// ***Events may only fire 1 type of data per event in Unity safely so priority to String data if present in Spine key, otherwise a Float is sent whether the Spine key was Int or Float with priority given to Int. - /// - /// [DOES NOT SUPPORT] - /// FFD (Unity does not provide access to BlendShapes with code) - /// Color Keys (Maybe one day when Unity supports full FBX standard and provides access with code) - /// Draw Order Keyframes - /// - public static class SkeletonBaker { - - #region SkeletonMecanim's Mecanim Clips - #if SPINE_SKELETONMECANIM - public static void UpdateMecanimClips (SkeletonDataAsset skeletonDataAsset) { - if (skeletonDataAsset.controller == null) - return; - - SkeletonBaker.GenerateMecanimAnimationClips(skeletonDataAsset); - } - - public static void GenerateMecanimAnimationClips (SkeletonDataAsset skeletonDataAsset) { - var data = skeletonDataAsset.GetSkeletonData(true); - if (data == null) { - Debug.LogError("SkeletonData loading failed!", skeletonDataAsset); - return; - } - - string dataPath = AssetDatabase.GetAssetPath(skeletonDataAsset); - string controllerPath = dataPath.Replace(AssetUtility.SkeletonDataSuffix, "_Controller").Replace(".asset", ".controller"); - UnityEditor.Animations.AnimatorController controller; - if (skeletonDataAsset.controller != null) { - controller = (UnityEditor.Animations.AnimatorController)skeletonDataAsset.controller; - controllerPath = AssetDatabase.GetAssetPath(controller); - } else { - if (File.Exists(controllerPath)) { - if (EditorUtility.DisplayDialog("Controller Overwrite Warning", "Unknown Controller already exists at: " + controllerPath, "Update", "Overwrite")) { - controller = (UnityEditor.Animations.AnimatorController)AssetDatabase.LoadAssetAtPath(controllerPath, typeof(RuntimeAnimatorController)); - } else { - controller = (UnityEditor.Animations.AnimatorController)UnityEditor.Animations.AnimatorController.CreateAnimatorControllerAtPath(controllerPath); - } - } else { - controller = (UnityEditor.Animations.AnimatorController)UnityEditor.Animations.AnimatorController.CreateAnimatorControllerAtPath(controllerPath); - } - - } - - skeletonDataAsset.controller = controller; - EditorUtility.SetDirty(skeletonDataAsset); - - UnityEngine.Object[] objs = AssetDatabase.LoadAllAssetsAtPath(controllerPath); - - var unityAnimationClipTable = new Dictionary(); - var spineAnimationTable = new Dictionary(); - - foreach (var o in objs) { - //Debug.LogFormat("({0}){1} : {3} + {2} + {4}", o.GetType(), o.name, o.hideFlags, o.GetInstanceID(), o.GetHashCode()); - // There is a bug in Unity 5.3.3 (and likely before) that creates - // a duplicate AnimationClip when you duplicate a Mecanim Animator State. - // These duplicates seem to be identifiable by their HideFlags, so we'll exclude them. - if (o is AnimationClip) { - var clip = o as AnimationClip; - if (!clip.HasFlag(HideFlags.HideInHierarchy)) { - if (unityAnimationClipTable.ContainsKey(clip.name)) { - Debug.LogWarningFormat("Duplicate AnimationClips were found named {0}", clip.name); - } - unityAnimationClipTable.Add(clip.name, clip); - } - } - } - - foreach (var animations in data.Animations) { - string animationName = animations.Name; // Review for unsafe names. Requires runtime implementation too. - spineAnimationTable.Add(animationName, animations); - - if (unityAnimationClipTable.ContainsKey(animationName) == false) { - AnimationClip newClip = new AnimationClip { - name = animationName - }; - //AssetDatabase.CreateAsset(newClip, Path.GetDirectoryName(dataPath) + "/" + animationName + ".asset"); - AssetDatabase.AddObjectToAsset(newClip, controller); - unityAnimationClipTable.Add(animationName, newClip); - } - - AnimationClip clip = unityAnimationClipTable[animationName]; - clip.SetCurve("", typeof(GameObject), "dummy", AnimationCurve.Linear(0, 0, animations.Duration, 0)); - var settings = AnimationUtility.GetAnimationClipSettings(clip); - settings.stopTime = animations.Duration; - SetAnimationSettings(clip, settings); - - AnimationUtility.SetAnimationEvents(clip, new AnimationEvent[0]); - foreach (Timeline t in animations.Timelines) { - if (t is EventTimeline) - ParseEventTimeline((EventTimeline)t, clip, SendMessageOptions.DontRequireReceiver); - } - - EditorUtility.SetDirty(clip); - unityAnimationClipTable.Remove(animationName); - } - - foreach (var clip in unityAnimationClipTable.Values) { - AnimationClip.DestroyImmediate(clip, true); - } - - AssetDatabase.Refresh(); - AssetDatabase.SaveAssets(); - } - - static bool HasFlag (this UnityEngine.Object o, HideFlags flagToCheck) { - return (o.hideFlags & flagToCheck) == flagToCheck; - } - #endif - #endregion - - #region Prefab and AnimationClip Baking - /// - /// Interval between key sampling for Bezier curves, IK controlled bones, and Inherit Rotation effected bones. - /// - const float BakeIncrement = 1 / 60f; - - public static void BakeToPrefab (SkeletonDataAsset skeletonDataAsset, ExposedList skins, string outputPath = "", bool bakeAnimations = true, bool bakeIK = true, SendMessageOptions eventOptions = SendMessageOptions.DontRequireReceiver) { - if (skeletonDataAsset == null || skeletonDataAsset.GetSkeletonData(true) == null) { - Debug.LogError("Could not export Spine Skeleton because SkeletonDataAsset is null or invalid!"); - return; - } - - if (outputPath == "") { - outputPath = System.IO.Path.GetDirectoryName(AssetDatabase.GetAssetPath(skeletonDataAsset)).Replace('\\', '/') + "/Baked"; - System.IO.Directory.CreateDirectory(outputPath); - } - - var skeletonData = skeletonDataAsset.GetSkeletonData(true); - bool hasAnimations = bakeAnimations && skeletonData.Animations.Count > 0; - UnityEditor.Animations.AnimatorController controller = null; - if (hasAnimations) { - string controllerPath = outputPath + "/" + skeletonDataAsset.skeletonJSON.name + " Controller.controller"; - bool newAnimContainer = false; - - var runtimeController = AssetDatabase.LoadAssetAtPath(controllerPath, typeof(RuntimeAnimatorController)); - - if (runtimeController != null) { - controller = (UnityEditor.Animations.AnimatorController)runtimeController; - } else { - controller = UnityEditor.Animations.AnimatorController.CreateAnimatorControllerAtPath(controllerPath); - newAnimContainer = true; - } - - var existingClipTable = new Dictionary(); - var unusedClipNames = new List(); - Object[] animObjs = AssetDatabase.LoadAllAssetsAtPath(controllerPath); - - foreach (Object o in animObjs) { - if (o is AnimationClip) { - var clip = (AnimationClip)o; - existingClipTable.Add(clip.name, clip); - unusedClipNames.Add(clip.name); - } - } - - Dictionary> slotLookup = new Dictionary>(); - - int skinCount = skins.Count; - - for (int s = 0; s < skeletonData.Slots.Count; s++) { - List attachmentNames = new List(); - for (int i = 0; i < skinCount; i++) { - var skin = skins.Items[i]; - var skinEntries = new List(); - skin.GetAttachments(s, skinEntries); - foreach (var entry in skinEntries) { - if (!attachmentNames.Contains(entry.Name)) - attachmentNames.Add(entry.Name); - } - } - slotLookup.Add(s, attachmentNames); - } - - foreach (var anim in skeletonData.Animations) { - - AnimationClip clip = null; - if (existingClipTable.ContainsKey(anim.Name)) { - clip = existingClipTable[anim.Name]; - } - - clip = ExtractAnimation(anim.Name, skeletonData, slotLookup, bakeIK, eventOptions, clip); - - if (unusedClipNames.Contains(clip.name)) { - unusedClipNames.Remove(clip.name); - } else { - AssetDatabase.AddObjectToAsset(clip, controller); - controller.AddMotion(clip); - } - } - - if (newAnimContainer) { - EditorUtility.SetDirty(controller); - AssetDatabase.SaveAssets(); - AssetDatabase.ImportAsset(controllerPath, ImportAssetOptions.ForceUpdate); - AssetDatabase.Refresh(); - } else { - - foreach (string str in unusedClipNames) { - AnimationClip.DestroyImmediate(existingClipTable[str], true); - } - - EditorUtility.SetDirty(controller); - AssetDatabase.SaveAssets(); - AssetDatabase.ImportAsset(controllerPath, ImportAssetOptions.ForceUpdate); - AssetDatabase.Refresh(); - } - } - - foreach (var skin in skins) { - bool newPrefab = false; - - string prefabPath = outputPath + "/" + skeletonDataAsset.skeletonJSON.name + " (" + skin.Name + ").prefab"; - - Object prefab = AssetDatabase.LoadAssetAtPath(prefabPath, typeof(GameObject)); - - if (prefab == null) { - #if NEW_PREFAB_SYSTEM - GameObject emptyGameObject = new GameObject(); - prefab = PrefabUtility.SaveAsPrefabAssetAndConnect(emptyGameObject, prefabPath, InteractionMode.AutomatedAction); - GameObject.DestroyImmediate(emptyGameObject); - #else - prefab = PrefabUtility.CreateEmptyPrefab(prefabPath); - #endif - newPrefab = true; - } - - Dictionary meshTable = new Dictionary(); - List unusedMeshNames = new List(); - Object[] assets = AssetDatabase.LoadAllAssetsAtPath(prefabPath); - foreach (var obj in assets) { - if (obj is Mesh) { - meshTable.Add(obj.name, (Mesh)obj); - unusedMeshNames.Add(obj.name); - } - } - - GameObject prefabRoot = EditorInstantiation.NewGameObject("root", true); - - Dictionary slotTable = new Dictionary(); - Dictionary boneTable = new Dictionary(); - List boneList = new List(); - - //create bones - for (int i = 0; i < skeletonData.Bones.Count; i++) { - var boneData = skeletonData.Bones.Items[i]; - Transform boneTransform = EditorInstantiation.NewGameObject(boneData.Name, true).transform; - boneTransform.parent = prefabRoot.transform; - boneTable.Add(boneTransform.name, boneTransform); - boneList.Add(boneTransform); - } - - for (int i = 0; i < skeletonData.Bones.Count; i++) { - - var boneData = skeletonData.Bones.Items[i]; - Transform boneTransform = boneTable[boneData.Name]; - Transform parentTransform = null; - if (i > 0) - parentTransform = boneTable[boneData.Parent.Name]; - else - parentTransform = boneTransform.parent; - - boneTransform.parent = parentTransform; - boneTransform.localPosition = new Vector3(boneData.X, boneData.Y, 0); - var tm = boneData.TransformMode; - if (tm.InheritsRotation()) - boneTransform.localRotation = Quaternion.Euler(0, 0, boneData.Rotation); - else - boneTransform.rotation = Quaternion.Euler(0, 0, boneData.Rotation); - - if (tm.InheritsScale()) - boneTransform.localScale = new Vector3(boneData.ScaleX, boneData.ScaleY, 1); - } - - //create slots and attachments - for (int slotIndex = 0; slotIndex < skeletonData.Slots.Count; slotIndex++) { - var slotData = skeletonData.Slots.Items[slotIndex]; - Transform slotTransform = EditorInstantiation.NewGameObject(slotData.Name, true).transform; - slotTransform.parent = prefabRoot.transform; - slotTable.Add(slotData.Name, slotTransform); - - var skinEntries = new List(); - skin.GetAttachments(slotIndex, skinEntries); - if (skin != skeletonData.DefaultSkin) - skeletonData.DefaultSkin.GetAttachments(slotIndex, skinEntries); - - for (int a = 0; a < skinEntries.Count; a++) { - var attachment = skinEntries[a].Attachment; - string attachmentName = skinEntries[a].Name; - string attachmentMeshName = "[" + slotData.Name + "] " + attachmentName; - Vector3 offset = Vector3.zero; - float rotation = 0; - Mesh mesh = null; - Material material = null; - bool isWeightedMesh = false; - - if (meshTable.ContainsKey(attachmentMeshName)) - mesh = meshTable[attachmentMeshName]; - if (attachment is RegionAttachment) { - var regionAttachment = (RegionAttachment)attachment; - offset.x = regionAttachment.X; - offset.y = regionAttachment.Y; - rotation = regionAttachment.Rotation; - mesh = ExtractRegionAttachment(attachmentMeshName, regionAttachment, mesh); - material = attachment.GetMaterial(); - unusedMeshNames.Remove(attachmentMeshName); - if (newPrefab || meshTable.ContainsKey(attachmentMeshName) == false) - AssetDatabase.AddObjectToAsset(mesh, prefab); - } else if (attachment is MeshAttachment) { - var meshAttachment = (MeshAttachment)attachment; - isWeightedMesh = (meshAttachment.Bones != null); - offset.x = 0; - offset.y = 0; - rotation = 0; - - if (isWeightedMesh) - mesh = ExtractWeightedMeshAttachment(attachmentMeshName, meshAttachment, slotIndex, skeletonData, boneList, mesh); - else - mesh = ExtractMeshAttachment(attachmentMeshName, meshAttachment, mesh); - - material = attachment.GetMaterial(); - unusedMeshNames.Remove(attachmentMeshName); - if (newPrefab || meshTable.ContainsKey(attachmentMeshName) == false) - AssetDatabase.AddObjectToAsset(mesh, prefab); - } else - continue; - - Transform attachmentTransform = EditorInstantiation.NewGameObject(attachmentName, true).transform; - - attachmentTransform.parent = slotTransform; - attachmentTransform.localPosition = offset; - attachmentTransform.localRotation = Quaternion.Euler(0, 0, rotation); - - if (isWeightedMesh) { - attachmentTransform.position = Vector3.zero; - attachmentTransform.rotation = Quaternion.identity; - var skinnedMeshRenderer = attachmentTransform.gameObject.AddComponent(); - skinnedMeshRenderer.rootBone = boneList[0]; - skinnedMeshRenderer.bones = boneList.ToArray(); - skinnedMeshRenderer.sharedMesh = mesh; - } else { - attachmentTransform.gameObject.AddComponent().sharedMesh = mesh; - attachmentTransform.gameObject.AddComponent(); - } - - attachmentTransform.GetComponent().sharedMaterial = material; - attachmentTransform.GetComponent().sortingOrder = slotIndex; - - if (attachmentName != slotData.AttachmentName) - attachmentTransform.gameObject.SetActive(false); - } - - } - - foreach (var slotData in skeletonData.Slots) { - Transform slotTransform = slotTable[slotData.Name]; - slotTransform.parent = boneTable[slotData.BoneData.Name]; - slotTransform.localPosition = Vector3.zero; - slotTransform.localRotation = Quaternion.identity; - slotTransform.localScale = Vector3.one; - } - - if (hasAnimations) { - var animator = prefabRoot.AddComponent(); - animator.applyRootMotion = false; - animator.runtimeAnimatorController = (RuntimeAnimatorController)controller; - EditorGUIUtility.PingObject(controller); - } - - if (newPrefab) { - #if NEW_PREFAB_SYSTEM - PrefabUtility.SaveAsPrefabAssetAndConnect(prefabRoot, prefabPath, InteractionMode.AutomatedAction); - #else - PrefabUtility.ReplacePrefab(prefabRoot, prefab, ReplacePrefabOptions.ConnectToPrefab); - #endif - } else { - - foreach (string str in unusedMeshNames) { - Mesh.DestroyImmediate(meshTable[str], true); - } - - #if NEW_PREFAB_SYSTEM - PrefabUtility.SaveAsPrefabAssetAndConnect(prefabRoot, prefabPath, InteractionMode.AutomatedAction); - #else - PrefabUtility.ReplacePrefab(prefabRoot, prefab, ReplacePrefabOptions.ReplaceNameBased); - #endif - } - - - EditorGUIUtility.PingObject(prefab); - - AssetDatabase.Refresh(); - AssetDatabase.SaveAssets(); - - GameObject.DestroyImmediate(prefabRoot); - - } - } - - #region Attachment Baking - static Bone DummyBone; - static Slot DummySlot; - - internal static Bone GetDummyBone () { - if (DummyBone != null) - return DummyBone; - - SkeletonData skelData = new SkeletonData(); - BoneData data = new BoneData(0, "temp", null) { - ScaleX = 1, - ScaleY = 1, - Length = 100 - }; - - skelData.Bones.Add(data); - - Skeleton skeleton = new Skeleton(skelData); - - Bone bone = new Bone(data, skeleton, null); - bone.UpdateWorldTransform(); - - DummyBone = bone; - - return DummyBone; - } - - internal static Slot GetDummySlot () { - if (DummySlot != null) - return DummySlot; - - Bone bone = GetDummyBone(); - - SlotData data = new SlotData(0, "temp", bone.Data); - Slot slot = new Slot(data, bone); - DummySlot = slot; - return DummySlot; - } - - internal static Mesh ExtractRegionAttachment (string name, RegionAttachment attachment, Mesh mesh = null, bool centered = true) { - var bone = GetDummyBone(); - - if (centered) { - bone.X = -attachment.X; - bone.Y = -attachment.Y; - } - - bone.UpdateWorldTransform(); - - Vector2[] uvs = ExtractUV(attachment.UVs); - float[] floatVerts = new float[8]; - attachment.ComputeWorldVertices(bone, floatVerts, 0); - Vector3[] verts = ExtractVerts(floatVerts); - - //unrotate verts now that they're centered - if (centered) { - for (int i = 0; i < verts.Length; i++) - verts[i] = Quaternion.Euler(0, 0, -attachment.Rotation) * verts[i]; - } - - int[] triangles = { 1, 3, 0, 2, 3, 1 }; - Color color = attachment.GetColor(); - - if (mesh == null) - mesh = new Mesh(); - - mesh.triangles = new int[0]; - - mesh.vertices = verts; - mesh.uv = uvs; - mesh.triangles = triangles; - mesh.colors = new [] { color, color, color, color }; - mesh.RecalculateBounds(); - mesh.RecalculateNormals(); - mesh.name = name; - - return mesh; - } - - internal static Mesh ExtractMeshAttachment (string name, MeshAttachment attachment, Mesh mesh = null) { - var slot = GetDummySlot(); - - slot.Bone.X = 0; - slot.Bone.Y = 0; - slot.Bone.UpdateWorldTransform(); - - Vector2[] uvs = ExtractUV(attachment.UVs); - float[] floatVerts = new float[attachment.WorldVerticesLength]; - attachment.ComputeWorldVertices(slot, floatVerts); - Vector3[] verts = ExtractVerts(floatVerts); - - int[] triangles = attachment.Triangles; - Color color = attachment.GetColor(); - - if (mesh == null) - mesh = new Mesh(); - - mesh.triangles = new int[0]; - - mesh.vertices = verts; - mesh.uv = uvs; - mesh.triangles = triangles; - Color[] colors = new Color[verts.Length]; - for (int i = 0; i < verts.Length; i++) - colors[i] = color; - - mesh.colors = colors; - mesh.RecalculateBounds(); - mesh.RecalculateNormals(); - mesh.name = name; - - return mesh; - } - - public class BoneWeightContainer { - public struct Pair { - public Transform bone; - public float weight; - - public Pair (Transform bone, float weight) { - this.bone = bone; - this.weight = weight; - } - } - - public List bones; - public List weights; - public List pairs; - - - public BoneWeightContainer () { - this.bones = new List(); - this.weights = new List(); - this.pairs = new List(); - } - - public void Add (Transform transform, float weight) { - bones.Add(transform); - weights.Add(weight); - - pairs.Add(new Pair(transform, weight)); - } - } - - internal static Mesh ExtractWeightedMeshAttachment (string name, MeshAttachment attachment, int slotIndex, SkeletonData skeletonData, List boneList, Mesh mesh = null) { - if (!attachment.IsWeighted()) - throw new System.ArgumentException("Mesh is not weighted.", "attachment"); - - Skeleton skeleton = new Skeleton(skeletonData); - skeleton.UpdateWorldTransform(); - - float[] floatVerts = new float[attachment.WorldVerticesLength]; - attachment.ComputeWorldVertices(skeleton.Slots.Items[slotIndex], floatVerts); - - Vector2[] uvs = ExtractUV(attachment.UVs); - Vector3[] verts = ExtractVerts(floatVerts); - - int[] triangles = attachment.Triangles; - Color color = new Color(attachment.R, attachment.G, attachment.B, attachment.A); - - mesh = (mesh == null) ? new Mesh() : mesh; - - mesh.triangles = new int[0]; - - mesh.vertices = verts; - mesh.uv = uvs; - mesh.triangles = triangles; - Color[] colors = new Color[verts.Length]; - for (int i = 0; i < verts.Length; i++) - colors[i] = color; - - mesh.colors = colors; - mesh.name = name; - mesh.RecalculateNormals(); - mesh.RecalculateBounds(); - - // Handle weights and binding - var weightTable = new Dictionary(); - var warningBuilder = new System.Text.StringBuilder(); - - int[] bones = attachment.Bones; - float[] weights = attachment.Vertices; - for (int w = 0, v = 0, b = 0, n = bones.Length; v < n; w += 2) { - - int nn = bones[v++] + v; - for (; v < nn; v++, b += 3) { - Transform boneTransform = boneList[bones[v]]; - int vIndex = w / 2; - BoneWeightContainer container; - if (weightTable.ContainsKey(vIndex)) - container = weightTable[vIndex]; - else { - container = new BoneWeightContainer(); - weightTable.Add(vIndex, container); - } - - float weight = weights[b + 2]; - container.Add(boneTransform, weight); - } - } - - BoneWeight[] boneWeights = new BoneWeight[weightTable.Count]; - - for (int i = 0; i < weightTable.Count; i++) { - BoneWeight bw = new BoneWeight(); - var container = weightTable[i]; - - var pairs = container.pairs.OrderByDescending(pair => pair.weight).ToList(); - - for (int b = 0; b < pairs.Count; b++) { - if (b > 3) { - if (warningBuilder.Length == 0) - warningBuilder.Insert(0, "[Weighted Mesh: " + name + "]\r\nUnity only supports 4 weight influences per vertex! The 4 strongest influences will be used.\r\n"); - - warningBuilder.AppendFormat("{0} ignored on vertex {1}!\r\n", pairs[b].bone.name, i); - continue; - } - - int boneIndex = boneList.IndexOf(pairs[b].bone); - float weight = pairs[b].weight; - - switch (b) { - case 0: - bw.boneIndex0 = boneIndex; - bw.weight0 = weight; - break; - case 1: - bw.boneIndex1 = boneIndex; - bw.weight1 = weight; - break; - case 2: - bw.boneIndex2 = boneIndex; - bw.weight2 = weight; - break; - case 3: - bw.boneIndex3 = boneIndex; - bw.weight3 = weight; - break; - } - } - - boneWeights[i] = bw; - } - - Matrix4x4[] bindPoses = new Matrix4x4[boneList.Count]; - for (int i = 0; i < boneList.Count; i++) { - bindPoses[i] = boneList[i].worldToLocalMatrix; - } - - mesh.boneWeights = boneWeights; - mesh.bindposes = bindPoses; - - string warningString = warningBuilder.ToString(); - if (warningString.Length > 0) - Debug.LogWarning(warningString); - - - return mesh; - } - - internal static Vector2[] ExtractUV (float[] floats) { - Vector2[] arr = new Vector2[floats.Length / 2]; - - for (int i = 0; i < floats.Length; i += 2) { - arr[i / 2] = new Vector2(floats[i], floats[i + 1]); - } - - return arr; - } - - internal static Vector3[] ExtractVerts (float[] floats) { - Vector3[] arr = new Vector3[floats.Length / 2]; - - for (int i = 0; i < floats.Length; i += 2) { - arr[i / 2] = new Vector3(floats[i], floats[i + 1], 0);// *scale; - } - - return arr; - } -#endregion - -#region Animation Baking - static AnimationClip ExtractAnimation (string name, SkeletonData skeletonData, Dictionary> slotLookup, bool bakeIK, SendMessageOptions eventOptions, AnimationClip clip = null) { - var animation = skeletonData.FindAnimation(name); - - var timelines = animation.Timelines; - - if (clip == null) { - clip = new AnimationClip(); - } else { - clip.ClearCurves(); - AnimationUtility.SetAnimationEvents(clip, new AnimationEvent[0]); - } - - clip.name = name; - - Skeleton skeleton = new Skeleton(skeletonData); - - List ignoreRotateTimelineIndexes = new List(); - - if (bakeIK) { - foreach (IkConstraint i in skeleton.IkConstraints) { - foreach (Bone b in i.Bones) { - int index = skeleton.FindBoneIndex(b.Data.Name); - ignoreRotateTimelineIndexes.Add(index); - BakeBoneConstraints(b, animation, clip); - } - } - } - - foreach (Bone b in skeleton.Bones) { - if (!b.Data.TransformMode.InheritsRotation()) { - int index = skeleton.FindBoneIndex(b.Data.Name); - - if (ignoreRotateTimelineIndexes.Contains(index) == false) { - ignoreRotateTimelineIndexes.Add(index); - BakeBoneConstraints(b, animation, clip); - } - } - } - - foreach (Timeline t in timelines) { - skeleton.SetToSetupPose(); - - if (t is ScaleTimeline) { - ParseScaleTimeline(skeleton, (ScaleTimeline)t, clip); - } else if (t is TranslateTimeline) { - ParseTranslateTimeline(skeleton, (TranslateTimeline)t, clip); - } else if (t is RotateTimeline) { - //bypass any rotation keys if they're going to get baked anyway to prevent localEulerAngles vs Baked collision - if (ignoreRotateTimelineIndexes.Contains(((RotateTimeline)t).BoneIndex) == false) - ParseRotateTimeline(skeleton, (RotateTimeline)t, clip); - } else if (t is AttachmentTimeline) { - ParseAttachmentTimeline(skeleton, (AttachmentTimeline)t, slotLookup, clip); - } else if (t is EventTimeline) { - ParseEventTimeline((EventTimeline)t, clip, eventOptions); - } - - } - - var settings = AnimationUtility.GetAnimationClipSettings(clip); - settings.loopTime = true; - settings.stopTime = Mathf.Max(clip.length, 0.001f); - - SetAnimationSettings(clip, settings); - - clip.EnsureQuaternionContinuity(); - - EditorUtility.SetDirty(clip); - - return clip; - } - - static int BinarySearch (float[] values, float target) { - int low = 0; - int high = values.Length - 2; - if (high == 0) return 1; - int current = (int)((uint)high >> 1); - while (true) { - if (values[(current + 1)] <= target) - low = current + 1; - else - high = current; - - if (low == high) return (low + 1); - current = (int)((uint)(low + high) >> 1); - } - } - - static void BakeBoneConstraints (Bone bone, Spine.Animation animation, AnimationClip clip) { - Skeleton skeleton = bone.Skeleton; - bool inheritRotation = bone.Data.TransformMode.InheritsRotation(); - - animation.Apply(skeleton, 0, 0, false, null, 1f, MixBlend.Setup, MixDirection.In); - skeleton.UpdateWorldTransform(); - float duration = animation.Duration; - - AnimationCurve curve = new AnimationCurve(); - - List keys = new List(); - - float rotation = bone.AppliedRotation; - if (!inheritRotation) - rotation = GetUninheritedAppliedRotation(bone); - - keys.Add(new Keyframe(0, rotation, 0, 0)); - - int listIndex = 1; - - float r = rotation; - - int steps = Mathf.CeilToInt(duration / BakeIncrement); - - float currentTime = 0; - float angle = rotation; - - for (int i = 1; i <= steps; i++) { - currentTime += BakeIncrement; - if (i == steps) - currentTime = duration; - - animation.Apply(skeleton, 0, currentTime, true, null, 1f, MixBlend.Setup, MixDirection.In); - skeleton.UpdateWorldTransform(); - - int pIndex = listIndex - 1; - - Keyframe pk = keys[pIndex]; - - pk = keys[pIndex]; - - rotation = inheritRotation ? bone.AppliedRotation : GetUninheritedAppliedRotation(bone); - - angle += Mathf.DeltaAngle(angle, rotation); - - r = angle; - - float rOut = (r - pk.value) / (currentTime - pk.time); - - pk.outTangent = rOut; - - keys.Add(new Keyframe(currentTime, r, rOut, 0)); - - keys[pIndex] = pk; - - listIndex++; - } - - curve = EnsureCurveKeyCount(new AnimationCurve(keys.ToArray())); - - string path = GetPath(bone.Data); - string propertyName = "localEulerAnglesBaked"; - - EditorCurveBinding xBind = EditorCurveBinding.FloatCurve(path, typeof(Transform), propertyName + ".x"); - AnimationUtility.SetEditorCurve(clip, xBind, new AnimationCurve()); - EditorCurveBinding yBind = EditorCurveBinding.FloatCurve(path, typeof(Transform), propertyName + ".y"); - AnimationUtility.SetEditorCurve(clip, yBind, new AnimationCurve()); - EditorCurveBinding zBind = EditorCurveBinding.FloatCurve(path, typeof(Transform), propertyName + ".z"); - AnimationUtility.SetEditorCurve(clip, zBind, curve); - } - - static void ParseTranslateTimeline (Skeleton skeleton, TranslateTimeline timeline, AnimationClip clip) { - var boneData = skeleton.Data.Bones.Items[timeline.BoneIndex]; - var bone = skeleton.Bones.Items[timeline.BoneIndex]; - - AnimationCurve xCurve = new AnimationCurve(); - AnimationCurve yCurve = new AnimationCurve(); - AnimationCurve zCurve = new AnimationCurve(); - - float endTime = timeline.Frames[(timeline.FrameCount * 3) - 3]; - - float currentTime = timeline.Frames[0]; - - List xKeys = new List(); - List yKeys = new List(); - - xKeys.Add(new Keyframe(timeline.Frames[0], timeline.Frames[1] + boneData.X, 0, 0)); - yKeys.Add(new Keyframe(timeline.Frames[0], timeline.Frames[2] + boneData.Y, 0, 0)); - - int listIndex = 1; - int frameIndex = 1; - int f = 3; - float[] frames = timeline.Frames; - skeleton.SetToSetupPose(); - float lastTime = 0; - while (currentTime < endTime) { - int pIndex = listIndex - 1; - - float curveType = timeline.GetCurveType(frameIndex - 1); - if (curveType == 0) { - //linear - Keyframe px = xKeys[pIndex]; - Keyframe py = yKeys[pIndex]; - - float time = frames[f]; - float x = frames[f + 1] + boneData.X; - float y = frames[f + 2] + boneData.Y; - - float xOut = (x - px.value) / (time - px.time); - float yOut = (y - py.value) / (time - py.time); - - px.outTangent = xOut; - py.outTangent = yOut; - - xKeys.Add(new Keyframe(time, x, xOut, 0)); - yKeys.Add(new Keyframe(time, y, yOut, 0)); - - xKeys[pIndex] = px; - yKeys[pIndex] = py; - - currentTime = time; - - timeline.Apply(skeleton, lastTime, currentTime, null, 1, MixBlend.Setup, MixDirection.In); - - lastTime = time; - listIndex++; - } else if (curveType == 1) { - //stepped - Keyframe px = xKeys[pIndex]; - Keyframe py = yKeys[pIndex]; - - float time = frames[f]; - float x = frames[f + 1] + boneData.X; - float y = frames[f + 2] + boneData.Y; - - float xOut = float.PositiveInfinity; - float yOut = float.PositiveInfinity; - - px.outTangent = xOut; - py.outTangent = yOut; - - xKeys.Add(new Keyframe(time, x, xOut, 0)); - yKeys.Add(new Keyframe(time, y, yOut, 0)); - - xKeys[pIndex] = px; - yKeys[pIndex] = py; - - currentTime = time; - - timeline.Apply(skeleton, lastTime, currentTime, null, 1, MixBlend.Setup, MixDirection.In); - - lastTime = time; - listIndex++; - } else if (curveType == 2) { - - //bezier - Keyframe px = xKeys[pIndex]; - Keyframe py = yKeys[pIndex]; - - float time = frames[f]; - - int steps = Mathf.FloorToInt((time - px.time) / BakeIncrement); - - for (int i = 1; i <= steps; i++) { - currentTime += BakeIncrement; - if (i == steps) - currentTime = time; - - timeline.Apply(skeleton, lastTime, currentTime, null, 1, MixBlend.Setup, MixDirection.In); - - px = xKeys[listIndex - 1]; - py = yKeys[listIndex - 1]; - - float xOut = (bone.X - px.value) / (currentTime - px.time); - float yOut = (bone.Y - py.value) / (currentTime - py.time); - - px.outTangent = xOut; - py.outTangent = yOut; - - xKeys.Add(new Keyframe(currentTime, bone.X, xOut, 0)); - yKeys.Add(new Keyframe(currentTime, bone.Y, yOut, 0)); - - xKeys[listIndex - 1] = px; - yKeys[listIndex - 1] = py; - - listIndex++; - lastTime = currentTime; - } - } - - frameIndex++; - f += 3; - } - - xCurve = EnsureCurveKeyCount(new AnimationCurve(xKeys.ToArray())); - yCurve = EnsureCurveKeyCount(new AnimationCurve(yKeys.ToArray())); - - - - string path = GetPath(boneData); - const string propertyName = "localPosition"; - - clip.SetCurve(path, typeof(Transform), propertyName + ".x", xCurve); - clip.SetCurve(path, typeof(Transform), propertyName + ".y", yCurve); - clip.SetCurve(path, typeof(Transform), propertyName + ".z", zCurve); - } - - static void ParseScaleTimeline (Skeleton skeleton, ScaleTimeline timeline, AnimationClip clip) { - var boneData = skeleton.Data.Bones.Items[timeline.BoneIndex]; - var bone = skeleton.Bones.Items[timeline.BoneIndex]; - - AnimationCurve xCurve = new AnimationCurve(); - AnimationCurve yCurve = new AnimationCurve(); - AnimationCurve zCurve = new AnimationCurve(); - - float endTime = timeline.Frames[(timeline.FrameCount * 3) - 3]; - - float currentTime = timeline.Frames[0]; - - List xKeys = new List(); - List yKeys = new List(); - - xKeys.Add(new Keyframe(timeline.Frames[0], timeline.Frames[1] * boneData.ScaleX, 0, 0)); - yKeys.Add(new Keyframe(timeline.Frames[0], timeline.Frames[2] * boneData.ScaleY, 0, 0)); - - int listIndex = 1; - int frameIndex = 1; - int f = 3; - float[] frames = timeline.Frames; - skeleton.SetToSetupPose(); - float lastTime = 0; - while (currentTime < endTime) { - int pIndex = listIndex - 1; - float curveType = timeline.GetCurveType(frameIndex - 1); - - if (curveType == 0) { - //linear - Keyframe px = xKeys[pIndex]; - Keyframe py = yKeys[pIndex]; - - float time = frames[f]; - float x = frames[f + 1] * boneData.ScaleX; - float y = frames[f + 2] * boneData.ScaleY; - - float xOut = (x - px.value) / (time - px.time); - float yOut = (y - py.value) / (time - py.time); - - px.outTangent = xOut; - py.outTangent = yOut; - - xKeys.Add(new Keyframe(time, x, xOut, 0)); - yKeys.Add(new Keyframe(time, y, yOut, 0)); - - xKeys[pIndex] = px; - yKeys[pIndex] = py; - - currentTime = time; - - timeline.Apply(skeleton, lastTime, currentTime, null, 1, MixBlend.Setup, MixDirection.In); - - lastTime = time; - listIndex++; - } else if (curveType == 1) { - //stepped - Keyframe px = xKeys[pIndex]; - Keyframe py = yKeys[pIndex]; - - float time = frames[f]; - float x = frames[f + 1] * boneData.ScaleX; - float y = frames[f + 2] * boneData.ScaleY; - - float xOut = float.PositiveInfinity; - float yOut = float.PositiveInfinity; - - px.outTangent = xOut; - py.outTangent = yOut; - - xKeys.Add(new Keyframe(time, x, xOut, 0)); - yKeys.Add(new Keyframe(time, y, yOut, 0)); - - xKeys[pIndex] = px; - yKeys[pIndex] = py; - - currentTime = time; - - timeline.Apply(skeleton, lastTime, currentTime, null, 1, MixBlend.Setup, MixDirection.In); - - lastTime = time; - listIndex++; - } else if (curveType == 2) { - //bezier - Keyframe px = xKeys[pIndex]; - Keyframe py = yKeys[pIndex]; - - float time = frames[f]; - - int steps = Mathf.FloorToInt((time - px.time) / BakeIncrement); - - for (int i = 1; i <= steps; i++) { - currentTime += BakeIncrement; - if (i == steps) - currentTime = time; - - timeline.Apply(skeleton, lastTime, currentTime, null, 1, MixBlend.Setup, MixDirection.In); - - px = xKeys[listIndex - 1]; - py = yKeys[listIndex - 1]; - - float xOut = (bone.ScaleX - px.value) / (currentTime - px.time); - float yOut = (bone.ScaleY - py.value) / (currentTime - py.time); - - px.outTangent = xOut; - py.outTangent = yOut; - - xKeys.Add(new Keyframe(currentTime, bone.ScaleX, xOut, 0)); - yKeys.Add(new Keyframe(currentTime, bone.ScaleY, yOut, 0)); - - xKeys[listIndex - 1] = px; - yKeys[listIndex - 1] = py; - - listIndex++; - lastTime = currentTime; - } - } - - frameIndex++; - f += 3; - } - - xCurve = EnsureCurveKeyCount(new AnimationCurve(xKeys.ToArray())); - yCurve = EnsureCurveKeyCount(new AnimationCurve(yKeys.ToArray())); - - string path = GetPath(boneData); - string propertyName = "localScale"; - - clip.SetCurve(path, typeof(Transform), propertyName + ".x", xCurve); - clip.SetCurve(path, typeof(Transform), propertyName + ".y", yCurve); - clip.SetCurve(path, typeof(Transform), propertyName + ".z", zCurve); - } - - static void ParseRotateTimeline (Skeleton skeleton, RotateTimeline timeline, AnimationClip clip) { - var boneData = skeleton.Data.Bones.Items[timeline.BoneIndex]; - var bone = skeleton.Bones.Items[timeline.BoneIndex]; - - var curve = new AnimationCurve(); - - float endTime = timeline.Frames[(timeline.FrameCount * 2) - 2]; - - float currentTime = timeline.Frames[0]; - - var keys = new List(); - - float rotation = timeline.Frames[1] + boneData.Rotation; - - keys.Add(new Keyframe(timeline.Frames[0], rotation, 0, 0)); - - int listIndex = 1; - int frameIndex = 1; - int f = 2; - float[] frames = timeline.Frames; - skeleton.SetToSetupPose(); - float lastTime = 0; - float angle = rotation; - while (currentTime < endTime) { - int pIndex = listIndex - 1; - float curveType = timeline.GetCurveType(frameIndex - 1); - - if (curveType == 0) { - //linear - Keyframe pk = keys[pIndex]; - - float time = frames[f]; - - rotation = frames[f + 1] + boneData.Rotation; - angle += Mathf.DeltaAngle(angle, rotation); - float r = angle; - - float rOut = (r - pk.value) / (time - pk.time); - - pk.outTangent = rOut; - - keys.Add(new Keyframe(time, r, rOut, 0)); - - keys[pIndex] = pk; - - currentTime = time; - - timeline.Apply(skeleton, lastTime, currentTime, null, 1, MixBlend.Setup, MixDirection.In); - - lastTime = time; - listIndex++; - } else if (curveType == 1) { - //stepped - - Keyframe pk = keys[pIndex]; - - float time = frames[f]; - - rotation = frames[f + 1] + boneData.Rotation; - angle += Mathf.DeltaAngle(angle, rotation); - float r = angle; - - float rOut = float.PositiveInfinity; - - pk.outTangent = rOut; - - keys.Add(new Keyframe(time, r, rOut, 0)); - - keys[pIndex] = pk; - - currentTime = time; - - timeline.Apply(skeleton, lastTime, currentTime, null, 1, MixBlend.Setup, MixDirection.In); - - lastTime = time; - listIndex++; - } else if (curveType == 2) { - //bezier - Keyframe pk = keys[pIndex]; - - float time = frames[f]; - - timeline.Apply(skeleton, lastTime, currentTime, null, 1, MixBlend.Setup, MixDirection.In); - skeleton.UpdateWorldTransform(); - - rotation = frames[f + 1] + boneData.Rotation; - angle += Mathf.DeltaAngle(angle, rotation); - float r = angle; - - int steps = Mathf.FloorToInt((time - pk.time) / BakeIncrement); - - for (int i = 1; i <= steps; i++) { - currentTime += BakeIncrement; - if (i == steps) - currentTime = time; - - timeline.Apply(skeleton, lastTime, currentTime, null, 1, MixBlend.Setup, MixDirection.In); - skeleton.UpdateWorldTransform(); - pk = keys[listIndex - 1]; - - rotation = bone.Rotation; - angle += Mathf.DeltaAngle(angle, rotation); - r = angle; - - float rOut = (r - pk.value) / (currentTime - pk.time); - - pk.outTangent = rOut; - - keys.Add(new Keyframe(currentTime, r, rOut, 0)); - - keys[listIndex - 1] = pk; - - listIndex++; - lastTime = currentTime; - } - } - - frameIndex++; - f += 2; - } - - curve = EnsureCurveKeyCount(new AnimationCurve(keys.ToArray())); - - string path = GetPath(boneData); - const string propertyName = "localEulerAnglesBaked"; - - EditorCurveBinding xBind = EditorCurveBinding.FloatCurve(path, typeof(Transform), propertyName + ".x"); - AnimationUtility.SetEditorCurve(clip, xBind, new AnimationCurve()); - EditorCurveBinding yBind = EditorCurveBinding.FloatCurve(path, typeof(Transform), propertyName + ".y"); - AnimationUtility.SetEditorCurve(clip, yBind, new AnimationCurve()); - EditorCurveBinding zBind = EditorCurveBinding.FloatCurve(path, typeof(Transform), propertyName + ".z"); - AnimationUtility.SetEditorCurve(clip, zBind, curve); - } - - static void ParseEventTimeline (EventTimeline timeline, AnimationClip clip, SendMessageOptions eventOptions) { - float[] frames = timeline.Frames; - var events = timeline.Events; - - var animEvents = new List(); - for (int i = 0, n = frames.Length; i < n; i++) { - var spineEvent = events[i]; - string eventName = spineEvent.Data.Name; - if (SpineEditorUtilities.Preferences.mecanimEventIncludeFolderName) - eventName = eventName.Replace("/", ""); // calls method FolderNameEventName() - else - eventName = eventName.Substring(eventName.LastIndexOf('/') + 1); // calls method EventName() - var unityAnimationEvent = new AnimationEvent { - time = frames[i], - functionName = eventName, - messageOptions = eventOptions - }; - - if (!string.IsNullOrEmpty(spineEvent.String)) { - unityAnimationEvent.stringParameter = spineEvent.String; - } else if (spineEvent.Int != 0) { - unityAnimationEvent.intParameter = spineEvent.Int; - } else if (spineEvent.Float != 0) { - unityAnimationEvent.floatParameter = spineEvent.Float; - } // else, paramless function/Action. - - animEvents.Add(unityAnimationEvent); - } - - AnimationUtility.SetAnimationEvents(clip, animEvents.ToArray()); - } - - static void ParseAttachmentTimeline (Skeleton skeleton, AttachmentTimeline timeline, Dictionary> slotLookup, AnimationClip clip) { - var attachmentNames = slotLookup[timeline.SlotIndex]; - - string bonePath = GetPath(skeleton.Slots.Items[timeline.SlotIndex].Bone.Data); - string slotPath = bonePath + "/" + skeleton.Slots.Items[timeline.SlotIndex].Data.Name; - - Dictionary curveTable = new Dictionary(); - - foreach (string str in attachmentNames) { - curveTable.Add(str, new AnimationCurve()); - } - - float[] frames = timeline.Frames; - - if (frames[0] != 0) { - string startingName = skeleton.Slots.Items[timeline.SlotIndex].Data.AttachmentName; - foreach (var pair in curveTable) { - if (startingName == "" || startingName == null) { - pair.Value.AddKey(new Keyframe(0, 0, float.PositiveInfinity, float.PositiveInfinity)); - } else { - if (pair.Key == startingName) { - pair.Value.AddKey(new Keyframe(0, 1, float.PositiveInfinity, float.PositiveInfinity)); - } else { - pair.Value.AddKey(new Keyframe(0, 0, float.PositiveInfinity, float.PositiveInfinity)); - } - } - } - } - - float currentTime = timeline.Frames[0]; - float endTime = frames[frames.Length - 1]; - int f = 0; - while (currentTime < endTime) { - float time = frames[f]; - - int frameIndex = (time >= frames[frames.Length - 1] ? frames.Length : BinarySearch(frames, time)) - 1; - - string name = timeline.AttachmentNames[frameIndex]; - foreach (var pair in curveTable) { - if (name == "") { - pair.Value.AddKey(new Keyframe(time, 0, float.PositiveInfinity, float.PositiveInfinity)); - } else { - if (pair.Key == name) { - pair.Value.AddKey(new Keyframe(time, 1, float.PositiveInfinity, float.PositiveInfinity)); - } else { - pair.Value.AddKey(new Keyframe(time, 0, float.PositiveInfinity, float.PositiveInfinity)); - } - } - } - - currentTime = time; - f += 1; - } - - foreach (var pair in curveTable) { - string path = slotPath + "/" + pair.Key; - string prop = "m_IsActive"; - - clip.SetCurve(path, typeof(GameObject), prop, pair.Value); - } - } - - static AnimationCurve EnsureCurveKeyCount (AnimationCurve curve) { - if (curve.length == 1) - curve.AddKey(curve.keys[0].time + 0.25f, curve.keys[0].value); - - return curve; - } - - static float GetUninheritedAppliedRotation (Bone b) { - Bone parent = b.Parent; - float angle = b.AppliedRotation; - - while (parent != null) { - angle -= parent.AppliedRotation; - parent = parent.Parent; - } - - return angle; - } -#endregion -#endregion - -#region Region Baking - public static GameObject BakeRegion (SpineAtlasAsset atlasAsset, AtlasRegion region, bool autoSave = true) { - atlasAsset.GetAtlas(); // Initializes atlasAsset. - - string atlasAssetPath = AssetDatabase.GetAssetPath(atlasAsset); - string atlasAssetDirPath = Path.GetDirectoryName(atlasAssetPath).Replace('\\', '/'); - string bakedDirPath = Path.Combine(atlasAssetDirPath, atlasAsset.name); - string bakedPrefabPath = Path.Combine(bakedDirPath, AssetUtility.GetPathSafeName(region.name) + ".prefab").Replace("\\", "/"); - - GameObject prefab = (GameObject)AssetDatabase.LoadAssetAtPath(bakedPrefabPath, typeof(GameObject)); - GameObject root; - Mesh mesh; - bool isNewPrefab = false; - - if (!Directory.Exists(bakedDirPath)) - Directory.CreateDirectory(bakedDirPath); - - if (prefab == null) { - root = EditorInstantiation.NewGameObject("temp", true, typeof(MeshFilter), typeof(MeshRenderer)); - #if NEW_PREFAB_SYSTEM - prefab = PrefabUtility.SaveAsPrefabAsset(root, bakedPrefabPath); - #else - prefab = PrefabUtility.CreatePrefab(bakedPrefabPath, root); - #endif - - isNewPrefab = true; - Object.DestroyImmediate(root); - } - - mesh = (Mesh)AssetDatabase.LoadAssetAtPath(bakedPrefabPath, typeof(Mesh)); - - Material mat = null; - mesh = atlasAsset.GenerateMesh(region.name, mesh, out mat); - if (isNewPrefab) { - AssetDatabase.AddObjectToAsset(mesh, prefab); - prefab.GetComponent().sharedMesh = mesh; - } - - EditorUtility.SetDirty(mesh); - EditorUtility.SetDirty(prefab); - - if (autoSave) { - AssetDatabase.SaveAssets(); - AssetDatabase.Refresh(); - } - - prefab.GetComponent().sharedMaterial = mat; - - return prefab; - } -#endregion - - static string GetPath (BoneData b) { - return GetPathRecurse(b).Substring(1); - } - - static string GetPathRecurse (BoneData b) { - if (b == null) return ""; - return GetPathRecurse(b.Parent) + "/" + b.Name; - } - - static void SetAnimationSettings (AnimationClip clip, AnimationClipSettings settings) { - AnimationUtility.SetAnimationClipSettings(clip, settings); - } - - - } - -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonBaker.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonBaker.cs.meta deleted file mode 100644 index 37b13c9..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonBaker.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 687d9be457ea4eb44bf09c35c95ee5cd -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonBakingWindow.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonBakingWindow.cs deleted file mode 100644 index 62870d0..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonBakingWindow.cs +++ /dev/null @@ -1,174 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; - -namespace Spine.Unity.Editor { - - using Editor = UnityEditor.Editor; - using Icons = SpineEditorUtilities.Icons; - - public class SkeletonBakingWindow : EditorWindow { - const bool IsUtilityWindow = true; - - [MenuItem("CONTEXT/SkeletonDataAsset/Skeleton Baking", false, 5000)] - public static void Init (MenuCommand command) { - var window = EditorWindow.GetWindow(IsUtilityWindow); - window.minSize = new Vector2(330f, 530f); - window.maxSize = new Vector2(600f, 1000f); - window.titleContent = new GUIContent("Skeleton Baking", Icons.spine); - window.skeletonDataAsset = command.context as SkeletonDataAsset; - window.Show(); - } - - public SkeletonDataAsset skeletonDataAsset; - [SpineSkin(dataField:"skeletonDataAsset")] - public string skinToBake = "default"; - - // Settings - bool bakeAnimations = false; - bool bakeIK = true; - SendMessageOptions bakeEventOptions; - - SerializedObject so; - Skin bakeSkin; - - - void DataAssetChanged () { - bakeSkin = null; - } - - void OnGUI () { - so = so ?? new SerializedObject(this); - - EditorGUIUtility.wideMode = true; - EditorGUILayout.LabelField("Spine Skeleton Prefab Baking", EditorStyles.boldLabel); - - const string BakingWarningMessage = "\nSkeleton baking is not the primary use case for Spine skeletons." + - "\nUse baking if you have specialized uses, such as simplified skeletons with movement driven by physics." + - - "\n\nBaked Skeletons do not support the following:" + - "\n\tDisabled rotation or scale inheritance" + - "\n\tLocal Shear" + - "\n\tAll Constraint types" + - "\n\tWeighted mesh verts with more than 4 bound bones" + - - "\n\nBaked Animations do not support the following:" + - "\n\tMesh Deform Keys" + - "\n\tColor Keys" + - "\n\tDraw Order Keys" + - - "\n\nAnimation Curves are sampled at 60fps and are not realtime." + - "\nConstraint animations are also baked into animation curves." + - "\nSee SkeletonBaker.cs comments for full details.\n"; - - EditorGUILayout.HelpBox(BakingWarningMessage, MessageType.Info, true); - - EditorGUI.BeginChangeCheck(); - var skeletonDataAssetProperty = so.FindProperty("skeletonDataAsset"); - EditorGUILayout.PropertyField(skeletonDataAssetProperty, SpineInspectorUtility.TempContent("SkeletonDataAsset", Icons.spine)); - if (EditorGUI.EndChangeCheck()) { - so.ApplyModifiedProperties(); - DataAssetChanged(); - } - EditorGUILayout.Space(); - - if (skeletonDataAsset == null) return; - var skeletonData = skeletonDataAsset.GetSkeletonData(false); - if (skeletonData == null) return; - bool hasExtraSkins = skeletonData.Skins.Count > 1; - - using (new SpineInspectorUtility.BoxScope(false)) { - EditorGUILayout.LabelField(skeletonDataAsset.name, EditorStyles.boldLabel); - using (new SpineInspectorUtility.IndentScope()) { - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Bones: " + skeletonData.Bones.Count, Icons.bone)); - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Slots: " + skeletonData.Slots.Count, Icons.slotRoot)); - - if (hasExtraSkins) { - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Skins: " + skeletonData.Skins.Count, Icons.skinsRoot)); - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Current skin attachments: " + (bakeSkin == null ? 0 : bakeSkin.Attachments.Count), Icons.skinPlaceholder)); - } else if (skeletonData.Skins.Count == 1) { - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Skins: 1 (only default Skin)", Icons.skinsRoot)); - } - - int totalAttachments = 0; - foreach (var s in skeletonData.Skins) - totalAttachments += s.Attachments.Count; - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Total Attachments: " + totalAttachments, Icons.genericAttachment)); - } - } - using (new SpineInspectorUtility.BoxScope(false)) { - EditorGUILayout.LabelField("Animations", EditorStyles.boldLabel); - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Animations: " + skeletonData.Animations.Count, Icons.animation)); - - using (new SpineInspectorUtility.IndentScope()) { - bakeAnimations = EditorGUILayout.Toggle(SpineInspectorUtility.TempContent("Bake Animations", Icons.animationRoot), bakeAnimations); - using (new EditorGUI.DisabledScope(!bakeAnimations)) { - using (new SpineInspectorUtility.IndentScope()) { - bakeIK = EditorGUILayout.Toggle(SpineInspectorUtility.TempContent("Bake IK", Icons.constraintIK), bakeIK); - bakeEventOptions = (SendMessageOptions)EditorGUILayout.EnumPopup(SpineInspectorUtility.TempContent("Event Options", Icons.userEvent), bakeEventOptions); - } - } - } - } - EditorGUILayout.Space(); - - if (!string.IsNullOrEmpty(skinToBake) && UnityEngine.Event.current.type == EventType.Repaint) - bakeSkin = skeletonData.FindSkin(skinToBake) ?? skeletonData.DefaultSkin; - - var prefabIcon = EditorGUIUtility.FindTexture("PrefabModel Icon"); - - if (hasExtraSkins) { - EditorGUI.BeginChangeCheck(); - EditorGUILayout.PropertyField(so.FindProperty("skinToBake")); - if (EditorGUI.EndChangeCheck()) { - so.ApplyModifiedProperties(); - Repaint(); - } - - if (SpineInspectorUtility.LargeCenteredButton(SpineInspectorUtility.TempContent(string.Format("Bake Skeleton with Skin ({0})", (bakeSkin == null ? "default" : bakeSkin.Name)), prefabIcon))) { - SkeletonBaker.BakeToPrefab(skeletonDataAsset, new ExposedList(new[] { bakeSkin }), "", bakeAnimations, bakeIK, bakeEventOptions); - } - - if (SpineInspectorUtility.LargeCenteredButton(SpineInspectorUtility.TempContent(string.Format("Bake All ({0} skins)", skeletonData.Skins.Count), prefabIcon))) { - SkeletonBaker.BakeToPrefab(skeletonDataAsset, skeletonData.Skins, "", bakeAnimations, bakeIK, bakeEventOptions); - } - } else { - if (SpineInspectorUtility.LargeCenteredButton(SpineInspectorUtility.TempContent("Bake Skeleton", prefabIcon))) { - SkeletonBaker.BakeToPrefab(skeletonDataAsset, new ExposedList(new[] { bakeSkin }), "", bakeAnimations, bakeIK, bakeEventOptions); - } - - } - - } - } -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonBakingWindow.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonBakingWindow.cs.meta deleted file mode 100644 index 4e1aa1d..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonBakingWindow.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 868b0caae5b3e65408ece1ab400c4a99 -timeCreated: 1495203966 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonDebugWindow.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonDebugWindow.cs deleted file mode 100644 index 4170a55..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonDebugWindow.cs +++ /dev/null @@ -1,592 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -// With contributions from: Mitch Thompson - -#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER -#define NEW_PREFAB_SYSTEM -#else -#define NO_PREFAB_MESH -#endif - -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; -using UnityEditor.AnimatedValues; - -namespace Spine.Unity.Editor { - using Editor = UnityEditor.Editor; - using Icons = SpineEditorUtilities.Icons; - - public class SkeletonDebugWindow : EditorWindow { - - const bool IsUtilityWindow = true; - internal static bool showBoneNames, showPaths = true, showShapes = true, showConstraints = true; - - [MenuItem("CONTEXT/SkeletonRenderer/Open Skeleton Debug Window", false, 5000)] - public static void Init () { - var window = EditorWindow.GetWindow(IsUtilityWindow); - window.minSize = new Vector2(330f, 360f); - window.maxSize = new Vector2(600f, 4000f); - window.titleContent = new GUIContent("Skeleton Debug", Icons.spine); - window.Show(); - window.OnSelectionChange(); - } - - - static AnimBool showSkeleton = new AnimBool(true); - static AnimBool showSlotsTree = new AnimBool(false); - static AnimBool showConstraintsTree = new AnimBool(false); - static AnimBool showDrawOrderTree = new AnimBool(false); - static AnimBool showEventDataTree = new AnimBool(false); - static AnimBool showDataTree = new AnimBool(false); - static AnimBool showInspectBoneTree = new AnimBool(false); - - Vector2 scrollPos; - - GUIContent SlotsRootLabel, SkeletonRootLabel; - GUIStyle BoldFoldoutStyle; - - public SkeletonRenderer skeletonRenderer; - Skeleton skeleton; - Skin activeSkin; - bool isPrefab; - - SerializedProperty bpo; - Bone bone; - - [SpineBone(dataField:"skeletonRenderer")] - public string boneName; - - readonly Dictionary> attachmentTable = new Dictionary>(); - - static bool staticLostValues = true; - - void OnSceneGUI (SceneView sceneView) { - if (skeleton == null || skeletonRenderer == null || !skeletonRenderer.valid || isPrefab) - return; - - var transform = skeletonRenderer.transform; - if (showPaths) SpineHandles.DrawPaths(transform, skeleton); - if (showConstraints) SpineHandles.DrawConstraints(transform, skeleton); - if (showBoneNames) SpineHandles.DrawBoneNames(transform, skeleton); - if (showShapes) SpineHandles.DrawBoundingBoxes(transform, skeleton); - - if (bone != null) { - SpineHandles.DrawBone(skeletonRenderer.transform, bone, 1.5f, Color.cyan); - Handles.Label(bone.GetWorldPosition(skeletonRenderer.transform) + (Vector3.down * 0.15f), bone.Data.Name, SpineHandles.BoneNameStyle); - } - } - - void OnSelectionChange () { - #if UNITY_2019_1_OR_NEWER - SceneView.duringSceneGui -= this.OnSceneGUI; - SceneView.duringSceneGui += this.OnSceneGUI; - #else - SceneView.onSceneGUIDelegate -= this.OnSceneGUI; - SceneView.onSceneGUIDelegate += this.OnSceneGUI; - #endif - - bool noSkeletonRenderer = false; - - var selectedObject = Selection.activeGameObject; - if (selectedObject == null) { - noSkeletonRenderer = true; - } else { - var selectedSkeletonRenderer = selectedObject.GetComponent(); - if (selectedSkeletonRenderer == null) { - noSkeletonRenderer = true; - } else if (skeletonRenderer != selectedSkeletonRenderer) { - - bone = null; - if (skeletonRenderer != null && skeletonRenderer.SkeletonDataAsset != selectedSkeletonRenderer.SkeletonDataAsset) - boneName = null; - - skeletonRenderer = selectedSkeletonRenderer; - skeletonRenderer.Initialize(false); - skeletonRenderer.LateUpdate(); - skeleton = skeletonRenderer.skeleton; -#if NEW_PREFAB_SYSTEM - isPrefab = false; -#else - isPrefab |= PrefabUtility.GetPrefabType(selectedObject) == PrefabType.Prefab; -#endif - UpdateAttachments(); - } - } - - if (noSkeletonRenderer) Clear(); - Repaint(); - } - - void Clear () { - skeletonRenderer = null; - skeleton = null; - attachmentTable.Clear(); - isPrefab = false; - boneName = string.Empty; - bone = null; - #if UNITY_2019_1_OR_NEWER - SceneView.duringSceneGui -= this.OnSceneGUI; - #else - SceneView.onSceneGUIDelegate -= this.OnSceneGUI; - #endif - } - - void OnDestroy () { - Clear(); - } - - static void FalseDropDown (string label, string stringValue, Texture2D icon = null, bool disabledGroup = false) { - if (disabledGroup) EditorGUI.BeginDisabledGroup(true); - var pos = EditorGUILayout.GetControlRect(true); - pos = EditorGUI.PrefixLabel(pos, SpineInspectorUtility.TempContent(label)); - GUI.Button(pos, SpineInspectorUtility.TempContent(stringValue, icon), EditorStyles.popup); - if (disabledGroup) EditorGUI.EndDisabledGroup(); - } - - // Window GUI - void OnGUI () { - bool requireRepaint = false; - - if (staticLostValues) { - Clear(); - OnSelectionChange(); - staticLostValues = false; - requireRepaint = true; - } - - if (SlotsRootLabel == null) { - SlotsRootLabel = new GUIContent("Slots", Icons.slotRoot); - SkeletonRootLabel = new GUIContent("Skeleton", Icons.skeleton); - BoldFoldoutStyle = new GUIStyle(EditorStyles.foldout); - BoldFoldoutStyle.fontStyle = FontStyle.Bold; - BoldFoldoutStyle.stretchWidth = true; - BoldFoldoutStyle.fixedWidth = 0; - } - - - EditorGUILayout.Space(); - EditorGUI.BeginDisabledGroup(true); - EditorGUILayout.ObjectField(SpineInspectorUtility.TempContent("Debug Selection", Icons.spine), skeletonRenderer, typeof(SkeletonRenderer), true); - EditorGUI.EndDisabledGroup(); - - if (skeleton == null || skeletonRenderer == null) { - EditorGUILayout.HelpBox("No SkeletonRenderer Spine GameObject selected.", MessageType.Info); - return; - } - - if (isPrefab) { - EditorGUILayout.HelpBox("SkeletonDebug only debugs Spine GameObjects in the scene.", MessageType.Warning); - return; - } - - if (!skeletonRenderer.valid) { - EditorGUILayout.HelpBox("Spine Component is invalid. Check SkeletonData Asset.", MessageType.Error); - return; - } - - if (activeSkin != skeleton.Skin) - UpdateAttachments(); - - scrollPos = EditorGUILayout.BeginScrollView(scrollPos); - - using (new SpineInspectorUtility.BoxScope(false)) { - if (SpineInspectorUtility.CenteredButton(SpineInspectorUtility.TempContent("Skeleton.SetToSetupPose()"))) { - skeleton.SetToSetupPose(); - requireRepaint = true; - } - - EditorGUI.BeginChangeCheck(); - EditorGUILayout.LabelField("Scene View", EditorStyles.boldLabel); - using (new SpineInspectorUtility.LabelWidthScope()) { - showBoneNames = EditorGUILayout.Toggle("Show Bone Names", showBoneNames); - showPaths = EditorGUILayout.Toggle("Show Paths", showPaths); - showShapes = EditorGUILayout.Toggle("Show Shapes", showShapes); - showConstraints = EditorGUILayout.Toggle("Show Constraints", showConstraints); - } - requireRepaint |= EditorGUI.EndChangeCheck(); - - - // Skeleton - showSkeleton.target = EditorGUILayout.Foldout(showSkeleton.target, SkeletonRootLabel, BoldFoldoutStyle); - if (showSkeleton.faded > 0) { - using (new SpineInspectorUtility.IndentScope()) { - using (new EditorGUILayout.FadeGroupScope(showSkeleton.faded)) { - EditorGUI.BeginChangeCheck(); - - EditorGUI.BeginDisabledGroup(true); - FalseDropDown(".Skin", skeleton.Skin != null ? skeletonRenderer.Skeleton.Skin.Name : "", Icons.skin); - EditorGUI.EndDisabledGroup(); - - // Flip - skeleton.ScaleX = EditorGUILayout.DelayedFloatField(".ScaleX", skeleton.ScaleX); - skeleton.ScaleY = EditorGUILayout.DelayedFloatField(".ScaleY", skeleton.ScaleY); - //EditorGUILayout.BeginHorizontal(GUILayout.MaxWidth(160f)); - ////EditorGUILayout.LabelField("Scale", GUILayout.Width(EditorGUIUtility.labelWidth - 20f)); - //GUILayout.EndHorizontal(); - - // Color - skeleton.SetColor(EditorGUILayout.ColorField(".R .G .B .A", skeleton.GetColor())); - - requireRepaint |= EditorGUI.EndChangeCheck(); - } - } - } - - // Bone - showInspectBoneTree.target = EditorGUILayout.Foldout(showInspectBoneTree.target, SpineInspectorUtility.TempContent("Bone", Icons.bone), BoldFoldoutStyle); - if (showInspectBoneTree.faded > 0) { - using (new SpineInspectorUtility.IndentScope()) { - using (new EditorGUILayout.FadeGroupScope(showInspectBoneTree.faded)) { - showBoneNames = EditorGUILayout.Toggle("Show Bone Names", showBoneNames); - if (bpo == null) bpo = new SerializedObject(this).FindProperty("boneName"); - EditorGUILayout.PropertyField(bpo, SpineInspectorUtility.TempContent("Bone")); - if (!string.IsNullOrEmpty(bpo.stringValue)) { - if (bone == null || bone.Data.Name != bpo.stringValue) { - bone = skeleton.FindBone(bpo.stringValue); - } - - if (bone != null) { - using (new EditorGUI.DisabledGroupScope(true)) { - var wm = EditorGUIUtility.wideMode; - EditorGUIUtility.wideMode = true; - EditorGUILayout.Slider("Local Rotation", ViewRound(bone.Rotation), -180f, 180f); - EditorGUILayout.Vector2Field("Local Position", RoundVector2(bone.X, bone.Y)); - EditorGUILayout.Vector2Field("Local Scale", RoundVector2(bone.ScaleX, bone.ScaleY)); - EditorGUILayout.Vector2Field("Local Shear", RoundVector2(bone.ShearX, bone.ShearY)); - - EditorGUILayout.Space(); - - var boneParent = bone.Parent; - if (boneParent != null) FalseDropDown("Parent", boneParent.Data.Name, Icons.bone); - - const string RoundFormat = "0.##"; - var lw = EditorGUIUtility.labelWidth; - var fw = EditorGUIUtility.fieldWidth; - EditorGUIUtility.labelWidth *= 0.25f; - EditorGUIUtility.fieldWidth *= 0.5f; - EditorGUILayout.LabelField("LocalToWorld"); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.Space(); - EditorGUILayout.TextField(".A", bone.A.ToString(RoundFormat)); - EditorGUILayout.TextField(".B", bone.B.ToString(RoundFormat)); - EditorGUILayout.EndHorizontal(); - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.Space(); - EditorGUILayout.TextField(".C", bone.C.ToString(RoundFormat)); - EditorGUILayout.TextField(".D", bone.D.ToString(RoundFormat)); - EditorGUILayout.EndHorizontal(); - - EditorGUIUtility.labelWidth = lw * 0.5f; - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.Space(); - EditorGUILayout.Space(); - EditorGUILayout.TextField(".WorldX", bone.WorldX.ToString(RoundFormat)); - EditorGUILayout.TextField(".WorldY", bone.WorldY.ToString(RoundFormat)); - EditorGUILayout.EndHorizontal(); - - EditorGUIUtility.labelWidth = lw; - EditorGUIUtility.fieldWidth = fw; - EditorGUIUtility.wideMode = wm; - - } - } - requireRepaint = true; - } else { - bone = null; - } - } - } - } - - // Slots - int preSlotsIndent = EditorGUI.indentLevel; - showSlotsTree.target = EditorGUILayout.Foldout(showSlotsTree.target, SlotsRootLabel, BoldFoldoutStyle); - if (showSlotsTree.faded > 0) { - using (new EditorGUILayout.FadeGroupScope(showSlotsTree.faded)) { - if (SpineInspectorUtility.CenteredButton(SpineInspectorUtility.TempContent("Skeleton.SetSlotsToSetupPose()"))) { - skeleton.SetSlotsToSetupPose(); - requireRepaint = true; - } - - int baseIndent = EditorGUI.indentLevel; - foreach (KeyValuePair> pair in attachmentTable) { - Slot slot = pair.Key; - - using (new EditorGUILayout.HorizontalScope()) { - EditorGUI.indentLevel = baseIndent + 1; - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent(slot.Data.Name, Icons.slot), GUILayout.ExpandWidth(false)); - EditorGUI.BeginChangeCheck(); - Color c = EditorGUILayout.ColorField(new Color(slot.R, slot.G, slot.B, slot.A), GUILayout.Width(60)); - if (EditorGUI.EndChangeCheck()) { - slot.SetColor(c); - requireRepaint = true; - } - } - - foreach (var skinEntry in pair.Value) { - var attachment = skinEntry.Attachment; - GUI.contentColor = slot.Attachment == attachment ? Color.white : Color.grey; - EditorGUI.indentLevel = baseIndent + 2; - var icon = Icons.GetAttachmentIcon(attachment); - bool isAttached = (attachment == slot.Attachment); - bool swap = EditorGUILayout.ToggleLeft(SpineInspectorUtility.TempContent(attachment.Name, icon), attachment == slot.Attachment); - if (isAttached != swap) { - slot.Attachment = isAttached ? null : attachment; - requireRepaint = true; - } - GUI.contentColor = Color.white; - } - } - } - } - EditorGUI.indentLevel = preSlotsIndent; - - // Constraints - const string NoneText = ""; - showConstraintsTree.target = EditorGUILayout.Foldout(showConstraintsTree.target, SpineInspectorUtility.TempContent("Constraints", Icons.constraintRoot), BoldFoldoutStyle); - if (showConstraintsTree.faded > 0) { - using (new SpineInspectorUtility.IndentScope()) { - using (new EditorGUILayout.FadeGroupScope(showConstraintsTree.faded)) { - const float MixMin = 0f; - const float MixMax = 1f; - EditorGUI.BeginChangeCheck(); - showConstraints = EditorGUILayout.Toggle("Show Constraints", showConstraints); - requireRepaint |= EditorGUI.EndChangeCheck(); - - EditorGUILayout.Space(); - - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent(string.Format("IK Constraints ({0})", skeleton.IkConstraints.Count), Icons.constraintIK), EditorStyles.boldLabel); - using (new SpineInspectorUtility.IndentScope()) { - if (skeleton.IkConstraints.Count > 0) { - foreach (var c in skeleton.IkConstraints) { - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent(c.Data.Name, Icons.constraintIK)); - FalseDropDown("Goal", c.Data.Target.Name, Icons.bone, true); - using (new EditorGUI.DisabledGroupScope(true)) { - EditorGUILayout.Toggle(SpineInspectorUtility.TempContent("Data.Uniform", tooltip: "Uniformly scales a bone when Ik stretches or compresses."), c.Data.Uniform); - } - - EditorGUI.BeginChangeCheck(); - c.Mix = EditorGUILayout.Slider("Mix", c.Mix, MixMin, MixMax); - c.BendDirection = EditorGUILayout.Toggle(SpineInspectorUtility.TempContent("Bend Clockwise", tooltip: "IkConstraint.BendDirection == 1 if clockwise; -1 if counterclockwise."), c.BendDirection > 0) ? 1 : -1; - c.Compress = EditorGUILayout.Toggle(SpineInspectorUtility.TempContent("Compress", tooltip: "Compress single bone IK when the target too close. Not applied when parent bone has nonuniform scale."), c.Compress); - c.Stretch = EditorGUILayout.Toggle(SpineInspectorUtility.TempContent("Stretch", tooltip: "Stretch the parent bone when the target is out of range. Not applied when parent bone has nonuniform scale."), c.Stretch); - if (EditorGUI.EndChangeCheck()) requireRepaint = true; - - EditorGUILayout.Space(); - } - - } else { - EditorGUILayout.LabelField(NoneText); - } - } - - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent(string.Format("Transform Constraints ({0})", skeleton.TransformConstraints.Count), Icons.constraintTransform), EditorStyles.boldLabel); - using (new SpineInspectorUtility.IndentScope()) { - if (skeleton.TransformConstraints.Count > 0) { - foreach (var c in skeleton.TransformConstraints) { - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent(c.Data.Name, Icons.constraintTransform)); - EditorGUI.BeginDisabledGroup(true); - FalseDropDown("Goal", c.Data.Target.Name, Icons.bone); - EditorGUI.EndDisabledGroup(); - - EditorGUI.BeginChangeCheck(); - c.TranslateMix = EditorGUILayout.Slider("TranslateMix", c.TranslateMix, MixMin, MixMax); - c.RotateMix = EditorGUILayout.Slider("RotateMix", c.RotateMix, MixMin, MixMax); - c.ScaleMix = EditorGUILayout.Slider("ScaleMix", c.ScaleMix, MixMin, MixMax); - c.ShearMix = EditorGUILayout.Slider("ShearMix", c.ShearMix, MixMin, MixMax); - if (EditorGUI.EndChangeCheck()) requireRepaint = true; - - EditorGUILayout.Space(); - } - } else { - EditorGUILayout.LabelField(NoneText); - } - } - - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent(string.Format("Path Constraints ({0})", skeleton.PathConstraints.Count), Icons.constraintPath), EditorStyles.boldLabel); - - EditorGUI.BeginChangeCheck(); - showPaths = EditorGUILayout.Toggle("Show Paths", showPaths); - requireRepaint |= EditorGUI.EndChangeCheck(); - - using (new SpineInspectorUtility.IndentScope()) { - if (skeleton.PathConstraints.Count > 0) { - foreach (var c in skeleton.PathConstraints) { - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent(c.Data.Name, Icons.constraintPath)); - EditorGUI.BeginDisabledGroup(true); - FalseDropDown("Path Slot", c.Data.Target.Name, Icons.slot); - var activeAttachment = c.Target.Attachment; - FalseDropDown("Active Path", activeAttachment != null ? activeAttachment.Name : "", activeAttachment is PathAttachment ? Icons.path : null); - EditorGUILayout.LabelField("PositionMode." + c.Data.PositionMode); - EditorGUILayout.LabelField("SpacingMode." + c.Data.SpacingMode); - EditorGUILayout.LabelField("RotateMode." + c.Data.RotateMode); - EditorGUI.EndDisabledGroup(); - - EditorGUI.BeginChangeCheck(); - c.RotateMix = EditorGUILayout.Slider("RotateMix", c.RotateMix, MixMin, MixMax); - c.TranslateMix = EditorGUILayout.Slider("TranslateMix", c.TranslateMix, MixMin, MixMax); - c.Position = EditorGUILayout.FloatField("Position", c.Position); - c.Spacing = EditorGUILayout.FloatField("Spacing", c.Spacing); - if (EditorGUI.EndChangeCheck()) requireRepaint = true; - - EditorGUILayout.Space(); - } - - } else { - EditorGUILayout.LabelField(NoneText); - } - } - } - } - } - - showDrawOrderTree.target = EditorGUILayout.Foldout(showDrawOrderTree.target, SpineInspectorUtility.TempContent("Draw Order and Separators", Icons.slotRoot), BoldFoldoutStyle); - - //var separatorSlotNamesField = - //SpineInspectorUtility.ge - if (showDrawOrderTree.faded > 0) { - using (new SpineInspectorUtility.IndentScope()) { - using (new EditorGUILayout.FadeGroupScope(showDrawOrderTree.faded)) { - - const string SeparatorString = "------------- v SEPARATOR v -------------"; - - if (Application.isPlaying) { - foreach (var slot in skeleton.DrawOrder) { - if (skeletonRenderer.separatorSlots.Contains(slot)) EditorGUILayout.LabelField(SeparatorString); - - using (new EditorGUI.DisabledScope(!slot.Bone.Active)) { - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent(slot.Data.Name, Icons.slot), GUILayout.ExpandWidth(false)); - } - } - } else { - foreach (var slot in skeleton.DrawOrder) { - var slotNames = SkeletonRendererInspector.GetSeparatorSlotNames(skeletonRenderer); - for (int i = 0, n = slotNames.Length; i < n; i++) { - if (string.Equals(slotNames[i], slot.Data.Name, System.StringComparison.Ordinal)) { - EditorGUILayout.LabelField(SeparatorString); - break; - } - } - using (new EditorGUI.DisabledScope(!slot.Bone.Active)) { - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent(slot.Data.Name, Icons.slot), GUILayout.ExpandWidth(false)); - } - } - } - - } - } - } - - showEventDataTree.target = EditorGUILayout.Foldout(showEventDataTree.target, SpineInspectorUtility.TempContent("Events", Icons.userEvent), BoldFoldoutStyle); - if (showEventDataTree.faded > 0) { - using (new SpineInspectorUtility.IndentScope()) { - using (new EditorGUILayout.FadeGroupScope(showEventDataTree.faded)) { - if (skeleton.Data.Events.Count > 0) { - foreach (var e in skeleton.Data.Events) { - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent(e.Name, Icons.userEvent)); - } - } else { - EditorGUILayout.LabelField(NoneText); - } - } - } - } - - showDataTree.target = EditorGUILayout.Foldout(showDataTree.target, SpineInspectorUtility.TempContent("Data Counts", Icons.spine), BoldFoldoutStyle); - if (showDataTree.faded > 0) { - using (new SpineInspectorUtility.IndentScope()) { - using (new EditorGUILayout.FadeGroupScope(showDataTree.faded)) { - using (new SpineInspectorUtility.LabelWidthScope()) { - var skeletonData = skeleton.Data; - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Bones", Icons.bone, "Skeleton.Data.Bones"), new GUIContent(skeletonData.Bones.Count.ToString())); - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Slots", Icons.slotRoot, "Skeleton.Data.Slots"), new GUIContent(skeletonData.Slots.Count.ToString())); - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Skins", Icons.skinsRoot, "Skeleton.Data.Skins"), new GUIContent(skeletonData.Skins.Count.ToString())); - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Events", Icons.userEvent, "Skeleton.Data.Events"), new GUIContent(skeletonData.Events.Count.ToString())); - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("IK Constraints", Icons.constraintIK, "Skeleton.Data.IkConstraints"), new GUIContent(skeletonData.IkConstraints.Count.ToString())); - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Transform Constraints", Icons.constraintTransform, "Skeleton.Data.TransformConstraints"), new GUIContent(skeletonData.TransformConstraints.Count.ToString())); - EditorGUILayout.LabelField(SpineInspectorUtility.TempContent("Path Constraints", Icons.constraintPath, "Skeleton.Data.PathConstraints"), new GUIContent(skeletonData.PathConstraints.Count.ToString())); - } - } - } - } - - if (IsAnimating(showSlotsTree, showSkeleton, showConstraintsTree, showDrawOrderTree, showEventDataTree, showInspectBoneTree, showDataTree)) - Repaint(); - } - - if (requireRepaint) { - skeletonRenderer.LateUpdate(); - Repaint(); - SceneView.RepaintAll(); - } - - EditorGUILayout.EndScrollView(); - } - - static float ViewRound (float x) { - const float Factor = 100f; - const float Divisor = 1f/Factor; - return Mathf.Round(x * Factor) * Divisor; - } - - static Vector2 RoundVector2 (float x, float y) { - const float Factor = 100f; - const float Divisor = 1f/Factor; - return new Vector2(Mathf.Round(x * Factor) * Divisor, Mathf.Round(y * Factor) * Divisor); - } - - static bool IsAnimating (params AnimBool[] animBools) { - foreach (var a in animBools) - if (a.isAnimating) return true; - return false; - } - - void UpdateAttachments () { - //skeleton = skeletonRenderer.skeleton; - Skin defaultSkin = skeleton.Data.DefaultSkin; - Skin skin = skeleton.Skin ?? defaultSkin; - bool notDefaultSkin = skin != defaultSkin; - - attachmentTable.Clear(); - for (int i = skeleton.Slots.Count - 1; i >= 0; i--) { - var attachments = new List(); - attachmentTable.Add(skeleton.Slots.Items[i], attachments); - // Add skin attachments. - skin.GetAttachments(i, attachments); - if (notDefaultSkin && defaultSkin != null) // Add default skin attachments. - defaultSkin.GetAttachments(i, attachments); - } - - activeSkin = skeleton.Skin; - } - } -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonDebugWindow.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonDebugWindow.cs.meta deleted file mode 100644 index d3697a0..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Editor/Windows/SkeletonDebugWindow.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 7093e73ff3cf6c543ac5865980070b49 -timeCreated: 1494837950 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SkeletonRenderSeparator.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SkeletonRenderSeparator.meta deleted file mode 100644 index 40aec39..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SkeletonRenderSeparator.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 1bf8fd476d074f449bbae932a1c8a360 -folderAsset: yes -timeCreated: 1527569465 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SkeletonRenderSeparator/Editor/SkeletonPartsRendererInspector.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SkeletonRenderSeparator/Editor/SkeletonPartsRendererInspector.cs deleted file mode 100644 index 79d4d9e..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SkeletonRenderSeparator/Editor/SkeletonPartsRendererInspector.cs +++ /dev/null @@ -1,58 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEngine; -using UnityEditor; -using Spine.Unity.Editor; - -namespace Spine.Unity.Examples { - [CustomEditor(typeof(SkeletonPartsRenderer))] - public class SkeletonRenderPartInspector : UnityEditor.Editor { - SpineInspectorUtility.SerializedSortingProperties sortingProperties; - - void OnEnable () { - sortingProperties = new SpineInspectorUtility.SerializedSortingProperties(SpineInspectorUtility.GetRenderersSerializedObject(serializedObject)); - } - - public override void OnInspectorGUI () { - SpineInspectorUtility.SortingPropertyFields(sortingProperties, true); - - if (!serializedObject.isEditingMultipleObjects) { - EditorGUILayout.Space(); - if (SpineInspectorUtility.LargeCenteredButton(new GUIContent("Select SkeletonRenderer", SpineEditorUtilities.Icons.spine))) { - var thisSkeletonPartsRenderer = target as SkeletonPartsRenderer; - var srs = thisSkeletonPartsRenderer.GetComponentInParent(); - if (srs != null && srs.partsRenderers.Contains(thisSkeletonPartsRenderer) && srs.SkeletonRenderer != null) - Selection.activeGameObject = srs.SkeletonRenderer.gameObject; - } - } - } - } - -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SkeletonRenderSeparator/Editor/SkeletonPartsRendererInspector.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SkeletonRenderSeparator/Editor/SkeletonPartsRendererInspector.cs.meta deleted file mode 100644 index a97d662..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SkeletonRenderSeparator/Editor/SkeletonPartsRendererInspector.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 30e43037bf4433645ad70266f34c1c8b -timeCreated: 1458051036 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SkeletonRenderSeparator/Editor/SkeletonRenderSeparatorInspector.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SkeletonRenderSeparator/Editor/SkeletonRenderSeparatorInspector.cs deleted file mode 100644 index 1971259..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SkeletonRenderSeparator/Editor/SkeletonRenderSeparatorInspector.cs +++ /dev/null @@ -1,323 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER -#define NEW_PREFAB_SYSTEM -#endif - -using UnityEngine; -using UnityEditor; - -using System.Collections.Generic; - -using Spine.Unity; -using Spine.Unity.Editor; - -namespace Spine.Unity.Examples { - - [CustomEditor(typeof(SkeletonRenderSeparator))] - public class SkeletonRenderSeparatorInspector : UnityEditor.Editor { - SkeletonRenderSeparator component; - - // Properties - SerializedProperty skeletonRenderer_, copyPropertyBlock_, copyMeshRendererFlags_, partsRenderers_; - static bool partsRenderersExpanded = false; - - // For separator field. - SerializedObject skeletonRendererSerializedObject; - SerializedProperty separatorNamesProp; - static bool skeletonRendererExpanded = true; - bool slotsReapplyRequired = false; - bool partsRendererInitRequired = false; - - void OnEnable () { - if (component == null) - component = target as SkeletonRenderSeparator; - - skeletonRenderer_ = serializedObject.FindProperty("skeletonRenderer"); - copyPropertyBlock_ = serializedObject.FindProperty("copyPropertyBlock"); - copyMeshRendererFlags_ = serializedObject.FindProperty("copyMeshRendererFlags"); - - var partsRenderers = component.partsRenderers; - partsRenderers_ = serializedObject.FindProperty("partsRenderers"); - partsRenderers_.isExpanded = partsRenderersExpanded || // last state - partsRenderers.Contains(null) || // null items found - partsRenderers.Count < 1 || // no parts renderers - (skeletonRenderer_.objectReferenceValue != null && SkeletonRendererSeparatorCount + 1 > partsRenderers.Count); // not enough parts renderers - } - - int SkeletonRendererSeparatorCount { - get { - if (Application.isPlaying) - return component.SkeletonRenderer.separatorSlots.Count; - else - return separatorNamesProp == null ? 0 : separatorNamesProp.arraySize; - } - } - - public override void OnInspectorGUI () { - - // Restore mesh part for undo logic after undo of "Add Parts Renderer". - // Triggers regeneration and assignment of the mesh filter's mesh. - - bool isMeshFilterAlwaysNull = false; - #if UNITY_EDITOR && NEW_PREFAB_SYSTEM - // Don't store mesh or material at the prefab, otherwise it will permanently reload - var prefabType = UnityEditor.PrefabUtility.GetPrefabAssetType(component); - if (UnityEditor.PrefabUtility.IsPartOfPrefabAsset(component) && - (prefabType == UnityEditor.PrefabAssetType.Regular || prefabType == UnityEditor.PrefabAssetType.Variant)) { - isMeshFilterAlwaysNull = true; - } - #endif - - if (!isMeshFilterAlwaysNull && component.GetComponent() && component.GetComponent().sharedMesh == null) { - component.OnDisable(); - component.OnEnable(); - } - - var componentRenderers = component.partsRenderers; - int totalParts; - - using (new SpineInspectorUtility.LabelWidthScope()) { - bool componentEnabled = component.enabled; - bool checkBox = EditorGUILayout.Toggle("Enable Separator", componentEnabled); - if (checkBox != componentEnabled) - component.enabled = checkBox; - if (component.SkeletonRenderer.disableRenderingOnOverride && !component.enabled) - EditorGUILayout.HelpBox("By default, SkeletonRenderer's MeshRenderer is disabled while the SkeletonRenderSeparator takes over rendering. It is re-enabled when SkeletonRenderSeparator is disabled.", MessageType.Info); - - EditorGUILayout.PropertyField(copyPropertyBlock_); - EditorGUILayout.PropertyField(copyMeshRendererFlags_); - } - - // SkeletonRenderer Box - using (new SpineInspectorUtility.BoxScope(false)) { - // Fancy SkeletonRenderer foldout reference field - { - EditorGUI.indentLevel++; - EditorGUI.BeginChangeCheck(); - var foldoutSkeletonRendererRect = EditorGUILayout.GetControlRect(true, EditorGUIUtility.singleLineHeight); - EditorGUI.PropertyField(foldoutSkeletonRendererRect, skeletonRenderer_); - if (EditorGUI.EndChangeCheck()) - serializedObject.ApplyModifiedProperties(); - if (component.SkeletonRenderer != null) { - skeletonRendererExpanded = EditorGUI.Foldout(foldoutSkeletonRendererRect, skeletonRendererExpanded, ""); - } - EditorGUI.indentLevel--; - } - - int separatorCount = 0; - EditorGUI.BeginChangeCheck(); - if (component.SkeletonRenderer != null) { - // Separators from SkeletonRenderer - { - bool skeletonRendererMismatch = skeletonRendererSerializedObject != null && skeletonRendererSerializedObject.targetObject != component.SkeletonRenderer; - if (separatorNamesProp == null || skeletonRendererMismatch) { - if (component.SkeletonRenderer != null) { - skeletonRendererSerializedObject = new SerializedObject(component.SkeletonRenderer); - separatorNamesProp = skeletonRendererSerializedObject.FindProperty("separatorSlotNames"); - separatorNamesProp.isExpanded = true; - } - } - - if (separatorNamesProp != null) { - if (skeletonRendererExpanded) { - EditorGUI.indentLevel++; - SkeletonRendererInspector.SeparatorsField(separatorNamesProp); - EditorGUI.indentLevel--; - } - separatorCount = this.SkeletonRendererSeparatorCount; - } - } - - if (SkeletonRendererSeparatorCount == 0) { - EditorGUILayout.HelpBox("Separators are empty. Change the size to 1 and choose a slot if you want the render to be separated.", MessageType.Info); - } - } - - if (EditorGUI.EndChangeCheck()) { - skeletonRendererSerializedObject.ApplyModifiedProperties(); - - if (!Application.isPlaying) - slotsReapplyRequired = true; - } - - - totalParts = separatorCount + 1; - var counterStyle = skeletonRendererExpanded ? EditorStyles.label : EditorStyles.miniLabel; - EditorGUILayout.LabelField(string.Format("{0}: separates into {1}.", SpineInspectorUtility.Pluralize(separatorCount, "separator", "separators"), SpineInspectorUtility.Pluralize(totalParts, "part", "parts") ), counterStyle); - } - - // Parts renderers - using (new SpineInspectorUtility.BoxScope(false)) { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(this.partsRenderers_, true); - EditorGUI.indentLevel--; - - // Null items warning - bool nullItemsFound = componentRenderers.Contains(null); - if (nullItemsFound) - EditorGUILayout.HelpBox("Some items in the parts renderers list are null and may cause problems.\n\nYou can right-click on that element and choose 'Delete Array Element' to remove it.", MessageType.Warning); - - // (Button) Match Separators count - if (separatorNamesProp != null) { - int currentRenderers = 0; - foreach (var r in componentRenderers) { - if (r != null) - currentRenderers++; - } - int extraRenderersNeeded = totalParts - currentRenderers; - - if (component.enabled && component.SkeletonRenderer != null && extraRenderersNeeded > 0) { - EditorGUILayout.HelpBox(string.Format("Insufficient parts renderers. Some parts will not be rendered."), MessageType.Warning); - string addMissingLabel = string.Format("Add the missing renderer{1} ({0}) ", extraRenderersNeeded, SpineInspectorUtility.PluralThenS(extraRenderersNeeded)); - if (GUILayout.Button(addMissingLabel, GUILayout.Height(30f))) { - AddPartsRenderer(extraRenderersNeeded); - DetectOrphanedPartsRenderers(component); - partsRendererInitRequired = true; - } - } - } - - if (partsRenderers_.isExpanded != partsRenderersExpanded) partsRenderersExpanded = partsRenderers_.isExpanded; - if (partsRenderers_.isExpanded) { - using (new EditorGUILayout.HorizontalScope()) { - // (Button) Destroy Renderers button - if (componentRenderers.Count > 0) { - if (GUILayout.Button("Clear Parts Renderers")) { - // Do you really want to destroy all? - Undo.RegisterCompleteObjectUndo(component, "Clear Parts Renderers"); - if (EditorUtility.DisplayDialog("Destroy Renderers", "Do you really want to destroy all the Parts Renderer GameObjects in the list?", "Destroy", "Cancel")) { - foreach (var r in componentRenderers) { - if (r != null) - Undo.DestroyObjectImmediate(r.gameObject); - } - componentRenderers.Clear(); - // Do you also want to destroy orphans? (You monster.) - DetectOrphanedPartsRenderers(component); - } - } - } - - // (Button) Add Part Renderer button - if (GUILayout.Button("Add Parts Renderer")) { - AddPartsRenderer(1); - partsRendererInitRequired = true; - } - } - } - } - - serializedObject.ApplyModifiedProperties(); - - if (partsRendererInitRequired) { - Undo.RegisterCompleteObjectUndo(component.GetComponent(), "Add Parts Renderers"); - component.OnEnable(); - partsRendererInitRequired = false; - } - - if (slotsReapplyRequired && UnityEngine.Event.current.type == EventType.Repaint) { - component.SkeletonRenderer.ReapplySeparatorSlotNames(); - component.SkeletonRenderer.LateUpdate(); - SceneView.RepaintAll(); - slotsReapplyRequired = false; - } - } - - public void AddPartsRenderer (int count) { - var componentRenderers = component.partsRenderers; - bool emptyFound = componentRenderers.Contains(null); - if (emptyFound) { - bool userClearEntries = EditorUtility.DisplayDialog("Empty entries found", "Null entries found. Do you want to remove null entries before adding the new renderer? ", "Clear Empty Entries", "Don't Clear"); - if (userClearEntries) componentRenderers.RemoveAll(x => x == null); - } - - Undo.RegisterCompleteObjectUndo(component, "Add Parts Renderers"); - for (int i = 0; i < count; i++) { - int index = componentRenderers.Count; - var smr = SkeletonPartsRenderer.NewPartsRendererGameObject(component.transform, index.ToString()); - Undo.RegisterCreatedObjectUndo(smr.gameObject, "New Parts Renderer GameObject."); - componentRenderers.Add(smr); - - // increment renderer sorting order. - if (index == 0) continue; - var prev = componentRenderers[index - 1]; if (prev == null) continue; - - var prevMeshRenderer = prev.GetComponent(); - var currentMeshRenderer = smr.GetComponent(); - if (prevMeshRenderer == null || currentMeshRenderer == null) continue; - - int prevSortingLayer = prevMeshRenderer.sortingLayerID; - int prevSortingOrder = prevMeshRenderer.sortingOrder; - currentMeshRenderer.sortingLayerID = prevSortingLayer; - currentMeshRenderer.sortingOrder = prevSortingOrder + SkeletonRenderSeparator.DefaultSortingOrderIncrement; - } - - } - - /// Detects orphaned parts renderers and offers to delete them. - public void DetectOrphanedPartsRenderers (SkeletonRenderSeparator component) { - var children = component.GetComponentsInChildren(); - - var orphans = new System.Collections.Generic.List(); - foreach (var r in children) { - if (!component.partsRenderers.Contains(r)) - orphans.Add(r); - } - - if (orphans.Count > 0) { - if (EditorUtility.DisplayDialog("Destroy Submesh Renderers", "Unassigned renderers were found. Do you want to delete them? (These may belong to another Render Separator in the same hierarchy. If you don't have another Render Separator component in the children of this GameObject, it's likely safe to delete. Warning: This operation cannot be undone.)", "Delete", "Cancel")) { - foreach (var o in orphans) { - Undo.DestroyObjectImmediate(o.gameObject); - } - } - } - } - - #region SkeletonRenderer Context Menu Item - [MenuItem ("CONTEXT/SkeletonRenderer/Add Skeleton Render Separator")] - static void AddRenderSeparatorComponent (MenuCommand cmd) { - var skeletonRenderer = cmd.context as SkeletonRenderer; - var newComponent = skeletonRenderer.gameObject.AddComponent(); - - Undo.RegisterCreatedObjectUndo(newComponent, "Add SkeletonRenderSeparator"); - } - - // Validate - [MenuItem ("CONTEXT/SkeletonRenderer/Add Skeleton Render Separator", true)] - static bool ValidateAddRenderSeparatorComponent (MenuCommand cmd) { - var skeletonRenderer = cmd.context as SkeletonRenderer; - var separator = skeletonRenderer.GetComponent(); - bool separatorNotOnObject = separator == null; - return separatorNotOnObject; - } - #endregion - - } -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SkeletonRenderSeparator/Editor/SkeletonRenderSeparatorInspector.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SkeletonRenderSeparator/Editor/SkeletonRenderSeparatorInspector.cs.meta deleted file mode 100644 index 7e8e658..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SkeletonRenderSeparator/Editor/SkeletonRenderSeparatorInspector.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: d2a5062cfe5dd4344831cda4723128af -timeCreated: 1458067064 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SlotBlendModes.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SlotBlendModes.meta deleted file mode 100644 index 34d8d7e..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SlotBlendModes.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 18ee2876d53412642bbfa1070a1b947f -folderAsset: yes -timeCreated: 1527569487 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SlotBlendModes/Editor/SlotBlendModesEditor.cs b/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SlotBlendModes/Editor/SlotBlendModesEditor.cs deleted file mode 100644 index 8899952..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SlotBlendModes/Editor/SlotBlendModesEditor.cs +++ /dev/null @@ -1,47 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEngine; -using UnityEditor; -using Spine.Unity.Deprecated; -using System; - -namespace Spine.Unity.Editor { - using Editor = UnityEditor.Editor; - - [Obsolete("The spine-unity 3.7 runtime introduced SkeletonDataModifierAssets BlendModeMaterials which replaced SlotBlendModes. Will be removed in spine-unity 3.9.", false)] - public class SlotBlendModesEditor : Editor { - - [MenuItem("CONTEXT/SkeletonRenderer/Add Slot Blend Modes Component")] - static void AddSlotBlendModesComponent (MenuCommand command) { - var skeletonRenderer = (SkeletonRenderer)command.context; - skeletonRenderer.gameObject.AddComponent(); - } - } -} diff --git a/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SlotBlendModes/Editor/SlotBlendModesEditor.cs.meta b/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SlotBlendModes/Editor/SlotBlendModesEditor.cs.meta deleted file mode 100644 index 21d0e26..0000000 --- a/unity/Assets/Plugin/Spine/Editor/spine-unity/Modules/SlotBlendModes/Editor/SlotBlendModesEditor.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: cbec7dc66dca80a419477536c23b7a0d -timeCreated: 1496449255 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp.meta b/unity/Assets/Plugin/Spine/Runtime/spine-csharp.meta deleted file mode 100644 index 81ebc4e..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: a60dd41ef13d98647b9f963089feb7b0 -folderAsset: yes -timeCreated: 1456265151 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Skeleton.cs b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Skeleton.cs deleted file mode 100644 index 1bd5017..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Skeleton.cs +++ /dev/null @@ -1,635 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System; -using System.Collections.Generic; - -namespace Spine { - public class Skeleton { - internal SkeletonData data; - internal ExposedList bones; - internal ExposedList slots; - internal ExposedList drawOrder; - internal ExposedList ikConstraints; - internal ExposedList transformConstraints; - internal ExposedList pathConstraints; - internal ExposedList updateCache = new ExposedList(); - internal ExposedList updateCacheReset = new ExposedList(); - internal Skin skin; - internal float r = 1, g = 1, b = 1, a = 1; - internal float time; - private float scaleX = 1, scaleY = 1; - internal float x, y; - - public SkeletonData Data { get { return data; } } - public ExposedList Bones { get { return bones; } } - public ExposedList UpdateCacheList { get { return updateCache; } } - public ExposedList Slots { get { return slots; } } - public ExposedList DrawOrder { get { return drawOrder; } } - public ExposedList IkConstraints { get { return ikConstraints; } } - public ExposedList PathConstraints { get { return pathConstraints; } } - public ExposedList TransformConstraints { get { return transformConstraints; } } - public Skin Skin { get { return skin; } set { SetSkin(value); } } - public float R { get { return r; } set { r = value; } } - public float G { get { return g; } set { g = value; } } - public float B { get { return b; } set { b = value; } } - public float A { get { return a; } set { a = value; } } - public float Time { get { return time; } set { time = value; } } - public float X { get { return x; } set { x = value; } } - public float Y { get { return y; } set { y = value; } } - public float ScaleX { get { return scaleX; } set { scaleX = value; } } - public float ScaleY { get { return scaleY * (Bone.yDown ? -1 : 1); } set { scaleY = value; } } - - [Obsolete("Use ScaleX instead. FlipX is when ScaleX is negative.")] - public bool FlipX { get { return scaleX < 0; } set { scaleX = value ? -1f : 1f; } } - - [Obsolete("Use ScaleY instead. FlipY is when ScaleY is negative.")] - public bool FlipY { get { return scaleY < 0; } set { scaleY = value ? -1f : 1f; } } - - public Bone RootBone { - get { return bones.Count == 0 ? null : bones.Items[0]; } - } - - public Skeleton (SkeletonData data) { - if (data == null) throw new ArgumentNullException("data", "data cannot be null."); - this.data = data; - - bones = new ExposedList(data.bones.Count); - foreach (BoneData boneData in data.bones) { - Bone bone; - if (boneData.parent == null) { - bone = new Bone(boneData, this, null); - } else { - Bone parent = bones.Items[boneData.parent.index]; - bone = new Bone(boneData, this, parent); - parent.children.Add(bone); - } - bones.Add(bone); - } - - slots = new ExposedList(data.slots.Count); - drawOrder = new ExposedList(data.slots.Count); - foreach (SlotData slotData in data.slots) { - Bone bone = bones.Items[slotData.boneData.index]; - Slot slot = new Slot(slotData, bone); - slots.Add(slot); - drawOrder.Add(slot); - } - - ikConstraints = new ExposedList(data.ikConstraints.Count); - foreach (IkConstraintData ikConstraintData in data.ikConstraints) - ikConstraints.Add(new IkConstraint(ikConstraintData, this)); - - transformConstraints = new ExposedList(data.transformConstraints.Count); - foreach (TransformConstraintData transformConstraintData in data.transformConstraints) - transformConstraints.Add(new TransformConstraint(transformConstraintData, this)); - - pathConstraints = new ExposedList (data.pathConstraints.Count); - foreach (PathConstraintData pathConstraintData in data.pathConstraints) - pathConstraints.Add(new PathConstraint(pathConstraintData, this)); - - UpdateCache(); - UpdateWorldTransform(); - } - - /// Caches information about bones and constraints. Must be called if the is modified or if bones, constraints, or - /// constraints, or weighted path attachments are added or removed. - public void UpdateCache () { - var updateCache = this.updateCache; - updateCache.Clear(); - this.updateCacheReset.Clear(); - - int boneCount = this.bones.Items.Length; - var bones = this.bones; - for (int i = 0; i < boneCount; i++) { - Bone bone = bones.Items[i]; - bone.sorted = bone.data.skinRequired; - bone.active = !bone.sorted; - } - if (skin != null) { - Object[] skinBones = skin.bones.Items; - for (int i = 0, n = skin.bones.Count; i < n; i++) { - Bone bone = (Bone)bones.Items[((BoneData)skinBones[i]).index]; - do { - bone.sorted = false; - bone.active = true; - bone = bone.parent; - } while (bone != null); - } - } - - int ikCount = this.ikConstraints.Count, transformCount = this.transformConstraints.Count, pathCount = this.pathConstraints.Count; - var ikConstraints = this.ikConstraints; - var transformConstraints = this.transformConstraints; - var pathConstraints = this.pathConstraints; - int constraintCount = ikCount + transformCount + pathCount; - //outer: - for (int i = 0; i < constraintCount; i++) { - for (int ii = 0; ii < ikCount; ii++) { - IkConstraint constraint = ikConstraints.Items[ii]; - if (constraint.data.order == i) { - SortIkConstraint(constraint); - goto continue_outer; //continue outer; - } - } - for (int ii = 0; ii < transformCount; ii++) { - TransformConstraint constraint = transformConstraints.Items[ii]; - if (constraint.data.order == i) { - SortTransformConstraint(constraint); - goto continue_outer; //continue outer; - } - } - for (int ii = 0; ii < pathCount; ii++) { - PathConstraint constraint = pathConstraints.Items[ii]; - if (constraint.data.order == i) { - SortPathConstraint(constraint); - goto continue_outer; //continue outer; - } - } - continue_outer: {} - } - - for (int i = 0; i < boneCount; i++) - SortBone(bones.Items[i]); - } - - private void SortIkConstraint (IkConstraint constraint) { - constraint.active = constraint.target.active - && (!constraint.data.skinRequired || (skin != null && skin.constraints.Contains(constraint.data))); - if (!constraint.active) return; - - Bone target = constraint.target; - SortBone(target); - - var constrained = constraint.bones; - Bone parent = constrained.Items[0]; - SortBone(parent); - - if (constrained.Count > 1) { - Bone child = constrained.Items[constrained.Count - 1]; - if (!updateCache.Contains(child)) - updateCacheReset.Add(child); - } - - updateCache.Add(constraint); - - SortReset(parent.children); - constrained.Items[constrained.Count - 1].sorted = true; - } - - private void SortPathConstraint (PathConstraint constraint) { - constraint.active = constraint.target.bone.active - && (!constraint.data.skinRequired || (skin != null && skin.constraints.Contains(constraint.data))); - if (!constraint.active) return; - - Slot slot = constraint.target; - int slotIndex = slot.data.index; - Bone slotBone = slot.bone; - if (skin != null) SortPathConstraintAttachment(skin, slotIndex, slotBone); - if (data.defaultSkin != null && data.defaultSkin != skin) - SortPathConstraintAttachment(data.defaultSkin, slotIndex, slotBone); - - Attachment attachment = slot.attachment; - if (attachment is PathAttachment) SortPathConstraintAttachment(attachment, slotBone); - - var constrained = constraint.bones; - int boneCount = constrained.Count; - for (int i = 0; i < boneCount; i++) - SortBone(constrained.Items[i]); - - updateCache.Add(constraint); - - for (int i = 0; i < boneCount; i++) - SortReset(constrained.Items[i].children); - for (int i = 0; i < boneCount; i++) - constrained.Items[i].sorted = true; - } - - private void SortTransformConstraint (TransformConstraint constraint) { - constraint.active = constraint.target.active - && (!constraint.data.skinRequired || (skin != null && skin.constraints.Contains(constraint.data))); - if (!constraint.active) return; - - SortBone(constraint.target); - - var constrained = constraint.bones; - int boneCount = constrained.Count; - if (constraint.data.local) { - for (int i = 0; i < boneCount; i++) { - Bone child = constrained.Items[i]; - SortBone(child.parent); - if (!updateCache.Contains(child)) updateCacheReset.Add(child); - } - } else { - for (int i = 0; i < boneCount; i++) - SortBone(constrained.Items[i]); - } - - updateCache.Add(constraint); - - for (int i = 0; i < boneCount; i++) - SortReset(constrained.Items[i].children); - for (int i = 0; i < boneCount; i++) - constrained.Items[i].sorted = true; - } - - private void SortPathConstraintAttachment (Skin skin, int slotIndex, Bone slotBone) { - foreach (var entryObj in skin.Attachments.Keys) { - var entry = (Skin.SkinEntry)entryObj; - if (entry.SlotIndex == slotIndex) SortPathConstraintAttachment(entry.Attachment, slotBone); - } - } - - private void SortPathConstraintAttachment (Attachment attachment, Bone slotBone) { - if (!(attachment is PathAttachment)) return; - int[] pathBones = ((PathAttachment)attachment).bones; - if (pathBones == null) - SortBone(slotBone); - else { - var bones = this.bones; - for (int i = 0, n = pathBones.Length; i < n;) { - int nn = pathBones[i++]; - nn += i; - while (i < nn) - SortBone(bones.Items[pathBones[i++]]); - } - } - } - - private void SortBone (Bone bone) { - if (bone.sorted) return; - Bone parent = bone.parent; - if (parent != null) SortBone(parent); - bone.sorted = true; - updateCache.Add(bone); - } - - private static void SortReset (ExposedList bones) { - var bonesItems = bones.Items; - for (int i = 0, n = bones.Count; i < n; i++) { - Bone bone = bonesItems[i]; - if (!bone.active) continue; - if (bone.sorted) SortReset(bone.children); - bone.sorted = false; - } - } - - /// Updates the world transform for each bone and applies constraints. - public void UpdateWorldTransform () { - var updateCacheReset = this.updateCacheReset; - var updateCacheResetItems = updateCacheReset.Items; - for (int i = 0, n = updateCacheReset.Count; i < n; i++) { - Bone bone = updateCacheResetItems[i]; - bone.ax = bone.x; - bone.ay = bone.y; - bone.arotation = bone.rotation; - bone.ascaleX = bone.scaleX; - bone.ascaleY = bone.scaleY; - bone.ashearX = bone.shearX; - bone.ashearY = bone.shearY; - bone.appliedValid = true; - } - var updateItems = this.updateCache.Items; - for (int i = 0, n = updateCache.Count; i < n; i++) - updateItems[i].Update(); - } - - /// - /// Temporarily sets the root bone as a child of the specified bone, then updates the world transform for each bone and applies - /// all constraints. - /// - public void UpdateWorldTransform (Bone parent) { - // This partial update avoids computing the world transform for constrained bones when 1) the bone is not updated - // before the constraint, 2) the constraint only needs to access the applied local transform, and 3) the constraint calls - // updateWorldTransform. - var updateCacheReset = this.updateCacheReset; - var updateCacheResetItems = updateCacheReset.Items; - for (int i = 0, n = updateCacheReset.Count; i < n; i++) { - Bone bone = updateCacheResetItems[i]; - bone.ax = bone.x; - bone.ay = bone.y; - bone.arotation = bone.rotation; - bone.ascaleX = bone.scaleX; - bone.ascaleY = bone.scaleY; - bone.ashearX = bone.shearX; - bone.ashearY = bone.shearY; - bone.appliedValid = true; - } - - // Apply the parent bone transform to the root bone. The root bone always inherits scale, rotation and reflection. - Bone rootBone = this.RootBone; - float pa = parent.a, pb = parent.b, pc = parent.c, pd = parent.d; - rootBone.worldX = pa * x + pb * y + parent.worldX; - rootBone.worldY = pc * x + pd * y + parent.worldY; - - float rotationY = rootBone.rotation + 90 + rootBone.shearY; - float la = MathUtils.CosDeg(rootBone.rotation + rootBone.shearX) * rootBone.scaleX; - float lb = MathUtils.CosDeg(rotationY) * rootBone.scaleY; - float lc = MathUtils.SinDeg(rootBone.rotation + rootBone.shearX) * rootBone.scaleX; - float ld = MathUtils.SinDeg(rotationY) * rootBone.scaleY; - rootBone.a = (pa * la + pb * lc) * scaleX; - rootBone.b = (pa * lb + pb * ld) * scaleX; - rootBone.c = (pc * la + pd * lc) * scaleY; - rootBone.d = (pc * lb + pd * ld) * scaleY; - - // Update everything except root bone. - var updateCache = this.updateCache; - var updateCacheItems = updateCache.Items; - for (int i = 0, n = updateCache.Count; i < n; i++) { - var updatable = updateCacheItems[i]; - if (updatable != rootBone) - updatable.Update(); - } - } - - /// Sets the bones, constraints, and slots to their setup pose values. - public void SetToSetupPose () { - SetBonesToSetupPose(); - SetSlotsToSetupPose(); - } - - /// Sets the bones and constraints to their setup pose values. - public void SetBonesToSetupPose () { - var bonesItems = this.bones.Items; - for (int i = 0, n = bones.Count; i < n; i++) - bonesItems[i].SetToSetupPose(); - - var ikConstraintsItems = this.ikConstraints.Items; - for (int i = 0, n = ikConstraints.Count; i < n; i++) { - IkConstraint constraint = ikConstraintsItems[i]; - constraint.mix = constraint.data.mix; - constraint.softness = constraint.data.softness; - constraint.bendDirection = constraint.data.bendDirection; - constraint.compress = constraint.data.compress; - constraint.stretch = constraint.data.stretch; - } - - var transformConstraintsItems = this.transformConstraints.Items; - for (int i = 0, n = transformConstraints.Count; i < n; i++) { - TransformConstraint constraint = transformConstraintsItems[i]; - TransformConstraintData constraintData = constraint.data; - constraint.rotateMix = constraintData.rotateMix; - constraint.translateMix = constraintData.translateMix; - constraint.scaleMix = constraintData.scaleMix; - constraint.shearMix = constraintData.shearMix; - } - - var pathConstraintItems = this.pathConstraints.Items; - for (int i = 0, n = pathConstraints.Count; i < n; i++) { - PathConstraint constraint = pathConstraintItems[i]; - PathConstraintData constraintData = constraint.data; - constraint.position = constraintData.position; - constraint.spacing = constraintData.spacing; - constraint.rotateMix = constraintData.rotateMix; - constraint.translateMix = constraintData.translateMix; - } - } - - public void SetSlotsToSetupPose () { - var slots = this.slots; - var slotsItems = slots.Items; - drawOrder.Clear(); - for (int i = 0, n = slots.Count; i < n; i++) - drawOrder.Add(slotsItems[i]); - - for (int i = 0, n = slots.Count; i < n; i++) - slotsItems[i].SetToSetupPose(); - } - - /// May be null. - public Bone FindBone (string boneName) { - if (boneName == null) throw new ArgumentNullException("boneName", "boneName cannot be null."); - var bones = this.bones; - var bonesItems = bones.Items; - for (int i = 0, n = bones.Count; i < n; i++) { - Bone bone = bonesItems[i]; - if (bone.data.name == boneName) return bone; - } - return null; - } - - /// -1 if the bone was not found. - public int FindBoneIndex (string boneName) { - if (boneName == null) throw new ArgumentNullException("boneName", "boneName cannot be null."); - var bones = this.bones; - var bonesItems = bones.Items; - for (int i = 0, n = bones.Count; i < n; i++) - if (bonesItems[i].data.name == boneName) return i; - return -1; - } - - /// May be null. - public Slot FindSlot (string slotName) { - if (slotName == null) throw new ArgumentNullException("slotName", "slotName cannot be null."); - var slots = this.slots; - var slotsItems = slots.Items; - for (int i = 0, n = slots.Count; i < n; i++) { - Slot slot = slotsItems[i]; - if (slot.data.name == slotName) return slot; - } - return null; - } - - /// -1 if the bone was not found. - public int FindSlotIndex (string slotName) { - if (slotName == null) throw new ArgumentNullException("slotName", "slotName cannot be null."); - var slots = this.slots; - var slotsItems = slots.Items; - for (int i = 0, n = slots.Count; i < n; i++) - if (slotsItems[i].data.name.Equals(slotName)) return i; - return -1; - } - - /// Sets a skin by name (see SetSkin). - public void SetSkin (string skinName) { - Skin foundSkin = data.FindSkin(skinName); - if (foundSkin == null) throw new ArgumentException("Skin not found: " + skinName, "skinName"); - SetSkin(foundSkin); - } - - /// - /// Sets the skin used to look up attachments before looking in the . If the - /// skin is changed, is called. - /// - /// Attachments from the new skin are attached if the corresponding attachment from the old skin was attached. - /// If there was no old skin, each slot's setup mode attachment is attached from the new skin. - /// - /// After changing the skin, the visible attachments can be reset to those attached in the setup pose by calling - /// . - /// Also, often is called before the next time the - /// skeleton is rendered to allow any attachment keys in the current animation(s) to hide or show attachments from the new skin. - /// - /// May be null. - public void SetSkin (Skin newSkin) { - if (newSkin == skin) return; - if (newSkin != null) { - if (skin != null) - newSkin.AttachAll(this, skin); - else { - ExposedList slots = this.slots; - for (int i = 0, n = slots.Count; i < n; i++) { - Slot slot = slots.Items[i]; - string name = slot.data.attachmentName; - if (name != null) { - Attachment attachment = newSkin.GetAttachment(i, name); - if (attachment != null) slot.Attachment = attachment; - } - } - } - } - skin = newSkin; - UpdateCache(); - } - - /// Finds an attachment by looking in the {@link #skin} and {@link SkeletonData#defaultSkin} using the slot name and attachment name. - /// May be null. - public Attachment GetAttachment (string slotName, string attachmentName) { - return GetAttachment(data.FindSlotIndex(slotName), attachmentName); - } - - /// Finds an attachment by looking in the skin and skeletonData.defaultSkin using the slot index and attachment name.First the skin is checked and if the attachment was not found, the default skin is checked. - /// May be null. - public Attachment GetAttachment (int slotIndex, string attachmentName) { - if (attachmentName == null) throw new ArgumentNullException("attachmentName", "attachmentName cannot be null."); - if (skin != null) { - Attachment attachment = skin.GetAttachment(slotIndex, attachmentName); - if (attachment != null) return attachment; - } - return data.defaultSkin != null ? data.defaultSkin.GetAttachment(slotIndex, attachmentName) : null; - } - - /// A convenience method to set an attachment by finding the slot with FindSlot, finding the attachment with GetAttachment, then setting the slot's slot.Attachment. - /// May be null to clear the slot's attachment. - public void SetAttachment (string slotName, string attachmentName) { - if (slotName == null) throw new ArgumentNullException("slotName", "slotName cannot be null."); - ExposedList slots = this.slots; - for (int i = 0, n = slots.Count; i < n; i++) { - Slot slot = slots.Items[i]; - if (slot.data.name == slotName) { - Attachment attachment = null; - if (attachmentName != null) { - attachment = GetAttachment(i, attachmentName); - if (attachment == null) throw new Exception("Attachment not found: " + attachmentName + ", for slot: " + slotName); - } - slot.Attachment = attachment; - return; - } - } - throw new Exception("Slot not found: " + slotName); - } - - /// May be null. - public IkConstraint FindIkConstraint (string constraintName) { - if (constraintName == null) throw new ArgumentNullException("constraintName", "constraintName cannot be null."); - ExposedList ikConstraints = this.ikConstraints; - for (int i = 0, n = ikConstraints.Count; i < n; i++) { - IkConstraint ikConstraint = ikConstraints.Items[i]; - if (ikConstraint.data.name == constraintName) return ikConstraint; - } - return null; - } - - /// May be null. - public TransformConstraint FindTransformConstraint (string constraintName) { - if (constraintName == null) throw new ArgumentNullException("constraintName", "constraintName cannot be null."); - ExposedList transformConstraints = this.transformConstraints; - for (int i = 0, n = transformConstraints.Count; i < n; i++) { - TransformConstraint transformConstraint = transformConstraints.Items[i]; - if (transformConstraint.data.Name == constraintName) return transformConstraint; - } - return null; - } - - /// May be null. - public PathConstraint FindPathConstraint (string constraintName) { - if (constraintName == null) throw new ArgumentNullException("constraintName", "constraintName cannot be null."); - ExposedList pathConstraints = this.pathConstraints; - for (int i = 0, n = pathConstraints.Count; i < n; i++) { - PathConstraint constraint = pathConstraints.Items[i]; - if (constraint.data.Name.Equals(constraintName)) return constraint; - } - return null; - } - - public void Update (float delta) { - time += delta; - } - - /// Returns the axis aligned bounding box (AABB) of the region and mesh attachments for the current pose. - /// The horizontal distance between the skeleton origin and the left side of the AABB. - /// The vertical distance between the skeleton origin and the bottom side of the AABB. - /// The width of the AABB - /// The height of the AABB. - /// Reference to hold a float[]. May be a null reference. This method will assign it a new float[] with the appropriate size as needed. - public void GetBounds (out float x, out float y, out float width, out float height, ref float[] vertexBuffer) { - float[] temp = vertexBuffer; - temp = temp ?? new float[8]; - var drawOrderItems = this.drawOrder.Items; - float minX = int.MaxValue, minY = int.MaxValue, maxX = int.MinValue, maxY = int.MinValue; - for (int i = 0, n = drawOrderItems.Length; i < n; i++) { - Slot slot = drawOrderItems[i]; - if (!slot.bone.active) continue; - int verticesLength = 0; - float[] vertices = null; - Attachment attachment = slot.attachment; - var regionAttachment = attachment as RegionAttachment; - if (regionAttachment != null) { - verticesLength = 8; - vertices = temp; - if (vertices.Length < 8) vertices = temp = new float[8]; - regionAttachment.ComputeWorldVertices(slot.bone, temp, 0); - } else { - var meshAttachment = attachment as MeshAttachment; - if (meshAttachment != null) { - MeshAttachment mesh = meshAttachment; - verticesLength = mesh.WorldVerticesLength; - vertices = temp; - if (vertices.Length < verticesLength) vertices = temp = new float[verticesLength]; - mesh.ComputeWorldVertices(slot, 0, verticesLength, temp, 0); - } - } - - if (vertices != null) { - for (int ii = 0; ii < verticesLength; ii += 2) { - float vx = vertices[ii], vy = vertices[ii + 1]; - minX = Math.Min(minX, vx); - minY = Math.Min(minY, vy); - maxX = Math.Max(maxX, vx); - maxY = Math.Max(maxY, vy); - } - } - } - x = minX; - y = minY; - width = maxX - minX; - height = maxY - minY; - vertexBuffer = temp; - } - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Skeleton.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Skeleton.cs.meta deleted file mode 100644 index 619d2cc..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Skeleton.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 12ac3c1c7546be24fb9625d3c850619d -timeCreated: 1456265153 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonBinary.cs b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonBinary.cs deleted file mode 100644 index 810c22b..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonBinary.cs +++ /dev/null @@ -1,997 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if (UNITY_5 || UNITY_5_3_OR_NEWER || UNITY_WSA || UNITY_WP8 || UNITY_WP8_1) -#define IS_UNITY -#endif - -using System; -using System.IO; -using System.Collections.Generic; - -#if WINDOWS_STOREAPP -using System.Threading.Tasks; -using Windows.Storage; -#endif - -namespace Spine { - public class SkeletonBinary { - public const int BONE_ROTATE = 0; - public const int BONE_TRANSLATE = 1; - public const int BONE_SCALE = 2; - public const int BONE_SHEAR = 3; - - public const int SLOT_ATTACHMENT = 0; - public const int SLOT_COLOR = 1; - public const int SLOT_TWO_COLOR = 2; - - public const int PATH_POSITION = 0; - public const int PATH_SPACING = 1; - public const int PATH_MIX = 2; - - public const int CURVE_LINEAR = 0; - public const int CURVE_STEPPED = 1; - public const int CURVE_BEZIER = 2; - - public float Scale { get; set; } - - private AttachmentLoader attachmentLoader; - private List linkedMeshes = new List(); - - public SkeletonBinary (params Atlas[] atlasArray) - : this(new AtlasAttachmentLoader(atlasArray)) { - } - - public SkeletonBinary (AttachmentLoader attachmentLoader) { - if (attachmentLoader == null) throw new ArgumentNullException("attachmentLoader"); - this.attachmentLoader = attachmentLoader; - Scale = 1; - } - - #if !ISUNITY && WINDOWS_STOREAPP - private async Task ReadFile(string path) { - var folder = Windows.ApplicationModel.Package.Current.InstalledLocation; - using (var input = new BufferedStream(await folder.GetFileAsync(path).AsTask().ConfigureAwait(false))) { - SkeletonData skeletonData = ReadSkeletonData(input); - skeletonData.Name = Path.GetFileNameWithoutExtension(path); - return skeletonData; - } - } - - public SkeletonData ReadSkeletonData (String path) { - return this.ReadFile(path).Result; - } - #else - public SkeletonData ReadSkeletonData (String path) { - #if WINDOWS_PHONE - using (var input = new BufferedStream(Microsoft.Xna.Framework.TitleContainer.OpenStream(path))) { - #else - using (var input = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read)) { - #endif - SkeletonData skeletonData = ReadSkeletonData(input); - skeletonData.name = Path.GetFileNameWithoutExtension(path); - return skeletonData; - } - } - #endif // WINDOWS_STOREAPP - - public static readonly TransformMode[] TransformModeValues = { - TransformMode.Normal, - TransformMode.OnlyTranslation, - TransformMode.NoRotationOrReflection, - TransformMode.NoScale, - TransformMode.NoScaleOrReflection - }; - - /// Returns the version string of binary skeleton data. - public static string GetVersionString (Stream file) { - if (file == null) throw new ArgumentNullException("file"); - - SkeletonInput input = new SkeletonInput(file); - return input.GetVersionString(); - } - - public SkeletonData ReadSkeletonData (Stream file) { - if (file == null) throw new ArgumentNullException("file"); - float scale = Scale; - - var skeletonData = new SkeletonData(); - SkeletonInput input = new SkeletonInput(file); - - skeletonData.hash = input.ReadString(); - if (skeletonData.hash.Length == 0) skeletonData.hash = null; - skeletonData.version = input.ReadString(); - if (skeletonData.version.Length == 0) skeletonData.version = null; - if ("3.8.75" == skeletonData.version) - throw new Exception("Unsupported skeleton data, please export with a newer version of Spine."); - skeletonData.x = input.ReadFloat(); - skeletonData.y = input.ReadFloat(); - skeletonData.width = input.ReadFloat(); - skeletonData.height = input.ReadFloat(); - - bool nonessential = input.ReadBoolean(); - - if (nonessential) { - skeletonData.fps = input.ReadFloat(); - - skeletonData.imagesPath = input.ReadString(); - if (string.IsNullOrEmpty(skeletonData.imagesPath)) skeletonData.imagesPath = null; - - skeletonData.audioPath = input.ReadString(); - if (string.IsNullOrEmpty(skeletonData.audioPath)) skeletonData.audioPath = null; - } - - int n; - Object[] o; - - // Strings. - input.strings = new ExposedList(n = input.ReadInt(true)); - o = input.strings.Resize(n).Items; - for (int i = 0; i < n; i++) - o[i] = input.ReadString(); - - // Bones. - o = skeletonData.bones.Resize(n = input.ReadInt(true)).Items; - for (int i = 0; i < n; i++) { - String name = input.ReadString(); - BoneData parent = i == 0 ? null : skeletonData.bones.Items[input.ReadInt(true)]; - BoneData data = new BoneData(i, name, parent); - data.rotation = input.ReadFloat(); - data.x = input.ReadFloat() * scale; - data.y = input.ReadFloat() * scale; - data.scaleX = input.ReadFloat(); - data.scaleY = input.ReadFloat(); - data.shearX = input.ReadFloat(); - data.shearY = input.ReadFloat(); - data.length = input.ReadFloat() * scale; - data.transformMode = TransformModeValues[input.ReadInt(true)]; - data.skinRequired = input.ReadBoolean(); - if (nonessential) input.ReadInt(); // Skip bone color. - o[i] = data; - } - - // Slots. - o = skeletonData.slots.Resize(n = input.ReadInt(true)).Items; - for (int i = 0; i < n; i++) { - String slotName = input.ReadString(); - BoneData boneData = skeletonData.bones.Items[input.ReadInt(true)]; - SlotData slotData = new SlotData(i, slotName, boneData); - int color = input.ReadInt(); - slotData.r = ((color & 0xff000000) >> 24) / 255f; - slotData.g = ((color & 0x00ff0000) >> 16) / 255f; - slotData.b = ((color & 0x0000ff00) >> 8) / 255f; - slotData.a = ((color & 0x000000ff)) / 255f; - - int darkColor = input.ReadInt(); // 0x00rrggbb - if (darkColor != -1) { - slotData.hasSecondColor = true; - slotData.r2 = ((darkColor & 0x00ff0000) >> 16) / 255f; - slotData.g2 = ((darkColor & 0x0000ff00) >> 8) / 255f; - slotData.b2 = ((darkColor & 0x000000ff)) / 255f; - } - - slotData.attachmentName = input.ReadStringRef(); - slotData.blendMode = (BlendMode)input.ReadInt(true); - o[i] = slotData; - } - - // IK constraints. - o = skeletonData.ikConstraints.Resize(n = input.ReadInt(true)).Items; - for (int i = 0, nn; i < n; i++) { - IkConstraintData data = new IkConstraintData(input.ReadString()); - data.order = input.ReadInt(true); - data.skinRequired = input.ReadBoolean(); - Object[] bones = data.bones.Resize(nn = input.ReadInt(true)).Items; - for (int ii = 0; ii < nn; ii++) - bones[ii] = skeletonData.bones.Items[input.ReadInt(true)]; - data.target = skeletonData.bones.Items[input.ReadInt(true)]; - data.mix = input.ReadFloat(); - data.softness = input.ReadFloat() * scale; - data.bendDirection = input.ReadSByte(); - data.compress = input.ReadBoolean(); - data.stretch = input.ReadBoolean(); - data.uniform = input.ReadBoolean(); - o[i] = data; - } - - // Transform constraints. - o = skeletonData.transformConstraints.Resize(n = input.ReadInt(true)).Items; - for (int i = 0, nn; i < n; i++) { - TransformConstraintData data = new TransformConstraintData(input.ReadString()); - data.order = input.ReadInt(true); - data.skinRequired = input.ReadBoolean(); - Object[] bones = data.bones.Resize(nn = input.ReadInt(true)).Items; - for (int ii = 0; ii < nn; ii++) - bones[ii] = skeletonData.bones.Items[input.ReadInt(true)]; - data.target = skeletonData.bones.Items[input.ReadInt(true)]; - data.local = input.ReadBoolean(); - data.relative = input.ReadBoolean(); - data.offsetRotation = input.ReadFloat(); - data.offsetX = input.ReadFloat() * scale; - data.offsetY = input.ReadFloat() * scale; - data.offsetScaleX = input.ReadFloat(); - data.offsetScaleY = input.ReadFloat(); - data.offsetShearY = input.ReadFloat(); - data.rotateMix = input.ReadFloat(); - data.translateMix = input.ReadFloat(); - data.scaleMix = input.ReadFloat(); - data.shearMix = input.ReadFloat(); - o[i] = data; - } - - // Path constraints - o = skeletonData.pathConstraints.Resize(n = input.ReadInt(true)).Items; - for (int i = 0, nn; i < n; i++) { - PathConstraintData data = new PathConstraintData(input.ReadString()); - data.order = input.ReadInt(true); - data.skinRequired = input.ReadBoolean(); - Object[] bones = data.bones.Resize(nn = input.ReadInt(true)).Items; - for (int ii = 0; ii < nn; ii++) - bones[ii] = skeletonData.bones.Items[input.ReadInt(true)]; - data.target = skeletonData.slots.Items[input.ReadInt(true)]; - data.positionMode = (PositionMode)Enum.GetValues(typeof(PositionMode)).GetValue(input.ReadInt(true)); - data.spacingMode = (SpacingMode)Enum.GetValues(typeof(SpacingMode)).GetValue(input.ReadInt(true)); - data.rotateMode = (RotateMode)Enum.GetValues(typeof(RotateMode)).GetValue(input.ReadInt(true)); - data.offsetRotation = input.ReadFloat(); - data.position = input.ReadFloat(); - if (data.positionMode == PositionMode.Fixed) data.position *= scale; - data.spacing = input.ReadFloat(); - if (data.spacingMode == SpacingMode.Length || data.spacingMode == SpacingMode.Fixed) data.spacing *= scale; - data.rotateMix = input.ReadFloat(); - data.translateMix = input.ReadFloat(); - o[i] = data; - } - - // Default skin. - Skin defaultSkin = ReadSkin(input, skeletonData, true, nonessential); - if (defaultSkin != null) { - skeletonData.defaultSkin = defaultSkin; - skeletonData.skins.Add(defaultSkin); - } - - // Skins. - { - int i = skeletonData.skins.Count; - o = skeletonData.skins.Resize(n = i + input.ReadInt(true)).Items; - for (; i < n; i++) - o[i] = ReadSkin(input, skeletonData, false, nonessential); - } - - // Linked meshes. - n = linkedMeshes.Count; - for (int i = 0; i < n; i++) { - SkeletonJson.LinkedMesh linkedMesh = linkedMeshes[i]; - Skin skin = linkedMesh.skin == null ? skeletonData.DefaultSkin : skeletonData.FindSkin(linkedMesh.skin); - if (skin == null) throw new Exception("Skin not found: " + linkedMesh.skin); - Attachment parent = skin.GetAttachment(linkedMesh.slotIndex, linkedMesh.parent); - if (parent == null) throw new Exception("Parent mesh not found: " + linkedMesh.parent); - linkedMesh.mesh.DeformAttachment = linkedMesh.inheritDeform ? (VertexAttachment)parent : linkedMesh.mesh; - linkedMesh.mesh.ParentMesh = (MeshAttachment)parent; - linkedMesh.mesh.UpdateUVs(); - } - linkedMeshes.Clear(); - - // Events. - o = skeletonData.events.Resize(n = input.ReadInt(true)).Items; - for (int i = 0; i < n; i++) { - EventData data = new EventData(input.ReadStringRef()); - data.Int = input.ReadInt(false); - data.Float = input.ReadFloat(); - data.String = input.ReadString(); - data.AudioPath = input.ReadString(); - if (data.AudioPath != null) { - data.Volume = input.ReadFloat(); - data.Balance = input.ReadFloat(); - } - o[i] = data; - } - - // Animations. - o = skeletonData.animations.Resize(n = input.ReadInt(true)).Items; - for (int i = 0; i < n; i++) - o[i] = ReadAnimation(input.ReadString(), input, skeletonData); - - return skeletonData; - } - - - /// May be null. - private Skin ReadSkin (SkeletonInput input, SkeletonData skeletonData, bool defaultSkin, bool nonessential) { - - Skin skin; - int slotCount; - - if (defaultSkin) { - slotCount = input.ReadInt(true); - if (slotCount == 0) return null; - skin = new Skin("default"); - } else { - skin = new Skin(input.ReadStringRef()); - Object[] bones = skin.bones.Resize(input.ReadInt(true)).Items; - for (int i = 0, n = skin.bones.Count; i < n; i++) - bones[i] = skeletonData.bones.Items[input.ReadInt(true)]; - - for (int i = 0, n = input.ReadInt(true); i < n; i++) - skin.constraints.Add(skeletonData.ikConstraints.Items[input.ReadInt(true)]); - for (int i = 0, n = input.ReadInt(true); i < n; i++) - skin.constraints.Add(skeletonData.transformConstraints.Items[input.ReadInt(true)]); - for (int i = 0, n = input.ReadInt(true); i < n; i++) - skin.constraints.Add(skeletonData.pathConstraints.Items[input.ReadInt(true)]); - skin.constraints.TrimExcess(); - slotCount = input.ReadInt(true); - } - for (int i = 0; i < slotCount; i++) { - int slotIndex = input.ReadInt(true); - for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) { - String name = input.ReadStringRef(); - Attachment attachment = ReadAttachment(input, skeletonData, skin, slotIndex, name, nonessential); - if (attachment != null) skin.SetAttachment(slotIndex, name, attachment); - } - } - return skin; - } - - private Attachment ReadAttachment (SkeletonInput input, SkeletonData skeletonData, Skin skin, int slotIndex, - String attachmentName, bool nonessential) { - - float scale = Scale; - - String name = input.ReadStringRef(); - if (name == null) name = attachmentName; - - AttachmentType type = (AttachmentType)input.ReadByte(); - switch (type) { - case AttachmentType.Region: { - String path = input.ReadStringRef(); - float rotation = input.ReadFloat(); - float x = input.ReadFloat(); - float y = input.ReadFloat(); - float scaleX = input.ReadFloat(); - float scaleY = input.ReadFloat(); - float width = input.ReadFloat(); - float height = input.ReadFloat(); - int color = input.ReadInt(); - - if (path == null) path = name; - RegionAttachment region = attachmentLoader.NewRegionAttachment(skin, name, path); - if (region == null) return null; - region.Path = path; - region.x = x * scale; - region.y = y * scale; - region.scaleX = scaleX; - region.scaleY = scaleY; - region.rotation = rotation; - region.width = width * scale; - region.height = height * scale; - region.r = ((color & 0xff000000) >> 24) / 255f; - region.g = ((color & 0x00ff0000) >> 16) / 255f; - region.b = ((color & 0x0000ff00) >> 8) / 255f; - region.a = ((color & 0x000000ff)) / 255f; - region.UpdateOffset(); - return region; - } - case AttachmentType.Boundingbox: { - int vertexCount = input.ReadInt(true); - Vertices vertices = ReadVertices(input, vertexCount); - if (nonessential) input.ReadInt(); //int color = nonessential ? input.ReadInt() : 0; // Avoid unused local warning. - - BoundingBoxAttachment box = attachmentLoader.NewBoundingBoxAttachment(skin, name); - if (box == null) return null; - box.worldVerticesLength = vertexCount << 1; - box.vertices = vertices.vertices; - box.bones = vertices.bones; - // skipped porting: if (nonessential) Color.rgba8888ToColor(box.getColor(), color); - return box; - } - case AttachmentType.Mesh: { - String path = input.ReadStringRef(); - int color = input.ReadInt(); - int vertexCount = input.ReadInt(true); - float[] uvs = ReadFloatArray(input, vertexCount << 1, 1); - int[] triangles = ReadShortArray(input); - Vertices vertices = ReadVertices(input, vertexCount); - int hullLength = input.ReadInt(true); - int[] edges = null; - float width = 0, height = 0; - if (nonessential) { - edges = ReadShortArray(input); - width = input.ReadFloat(); - height = input.ReadFloat(); - } - - if (path == null) path = name; - MeshAttachment mesh = attachmentLoader.NewMeshAttachment(skin, name, path); - if (mesh == null) return null; - mesh.Path = path; - mesh.r = ((color & 0xff000000) >> 24) / 255f; - mesh.g = ((color & 0x00ff0000) >> 16) / 255f; - mesh.b = ((color & 0x0000ff00) >> 8) / 255f; - mesh.a = ((color & 0x000000ff)) / 255f; - mesh.bones = vertices.bones; - mesh.vertices = vertices.vertices; - mesh.WorldVerticesLength = vertexCount << 1; - mesh.triangles = triangles; - mesh.regionUVs = uvs; - mesh.UpdateUVs(); - mesh.HullLength = hullLength << 1; - if (nonessential) { - mesh.Edges = edges; - mesh.Width = width * scale; - mesh.Height = height * scale; - } - return mesh; - } - case AttachmentType.Linkedmesh: { - String path = input.ReadStringRef(); - int color = input.ReadInt(); - String skinName = input.ReadStringRef(); - String parent = input.ReadStringRef(); - bool inheritDeform = input.ReadBoolean(); - float width = 0, height = 0; - if (nonessential) { - width = input.ReadFloat(); - height = input.ReadFloat(); - } - - if (path == null) path = name; - MeshAttachment mesh = attachmentLoader.NewMeshAttachment(skin, name, path); - if (mesh == null) return null; - mesh.Path = path; - mesh.r = ((color & 0xff000000) >> 24) / 255f; - mesh.g = ((color & 0x00ff0000) >> 16) / 255f; - mesh.b = ((color & 0x0000ff00) >> 8) / 255f; - mesh.a = ((color & 0x000000ff)) / 255f; - if (nonessential) { - mesh.Width = width * scale; - mesh.Height = height * scale; - } - linkedMeshes.Add(new SkeletonJson.LinkedMesh(mesh, skinName, slotIndex, parent, inheritDeform)); - return mesh; - } - case AttachmentType.Path: { - bool closed = input.ReadBoolean(); - bool constantSpeed = input.ReadBoolean(); - int vertexCount = input.ReadInt(true); - Vertices vertices = ReadVertices(input, vertexCount); - float[] lengths = new float[vertexCount / 3]; - for (int i = 0, n = lengths.Length; i < n; i++) - lengths[i] = input.ReadFloat() * scale; - if (nonessential) input.ReadInt(); //int color = nonessential ? input.ReadInt() : 0; - - PathAttachment path = attachmentLoader.NewPathAttachment(skin, name); - if (path == null) return null; - path.closed = closed; - path.constantSpeed = constantSpeed; - path.worldVerticesLength = vertexCount << 1; - path.vertices = vertices.vertices; - path.bones = vertices.bones; - path.lengths = lengths; - // skipped porting: if (nonessential) Color.rgba8888ToColor(path.getColor(), color); - return path; - } - case AttachmentType.Point: { - float rotation = input.ReadFloat(); - float x = input.ReadFloat(); - float y = input.ReadFloat(); - if (nonessential) input.ReadInt(); //int color = nonessential ? input.ReadInt() : 0; - - PointAttachment point = attachmentLoader.NewPointAttachment(skin, name); - if (point == null) return null; - point.x = x * scale; - point.y = y * scale; - point.rotation = rotation; - // skipped porting: if (nonessential) point.color = color; - return point; - } - case AttachmentType.Clipping: { - int endSlotIndex = input.ReadInt(true); - int vertexCount = input.ReadInt(true); - Vertices vertices = ReadVertices(input, vertexCount); - if (nonessential) input.ReadInt(); - - ClippingAttachment clip = attachmentLoader.NewClippingAttachment(skin, name); - if (clip == null) return null; - clip.EndSlot = skeletonData.slots.Items[endSlotIndex]; - clip.worldVerticesLength = vertexCount << 1; - clip.vertices = vertices.vertices; - clip.bones = vertices.bones; - // skipped porting: if (nonessential) Color.rgba8888ToColor(clip.getColor(), color); - return clip; - } - } - return null; - } - - private Vertices ReadVertices (SkeletonInput input, int vertexCount) { - float scale = Scale; - int verticesLength = vertexCount << 1; - Vertices vertices = new Vertices(); - if(!input.ReadBoolean()) { - vertices.vertices = ReadFloatArray(input, verticesLength, scale); - return vertices; - } - var weights = new ExposedList(verticesLength * 3 * 3); - var bonesArray = new ExposedList(verticesLength * 3); - for (int i = 0; i < vertexCount; i++) { - int boneCount = input.ReadInt(true); - bonesArray.Add(boneCount); - for (int ii = 0; ii < boneCount; ii++) { - bonesArray.Add(input.ReadInt(true)); - weights.Add(input.ReadFloat() * scale); - weights.Add(input.ReadFloat() * scale); - weights.Add(input.ReadFloat()); - } - } - - vertices.vertices = weights.ToArray(); - vertices.bones = bonesArray.ToArray(); - return vertices; - } - - private float[] ReadFloatArray (SkeletonInput input, int n, float scale) { - float[] array = new float[n]; - if (scale == 1) { - for (int i = 0; i < n; i++) - array[i] = input.ReadFloat(); - } else { - for (int i = 0; i < n; i++) - array[i] = input.ReadFloat() * scale; - } - return array; - } - - private int[] ReadShortArray (SkeletonInput input) { - int n = input.ReadInt(true); - int[] array = new int[n]; - for (int i = 0; i < n; i++) - array[i] = (input.ReadByte() << 8) | input.ReadByte(); - return array; - } - - private Animation ReadAnimation (String name, SkeletonInput input, SkeletonData skeletonData) { - var timelines = new ExposedList(32); - float scale = Scale; - float duration = 0; - - // Slot timelines. - for (int i = 0, n = input.ReadInt(true); i < n; i++) { - int slotIndex = input.ReadInt(true); - for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) { - int timelineType = input.ReadByte(); - int frameCount = input.ReadInt(true); - switch (timelineType) { - case SLOT_ATTACHMENT: { - AttachmentTimeline timeline = new AttachmentTimeline(frameCount); - timeline.slotIndex = slotIndex; - for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) - timeline.SetFrame(frameIndex, input.ReadFloat(), input.ReadStringRef()); - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[frameCount - 1]); - break; - } - case SLOT_COLOR: { - ColorTimeline timeline = new ColorTimeline(frameCount); - timeline.slotIndex = slotIndex; - for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) { - float time = input.ReadFloat(); - int color = input.ReadInt(); - float r = ((color & 0xff000000) >> 24) / 255f; - float g = ((color & 0x00ff0000) >> 16) / 255f; - float b = ((color & 0x0000ff00) >> 8) / 255f; - float a = ((color & 0x000000ff)) / 255f; - timeline.SetFrame(frameIndex, time, r, g, b, a); - if (frameIndex < frameCount - 1) ReadCurve(input, frameIndex, timeline); - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[(frameCount - 1) * ColorTimeline.ENTRIES]); - break; - } - case SLOT_TWO_COLOR: { - TwoColorTimeline timeline = new TwoColorTimeline(frameCount); - timeline.slotIndex = slotIndex; - for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) { - float time = input.ReadFloat(); - int color = input.ReadInt(); - float r = ((color & 0xff000000) >> 24) / 255f; - float g = ((color & 0x00ff0000) >> 16) / 255f; - float b = ((color & 0x0000ff00) >> 8) / 255f; - float a = ((color & 0x000000ff)) / 255f; - int color2 = input.ReadInt(); // 0x00rrggbb - float r2 = ((color2 & 0x00ff0000) >> 16) / 255f; - float g2 = ((color2 & 0x0000ff00) >> 8) / 255f; - float b2 = ((color2 & 0x000000ff)) / 255f; - - timeline.SetFrame(frameIndex, time, r, g, b, a, r2, g2, b2); - if (frameIndex < frameCount - 1) ReadCurve(input, frameIndex, timeline); - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[(frameCount - 1) * TwoColorTimeline.ENTRIES]); - break; - } - } - } - } - - // Bone timelines. - for (int i = 0, n = input.ReadInt(true); i < n; i++) { - int boneIndex = input.ReadInt(true); - for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) { - int timelineType = input.ReadByte(); - int frameCount = input.ReadInt(true); - switch (timelineType) { - case BONE_ROTATE: { - RotateTimeline timeline = new RotateTimeline(frameCount); - timeline.boneIndex = boneIndex; - for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) { - timeline.SetFrame(frameIndex, input.ReadFloat(), input.ReadFloat()); - if (frameIndex < frameCount - 1) ReadCurve(input, frameIndex, timeline); - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[(frameCount - 1) * RotateTimeline.ENTRIES]); - break; - } - case BONE_TRANSLATE: - case BONE_SCALE: - case BONE_SHEAR: { - TranslateTimeline timeline; - float timelineScale = 1; - if (timelineType == BONE_SCALE) - timeline = new ScaleTimeline(frameCount); - else if (timelineType == BONE_SHEAR) - timeline = new ShearTimeline(frameCount); - else { - timeline = new TranslateTimeline(frameCount); - timelineScale = scale; - } - timeline.boneIndex = boneIndex; - for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) { - timeline.SetFrame(frameIndex, input.ReadFloat(), input.ReadFloat() * timelineScale, - input.ReadFloat() * timelineScale); - if (frameIndex < frameCount - 1) ReadCurve(input, frameIndex, timeline); - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[(frameCount - 1) * TranslateTimeline.ENTRIES]); - break; - } - } - } - } - - // IK constraint timelines. - for (int i = 0, n = input.ReadInt(true); i < n; i++) { - int index = input.ReadInt(true); - int frameCount = input.ReadInt(true); - IkConstraintTimeline timeline = new IkConstraintTimeline(frameCount) { - ikConstraintIndex = index - }; - for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) { - timeline.SetFrame(frameIndex, input.ReadFloat(), input.ReadFloat(), input.ReadFloat() * scale, input.ReadSByte(), input.ReadBoolean(), - input.ReadBoolean()); - if (frameIndex < frameCount - 1) ReadCurve(input, frameIndex, timeline); - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[(frameCount - 1) * IkConstraintTimeline.ENTRIES]); - } - - // Transform constraint timelines. - for (int i = 0, n = input.ReadInt(true); i < n; i++) { - int index = input.ReadInt(true); - int frameCount = input.ReadInt(true); - TransformConstraintTimeline timeline = new TransformConstraintTimeline(frameCount); - timeline.transformConstraintIndex = index; - for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) { - timeline.SetFrame(frameIndex, input.ReadFloat(), input.ReadFloat(), input.ReadFloat(), input.ReadFloat(), - input.ReadFloat()); - if (frameIndex < frameCount - 1) ReadCurve(input, frameIndex, timeline); - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[(frameCount - 1) * TransformConstraintTimeline.ENTRIES]); - } - - // Path constraint timelines. - for (int i = 0, n = input.ReadInt(true); i < n; i++) { - int index = input.ReadInt(true); - PathConstraintData data = skeletonData.pathConstraints.Items[index]; - for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) { - int timelineType = input.ReadSByte(); - int frameCount = input.ReadInt(true); - switch(timelineType) { - case PATH_POSITION: - case PATH_SPACING: { - PathConstraintPositionTimeline timeline; - float timelineScale = 1; - if (timelineType == PATH_SPACING) { - timeline = new PathConstraintSpacingTimeline(frameCount); - if (data.spacingMode == SpacingMode.Length || data.spacingMode == SpacingMode.Fixed) timelineScale = scale; - } else { - timeline = new PathConstraintPositionTimeline(frameCount); - if (data.positionMode == PositionMode.Fixed) timelineScale = scale; - } - timeline.pathConstraintIndex = index; - for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) { - timeline.SetFrame(frameIndex, input.ReadFloat(), input.ReadFloat() * timelineScale); - if (frameIndex < frameCount - 1) ReadCurve(input, frameIndex, timeline); - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[(frameCount - 1) * PathConstraintPositionTimeline.ENTRIES]); - break; - } - case PATH_MIX: { - PathConstraintMixTimeline timeline = new PathConstraintMixTimeline(frameCount); - timeline.pathConstraintIndex = index; - for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) { - timeline.SetFrame(frameIndex, input.ReadFloat(), input.ReadFloat(), input.ReadFloat()); - if (frameIndex < frameCount - 1) ReadCurve(input, frameIndex, timeline); - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[(frameCount - 1) * PathConstraintMixTimeline.ENTRIES]); - break; - } - } - } - } - - // Deform timelines. - for (int i = 0, n = input.ReadInt(true); i < n; i++) { - Skin skin = skeletonData.skins.Items[input.ReadInt(true)]; - for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) { - int slotIndex = input.ReadInt(true); - for (int iii = 0, nnn = input.ReadInt(true); iii < nnn; iii++) { - VertexAttachment attachment = (VertexAttachment)skin.GetAttachment(slotIndex, input.ReadStringRef()); - bool weighted = attachment.bones != null; - float[] vertices = attachment.vertices; - int deformLength = weighted ? vertices.Length / 3 * 2 : vertices.Length; - - int frameCount = input.ReadInt(true); - DeformTimeline timeline = new DeformTimeline(frameCount); - timeline.slotIndex = slotIndex; - timeline.attachment = attachment; - - for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) { - float time = input.ReadFloat(); - float[] deform; - int end = input.ReadInt(true); - if (end == 0) - deform = weighted ? new float[deformLength] : vertices; - else { - deform = new float[deformLength]; - int start = input.ReadInt(true); - end += start; - if (scale == 1) { - for (int v = start; v < end; v++) - deform[v] = input.ReadFloat(); - } else { - for (int v = start; v < end; v++) - deform[v] = input.ReadFloat() * scale; - } - if (!weighted) { - for (int v = 0, vn = deform.Length; v < vn; v++) - deform[v] += vertices[v]; - } - } - - timeline.SetFrame(frameIndex, time, deform); - if (frameIndex < frameCount - 1) ReadCurve(input, frameIndex, timeline); - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[frameCount - 1]); - } - } - } - - // Draw order timeline. - int drawOrderCount = input.ReadInt(true); - if (drawOrderCount > 0) { - DrawOrderTimeline timeline = new DrawOrderTimeline(drawOrderCount); - int slotCount = skeletonData.slots.Count; - for (int i = 0; i < drawOrderCount; i++) { - float time = input.ReadFloat(); - int offsetCount = input.ReadInt(true); - int[] drawOrder = new int[slotCount]; - for (int ii = slotCount - 1; ii >= 0; ii--) - drawOrder[ii] = -1; - int[] unchanged = new int[slotCount - offsetCount]; - int originalIndex = 0, unchangedIndex = 0; - for (int ii = 0; ii < offsetCount; ii++) { - int slotIndex = input.ReadInt(true); - // Collect unchanged items. - while (originalIndex != slotIndex) - unchanged[unchangedIndex++] = originalIndex++; - // Set changed items. - drawOrder[originalIndex + input.ReadInt(true)] = originalIndex++; - } - // Collect remaining unchanged items. - while (originalIndex < slotCount) - unchanged[unchangedIndex++] = originalIndex++; - // Fill in unchanged items. - for (int ii = slotCount - 1; ii >= 0; ii--) - if (drawOrder[ii] == -1) drawOrder[ii] = unchanged[--unchangedIndex]; - timeline.SetFrame(i, time, drawOrder); - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[drawOrderCount - 1]); - } - - // Event timeline. - int eventCount = input.ReadInt(true); - if (eventCount > 0) { - EventTimeline timeline = new EventTimeline(eventCount); - for (int i = 0; i < eventCount; i++) { - float time = input.ReadFloat(); - EventData eventData = skeletonData.events.Items[input.ReadInt(true)]; - Event e = new Event(time, eventData) { - Int = input.ReadInt(false), - Float = input.ReadFloat(), - String = input.ReadBoolean() ? input.ReadString() : eventData.String - }; - if (e.data.AudioPath != null) { - e.volume = input.ReadFloat(); - e.balance = input.ReadFloat(); - } - timeline.SetFrame(i, e); - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[eventCount - 1]); - } - - timelines.TrimExcess(); - return new Animation(name, timelines, duration); - } - - private void ReadCurve (SkeletonInput input, int frameIndex, CurveTimeline timeline) { - switch (input.ReadByte()) { - case CURVE_STEPPED: - timeline.SetStepped(frameIndex); - break; - case CURVE_BEZIER: - timeline.SetCurve(frameIndex, input.ReadFloat(), input.ReadFloat(), input.ReadFloat(), input.ReadFloat()); - break; - } - } - - internal class Vertices - { - public int[] bones; - public float[] vertices; - } - - internal class SkeletonInput { - private byte[] chars = new byte[32]; - private byte[] bytesBigEndian = new byte[4]; - internal ExposedList strings; - Stream input; - - public SkeletonInput (Stream input) { - this.input = input; - } - - public byte ReadByte () { - return (byte)input.ReadByte(); - } - - public sbyte ReadSByte () { - int value = input.ReadByte(); - if (value == -1) throw new EndOfStreamException(); - return (sbyte)value; - } - - public bool ReadBoolean () { - return input.ReadByte() != 0; - } - - public float ReadFloat () { - input.Read(bytesBigEndian, 0, 4); - chars[3] = bytesBigEndian[0]; - chars[2] = bytesBigEndian[1]; - chars[1] = bytesBigEndian[2]; - chars[0] = bytesBigEndian[3]; - return BitConverter.ToSingle(chars, 0); - } - - public int ReadInt () { - input.Read(bytesBigEndian, 0, 4); - return (bytesBigEndian[0] << 24) - + (bytesBigEndian[1] << 16) - + (bytesBigEndian[2] << 8) - + bytesBigEndian[3]; - } - - public int ReadInt (bool optimizePositive) { - int b = input.ReadByte(); - int result = b & 0x7F; - if ((b & 0x80) != 0) { - b = input.ReadByte(); - result |= (b & 0x7F) << 7; - if ((b & 0x80) != 0) { - b = input.ReadByte(); - result |= (b & 0x7F) << 14; - if ((b & 0x80) != 0) { - b = input.ReadByte(); - result |= (b & 0x7F) << 21; - if ((b & 0x80) != 0) result |= (input.ReadByte() & 0x7F) << 28; - } - } - } - return optimizePositive ? result : ((result >> 1) ^ -(result & 1)); - } - - public string ReadString () { - int byteCount = ReadInt(true); - switch (byteCount) { - case 0: - return null; - case 1: - return ""; - } - byteCount--; - byte[] buffer = this.chars; - if (buffer.Length < byteCount) buffer = new byte[byteCount]; - ReadFully(buffer, 0, byteCount); - return System.Text.Encoding.UTF8.GetString(buffer, 0, byteCount); - } - - ///May be null. - public String ReadStringRef () { - int index = ReadInt(true); - return index == 0 ? null : strings.Items[index - 1]; - } - - public void ReadFully (byte[] buffer, int offset, int length) { - while (length > 0) { - int count = input.Read(buffer, offset, length); - if (count <= 0) throw new EndOfStreamException(); - offset += count; - length -= count; - } - } - - /// Returns the version string of binary skeleton data. - public string GetVersionString () { - try { - // Hash. - int byteCount = ReadInt(true); - if (byteCount > 1) input.Position += byteCount - 1; - - // Version. - byteCount = ReadInt(true); - if (byteCount > 1) { - byteCount--; - var buffer = new byte[byteCount]; - ReadFully(buffer, 0, byteCount); - return System.Text.Encoding.UTF8.GetString(buffer, 0, byteCount); - } - - throw new ArgumentException("Stream does not contain a valid binary Skeleton Data.", "input"); - } catch (Exception e) { - throw new ArgumentException("Stream does not contain a valid binary Skeleton Data.\n" + e, "input"); - } - } - } - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonBinary.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonBinary.cs.meta deleted file mode 100644 index fd3aabc..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonBinary.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 40d8a8f15082f3844a5c9c8c3ef2047f -timeCreated: 1456265154 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonBounds.cs b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonBounds.cs deleted file mode 100644 index fe24736..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonBounds.cs +++ /dev/null @@ -1,234 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System; - -namespace Spine { - - /// - /// Collects each BoundingBoxAttachment that is visible and computes the world vertices for its polygon. - /// The polygon vertices are provided along with convenience methods for doing hit detection. - /// - public class SkeletonBounds { - private ExposedList polygonPool = new ExposedList(); - private float minX, minY, maxX, maxY; - - public ExposedList BoundingBoxes { get; private set; } - public ExposedList Polygons { get; private set; } - public float MinX { get { return minX; } set { minX = value; } } - public float MinY { get { return minY; } set { minY = value; } } - public float MaxX { get { return maxX; } set { maxX = value; } } - public float MaxY { get { return maxY; } set { maxY = value; } } - public float Width { get { return maxX - minX; } } - public float Height { get { return maxY - minY; } } - - public SkeletonBounds () { - BoundingBoxes = new ExposedList(); - Polygons = new ExposedList(); - } - - /// - /// Clears any previous polygons, finds all visible bounding box attachments, - /// and computes the world vertices for each bounding box's polygon. - /// The skeleton. - /// - /// If true, the axis aligned bounding box containing all the polygons is computed. - /// If false, the SkeletonBounds AABB methods will always return true. - /// - public void Update (Skeleton skeleton, bool updateAabb) { - ExposedList boundingBoxes = BoundingBoxes; - ExposedList polygons = Polygons; - ExposedList slots = skeleton.slots; - int slotCount = slots.Count; - - boundingBoxes.Clear(); - for (int i = 0, n = polygons.Count; i < n; i++) - polygonPool.Add(polygons.Items[i]); - polygons.Clear(); - - for (int i = 0; i < slotCount; i++) { - Slot slot = slots.Items[i]; - if (!slot.bone.active) continue; - BoundingBoxAttachment boundingBox = slot.attachment as BoundingBoxAttachment; - if (boundingBox == null) continue; - boundingBoxes.Add(boundingBox); - - Polygon polygon = null; - int poolCount = polygonPool.Count; - if (poolCount > 0) { - polygon = polygonPool.Items[poolCount - 1]; - polygonPool.RemoveAt(poolCount - 1); - } else - polygon = new Polygon(); - polygons.Add(polygon); - - int count = boundingBox.worldVerticesLength; - polygon.Count = count; - if (polygon.Vertices.Length < count) polygon.Vertices = new float[count]; - boundingBox.ComputeWorldVertices(slot, polygon.Vertices); - } - - if (updateAabb) { - AabbCompute(); - } else { - minX = int.MinValue; - minY = int.MinValue; - maxX = int.MaxValue; - maxY = int.MaxValue; - } - } - - private void AabbCompute () { - float minX = int.MaxValue, minY = int.MaxValue, maxX = int.MinValue, maxY = int.MinValue; - ExposedList polygons = Polygons; - for (int i = 0, n = polygons.Count; i < n; i++) { - Polygon polygon = polygons.Items[i]; - float[] vertices = polygon.Vertices; - for (int ii = 0, nn = polygon.Count; ii < nn; ii += 2) { - float x = vertices[ii]; - float y = vertices[ii + 1]; - minX = Math.Min(minX, x); - minY = Math.Min(minY, y); - maxX = Math.Max(maxX, x); - maxY = Math.Max(maxY, y); - } - } - this.minX = minX; - this.minY = minY; - this.maxX = maxX; - this.maxY = maxY; - } - - - /// Returns true if the axis aligned bounding box contains the point. - public bool AabbContainsPoint (float x, float y) { - return x >= minX && x <= maxX && y >= minY && y <= maxY; - } - - /// Returns true if the axis aligned bounding box intersects the line segment. - public bool AabbIntersectsSegment (float x1, float y1, float x2, float y2) { - float minX = this.minX; - float minY = this.minY; - float maxX = this.maxX; - float maxY = this.maxY; - if ((x1 <= minX && x2 <= minX) || (y1 <= minY && y2 <= minY) || (x1 >= maxX && x2 >= maxX) || (y1 >= maxY && y2 >= maxY)) - return false; - float m = (y2 - y1) / (x2 - x1); - float y = m * (minX - x1) + y1; - if (y > minY && y < maxY) return true; - y = m * (maxX - x1) + y1; - if (y > minY && y < maxY) return true; - float x = (minY - y1) / m + x1; - if (x > minX && x < maxX) return true; - x = (maxY - y1) / m + x1; - if (x > minX && x < maxX) return true; - return false; - } - - /// Returns true if the axis aligned bounding box intersects the axis aligned bounding box of the specified bounds. - public bool AabbIntersectsSkeleton (SkeletonBounds bounds) { - return minX < bounds.maxX && maxX > bounds.minX && minY < bounds.maxY && maxY > bounds.minY; - } - - /// Returns true if the polygon contains the point. - public bool ContainsPoint (Polygon polygon, float x, float y) { - float[] vertices = polygon.Vertices; - int nn = polygon.Count; - - int prevIndex = nn - 2; - bool inside = false; - for (int ii = 0; ii < nn; ii += 2) { - float vertexY = vertices[ii + 1]; - float prevY = vertices[prevIndex + 1]; - if ((vertexY < y && prevY >= y) || (prevY < y && vertexY >= y)) { - float vertexX = vertices[ii]; - if (vertexX + (y - vertexY) / (prevY - vertexY) * (vertices[prevIndex] - vertexX) < x) inside = !inside; - } - prevIndex = ii; - } - return inside; - } - - /// Returns the first bounding box attachment that contains the point, or null. When doing many checks, it is usually more - /// efficient to only call this method if {@link #aabbContainsPoint(float, float)} returns true. - public BoundingBoxAttachment ContainsPoint (float x, float y) { - ExposedList polygons = Polygons; - for (int i = 0, n = polygons.Count; i < n; i++) - if (ContainsPoint(polygons.Items[i], x, y)) return BoundingBoxes.Items[i]; - return null; - } - - /// Returns the first bounding box attachment that contains the line segment, or null. When doing many checks, it is usually - /// more efficient to only call this method if {@link #aabbIntersectsSegment(float, float, float, float)} returns true. - public BoundingBoxAttachment IntersectsSegment (float x1, float y1, float x2, float y2) { - ExposedList polygons = Polygons; - for (int i = 0, n = polygons.Count; i < n; i++) - if (IntersectsSegment(polygons.Items[i], x1, y1, x2, y2)) return BoundingBoxes.Items[i]; - return null; - } - - /// Returns true if the polygon contains the line segment. - public bool IntersectsSegment (Polygon polygon, float x1, float y1, float x2, float y2) { - float[] vertices = polygon.Vertices; - int nn = polygon.Count; - - float width12 = x1 - x2, height12 = y1 - y2; - float det1 = x1 * y2 - y1 * x2; - float x3 = vertices[nn - 2], y3 = vertices[nn - 1]; - for (int ii = 0; ii < nn; ii += 2) { - float x4 = vertices[ii], y4 = vertices[ii + 1]; - float det2 = x3 * y4 - y3 * x4; - float width34 = x3 - x4, height34 = y3 - y4; - float det3 = width12 * height34 - height12 * width34; - float x = (det1 * width34 - width12 * det2) / det3; - if (((x >= x3 && x <= x4) || (x >= x4 && x <= x3)) && ((x >= x1 && x <= x2) || (x >= x2 && x <= x1))) { - float y = (det1 * height34 - height12 * det2) / det3; - if (((y >= y3 && y <= y4) || (y >= y4 && y <= y3)) && ((y >= y1 && y <= y2) || (y >= y2 && y <= y1))) return true; - } - x3 = x4; - y3 = y4; - } - return false; - } - - public Polygon GetPolygon (BoundingBoxAttachment attachment) { - int index = BoundingBoxes.IndexOf(attachment); - return index == -1 ? null : Polygons.Items[index]; - } - } - - public class Polygon { - public float[] Vertices { get; set; } - public int Count { get; set; } - - public Polygon () { - Vertices = new float[16]; - } - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonBounds.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonBounds.cs.meta deleted file mode 100644 index db6a2d1..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonBounds.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 087b328a58c93b149bb977eee3a17258 -timeCreated: 1456265153 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonClipping.cs b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonClipping.cs deleted file mode 100644 index 40b6036..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonClipping.cs +++ /dev/null @@ -1,296 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System; - -namespace Spine { - public class SkeletonClipping { - internal readonly Triangulator triangulator = new Triangulator(); - internal readonly ExposedList clippingPolygon = new ExposedList(); - internal readonly ExposedList clipOutput = new ExposedList(128); - internal readonly ExposedList clippedVertices = new ExposedList(128); - internal readonly ExposedList clippedTriangles = new ExposedList(128); - internal readonly ExposedList clippedUVs = new ExposedList(128); - internal readonly ExposedList scratch = new ExposedList(); - - internal ClippingAttachment clipAttachment; - internal ExposedList> clippingPolygons; - - public ExposedList ClippedVertices { get { return clippedVertices; } } - public ExposedList ClippedTriangles { get { return clippedTriangles; } } - public ExposedList ClippedUVs { get { return clippedUVs; } } - - public bool IsClipping { get { return clipAttachment != null; } } - - public int ClipStart (Slot slot, ClippingAttachment clip) { - if (clipAttachment != null) return 0; - clipAttachment = clip; - - int n = clip.worldVerticesLength; - float[] vertices = clippingPolygon.Resize(n).Items; - clip.ComputeWorldVertices(slot, 0, n, vertices, 0, 2); - MakeClockwise(clippingPolygon); - clippingPolygons = triangulator.Decompose(clippingPolygon, triangulator.Triangulate(clippingPolygon)); - foreach (var polygon in clippingPolygons) { - MakeClockwise(polygon); - polygon.Add(polygon.Items[0]); - polygon.Add(polygon.Items[1]); - } - return clippingPolygons.Count; - } - - public void ClipEnd (Slot slot) { - if (clipAttachment != null && clipAttachment.endSlot == slot.data) ClipEnd(); - } - - public void ClipEnd () { - if (clipAttachment == null) return; - clipAttachment = null; - clippingPolygons = null; - clippedVertices.Clear(); - clippedTriangles.Clear(); - clippingPolygon.Clear(); - } - - public void ClipTriangles (float[] vertices, int verticesLength, int[] triangles, int trianglesLength, float[] uvs) { - ExposedList clipOutput = this.clipOutput, clippedVertices = this.clippedVertices; - var clippedTriangles = this.clippedTriangles; - var polygons = clippingPolygons.Items; - int polygonsCount = clippingPolygons.Count; - - int index = 0; - clippedVertices.Clear(); - clippedUVs.Clear(); - clippedTriangles.Clear(); - //outer: - for (int i = 0; i < trianglesLength; i += 3) { - int vertexOffset = triangles[i] << 1; - float x1 = vertices[vertexOffset], y1 = vertices[vertexOffset + 1]; - float u1 = uvs[vertexOffset], v1 = uvs[vertexOffset + 1]; - - vertexOffset = triangles[i + 1] << 1; - float x2 = vertices[vertexOffset], y2 = vertices[vertexOffset + 1]; - float u2 = uvs[vertexOffset], v2 = uvs[vertexOffset + 1]; - - vertexOffset = triangles[i + 2] << 1; - float x3 = vertices[vertexOffset], y3 = vertices[vertexOffset + 1]; - float u3 = uvs[vertexOffset], v3 = uvs[vertexOffset + 1]; - - for (int p = 0; p < polygonsCount; p++) { - int s = clippedVertices.Count; - if (Clip(x1, y1, x2, y2, x3, y3, polygons[p], clipOutput)) { - int clipOutputLength = clipOutput.Count; - if (clipOutputLength == 0) continue; - float d0 = y2 - y3, d1 = x3 - x2, d2 = x1 - x3, d4 = y3 - y1; - float d = 1 / (d0 * d2 + d1 * (y1 - y3)); - - int clipOutputCount = clipOutputLength >> 1; - float[] clipOutputItems = clipOutput.Items; - float[] clippedVerticesItems = clippedVertices.Resize(s + clipOutputCount * 2).Items; - float[] clippedUVsItems = clippedUVs.Resize(s + clipOutputCount * 2).Items; - for (int ii = 0; ii < clipOutputLength; ii += 2) { - float x = clipOutputItems[ii], y = clipOutputItems[ii + 1]; - clippedVerticesItems[s] = x; - clippedVerticesItems[s + 1] = y; - float c0 = x - x3, c1 = y - y3; - float a = (d0 * c0 + d1 * c1) * d; - float b = (d4 * c0 + d2 * c1) * d; - float c = 1 - a - b; - clippedUVsItems[s] = u1 * a + u2 * b + u3 * c; - clippedUVsItems[s + 1] = v1 * a + v2 * b + v3 * c; - s += 2; - } - - s = clippedTriangles.Count; - int[] clippedTrianglesItems = clippedTriangles.Resize(s + 3 * (clipOutputCount - 2)).Items; - clipOutputCount--; - for (int ii = 1; ii < clipOutputCount; ii++) { - clippedTrianglesItems[s] = index; - clippedTrianglesItems[s + 1] = index + ii; - clippedTrianglesItems[s + 2] = index + ii + 1; - s += 3; - } - index += clipOutputCount + 1; - } - else { - float[] clippedVerticesItems = clippedVertices.Resize(s + 3 * 2).Items; - float[] clippedUVsItems = clippedUVs.Resize(s + 3 * 2).Items; - clippedVerticesItems[s] = x1; - clippedVerticesItems[s + 1] = y1; - clippedVerticesItems[s + 2] = x2; - clippedVerticesItems[s + 3] = y2; - clippedVerticesItems[s + 4] = x3; - clippedVerticesItems[s + 5] = y3; - - clippedUVsItems[s] = u1; - clippedUVsItems[s + 1] = v1; - clippedUVsItems[s + 2] = u2; - clippedUVsItems[s + 3] = v2; - clippedUVsItems[s + 4] = u3; - clippedUVsItems[s + 5] = v3; - - s = clippedTriangles.Count; - int[] clippedTrianglesItems = clippedTriangles.Resize(s + 3).Items; - clippedTrianglesItems[s] = index; - clippedTrianglesItems[s + 1] = index + 1; - clippedTrianglesItems[s + 2] = index + 2; - index += 3; - break; //continue outer; - } - } - } - - } - - /** Clips the input triangle against the convex, clockwise clipping area. If the triangle lies entirely within the clipping - * area, false is returned. The clipping area must duplicate the first vertex at the end of the vertices list. */ - internal bool Clip (float x1, float y1, float x2, float y2, float x3, float y3, ExposedList clippingArea, ExposedList output) { - var originalOutput = output; - var clipped = false; - - // Avoid copy at the end. - ExposedList input = null; - if (clippingArea.Count % 4 >= 2) { - input = output; - output = scratch; - } else { - input = scratch; - } - - input.Clear(); - input.Add(x1); - input.Add(y1); - input.Add(x2); - input.Add(y2); - input.Add(x3); - input.Add(y3); - input.Add(x1); - input.Add(y1); - output.Clear(); - - float[] clippingVertices = clippingArea.Items; - int clippingVerticesLast = clippingArea.Count - 4; - for (int i = 0; ; i += 2) { - float edgeX = clippingVertices[i], edgeY = clippingVertices[i + 1]; - float edgeX2 = clippingVertices[i + 2], edgeY2 = clippingVertices[i + 3]; - float deltaX = edgeX - edgeX2, deltaY = edgeY - edgeY2; - - float[] inputVertices = input.Items; - int inputVerticesLength = input.Count - 2, outputStart = output.Count; - for (int ii = 0; ii < inputVerticesLength; ii += 2) { - float inputX = inputVertices[ii], inputY = inputVertices[ii + 1]; - float inputX2 = inputVertices[ii + 2], inputY2 = inputVertices[ii + 3]; - bool side2 = deltaX * (inputY2 - edgeY2) - deltaY * (inputX2 - edgeX2) > 0; - if (deltaX * (inputY - edgeY2) - deltaY * (inputX - edgeX2) > 0) { - if (side2) { // v1 inside, v2 inside - output.Add(inputX2); - output.Add(inputY2); - continue; - } - // v1 inside, v2 outside - float c0 = inputY2 - inputY, c2 = inputX2 - inputX; - float s = c0 * (edgeX2 - edgeX) - c2 * (edgeY2 - edgeY); - if (Math.Abs(s) > 0.000001f) { - float ua = (c2 * (edgeY - inputY) - c0 * (edgeX - inputX)) / s; - output.Add(edgeX + (edgeX2 - edgeX) * ua); - output.Add(edgeY + (edgeY2 - edgeY) * ua); - } else { - output.Add(edgeX); - output.Add(edgeY); - } - } - else if (side2) { // v1 outside, v2 inside - float c0 = inputY2 - inputY, c2 = inputX2 - inputX; - float s = c0 * (edgeX2 - edgeX) - c2 * (edgeY2 - edgeY); - if (Math.Abs(s) > 0.000001f) { - float ua = (c2 * (edgeY - inputY) - c0 * (edgeX - inputX)) / s; - output.Add(edgeX + (edgeX2 - edgeX) * ua); - output.Add(edgeY + (edgeY2 - edgeY) * ua); - } else { - output.Add(edgeX); - output.Add(edgeY); - } - output.Add(inputX2); - output.Add(inputY2); - } - clipped = true; - } - - if (outputStart == output.Count) { // All edges outside. - originalOutput.Clear(); - return true; - } - - output.Add(output.Items[0]); - output.Add(output.Items[1]); - - if (i == clippingVerticesLast) break; - var temp = output; - output = input; - output.Clear(); - input = temp; - } - - if (originalOutput != output) { - originalOutput.Clear(); - for (int i = 0, n = output.Count - 2; i < n; i++) { - originalOutput.Add(output.Items[i]); - } - } else { - originalOutput.Resize(originalOutput.Count - 2); - } - - return clipped; - } - - public static void MakeClockwise (ExposedList polygon) { - float[] vertices = polygon.Items; - int verticeslength = polygon.Count; - - float area = vertices[verticeslength - 2] * vertices[1] - vertices[0] * vertices[verticeslength - 1], p1x, p1y, p2x, p2y; - for (int i = 0, n = verticeslength - 3; i < n; i += 2) { - p1x = vertices[i]; - p1y = vertices[i + 1]; - p2x = vertices[i + 2]; - p2y = vertices[i + 3]; - area += p1x * p2y - p2x * p1y; - } - if (area < 0) return; - - for (int i = 0, lastX = verticeslength - 2, n = verticeslength >> 1; i < n; i += 2) { - float x = vertices[i], y = vertices[i + 1]; - int other = lastX - i; - vertices[i] = vertices[other]; - vertices[i + 1] = vertices[other + 1]; - vertices[other] = x; - vertices[other + 1] = y; - } - } - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonClipping.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonClipping.cs.meta deleted file mode 100644 index 73ecd0d..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonClipping.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 7db809d277afd0e4a8e8c6b703002ee0 -timeCreated: 1492744746 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonData.cs b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonData.cs deleted file mode 100644 index 05ec272..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonData.cs +++ /dev/null @@ -1,230 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System; - -namespace Spine { - - /// Stores the setup pose and all of the stateless data for a skeleton. - public class SkeletonData { - internal string name; - internal ExposedList bones = new ExposedList(); // Ordered parents first - internal ExposedList slots = new ExposedList(); // Setup pose draw order. - internal ExposedList skins = new ExposedList(); - internal Skin defaultSkin; - internal ExposedList events = new ExposedList(); - internal ExposedList animations = new ExposedList(); - internal ExposedList ikConstraints = new ExposedList(); - internal ExposedList transformConstraints = new ExposedList(); - internal ExposedList pathConstraints = new ExposedList(); - internal float x , y, width, height; - internal string version, hash; - - // Nonessential. - internal float fps; - internal string imagesPath, audioPath; - - public string Name { get { return name; } set { name = value; } } - - /// The skeleton's bones, sorted parent first. The root bone is always the first bone. - public ExposedList Bones { get { return bones; } } - - public ExposedList Slots { get { return slots; } } - - /// All skins, including the default skin. - public ExposedList Skins { get { return skins; } set { skins = value; } } - - /// - /// The skeleton's default skin. - /// By default this skin contains all attachments that were not in a skin in Spine. - /// - /// May be null. - public Skin DefaultSkin { get { return defaultSkin; } set { defaultSkin = value; } } - - public ExposedList Events { get { return events; } set { events = value; } } - public ExposedList Animations { get { return animations; } set { animations = value; } } - public ExposedList IkConstraints { get { return ikConstraints; } set { ikConstraints = value; } } - public ExposedList TransformConstraints { get { return transformConstraints; } set { transformConstraints = value; } } - public ExposedList PathConstraints { get { return pathConstraints; } set { pathConstraints = value; } } - - public float X { get { return x; } set { x = value; } } - public float Y { get { return y; } set { y = value; } } - public float Width { get { return width; } set { width = value; } } - public float Height { get { return height; } set { height = value; } } - /// The Spine version used to export this data, or null. - public string Version { get { return version; } set { version = value; } } - public string Hash { get { return hash; } set { hash = value; } } - - /// The path to the images directory as defined in Spine. Available only when nonessential data was exported. May be null - public string ImagesPath { get { return imagesPath; } set { imagesPath = value; } } - - /// The path to the audio directory defined in Spine. Available only when nonessential data was exported. May be null. - public string AudioPath { get { return audioPath; } set { audioPath = value; } } - - /// - /// The dopesheet FPS in Spine. Available only when nonessential data was exported. - public float Fps { get { return fps; } set { fps = value; } } - - // --- Bones. - - /// - /// Finds a bone by comparing each bone's name. - /// It is more efficient to cache the results of this method than to call it multiple times. - /// May be null. - public BoneData FindBone (string boneName) { - if (boneName == null) throw new ArgumentNullException("boneName", "boneName cannot be null."); - var bones = this.bones; - var bonesItems = bones.Items; - for (int i = 0, n = bones.Count; i < n; i++) { - BoneData bone = bonesItems[i]; - if (bone.name == boneName) return bone; - } - return null; - } - - /// -1 if the bone was not found. - public int FindBoneIndex (string boneName) { - if (boneName == null) throw new ArgumentNullException("boneName", "boneName cannot be null."); - var bones = this.bones; - var bonesItems = bones.Items; - for (int i = 0, n = bones.Count; i < n; i++) - if (bonesItems[i].name == boneName) return i; - return -1; - } - - // --- Slots. - - /// May be null. - public SlotData FindSlot (string slotName) { - if (slotName == null) throw new ArgumentNullException("slotName", "slotName cannot be null."); - ExposedList slots = this.slots; - for (int i = 0, n = slots.Count; i < n; i++) { - SlotData slot = slots.Items[i]; - if (slot.name == slotName) return slot; - } - return null; - } - - /// -1 if the slot was not found. - public int FindSlotIndex (string slotName) { - if (slotName == null) throw new ArgumentNullException("slotName", "slotName cannot be null."); - ExposedList slots = this.slots; - for (int i = 0, n = slots.Count; i < n; i++) - if (slots.Items[i].name == slotName) return i; - return -1; - } - - // --- Skins. - - /// May be null. - public Skin FindSkin (string skinName) { - if (skinName == null) throw new ArgumentNullException("skinName", "skinName cannot be null."); - foreach (Skin skin in skins) - if (skin.name == skinName) return skin; - return null; - } - - // --- Events. - - /// May be null. - public EventData FindEvent (string eventDataName) { - if (eventDataName == null) throw new ArgumentNullException("eventDataName", "eventDataName cannot be null."); - foreach (EventData eventData in events) - if (eventData.name == eventDataName) return eventData; - return null; - } - - // --- Animations. - - /// May be null. - public Animation FindAnimation (string animationName) { - if (animationName == null) throw new ArgumentNullException("animationName", "animationName cannot be null."); - ExposedList animations = this.animations; - for (int i = 0, n = animations.Count; i < n; i++) { - Animation animation = animations.Items[i]; - if (animation.name == animationName) return animation; - } - return null; - } - - // --- IK constraints. - - /// May be null. - public IkConstraintData FindIkConstraint (string constraintName) { - if (constraintName == null) throw new ArgumentNullException("constraintName", "constraintName cannot be null."); - ExposedList ikConstraints = this.ikConstraints; - for (int i = 0, n = ikConstraints.Count; i < n; i++) { - IkConstraintData ikConstraint = ikConstraints.Items[i]; - if (ikConstraint.name == constraintName) return ikConstraint; - } - return null; - } - - // --- Transform constraints. - - /// May be null. - public TransformConstraintData FindTransformConstraint (string constraintName) { - if (constraintName == null) throw new ArgumentNullException("constraintName", "constraintName cannot be null."); - ExposedList transformConstraints = this.transformConstraints; - for (int i = 0, n = transformConstraints.Count; i < n; i++) { - TransformConstraintData transformConstraint = transformConstraints.Items[i]; - if (transformConstraint.name == constraintName) return transformConstraint; - } - return null; - } - - // --- Path constraints. - - /// May be null. - public PathConstraintData FindPathConstraint (string constraintName) { - if (constraintName == null) throw new ArgumentNullException("constraintName", "constraintName cannot be null."); - ExposedList pathConstraints = this.pathConstraints; - for (int i = 0, n = pathConstraints.Count; i < n; i++) { - PathConstraintData constraint = pathConstraints.Items[i]; - if (constraint.name.Equals(constraintName)) return constraint; - } - return null; - } - - /// -1 if the path constraint was not found. - public int FindPathConstraintIndex (string pathConstraintName) { - if (pathConstraintName == null) throw new ArgumentNullException("pathConstraintName", "pathConstraintName cannot be null."); - ExposedList pathConstraints = this.pathConstraints; - for (int i = 0, n = pathConstraints.Count; i < n; i++) - if (pathConstraints.Items[i].name.Equals(pathConstraintName)) return i; - return -1; - } - - // --- - - override public string ToString () { - return name ?? base.ToString(); - } - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonData.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonData.cs.meta deleted file mode 100644 index 579186e..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonData.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 2b813f63abbb6d94a80a5c050590a0be -timeCreated: 1456265153 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonJson.cs b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonJson.cs deleted file mode 100644 index de7f236..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonJson.cs +++ /dev/null @@ -1,918 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if (UNITY_5 || UNITY_5_3_OR_NEWER || UNITY_WSA || UNITY_WP8 || UNITY_WP8_1) -#define IS_UNITY -#endif - -using System; -using System.IO; -using System.Collections.Generic; - -#if WINDOWS_STOREAPP -using System.Threading.Tasks; -using Windows.Storage; -#endif - -namespace Spine { - public class SkeletonJson { - public float Scale { get; set; } - - private AttachmentLoader attachmentLoader; - private List linkedMeshes = new List(); - - public SkeletonJson (params Atlas[] atlasArray) - : this(new AtlasAttachmentLoader(atlasArray)) { - } - - public SkeletonJson (AttachmentLoader attachmentLoader) { - if (attachmentLoader == null) throw new ArgumentNullException("attachmentLoader", "attachmentLoader cannot be null."); - this.attachmentLoader = attachmentLoader; - Scale = 1; - } - - #if !IS_UNITY && WINDOWS_STOREAPP - private async Task ReadFile(string path) { - var folder = Windows.ApplicationModel.Package.Current.InstalledLocation; - var file = await folder.GetFileAsync(path).AsTask().ConfigureAwait(false); - using (var reader = new StreamReader(await file.OpenStreamForReadAsync().ConfigureAwait(false))) { - SkeletonData skeletonData = ReadSkeletonData(reader); - skeletonData.Name = Path.GetFileNameWithoutExtension(path); - return skeletonData; - } - } - - public SkeletonData ReadSkeletonData (string path) { - return this.ReadFile(path).Result; - } - #else - public SkeletonData ReadSkeletonData (string path) { - #if WINDOWS_PHONE - using (var reader = new StreamReader(Microsoft.Xna.Framework.TitleContainer.OpenStream(path))) { - #else - using (var reader = new StreamReader(new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read))) { - #endif - SkeletonData skeletonData = ReadSkeletonData(reader); - skeletonData.name = Path.GetFileNameWithoutExtension(path); - return skeletonData; - } - } - #endif - - public SkeletonData ReadSkeletonData (TextReader reader) { - if (reader == null) throw new ArgumentNullException("reader", "reader cannot be null."); - - float scale = this.Scale; - var skeletonData = new SkeletonData(); - - var root = Json.Deserialize(reader) as Dictionary; - if (root == null) throw new Exception("Invalid JSON."); - - // Skeleton. - if (root.ContainsKey("skeleton")) { - var skeletonMap = (Dictionary)root["skeleton"]; - skeletonData.hash = (string)skeletonMap["hash"]; - skeletonData.version = (string)skeletonMap["spine"]; - if ("3.8.75" == skeletonData.version) - throw new Exception("Unsupported skeleton data, please export with a newer version of Spine."); - skeletonData.x = GetFloat(skeletonMap, "x", 0); - skeletonData.y = GetFloat(skeletonMap, "y", 0); - skeletonData.width = GetFloat(skeletonMap, "width", 0); - skeletonData.height = GetFloat(skeletonMap, "height", 0); - skeletonData.fps = GetFloat(skeletonMap, "fps", 30); - skeletonData.imagesPath = GetString(skeletonMap, "images", null); - skeletonData.audioPath = GetString(skeletonMap, "audio", null); - } - - // Bones. - if (root.ContainsKey("bones")) { - foreach (Dictionary boneMap in (List)root["bones"]) { - BoneData parent = null; - if (boneMap.ContainsKey("parent")) { - parent = skeletonData.FindBone((string)boneMap["parent"]); - if (parent == null) - throw new Exception("Parent bone not found: " + boneMap["parent"]); - } - var data = new BoneData(skeletonData.Bones.Count, (string)boneMap["name"], parent); - data.length = GetFloat(boneMap, "length", 0) * scale; - data.x = GetFloat(boneMap, "x", 0) * scale; - data.y = GetFloat(boneMap, "y", 0) * scale; - data.rotation = GetFloat(boneMap, "rotation", 0); - data.scaleX = GetFloat(boneMap, "scaleX", 1); - data.scaleY = GetFloat(boneMap, "scaleY", 1); - data.shearX = GetFloat(boneMap, "shearX", 0); - data.shearY = GetFloat(boneMap, "shearY", 0); - - string tm = GetString(boneMap, "transform", TransformMode.Normal.ToString()); - data.transformMode = (TransformMode)Enum.Parse(typeof(TransformMode), tm, true); - data.skinRequired = GetBoolean(boneMap, "skin", false); - - skeletonData.bones.Add(data); - } - } - - // Slots. - if (root.ContainsKey("slots")) { - foreach (Dictionary slotMap in (List)root["slots"]) { - var slotName = (string)slotMap["name"]; - var boneName = (string)slotMap["bone"]; - BoneData boneData = skeletonData.FindBone(boneName); - if (boneData == null) throw new Exception("Slot bone not found: " + boneName); - var data = new SlotData(skeletonData.Slots.Count, slotName, boneData); - - if (slotMap.ContainsKey("color")) { - string color = (string)slotMap["color"]; - data.r = ToColor(color, 0); - data.g = ToColor(color, 1); - data.b = ToColor(color, 2); - data.a = ToColor(color, 3); - } - - if (slotMap.ContainsKey("dark")) { - var color2 = (string)slotMap["dark"]; - data.r2 = ToColor(color2, 0, 6); // expectedLength = 6. ie. "RRGGBB" - data.g2 = ToColor(color2, 1, 6); - data.b2 = ToColor(color2, 2, 6); - data.hasSecondColor = true; - } - - data.attachmentName = GetString(slotMap, "attachment", null); - if (slotMap.ContainsKey("blend")) - data.blendMode = (BlendMode)Enum.Parse(typeof(BlendMode), (string)slotMap["blend"], true); - else - data.blendMode = BlendMode.Normal; - skeletonData.slots.Add(data); - } - } - - // IK constraints. - if (root.ContainsKey("ik")) { - foreach (Dictionary constraintMap in (List)root["ik"]) { - IkConstraintData data = new IkConstraintData((string)constraintMap["name"]); - data.order = GetInt(constraintMap, "order", 0); - data.skinRequired = GetBoolean(constraintMap,"skin", false); - - if (constraintMap.ContainsKey("bones")) { - foreach (string boneName in (List)constraintMap["bones"]) { - BoneData bone = skeletonData.FindBone(boneName); - if (bone == null) throw new Exception("IK bone not found: " + boneName); - data.bones.Add(bone); - } - } - - string targetName = (string)constraintMap["target"]; - data.target = skeletonData.FindBone(targetName); - if (data.target == null) throw new Exception("IK target bone not found: " + targetName); - data.mix = GetFloat(constraintMap, "mix", 1); - data.softness = GetFloat(constraintMap, "softness", 0) * scale; - data.bendDirection = GetBoolean(constraintMap, "bendPositive", true) ? 1 : -1; - data.compress = GetBoolean(constraintMap, "compress", false); - data.stretch = GetBoolean(constraintMap, "stretch", false); - data.uniform = GetBoolean(constraintMap, "uniform", false); - - skeletonData.ikConstraints.Add(data); - } - } - - // Transform constraints. - if (root.ContainsKey("transform")) { - foreach (Dictionary constraintMap in (List)root["transform"]) { - TransformConstraintData data = new TransformConstraintData((string)constraintMap["name"]); - data.order = GetInt(constraintMap, "order", 0); - data.skinRequired = GetBoolean(constraintMap,"skin", false); - - if (constraintMap.ContainsKey("bones")) { - foreach (string boneName in (List)constraintMap["bones"]) { - BoneData bone = skeletonData.FindBone(boneName); - if (bone == null) throw new Exception("Transform constraint bone not found: " + boneName); - data.bones.Add(bone); - } - } - - string targetName = (string)constraintMap["target"]; - data.target = skeletonData.FindBone(targetName); - if (data.target == null) throw new Exception("Transform constraint target bone not found: " + targetName); - - data.local = GetBoolean(constraintMap, "local", false); - data.relative = GetBoolean(constraintMap, "relative", false); - - data.offsetRotation = GetFloat(constraintMap, "rotation", 0); - data.offsetX = GetFloat(constraintMap, "x", 0) * scale; - data.offsetY = GetFloat(constraintMap, "y", 0) * scale; - data.offsetScaleX = GetFloat(constraintMap, "scaleX", 0); - data.offsetScaleY = GetFloat(constraintMap, "scaleY", 0); - data.offsetShearY = GetFloat(constraintMap, "shearY", 0); - - data.rotateMix = GetFloat(constraintMap, "rotateMix", 1); - data.translateMix = GetFloat(constraintMap, "translateMix", 1); - data.scaleMix = GetFloat(constraintMap, "scaleMix", 1); - data.shearMix = GetFloat(constraintMap, "shearMix", 1); - - skeletonData.transformConstraints.Add(data); - } - } - - // Path constraints. - if(root.ContainsKey("path")) { - foreach (Dictionary constraintMap in (List)root["path"]) { - PathConstraintData data = new PathConstraintData((string)constraintMap["name"]); - data.order = GetInt(constraintMap, "order", 0); - data.skinRequired = GetBoolean(constraintMap,"skin", false); - - if (constraintMap.ContainsKey("bones")) { - foreach (string boneName in (List)constraintMap["bones"]) { - BoneData bone = skeletonData.FindBone(boneName); - if (bone == null) throw new Exception("Path bone not found: " + boneName); - data.bones.Add(bone); - } - } - - string targetName = (string)constraintMap["target"]; - data.target = skeletonData.FindSlot(targetName); - if (data.target == null) throw new Exception("Path target slot not found: " + targetName); - - data.positionMode = (PositionMode)Enum.Parse(typeof(PositionMode), GetString(constraintMap, "positionMode", "percent"), true); - data.spacingMode = (SpacingMode)Enum.Parse(typeof(SpacingMode), GetString(constraintMap, "spacingMode", "length"), true); - data.rotateMode = (RotateMode)Enum.Parse(typeof(RotateMode), GetString(constraintMap, "rotateMode", "tangent"), true); - data.offsetRotation = GetFloat(constraintMap, "rotation", 0); - data.position = GetFloat(constraintMap, "position", 0); - if (data.positionMode == PositionMode.Fixed) data.position *= scale; - data.spacing = GetFloat(constraintMap, "spacing", 0); - if (data.spacingMode == SpacingMode.Length || data.spacingMode == SpacingMode.Fixed) data.spacing *= scale; - data.rotateMix = GetFloat(constraintMap, "rotateMix", 1); - data.translateMix = GetFloat(constraintMap, "translateMix", 1); - - skeletonData.pathConstraints.Add(data); - } - } - - // Skins. - if (root.ContainsKey("skins")) { - foreach (Dictionary skinMap in (List)root["skins"]) { - Skin skin = new Skin((string)skinMap["name"]); - if (skinMap.ContainsKey("bones")) { - foreach (string entryName in (List)skinMap["bones"]) { - BoneData bone = skeletonData.FindBone(entryName); - if (bone == null) throw new Exception("Skin bone not found: " + entryName); - skin.bones.Add(bone); - } - } - if (skinMap.ContainsKey("ik")) { - foreach (string entryName in (List)skinMap["ik"]) { - IkConstraintData constraint = skeletonData.FindIkConstraint(entryName); - if (constraint == null) throw new Exception("Skin IK constraint not found: " + entryName); - skin.constraints.Add(constraint); - } - } - if (skinMap.ContainsKey("transform")) { - foreach (string entryName in (List)skinMap["transform"]) { - TransformConstraintData constraint = skeletonData.FindTransformConstraint(entryName); - if (constraint == null) throw new Exception("Skin transform constraint not found: " + entryName); - skin.constraints.Add(constraint); - } - } - if (skinMap.ContainsKey("path")) { - foreach (string entryName in (List)skinMap["path"]) { - PathConstraintData constraint = skeletonData.FindPathConstraint(entryName); - if (constraint == null) throw new Exception("Skin path constraint not found: " + entryName); - skin.constraints.Add(constraint); - } - } - if (skinMap.ContainsKey("attachments")) { - foreach (KeyValuePair slotEntry in (Dictionary)skinMap["attachments"]) { - int slotIndex = skeletonData.FindSlotIndex(slotEntry.Key); - foreach (KeyValuePair entry in ((Dictionary)slotEntry.Value)) { - try { - Attachment attachment = ReadAttachment((Dictionary)entry.Value, skin, slotIndex, entry.Key, skeletonData); - if (attachment != null) skin.SetAttachment(slotIndex, entry.Key, attachment); - } catch (Exception e) { - throw new Exception("Error reading attachment: " + entry.Key + ", skin: " + skin, e); - } - } - } - } - skeletonData.skins.Add(skin); - if (skin.name == "default") skeletonData.defaultSkin = skin; - } - } - - // Linked meshes. - for (int i = 0, n = linkedMeshes.Count; i < n; i++) { - LinkedMesh linkedMesh = linkedMeshes[i]; - Skin skin = linkedMesh.skin == null ? skeletonData.defaultSkin : skeletonData.FindSkin(linkedMesh.skin); - if (skin == null) throw new Exception("Slot not found: " + linkedMesh.skin); - Attachment parent = skin.GetAttachment(linkedMesh.slotIndex, linkedMesh.parent); - if (parent == null) throw new Exception("Parent mesh not found: " + linkedMesh.parent); - linkedMesh.mesh.DeformAttachment = linkedMesh.inheritDeform ? (VertexAttachment)parent : linkedMesh.mesh; - linkedMesh.mesh.ParentMesh = (MeshAttachment)parent; - linkedMesh.mesh.UpdateUVs(); - } - linkedMeshes.Clear(); - - // Events. - if (root.ContainsKey("events")) { - foreach (KeyValuePair entry in (Dictionary)root["events"]) { - var entryMap = (Dictionary)entry.Value; - var data = new EventData(entry.Key); - data.Int = GetInt(entryMap, "int", 0); - data.Float = GetFloat(entryMap, "float", 0); - data.String = GetString(entryMap, "string", string.Empty); - data.AudioPath = GetString(entryMap, "audio", null); - if (data.AudioPath != null) { - data.Volume = GetFloat(entryMap, "volume", 1); - data.Balance = GetFloat(entryMap, "balance", 0); - } - skeletonData.events.Add(data); - } - } - - // Animations. - if (root.ContainsKey("animations")) { - foreach (KeyValuePair entry in (Dictionary)root["animations"]) { - try { - ReadAnimation((Dictionary)entry.Value, entry.Key, skeletonData); - } catch (Exception e) { - throw new Exception("Error reading animation: " + entry.Key, e); - } - } - } - - skeletonData.bones.TrimExcess(); - skeletonData.slots.TrimExcess(); - skeletonData.skins.TrimExcess(); - skeletonData.events.TrimExcess(); - skeletonData.animations.TrimExcess(); - skeletonData.ikConstraints.TrimExcess(); - return skeletonData; - } - - private Attachment ReadAttachment (Dictionary map, Skin skin, int slotIndex, string name, SkeletonData skeletonData) { - float scale = this.Scale; - name = GetString(map, "name", name); - - var typeName = GetString(map, "type", "region"); - var type = (AttachmentType)Enum.Parse(typeof(AttachmentType), typeName, true); - - string path = GetString(map, "path", name); - - switch (type) { - case AttachmentType.Region: - RegionAttachment region = attachmentLoader.NewRegionAttachment(skin, name, path); - if (region == null) return null; - region.Path = path; - region.x = GetFloat(map, "x", 0) * scale; - region.y = GetFloat(map, "y", 0) * scale; - region.scaleX = GetFloat(map, "scaleX", 1); - region.scaleY = GetFloat(map, "scaleY", 1); - region.rotation = GetFloat(map, "rotation", 0); - region.width = GetFloat(map, "width", 32) * scale; - region.height = GetFloat(map, "height", 32) * scale; - - if (map.ContainsKey("color")) { - var color = (string)map["color"]; - region.r = ToColor(color, 0); - region.g = ToColor(color, 1); - region.b = ToColor(color, 2); - region.a = ToColor(color, 3); - } - - region.UpdateOffset(); - return region; - case AttachmentType.Boundingbox: - BoundingBoxAttachment box = attachmentLoader.NewBoundingBoxAttachment(skin, name); - if (box == null) return null; - ReadVertices(map, box, GetInt(map, "vertexCount", 0) << 1); - return box; - case AttachmentType.Mesh: - case AttachmentType.Linkedmesh: { - MeshAttachment mesh = attachmentLoader.NewMeshAttachment(skin, name, path); - if (mesh == null) return null; - mesh.Path = path; - - if (map.ContainsKey("color")) { - var color = (string)map["color"]; - mesh.r = ToColor(color, 0); - mesh.g = ToColor(color, 1); - mesh.b = ToColor(color, 2); - mesh.a = ToColor(color, 3); - } - - mesh.Width = GetFloat(map, "width", 0) * scale; - mesh.Height = GetFloat(map, "height", 0) * scale; - - string parent = GetString(map, "parent", null); - if (parent != null) { - linkedMeshes.Add(new LinkedMesh(mesh, GetString(map, "skin", null), slotIndex, parent, GetBoolean(map, "deform", true))); - return mesh; - } - - float[] uvs = GetFloatArray(map, "uvs", 1); - ReadVertices(map, mesh, uvs.Length); - mesh.triangles = GetIntArray(map, "triangles"); - mesh.regionUVs = uvs; - mesh.UpdateUVs(); - - if (map.ContainsKey("hull")) mesh.HullLength = GetInt(map, "hull", 0) * 2; - if (map.ContainsKey("edges")) mesh.Edges = GetIntArray(map, "edges"); - return mesh; - } - case AttachmentType.Path: { - PathAttachment pathAttachment = attachmentLoader.NewPathAttachment(skin, name); - if (pathAttachment == null) return null; - pathAttachment.closed = GetBoolean(map, "closed", false); - pathAttachment.constantSpeed = GetBoolean(map, "constantSpeed", true); - - int vertexCount = GetInt(map, "vertexCount", 0); - ReadVertices(map, pathAttachment, vertexCount << 1); - - // potential BOZO see Java impl - pathAttachment.lengths = GetFloatArray(map, "lengths", scale); - return pathAttachment; - } - case AttachmentType.Point: { - PointAttachment point = attachmentLoader.NewPointAttachment(skin, name); - if (point == null) return null; - point.x = GetFloat(map, "x", 0) * scale; - point.y = GetFloat(map, "y", 0) * scale; - point.rotation = GetFloat(map, "rotation", 0); - - //string color = GetString(map, "color", null); - //if (color != null) point.color = color; - return point; - } - case AttachmentType.Clipping: { - ClippingAttachment clip = attachmentLoader.NewClippingAttachment(skin, name); - if (clip == null) return null; - - string end = GetString(map, "end", null); - if (end != null) { - SlotData slot = skeletonData.FindSlot(end); - if (slot == null) throw new Exception("Clipping end slot not found: " + end); - clip.EndSlot = slot; - } - - ReadVertices(map, clip, GetInt(map, "vertexCount", 0) << 1); - - //string color = GetString(map, "color", null); - // if (color != null) clip.color = color; - return clip; - } - } - return null; - } - - private void ReadVertices (Dictionary map, VertexAttachment attachment, int verticesLength) { - attachment.WorldVerticesLength = verticesLength; - float[] vertices = GetFloatArray(map, "vertices", 1); - float scale = Scale; - if (verticesLength == vertices.Length) { - if (scale != 1) { - for (int i = 0; i < vertices.Length; i++) { - vertices[i] *= scale; - } - } - attachment.vertices = vertices; - return; - } - ExposedList weights = new ExposedList(verticesLength * 3 * 3); - ExposedList bones = new ExposedList(verticesLength * 3); - for (int i = 0, n = vertices.Length; i < n;) { - int boneCount = (int)vertices[i++]; - bones.Add(boneCount); - for (int nn = i + boneCount * 4; i < nn; i += 4) { - bones.Add((int)vertices[i]); - weights.Add(vertices[i + 1] * this.Scale); - weights.Add(vertices[i + 2] * this.Scale); - weights.Add(vertices[i + 3]); - } - } - attachment.bones = bones.ToArray(); - attachment.vertices = weights.ToArray(); - } - - private void ReadAnimation (Dictionary map, string name, SkeletonData skeletonData) { - var scale = this.Scale; - var timelines = new ExposedList(); - float duration = 0; - - // Slot timelines. - if (map.ContainsKey("slots")) { - foreach (KeyValuePair entry in (Dictionary)map["slots"]) { - string slotName = entry.Key; - int slotIndex = skeletonData.FindSlotIndex(slotName); - var timelineMap = (Dictionary)entry.Value; - foreach (KeyValuePair timelineEntry in timelineMap) { - var values = (List)timelineEntry.Value; - var timelineName = (string)timelineEntry.Key; - if (timelineName == "attachment") { - var timeline = new AttachmentTimeline(values.Count); - timeline.slotIndex = slotIndex; - - int frameIndex = 0; - foreach (Dictionary valueMap in values) { - float time = GetFloat(valueMap, "time", 0); - timeline.SetFrame(frameIndex++, time, (string)valueMap["name"]); - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[timeline.FrameCount - 1]); - - } else if (timelineName == "color") { - var timeline = new ColorTimeline(values.Count); - timeline.slotIndex = slotIndex; - - int frameIndex = 0; - foreach (Dictionary valueMap in values) { - float time = GetFloat(valueMap, "time", 0); - string c = (string)valueMap["color"]; - timeline.SetFrame(frameIndex, time, ToColor(c, 0), ToColor(c, 1), ToColor(c, 2), ToColor(c, 3)); - ReadCurve(valueMap, timeline, frameIndex); - frameIndex++; - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[(timeline.FrameCount - 1) * ColorTimeline.ENTRIES]); - - } else if (timelineName == "twoColor") { - var timeline = new TwoColorTimeline(values.Count); - timeline.slotIndex = slotIndex; - - int frameIndex = 0; - foreach (Dictionary valueMap in values) { - float time = GetFloat(valueMap, "time", 0); - string light = (string)valueMap["light"]; - string dark = (string)valueMap["dark"]; - timeline.SetFrame(frameIndex, time, ToColor(light, 0), ToColor(light, 1), ToColor(light, 2), ToColor(light, 3), - ToColor(dark, 0, 6), ToColor(dark, 1, 6), ToColor(dark, 2, 6)); - ReadCurve(valueMap, timeline, frameIndex); - frameIndex++; - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[(timeline.FrameCount - 1) * TwoColorTimeline.ENTRIES]); - - } else - throw new Exception("Invalid timeline type for a slot: " + timelineName + " (" + slotName + ")"); - } - } - } - - // Bone timelines. - if (map.ContainsKey("bones")) { - foreach (KeyValuePair entry in (Dictionary)map["bones"]) { - string boneName = entry.Key; - int boneIndex = skeletonData.FindBoneIndex(boneName); - if (boneIndex == -1) throw new Exception("Bone not found: " + boneName); - var timelineMap = (Dictionary)entry.Value; - foreach (KeyValuePair timelineEntry in timelineMap) { - var values = (List)timelineEntry.Value; - var timelineName = (string)timelineEntry.Key; - if (timelineName == "rotate") { - var timeline = new RotateTimeline(values.Count); - timeline.boneIndex = boneIndex; - - int frameIndex = 0; - foreach (Dictionary valueMap in values) { - timeline.SetFrame(frameIndex, GetFloat(valueMap, "time", 0), GetFloat(valueMap, "angle", 0)); - ReadCurve(valueMap, timeline, frameIndex); - frameIndex++; - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[(timeline.FrameCount - 1) * RotateTimeline.ENTRIES]); - - } else if (timelineName == "translate" || timelineName == "scale" || timelineName == "shear") { - TranslateTimeline timeline; - float timelineScale = 1, defaultValue = 0; - if (timelineName == "scale") { - timeline = new ScaleTimeline(values.Count); - defaultValue = 1; - } - else if (timelineName == "shear") - timeline = new ShearTimeline(values.Count); - else { - timeline = new TranslateTimeline(values.Count); - timelineScale = scale; - } - timeline.boneIndex = boneIndex; - - int frameIndex = 0; - foreach (Dictionary valueMap in values) { - float time = GetFloat(valueMap, "time", 0); - float x = GetFloat(valueMap, "x", defaultValue); - float y = GetFloat(valueMap, "y", defaultValue); - timeline.SetFrame(frameIndex, time, x * timelineScale, y * timelineScale); - ReadCurve(valueMap, timeline, frameIndex); - frameIndex++; - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[(timeline.FrameCount - 1) * TranslateTimeline.ENTRIES]); - - } else - throw new Exception("Invalid timeline type for a bone: " + timelineName + " (" + boneName + ")"); - } - } - } - - // IK constraint timelines. - if (map.ContainsKey("ik")) { - foreach (KeyValuePair constraintMap in (Dictionary)map["ik"]) { - IkConstraintData constraint = skeletonData.FindIkConstraint(constraintMap.Key); - var values = (List)constraintMap.Value; - var timeline = new IkConstraintTimeline(values.Count); - timeline.ikConstraintIndex = skeletonData.ikConstraints.IndexOf(constraint); - int frameIndex = 0; - foreach (Dictionary valueMap in values) { - timeline.SetFrame(frameIndex, GetFloat(valueMap, "time", 0), GetFloat(valueMap, "mix", 1), - GetFloat(valueMap, "softness", 0) * scale, GetBoolean(valueMap, "bendPositive", true) ? 1 : -1, - GetBoolean(valueMap, "compress", false), GetBoolean(valueMap, "stretch", false)); - ReadCurve(valueMap, timeline, frameIndex); - frameIndex++; - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[(timeline.FrameCount - 1) * IkConstraintTimeline.ENTRIES]); - } - } - - // Transform constraint timelines. - if (map.ContainsKey("transform")) { - foreach (KeyValuePair constraintMap in (Dictionary)map["transform"]) { - TransformConstraintData constraint = skeletonData.FindTransformConstraint(constraintMap.Key); - var values = (List)constraintMap.Value; - var timeline = new TransformConstraintTimeline(values.Count); - timeline.transformConstraintIndex = skeletonData.transformConstraints.IndexOf(constraint); - int frameIndex = 0; - foreach (Dictionary valueMap in values) { - timeline.SetFrame(frameIndex, GetFloat(valueMap, "time", 0), GetFloat(valueMap, "rotateMix", 1), - GetFloat(valueMap, "translateMix", 1), GetFloat(valueMap, "scaleMix", 1), GetFloat(valueMap, "shearMix", 1)); - ReadCurve(valueMap, timeline, frameIndex); - frameIndex++; - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[(timeline.FrameCount - 1) * TransformConstraintTimeline.ENTRIES]); - } - } - - // Path constraint timelines. - if (map.ContainsKey("path")) { - foreach (KeyValuePair constraintMap in (Dictionary)map["path"]) { - int index = skeletonData.FindPathConstraintIndex(constraintMap.Key); - if (index == -1) throw new Exception("Path constraint not found: " + constraintMap.Key); - PathConstraintData data = skeletonData.pathConstraints.Items[index]; - var timelineMap = (Dictionary)constraintMap.Value; - foreach (KeyValuePair timelineEntry in timelineMap) { - var values = (List)timelineEntry.Value; - var timelineName = (string)timelineEntry.Key; - if (timelineName == "position" || timelineName == "spacing") { - PathConstraintPositionTimeline timeline; - float timelineScale = 1; - if (timelineName == "spacing") { - timeline = new PathConstraintSpacingTimeline(values.Count); - if (data.spacingMode == SpacingMode.Length || data.spacingMode == SpacingMode.Fixed) timelineScale = scale; - } - else { - timeline = new PathConstraintPositionTimeline(values.Count); - if (data.positionMode == PositionMode.Fixed) timelineScale = scale; - } - timeline.pathConstraintIndex = index; - int frameIndex = 0; - foreach (Dictionary valueMap in values) { - timeline.SetFrame(frameIndex, GetFloat(valueMap, "time", 0), GetFloat(valueMap, timelineName, 0) * timelineScale); - ReadCurve(valueMap, timeline, frameIndex); - frameIndex++; - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[(timeline.FrameCount - 1) * PathConstraintPositionTimeline.ENTRIES]); - } - else if (timelineName == "mix") { - PathConstraintMixTimeline timeline = new PathConstraintMixTimeline(values.Count); - timeline.pathConstraintIndex = index; - int frameIndex = 0; - foreach (Dictionary valueMap in values) { - timeline.SetFrame(frameIndex, GetFloat(valueMap, "time", 0), GetFloat(valueMap, "rotateMix", 1), - GetFloat(valueMap, "translateMix", 1)); - ReadCurve(valueMap, timeline, frameIndex); - frameIndex++; - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[(timeline.FrameCount - 1) * PathConstraintMixTimeline.ENTRIES]); - } - } - } - } - - // Deform timelines. - if (map.ContainsKey("deform")) { - foreach (KeyValuePair deformMap in (Dictionary)map["deform"]) { - Skin skin = skeletonData.FindSkin(deformMap.Key); - foreach (KeyValuePair slotMap in (Dictionary)deformMap.Value) { - int slotIndex = skeletonData.FindSlotIndex(slotMap.Key); - if (slotIndex == -1) throw new Exception("Slot not found: " + slotMap.Key); - foreach (KeyValuePair timelineMap in (Dictionary)slotMap.Value) { - var values = (List)timelineMap.Value; - VertexAttachment attachment = (VertexAttachment)skin.GetAttachment(slotIndex, timelineMap.Key); - if (attachment == null) throw new Exception("Deform attachment not found: " + timelineMap.Key); - bool weighted = attachment.bones != null; - float[] vertices = attachment.vertices; - int deformLength = weighted ? vertices.Length / 3 * 2 : vertices.Length; - - var timeline = new DeformTimeline(values.Count); - timeline.slotIndex = slotIndex; - timeline.attachment = attachment; - - int frameIndex = 0; - foreach (Dictionary valueMap in values) { - float[] deform; - if (!valueMap.ContainsKey("vertices")) { - deform = weighted ? new float[deformLength] : vertices; - } else { - deform = new float[deformLength]; - int start = GetInt(valueMap, "offset", 0); - float[] verticesValue = GetFloatArray(valueMap, "vertices", 1); - Array.Copy(verticesValue, 0, deform, start, verticesValue.Length); - if (scale != 1) { - for (int i = start, n = i + verticesValue.Length; i < n; i++) - deform[i] *= scale; - } - - if (!weighted) { - for (int i = 0; i < deformLength; i++) - deform[i] += vertices[i]; - } - } - - timeline.SetFrame(frameIndex, GetFloat(valueMap, "time", 0), deform); - ReadCurve(valueMap, timeline, frameIndex); - frameIndex++; - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[timeline.FrameCount - 1]); - } - } - } - } - - // Draw order timeline. - if (map.ContainsKey("drawOrder") || map.ContainsKey("draworder")) { - var values = (List)map[map.ContainsKey("drawOrder") ? "drawOrder" : "draworder"]; - var timeline = new DrawOrderTimeline(values.Count); - int slotCount = skeletonData.slots.Count; - int frameIndex = 0; - foreach (Dictionary drawOrderMap in values) { - int[] drawOrder = null; - if (drawOrderMap.ContainsKey("offsets")) { - drawOrder = new int[slotCount]; - for (int i = slotCount - 1; i >= 0; i--) - drawOrder[i] = -1; - var offsets = (List)drawOrderMap["offsets"]; - int[] unchanged = new int[slotCount - offsets.Count]; - int originalIndex = 0, unchangedIndex = 0; - foreach (Dictionary offsetMap in offsets) { - int slotIndex = skeletonData.FindSlotIndex((string)offsetMap["slot"]); - if (slotIndex == -1) throw new Exception("Slot not found: " + offsetMap["slot"]); - // Collect unchanged items. - while (originalIndex != slotIndex) - unchanged[unchangedIndex++] = originalIndex++; - // Set changed items. - int index = originalIndex + (int)(float)offsetMap["offset"]; - drawOrder[index] = originalIndex++; - } - // Collect remaining unchanged items. - while (originalIndex < slotCount) - unchanged[unchangedIndex++] = originalIndex++; - // Fill in unchanged items. - for (int i = slotCount - 1; i >= 0; i--) - if (drawOrder[i] == -1) drawOrder[i] = unchanged[--unchangedIndex]; - } - timeline.SetFrame(frameIndex++, GetFloat(drawOrderMap, "time", 0), drawOrder); - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[timeline.FrameCount - 1]); - } - - // Event timeline. - if (map.ContainsKey("events")) { - var eventsMap = (List)map["events"]; - var timeline = new EventTimeline(eventsMap.Count); - int frameIndex = 0; - foreach (Dictionary eventMap in eventsMap) { - EventData eventData = skeletonData.FindEvent((string)eventMap["name"]); - if (eventData == null) throw new Exception("Event not found: " + eventMap["name"]); - var e = new Event(GetFloat(eventMap, "time", 0), eventData) { - intValue = GetInt(eventMap, "int", eventData.Int), - floatValue = GetFloat(eventMap, "float", eventData.Float), - stringValue = GetString(eventMap, "string", eventData.String) - }; - if (e.data.AudioPath != null) { - e.volume = GetFloat(eventMap, "volume", eventData.Volume); - e.balance = GetFloat(eventMap, "balance", eventData.Balance); - } - timeline.SetFrame(frameIndex++, e); - } - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[timeline.FrameCount - 1]); - } - - timelines.TrimExcess(); - skeletonData.animations.Add(new Animation(name, timelines, duration)); - } - - static void ReadCurve (Dictionary valueMap, CurveTimeline timeline, int frameIndex) { - if (!valueMap.ContainsKey("curve")) - return; - Object curveObject = valueMap["curve"]; - if (curveObject is string) - timeline.SetStepped(frameIndex); - else - timeline.SetCurve(frameIndex, (float)curveObject, GetFloat(valueMap, "c2", 0), GetFloat(valueMap, "c3", 1), GetFloat(valueMap, "c4", 1)); - } - - internal class LinkedMesh { - internal string parent, skin; - internal int slotIndex; - internal MeshAttachment mesh; - internal bool inheritDeform; - - public LinkedMesh (MeshAttachment mesh, string skin, int slotIndex, string parent, bool inheritDeform) { - this.mesh = mesh; - this.skin = skin; - this.slotIndex = slotIndex; - this.parent = parent; - this.inheritDeform = inheritDeform; - } - } - - static float[] GetFloatArray(Dictionary map, string name, float scale) { - var list = (List)map[name]; - var values = new float[list.Count]; - if (scale == 1) { - for (int i = 0, n = list.Count; i < n; i++) - values[i] = (float)list[i]; - } else { - for (int i = 0, n = list.Count; i < n; i++) - values[i] = (float)list[i] * scale; - } - return values; - } - - static int[] GetIntArray(Dictionary map, string name) { - var list = (List)map[name]; - var values = new int[list.Count]; - for (int i = 0, n = list.Count; i < n; i++) - values[i] = (int)(float)list[i]; - return values; - } - - static float GetFloat(Dictionary map, string name, float defaultValue) { - if (!map.ContainsKey(name)) - return defaultValue; - return (float)map[name]; - } - - static int GetInt(Dictionary map, string name, int defaultValue) { - if (!map.ContainsKey(name)) - return defaultValue; - return (int)(float)map[name]; - } - - static bool GetBoolean(Dictionary map, string name, bool defaultValue) { - if (!map.ContainsKey(name)) - return defaultValue; - return (bool)map[name]; - } - - static string GetString(Dictionary map, string name, string defaultValue) { - if (!map.ContainsKey(name)) - return defaultValue; - return (string)map[name]; - } - - static float ToColor(string hexString, int colorIndex, int expectedLength = 8) { - if (hexString.Length != expectedLength) - throw new ArgumentException("Color hexidecimal length must be " + expectedLength + ", recieved: " + hexString, "hexString"); - return Convert.ToInt32(hexString.Substring(colorIndex * 2, 2), 16) / (float)255; - } - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonJson.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonJson.cs.meta deleted file mode 100644 index 9188b23..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SkeletonJson.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 6c4ab7992894bdb44a480981b1953f76 -timeCreated: 1456265154 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Skin.cs b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Skin.cs deleted file mode 100644 index de26ad1..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Skin.cs +++ /dev/null @@ -1,193 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System; -using System.Collections; -using System.Collections.Generic; -using Spine.Collections; - -namespace Spine { - /// Stores attachments by slot index and attachment name. - /// See SkeletonData , Skeleton , and - /// Runtime skins in the Spine Runtimes Guide. - /// - public class Skin { - internal string name; - private OrderedDictionary attachments = new OrderedDictionary(SkinEntryComparer.Instance); - internal readonly ExposedList bones = new ExposedList(); - internal readonly ExposedList constraints = new ExposedList(); - - public string Name { get { return name; } } - public OrderedDictionary Attachments { get { return attachments; } } - public ExposedList Bones { get { return bones; } } - public ExposedList Constraints { get { return constraints; } } - - public Skin (string name) { - if (name == null) throw new ArgumentNullException("name", "name cannot be null."); - this.name = name; - } - - /// Adds an attachment to the skin for the specified slot index and name. - /// If the name already exists for the slot, the previous value is replaced. - public void SetAttachment (int slotIndex, string name, Attachment attachment) { - if (attachment == null) throw new ArgumentNullException("attachment", "attachment cannot be null."); - if (slotIndex < 0) throw new ArgumentNullException("slotIndex", "slotIndex must be >= 0."); - attachments[new SkinEntry(slotIndex, name, attachment)] = attachment; - } - - ///Adds all attachments, bones, and constraints from the specified skin to this skin. - public void AddSkin (Skin skin) { - foreach (BoneData data in skin.bones) - if (!bones.Contains(data)) bones.Add(data); - - foreach (ConstraintData data in skin.constraints) - if (!constraints.Contains(data)) constraints.Add(data); - - foreach (SkinEntry entry in skin.attachments.Keys) - SetAttachment(entry.SlotIndex, entry.Name, entry.Attachment); - } - - ///Adds all attachments from the specified skin to this skin. Attachments are deep copied. - public void CopySkin (Skin skin) { - foreach (BoneData data in skin.bones) - if (!bones.Contains(data)) bones.Add(data); - - foreach (ConstraintData data in skin.constraints) - if (!constraints.Contains(data)) constraints.Add(data); - - foreach (SkinEntry entry in skin.attachments.Keys) { - if (entry.Attachment is MeshAttachment) - SetAttachment(entry.SlotIndex, entry.Name, - entry.Attachment != null ? ((MeshAttachment)entry.Attachment).NewLinkedMesh() : null); - else - SetAttachment(entry.SlotIndex, entry.Name, entry.Attachment != null ? entry.Attachment.Copy() : null); - } - } - - /// Returns the attachment for the specified slot index and name, or null. - /// May be null. - public Attachment GetAttachment (int slotIndex, string name) { - var lookup = new SkinEntry(slotIndex, name, null); - Attachment attachment = null; - bool containsKey = attachments.TryGetValue(lookup, out attachment); - return containsKey ? attachment : null; - } - - /// Removes the attachment in the skin for the specified slot index and name, if any. - public void RemoveAttachment (int slotIndex, string name) { - if (slotIndex < 0) throw new ArgumentOutOfRangeException("slotIndex", "slotIndex must be >= 0"); - var lookup = new SkinEntry(slotIndex, name, null); - attachments.Remove(lookup); - } - - ///Returns all attachments contained in this skin. - public ICollection GetAttachments () { - return this.attachments.Keys; - } - - /// Returns all attachments in this skin for the specified slot index. - /// The target slotIndex. To find the slot index, use or - public void GetAttachments (int slotIndex, List attachments) { - foreach (SkinEntry entry in this.attachments.Keys) - if (entry.SlotIndex == slotIndex) attachments.Add(entry); - } - - ///Clears all attachments, bones, and constraints. - public void Clear () { - attachments.Clear(); - bones.Clear(); - constraints.Clear(); - } - - override public string ToString () { - return name; - } - - /// Attach all attachments from this skin if the corresponding attachment from the old skin is currently attached. - internal void AttachAll (Skeleton skeleton, Skin oldSkin) { - foreach (SkinEntry entry in oldSkin.attachments.Keys) { - int slotIndex = entry.SlotIndex; - Slot slot = skeleton.slots.Items[slotIndex]; - if (slot.Attachment == entry.Attachment) { - Attachment attachment = GetAttachment(slotIndex, entry.Name); - if (attachment != null) slot.Attachment = attachment; - } - } - } - - /// Stores an entry in the skin consisting of the slot index, name, and attachment. - public struct SkinEntry { - private readonly int slotIndex; - private readonly string name; - private readonly Attachment attachment; - internal readonly int hashCode; - - public SkinEntry (int slotIndex, string name, Attachment attachment) { - this.slotIndex = slotIndex; - this.name = name; - this.attachment = attachment; - this.hashCode = this.name.GetHashCode() + this.slotIndex * 37; - } - - public int SlotIndex { - get { - return slotIndex; - } - } - - /// The name the attachment is associated with, equivalent to the skin placeholder name in the Spine editor. - public String Name { - get { - return name; - } - } - - public Attachment Attachment { - get { - return attachment; - } - } - } - - // Avoids boxing in the dictionary and is necessary to omit entry.attachment in the comparison. - class SkinEntryComparer : IEqualityComparer { - internal static readonly SkinEntryComparer Instance = new SkinEntryComparer(); - - bool IEqualityComparer.Equals (SkinEntry e1, SkinEntry e2) { - if (e1.SlotIndex != e2.SlotIndex) return false; - if (!string.Equals(e1.Name, e2.Name, StringComparison.Ordinal)) return false; - return true; - } - - int IEqualityComparer.GetHashCode (SkinEntry e) { - return e.Name.GetHashCode() + e.SlotIndex * 37; - } - } - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Skin.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Skin.cs.meta deleted file mode 100644 index 1e9f87e..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Skin.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 7df8caa3a771f464e803316a6b18c909 -timeCreated: 1456265154 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Slot.cs b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Slot.cs deleted file mode 100644 index c7e45a8..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Slot.cs +++ /dev/null @@ -1,196 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System; - -namespace Spine { - - /// - /// Stores a slot's current pose. Slots organize attachments for {@link Skeleton#drawOrder} purposes and provide a place to store - /// state for an attachment.State cannot be stored in an attachment itself because attachments are stateless and may be shared - /// across multiple skeletons. - /// - public class Slot { - internal SlotData data; - internal Bone bone; - internal float r, g, b, a; - internal float r2, g2, b2; - internal bool hasSecondColor; - internal Attachment attachment; - internal float attachmentTime; - internal ExposedList deform = new ExposedList(); - internal int attachmentState; - - public Slot (SlotData data, Bone bone) { - if (data == null) throw new ArgumentNullException("data", "data cannot be null."); - if (bone == null) throw new ArgumentNullException("bone", "bone cannot be null."); - this.data = data; - this.bone = bone; - - // darkColor = data.darkColor == null ? null : new Color(); - if (data.hasSecondColor) { - r2 = g2 = b2 = 0; - } - - SetToSetupPose(); - } - - /// Copy constructor. - public Slot(Slot slot, Bone bone) { - if (slot == null) throw new ArgumentNullException("slot", "slot cannot be null."); - if (bone == null) throw new ArgumentNullException("bone", "bone cannot be null."); - data = slot.data; - this.bone = bone; - r = slot.r; - g = slot.g; - b = slot.b; - a = slot.a; - - // darkColor = slot.darkColor == null ? null : new Color(slot.darkColor); - if (slot.hasSecondColor) { - r2 = slot.r2; - g2 = slot.g2; - b2 = slot.b2; - } else { - r2 = g2 = b2 = 0; - } - hasSecondColor = slot.hasSecondColor; - - attachment = slot.attachment; - attachmentTime = slot.attachmentTime; - deform.AddRange(slot.deform); - } - - /// The slot's setup pose data. - public SlotData Data { get { return data; } } - /// The bone this slot belongs to. - public Bone Bone { get { return bone; } } - /// The skeleton this slot belongs to. - public Skeleton Skeleton { get { return bone.skeleton; } } - /// The color used to tint the slot's attachment. If is set, this is used as the light color for two - /// color tinting. - public float R { get { return r; } set { r = value; } } - /// The color used to tint the slot's attachment. If is set, this is used as the light color for two - /// color tinting. - public float G { get { return g; } set { g = value; } } - /// The color used to tint the slot's attachment. If is set, this is used as the light color for two - /// color tinting. - public float B { get { return b; } set { b = value; } } - /// The color used to tint the slot's attachment. If is set, this is used as the light color for two - /// color tinting. - public float A { get { return a; } set { a = value; } } - - public void ClampColor() { - r = MathUtils.Clamp(r, 0, 1); - g = MathUtils.Clamp(g, 0, 1); - b = MathUtils.Clamp(b, 0, 1); - a = MathUtils.Clamp(a, 0, 1); - } - - /// The dark color used to tint the slot's attachment for two color tinting, ignored if two color tinting is not used. - /// - public float R2 { get { return r2; } set { r2 = value; } } - /// The dark color used to tint the slot's attachment for two color tinting, ignored if two color tinting is not used. - /// - public float G2 { get { return g2; } set { g2 = value; } } - /// The dark color used to tint the slot's attachment for two color tinting, ignored if two color tinting is not used. - /// - public float B2 { get { return b2; } set { b2 = value; } } - /// Whether R2 G2 B2 are used to tint the slot's attachment for two color tinting. False if two color tinting is not used. - public bool HasSecondColor { get { return data.hasSecondColor; } set { data.hasSecondColor = value; } } - - public void ClampSecondColor () { - r2 = MathUtils.Clamp(r2, 0, 1); - g2 = MathUtils.Clamp(g2, 0, 1); - b2 = MathUtils.Clamp(b2, 0, 1); - } - - public Attachment Attachment { - /// The current attachment for the slot, or null if the slot has no attachment. - get { return attachment; } - /// - /// Sets the slot's attachment and, if the attachment changed, resets and clears - /// . - /// May be null. - set { - if (attachment == value) return; - attachment = value; - attachmentTime = bone.skeleton.time; - deform.Clear(false); - } - } - - /// The time that has elapsed since the last time the attachment was set or cleared. Relies on Skeleton - /// - public float AttachmentTime { - get { return bone.skeleton.time - attachmentTime; } - set { attachmentTime = bone.skeleton.time - value; } - } - - /// Vertices to deform the slot's attachment. For an unweighted mesh, the entries are local positions for each vertex. For a - /// weighted mesh, the entries are an offset for each vertex which will be added to the mesh's local vertex positions. - /// - /// See and . - public ExposedList Deform { - get { - return deform; - } - set { - if (deform == null) throw new ArgumentNullException("deform", "deform cannot be null."); - deform = value; - } - } - - /// Sets this slot to the setup pose. - public void SetToSetupPose () { - r = data.r; - g = data.g; - b = data.b; - a = data.a; - - // if (darkColor != null) darkColor.set(data.darkColor); - if (HasSecondColor) { - r2 = data.r2; - g2 = data.g2; - b2 = data.b2; - } - - if (data.attachmentName == null) - Attachment = null; - else { - attachment = null; - Attachment = bone.skeleton.GetAttachment(data.index, data.attachmentName); - } - } - - override public string ToString () { - return data.name; - } - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Slot.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Slot.cs.meta deleted file mode 100644 index 4bc86f4..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/Slot.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 6974c4b5c87687140a2417201ea43066 -timeCreated: 1456265154 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SlotData.cs b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SlotData.cs deleted file mode 100644 index a51b294..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SlotData.cs +++ /dev/null @@ -1,77 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System; - -namespace Spine { - public class SlotData { - internal int index; - internal string name; - internal BoneData boneData; - internal float r = 1, g = 1, b = 1, a = 1; - internal float r2 = 0, g2 = 0, b2 = 0; - internal bool hasSecondColor = false; - internal string attachmentName; - internal BlendMode blendMode; - - /// The index of the slot in . - public int Index { get { return index; } } - /// The name of the slot, which is unique across all slots in the skeleton. - public string Name { get { return name; } } - /// The bone this slot belongs to. - public BoneData BoneData { get { return boneData; } } - public float R { get { return r; } set { r = value; } } - public float G { get { return g; } set { g = value; } } - public float B { get { return b; } set { b = value; } } - public float A { get { return a; } set { a = value; } } - - public float R2 { get { return r2; } set { r2 = value; } } - public float G2 { get { return g2; } set { g2 = value; } } - public float B2 { get { return b2; } set { b2 = value; } } - public bool HasSecondColor { get { return hasSecondColor; } set { hasSecondColor = value; } } - - /// The name of the attachment that is visible for this slot in the setup pose, or null if no attachment is visible. - public String AttachmentName { get { return attachmentName; } set { attachmentName = value; } } - /// The blend mode for drawing the slot's attachment. - public BlendMode BlendMode { get { return blendMode; } set { blendMode = value; } } - - public SlotData (int index, String name, BoneData boneData) { - if (index < 0) throw new ArgumentException ("index must be >= 0.", "index"); - if (name == null) throw new ArgumentNullException("name", "name cannot be null."); - if (boneData == null) throw new ArgumentNullException("boneData", "boneData cannot be null."); - this.index = index; - this.name = name; - this.boneData = boneData; - } - - override public string ToString () { - return name; - } - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SlotData.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SlotData.cs.meta deleted file mode 100644 index d203ba7..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-csharp/SlotData.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: f28cb47bc1e8b434c85e6f69b2c9e15e -timeCreated: 1456265156 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataAsset.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataAsset.cs deleted file mode 100644 index 746d2a4..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataAsset.cs +++ /dev/null @@ -1,262 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System; -using System.Collections.Generic; -using System.IO; -using UnityEngine; - -using CompatibilityProblemInfo = Spine.Unity.SkeletonDataCompatibility.CompatibilityProblemInfo; - -namespace Spine.Unity { - - [CreateAssetMenu(fileName = "New SkeletonDataAsset", menuName = "Spine/SkeletonData Asset")] - public class SkeletonDataAsset : ScriptableObject { - #region Inspector - public AtlasAssetBase[] atlasAssets = new AtlasAssetBase[0]; - - #if SPINE_TK2D - public tk2dSpriteCollectionData spriteCollection; - public float scale = 1f; - #else - public float scale = 0.01f; - #endif - public TextAsset skeletonJSON; - - public bool isUpgradingBlendModeMaterials = false; - public BlendModeMaterials blendModeMaterials = new BlendModeMaterials(); - - [Tooltip("Use SkeletonDataModifierAssets to apply changes to the SkeletonData after being loaded, such as apply blend mode Materials to Attachments under slots with special blend modes.")] - public List skeletonDataModifiers = new List(); - - [SpineAnimation(includeNone: false)] - public string[] fromAnimation = new string[0]; - [SpineAnimation(includeNone: false)] - public string[] toAnimation = new string[0]; - public float[] duration = new float[0]; - public float defaultMix; - public RuntimeAnimatorController controller; - - public bool IsLoaded { get { return this.skeletonData != null; } } - - void Reset () { - Clear(); - } - #endregion - - SkeletonData skeletonData; - AnimationStateData stateData; - - #region Runtime Instantiation - /// - /// Creates a runtime SkeletonDataAsset. - public static SkeletonDataAsset CreateRuntimeInstance (TextAsset skeletonDataFile, AtlasAssetBase atlasAsset, bool initialize, float scale = 0.01f) { - return CreateRuntimeInstance(skeletonDataFile, new [] {atlasAsset}, initialize, scale); - } - - /// - /// Creates a runtime SkeletonDataAsset. - public static SkeletonDataAsset CreateRuntimeInstance (TextAsset skeletonDataFile, AtlasAssetBase[] atlasAssets, bool initialize, float scale = 0.01f) { - SkeletonDataAsset skeletonDataAsset = ScriptableObject.CreateInstance(); - skeletonDataAsset.Clear(); - skeletonDataAsset.skeletonJSON = skeletonDataFile; - skeletonDataAsset.atlasAssets = atlasAssets; - skeletonDataAsset.scale = scale; - - if (initialize) - skeletonDataAsset.GetSkeletonData(true); - - return skeletonDataAsset; - } - #endregion - - /// Clears the loaded SkeletonData and AnimationStateData. Use this to force a reload for the next time GetSkeletonData is called. - public void Clear () { - skeletonData = null; - stateData = null; - } - - public AnimationStateData GetAnimationStateData () { - if (stateData != null) - return stateData; - GetSkeletonData(false); - return stateData; - } - - /// Loads, caches and returns the SkeletonData from the skeleton data file. Returns the cached SkeletonData after the first time it is called. Pass false to prevent direct errors from being logged. - public SkeletonData GetSkeletonData (bool quiet) { - if (skeletonJSON == null) { - if (!quiet) - Debug.LogError("Skeleton JSON file not set for SkeletonData asset: " + name, this); - Clear(); - return null; - } - - // Disabled to support attachmentless/skinless SkeletonData. - // if (atlasAssets == null) { - // atlasAssets = new AtlasAsset[0]; - // if (!quiet) - // Debug.LogError("Atlas not set for SkeletonData asset: " + name, this); - // Clear(); - // return null; - // } - // #if !SPINE_TK2D - // if (atlasAssets.Length == 0) { - // Clear(); - // return null; - // } - // #else - // if (atlasAssets.Length == 0 && spriteCollection == null) { - // Clear(); - // return null; - // } - // #endif - - if (skeletonData != null) - return skeletonData; - - AttachmentLoader attachmentLoader; - float skeletonDataScale; - Atlas[] atlasArray = this.GetAtlasArray(); - - #if !SPINE_TK2D - attachmentLoader = (atlasArray.Length == 0) ? (AttachmentLoader)new RegionlessAttachmentLoader() : (AttachmentLoader)new AtlasAttachmentLoader(atlasArray); - skeletonDataScale = scale; - #else - if (spriteCollection != null) { - attachmentLoader = new Spine.Unity.TK2D.SpriteCollectionAttachmentLoader(spriteCollection); - skeletonDataScale = (1.0f / (spriteCollection.invOrthoSize * spriteCollection.halfTargetHeight) * scale); - } else { - if (atlasArray.Length == 0) { - Reset(); - if (!quiet) Debug.LogError("Atlas not set for SkeletonData asset: " + name, this); - return null; - } - attachmentLoader = new AtlasAttachmentLoader(atlasArray); - skeletonDataScale = scale; - } - #endif - - bool hasBinaryExtension = skeletonJSON.name.ToLower().Contains(".skel"); - SkeletonData loadedSkeletonData = null; - - try { - if (hasBinaryExtension) - loadedSkeletonData = SkeletonDataAsset.ReadSkeletonData(skeletonJSON.bytes, attachmentLoader, skeletonDataScale); - else - loadedSkeletonData = SkeletonDataAsset.ReadSkeletonData(skeletonJSON.text, attachmentLoader, skeletonDataScale); - } catch (Exception ex) { - if (!quiet) - Debug.LogError("Error reading skeleton JSON file for SkeletonData asset: " + name + "\n" + ex.Message + "\n" + ex.StackTrace, skeletonJSON); - } - - #if UNITY_EDITOR - if (loadedSkeletonData == null && !quiet && skeletonJSON != null) { - string problemDescription = null; - bool isSpineSkeletonData; - SkeletonDataCompatibility.VersionInfo fileVersion = SkeletonDataCompatibility.GetVersionInfo(skeletonJSON, out isSpineSkeletonData, ref problemDescription); - if (problemDescription != null) { - if (!quiet) - Debug.LogError(problemDescription, skeletonJSON); - return null; - } - CompatibilityProblemInfo compatibilityProblemInfo = SkeletonDataCompatibility.GetCompatibilityProblemInfo(fileVersion); - if (compatibilityProblemInfo != null) { - SkeletonDataCompatibility.DisplayCompatibilityProblem(compatibilityProblemInfo.DescriptionString(), skeletonJSON); - return null; - } - } - #endif - if (loadedSkeletonData == null) - return null; - - if (skeletonDataModifiers != null) { - foreach (var modifier in skeletonDataModifiers) { - if (modifier != null && !(isUpgradingBlendModeMaterials && modifier is BlendModeMaterialsAsset)) { - modifier.Apply(loadedSkeletonData); - } - } - } - if (!isUpgradingBlendModeMaterials) - blendModeMaterials.ApplyMaterials(loadedSkeletonData); - - this.InitializeWithData(loadedSkeletonData); - - return skeletonData; - } - - internal void InitializeWithData (SkeletonData sd) { - this.skeletonData = sd; - this.stateData = new AnimationStateData(skeletonData); - FillStateData(); - } - - public void FillStateData () { - if (stateData != null) { - stateData.defaultMix = defaultMix; - - for (int i = 0, n = fromAnimation.Length; i < n; i++) { - if (fromAnimation[i].Length == 0 || toAnimation[i].Length == 0) - continue; - stateData.SetMix(fromAnimation[i], toAnimation[i], duration[i]); - } - } - } - - internal Atlas[] GetAtlasArray () { - var returnList = new System.Collections.Generic.List(atlasAssets.Length); - for (int i = 0; i < atlasAssets.Length; i++) { - var aa = atlasAssets[i]; - if (aa == null) continue; - var a = aa.GetAtlas(); - if (a == null) continue; - returnList.Add(a); - } - return returnList.ToArray(); - } - - internal static SkeletonData ReadSkeletonData (byte[] bytes, AttachmentLoader attachmentLoader, float scale) { - using (var input = new MemoryStream(bytes)) { - var binary = new SkeletonBinary(attachmentLoader) { - Scale = scale - }; - return binary.ReadSkeletonData(input); - } - } - - internal static SkeletonData ReadSkeletonData (string text, AttachmentLoader attachmentLoader, float scale) { - var input = new StringReader(text); - var json = new SkeletonJson(attachmentLoader) { - Scale = scale - }; - return json.ReadSkeletonData(input); - } - } - -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataAsset.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataAsset.cs.meta deleted file mode 100644 index 941ef0f..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataAsset.cs.meta +++ /dev/null @@ -1,20 +0,0 @@ -fileFormatVersion: 2 -guid: f1b3b4b945939a54ea0b23d3396115fb -timeCreated: 1536403985 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: - - multiplyMaterialTemplate: {fileID: 2100000, guid: 53bf0ab317d032d418cf1252d68f51df, - type: 2} - - screenMaterialTemplate: {fileID: 2100000, guid: 73f0f46d3177c614baf0fa48d646a9be, - type: 2} - - additiveMaterialTemplate: {fileID: 2100000, guid: 4deba332d47209e4780b3c5fcf0e3745, - type: 2} - - skeletonJSON: {instanceID: 0} - - controller: {instanceID: 0} - executionOrder: 0 - icon: {fileID: 2800000, guid: 68defdbc95b30a74a9ad396bfc9a2277, type: 3} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataCompatibility.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataCompatibility.cs deleted file mode 100644 index 2be8e6c..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataCompatibility.cs +++ /dev/null @@ -1,215 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System.Collections.Generic; -using System.IO; -using UnityEngine; -using System; -#if UNITY_EDITOR -using System.Globalization; -using System.Text.RegularExpressions; -#endif - -namespace Spine.Unity { - - public static class SkeletonDataCompatibility { - - #if UNITY_EDITOR - static readonly int[][] compatibleBinaryVersions = { new[] { 3, 8, 0 } }; - static readonly int[][] compatibleJsonVersions = { new[] { 3, 8, 0 } }; - - static bool wasVersionDialogShown = false; - static readonly Regex jsonVersionRegex = new Regex(@"""spine""\s*:\s*""([^""]+)""", RegexOptions.CultureInvariant); - #endif - - public enum SourceType { - Json, - Binary - } - - [System.Serializable] - public class VersionInfo { - public string rawVersion = null; - public int[] version = null; - public SourceType sourceType; - } - - [System.Serializable] - public class CompatibilityProblemInfo { - public VersionInfo actualVersion; - public int[][] compatibleVersions; - public string explicitProblemDescription = null; - - public string DescriptionString () { - if (!string.IsNullOrEmpty(explicitProblemDescription)) - return explicitProblemDescription; - - string compatibleVersionString = ""; - string optionalOr = null; - foreach (int[] version in compatibleVersions) { - compatibleVersionString += string.Format("{0}{1}.{2}", optionalOr, version[0], version[1]); - optionalOr = " or "; - } - return string.Format("Skeleton data could not be loaded. Data version: {0}. Required version: {1}.\nPlease re-export skeleton data with Spine {1} or change runtime to version {2}.{3}.", - actualVersion.rawVersion, compatibleVersionString, actualVersion.version[0], actualVersion.version[1]); - } - } - - #if UNITY_EDITOR - public static VersionInfo GetVersionInfo (TextAsset asset, out bool isSpineSkeletonData, ref string problemDescription) { - isSpineSkeletonData = false; - if (asset == null) - return null; - - VersionInfo fileVersion = new VersionInfo(); - bool hasBinaryExtension = asset.name.Contains(".skel"); - fileVersion.sourceType = hasBinaryExtension ? SourceType.Binary : SourceType.Json; - - bool isJsonFileByContent = IsJsonFile(asset); - if (hasBinaryExtension == isJsonFileByContent) { - if (hasBinaryExtension) { - problemDescription = string.Format("Failed to read '{0}'. Extension is '.skel.bytes' but content looks like a '.json' file.\n" - + "Did you choose the wrong extension upon export?\n", asset.name); - } - else { - problemDescription = string.Format("Failed to read '{0}'. Extension is '.json' but content looks like binary 'skel.bytes' file.\n" - + "Did you choose the wrong extension upon export?\n", asset.name); - } - isSpineSkeletonData = false; - return null; - } - - if (fileVersion.sourceType == SourceType.Binary) { - try { - using (var memStream = new MemoryStream(asset.bytes)) { - fileVersion.rawVersion = SkeletonBinary.GetVersionString(memStream); - } - } - catch (System.Exception e) { - problemDescription = string.Format("Failed to read '{0}'. It is likely not a binary Spine SkeletonData file.\n{1}", asset.name, e); - isSpineSkeletonData = false; - return null; - } - } - else { - Match match = jsonVersionRegex.Match(asset.text); - if (match != null) { - fileVersion.rawVersion = match.Groups[1].Value; - } - else { - object obj = Json.Deserialize(new StringReader(asset.text)); - if (obj == null) { - problemDescription = string.Format("'{0}' is not valid JSON.", asset.name); - isSpineSkeletonData = false; - return null; - } - - var root = obj as Dictionary; - if (root == null) { - problemDescription = string.Format("'{0}' is not compatible JSON. Parser returned an incorrect type while parsing version info.", asset.name); - isSpineSkeletonData = false; - return null; - } - - if (root.ContainsKey("skeleton")) { - var skeletonInfo = (Dictionary)root["skeleton"]; - object jv; - skeletonInfo.TryGetValue("spine", out jv); - fileVersion.rawVersion = jv as string; - } - } - } - - if (string.IsNullOrEmpty(fileVersion.rawVersion)) { - // very likely not a Spine skeleton json file at all. Could be another valid json file, don't report errors. - isSpineSkeletonData = false; - return null; - } - - var versionSplit = fileVersion.rawVersion.Split('.'); - try { - fileVersion.version = new[]{ int.Parse(versionSplit[0], CultureInfo.InvariantCulture), - int.Parse(versionSplit[1], CultureInfo.InvariantCulture) }; - } - catch (System.Exception e) { - problemDescription = string.Format("Failed to read version info at skeleton '{0}'. It is likely not a valid Spine SkeletonData file.\n{1}", asset.name, e); - isSpineSkeletonData = false; - return null; - } - isSpineSkeletonData = true; - return fileVersion; - } - - public static bool IsJsonFile (TextAsset file) { - byte[] content = file.bytes; - const int maxCharsToCheck = 256; - int numCharsToCheck = Math.Min(content.Length, maxCharsToCheck); - int i = 0; - if (content.Length >= 3 && content[0] == 0xEF && content[1] == 0xBB && content[2] == 0xBF) // skip potential BOM - i = 3; - for (; i < numCharsToCheck; ++i) { - char c = (char)content[i]; - if (char.IsWhiteSpace(c)) - continue; - return c == '{'; - } - return true; - } - - public static CompatibilityProblemInfo GetCompatibilityProblemInfo (VersionInfo fileVersion) { - if (fileVersion == null) { - return null; // it's most likely not a Spine skeleton file, e.g. another json file. don't report problems. - } - - CompatibilityProblemInfo info = new CompatibilityProblemInfo(); - info.actualVersion = fileVersion; - info.compatibleVersions = (fileVersion.sourceType == SourceType.Binary) ? compatibleBinaryVersions - : compatibleJsonVersions; - - foreach (var compatibleVersion in info.compatibleVersions) { - bool majorMatch = fileVersion.version[0] == compatibleVersion[0]; - bool minorMatch = fileVersion.version[1] == compatibleVersion[1]; - if (majorMatch && minorMatch) { - return null; // is compatible, thus no problem info returned - } - } - return info; - } - - public static void DisplayCompatibilityProblem (string descriptionString, TextAsset spineJson) { - if (!wasVersionDialogShown) { - wasVersionDialogShown = true; - UnityEditor.EditorUtility.DisplayDialog("Version mismatch!", descriptionString, "OK"); - } - Debug.LogError(string.Format("Error importing skeleton '{0}': {1}", - spineJson.name, descriptionString), spineJson); - } - #endif // UNITY_EDITOR - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataCompatibility.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataCompatibility.cs.meta deleted file mode 100644 index 1df7111..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataCompatibility.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 4224df6e20549f0449154531ae080201 -timeCreated: 1567002861 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataModifierAsset.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataModifierAsset.cs deleted file mode 100644 index 34fef4f..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataModifierAsset.cs +++ /dev/null @@ -1,39 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace Spine.Unity { - /// Can be stored by SkeletonDataAsset to automatically apply modifications to loaded SkeletonData. - public abstract class SkeletonDataModifierAsset : ScriptableObject { - public abstract void Apply (SkeletonData skeletonData); - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataModifierAsset.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataModifierAsset.cs.meta deleted file mode 100644 index ffcc5f1..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Asset Types/SkeletonDataModifierAsset.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 79a44aba1f342f440965874280b4c318 -timeCreated: 1536412736 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/RootMotion/SkeletonMecanimRootMotion.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/RootMotion/SkeletonMecanimRootMotion.cs deleted file mode 100644 index 4a90bdb..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/RootMotion/SkeletonMecanimRootMotion.cs +++ /dev/null @@ -1,121 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEngine; -using System.Collections.Generic; -using Spine.Unity.AnimationTools; - -namespace Spine.Unity { - - /// - /// Add this component to a SkeletonMecanim GameObject - /// to turn motion of a selected root bone into Transform or RigidBody motion. - /// Local bone translation movement is used as motion. - /// All top-level bones of the skeleton are moved to compensate the root - /// motion bone location, keeping the distance relationship between bones intact. - /// - /// - /// Only compatible with SkeletonMecanim. - /// For SkeletonAnimation or SkeletonGraphic please use - /// SkeletonRootMotion instead. - /// - [HelpURL("http://esotericsoftware.com/spine-unity#SkeletonMecanimRootMotion")] - public class SkeletonMecanimRootMotion : SkeletonRootMotionBase { - #region Inspector - const int DefaultMecanimLayerFlags = -1; - public int mecanimLayerFlags = DefaultMecanimLayerFlags; - #endregion - - protected Vector2 movementDelta; - - SkeletonMecanim skeletonMecanim; - public SkeletonMecanim SkeletonMecanim { - get { - return skeletonMecanim ? skeletonMecanim : skeletonMecanim = GetComponent(); - } - } - - public override Vector2 GetRemainingRootMotion (int layerIndex) { - var pair = skeletonMecanim.Translator.GetActiveAnimationAndTime(layerIndex); - var animation = pair.Key; - var time = pair.Value; - if (animation == null) - return Vector2.zero; - - float start = time; - float end = animation.duration; - return GetAnimationRootMotion(start, end, animation); - } - - public override RootMotionInfo GetRootMotionInfo (int layerIndex) { - var pair = skeletonMecanim.Translator.GetActiveAnimationAndTime(layerIndex); - var animation = pair.Key; - var time = pair.Value; - if (animation == null) - return new RootMotionInfo(); - return GetAnimationRootMotionInfo(animation, time); - } - - protected override void Reset () { - base.Reset(); - mecanimLayerFlags = DefaultMecanimLayerFlags; - } - - protected override void Start () { - base.Start(); - skeletonMecanim = GetComponent(); - if (skeletonMecanim) { - skeletonMecanim.Translator.OnClipApplied -= OnClipApplied; - skeletonMecanim.Translator.OnClipApplied += OnClipApplied; - } - } - - void OnClipApplied(Spine.Animation animation, int layerIndex, float weight, - float time, float lastTime, bool playsBackward) { - - if (((mecanimLayerFlags & 1< - /// Add this component to a SkeletonAnimation or SkeletonGraphic GameObject - /// to turn motion of a selected root bone into Transform or RigidBody motion. - /// Local bone translation movement is used as motion. - /// All top-level bones of the skeleton are moved to compensate the root - /// motion bone location, keeping the distance relationship between bones intact. - /// - /// - /// Only compatible with SkeletonAnimation (or other components that implement - /// ISkeletonComponent, ISkeletonAnimation and IAnimationStateComponent). - /// For SkeletonMecanim please use - /// SkeletonMecanimRootMotion instead. - /// - [HelpURL("http://esotericsoftware.com/spine-unity#SkeletonRootMotion")] - public class SkeletonRootMotion : SkeletonRootMotionBase { - #region Inspector - const int DefaultAnimationTrackFlags = -1; - public int animationTrackFlags = DefaultAnimationTrackFlags; - #endregion - - AnimationState animationState; - Canvas canvas; - - public override Vector2 GetRemainingRootMotion (int trackIndex) { - TrackEntry track = animationState.GetCurrent(trackIndex); - if (track == null) - return Vector2.zero; - - var animation = track.Animation; - float start = track.AnimationTime; - float end = animation.duration; - return GetAnimationRootMotion(start, end, animation); - } - - public override RootMotionInfo GetRootMotionInfo (int trackIndex) { - TrackEntry track = animationState.GetCurrent(trackIndex); - if (track == null) - return new RootMotionInfo(); - - var animation = track.Animation; - float time = track.AnimationTime; - return GetAnimationRootMotionInfo(track.Animation, time); - } - - protected override float AdditionalScale { - get { - return canvas ? canvas.referencePixelsPerUnit: 1.0f; - } - } - - protected override void Reset () { - base.Reset(); - animationTrackFlags = DefaultAnimationTrackFlags; - } - - protected override void Start () { - base.Start(); - var animstateComponent = skeletonComponent as IAnimationStateComponent; - this.animationState = (animstateComponent != null) ? animstateComponent.AnimationState : null; - - if (this.GetComponent() != null) { - canvas = this.GetComponentInParent(); - } - } - - protected override Vector2 CalculateAnimationsMovementDelta () { - Vector2 localDelta = Vector2.zero; - int trackCount = animationState.Tracks.Count; - - for (int trackIndex = 0; trackIndex < trackCount; ++trackIndex) { - // note: animationTrackFlags != -1 below covers trackIndex >= 32, - // with -1 corresponding to entry "everything" of the dropdown list. - if (animationTrackFlags != -1 && (animationTrackFlags & 1 << trackIndex) == 0) - continue; - - TrackEntry track = animationState.GetCurrent(trackIndex); - TrackEntry next = null; - while (track != null) { - var animation = track.Animation; - float start = track.animationLast; - float end = track.AnimationTime; - var currentDelta = GetAnimationRootMotion(start, end, animation); - if (currentDelta != Vector2.zero) { - ApplyMixAlphaToDelta(ref currentDelta, next, track); - localDelta += currentDelta; - } - - // Traverse mixingFrom chain. - next = track; - track = track.mixingFrom; - } - } - return localDelta; - } - - void ApplyMixAlphaToDelta (ref Vector2 currentDelta, TrackEntry next, TrackEntry track) { - // Apply mix alpha to the delta position (based on AnimationState.cs). - float mix; - if (next != null) { - if (next.mixDuration == 0) { // Single frame mix to undo mixingFrom changes. - mix = 1; - } - else { - mix = next.mixTime / next.mixDuration; - if (mix > 1) mix = 1; - } - float mixAndAlpha = track.alpha * next.interruptAlpha * (1 - mix); - currentDelta *= mixAndAlpha; - } - else { - if (track.mixDuration == 0) { - mix = 1; - } - else { - mix = track.alpha * (track.mixTime / track.mixDuration); - if (mix > 1) mix = 1; - } - currentDelta *= mix; - } - } - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/RootMotion/SkeletonRootMotion.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/RootMotion/SkeletonRootMotion.cs.meta deleted file mode 100644 index bef9e2e..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/RootMotion/SkeletonRootMotion.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: f21c9538588898a45a3da22bf4779ab3 -timeCreated: 1591121072 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/RootMotion/SkeletonRootMotionBase.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/RootMotion/SkeletonRootMotionBase.cs deleted file mode 100644 index a6222fb..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/RootMotion/SkeletonRootMotionBase.cs +++ /dev/null @@ -1,322 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEngine; -using System.Collections.Generic; -using Spine.Unity.AnimationTools; -using System; - -namespace Spine.Unity { - - /// - /// Base class for skeleton root motion components. - /// - abstract public class SkeletonRootMotionBase : MonoBehaviour { - - #region Inspector - [SpineBone] - [SerializeField] - protected string rootMotionBoneName = "root"; - public bool transformPositionX = true; - public bool transformPositionY = true; - - public float rootMotionScaleX = 1; - public float rootMotionScaleY = 1; - /// Skeleton space X translation per skeleton space Y translation root motion. - public float rootMotionTranslateXPerY = 0; - /// Skeleton space Y translation per skeleton space X translation root motion. - public float rootMotionTranslateYPerX = 0; - - [Header("Optional")] - public Rigidbody2D rigidBody2D; - public Rigidbody rigidBody; - - public bool UsesRigidbody { - get { return rigidBody != null || rigidBody2D != null; } - } - #endregion - - protected ISkeletonComponent skeletonComponent; - protected Bone rootMotionBone; - protected int rootMotionBoneIndex; - protected List topLevelBones = new List(); - protected Vector2 initialOffset = Vector2.zero; - protected Vector2 tempSkeletonDisplacement; - protected Vector2 rigidbodyDisplacement; - - protected virtual void Reset () { - FindRigidbodyComponent(); - } - - protected virtual void Start () { - skeletonComponent = GetComponent(); - GatherTopLevelBones(); - SetRootMotionBone(rootMotionBoneName); - if (rootMotionBone != null) - initialOffset = new Vector2(rootMotionBone.x, rootMotionBone.y); - - var skeletonAnimation = skeletonComponent as ISkeletonAnimation; - if (skeletonAnimation != null) { - skeletonAnimation.UpdateLocal -= HandleUpdateLocal; - skeletonAnimation.UpdateLocal += HandleUpdateLocal; - } - } - - protected virtual void FixedUpdate () { - if (!this.isActiveAndEnabled) - return; // Root motion is only applied when component is enabled. - - if (rigidBody2D != null) { - rigidBody2D.MovePosition(new Vector2(transform.position.x, transform.position.y) - + rigidbodyDisplacement); - } - if (rigidBody != null) { - rigidBody.MovePosition(transform.position - + new Vector3(rigidbodyDisplacement.x, rigidbodyDisplacement.y, 0)); - } - Vector2 parentBoneScale; - GetScaleAffectingRootMotion(out parentBoneScale); - ClearEffectiveBoneOffsets(parentBoneScale); - rigidbodyDisplacement = Vector2.zero; - tempSkeletonDisplacement = Vector2.zero; - } - - protected virtual void OnDisable () { - rigidbodyDisplacement = Vector2.zero; - tempSkeletonDisplacement = Vector2.zero; - } - - protected void FindRigidbodyComponent () { - rigidBody2D = this.GetComponent(); - if (!rigidBody2D) - rigidBody = this.GetComponent(); - - if (!rigidBody2D && !rigidBody) { - rigidBody2D = this.GetComponentInParent(); - if (!rigidBody2D) - rigidBody = this.GetComponentInParent(); - } - } - - protected virtual float AdditionalScale { get { return 1.0f; } } - abstract protected Vector2 CalculateAnimationsMovementDelta (); - abstract public Vector2 GetRemainingRootMotion (int trackIndex = 0); - - public struct RootMotionInfo { - public Vector2 start; - public Vector2 current; - public Vector2 mid; - public Vector2 end; - public bool timeIsPastMid; - }; - abstract public RootMotionInfo GetRootMotionInfo (int trackIndex = 0); - - public void SetRootMotionBone (string name) { - var skeleton = skeletonComponent.Skeleton; - int index = skeleton.FindBoneIndex(name); - if (index >= 0) { - this.rootMotionBoneIndex = index; - this.rootMotionBone = skeleton.bones.Items[index]; - } - else { - Debug.Log("Bone named \"" + name + "\" could not be found."); - this.rootMotionBoneIndex = 0; - this.rootMotionBone = skeleton.RootBone; - } - } - - public void AdjustRootMotionToDistance (Vector2 distanceToTarget, int trackIndex = 0, bool adjustX = true, bool adjustY = true, - float minX = 0, float maxX = float.MaxValue, float minY = 0, float maxY = float.MaxValue, - bool allowXTranslation = false, bool allowYTranslation = false) { - - Vector2 distanceToTargetSkeletonSpace = (Vector2)transform.InverseTransformVector(distanceToTarget); - Vector2 scaleAffectingRootMotion = GetScaleAffectingRootMotion(); - if (UsesRigidbody) - distanceToTargetSkeletonSpace -= tempSkeletonDisplacement; - - Vector2 remainingRootMotionSkeletonSpace = GetRemainingRootMotion(trackIndex); - remainingRootMotionSkeletonSpace.Scale(scaleAffectingRootMotion); - if (remainingRootMotionSkeletonSpace.x == 0) - remainingRootMotionSkeletonSpace.x = 0.0001f; - if (remainingRootMotionSkeletonSpace.y == 0) - remainingRootMotionSkeletonSpace.y = 0.0001f; - - if (adjustX) - rootMotionScaleX = Math.Min(maxX, Math.Max(minX, distanceToTargetSkeletonSpace.x / remainingRootMotionSkeletonSpace.x)); - if (adjustY) - rootMotionScaleY = Math.Min(maxY, Math.Max(minY, distanceToTargetSkeletonSpace.y / remainingRootMotionSkeletonSpace.y)); - - if (allowXTranslation) - rootMotionTranslateXPerY = (distanceToTargetSkeletonSpace.x - remainingRootMotionSkeletonSpace.x * rootMotionScaleX) / remainingRootMotionSkeletonSpace.y; - if (allowYTranslation) - rootMotionTranslateYPerX = (distanceToTargetSkeletonSpace.y - remainingRootMotionSkeletonSpace.y * rootMotionScaleY) / remainingRootMotionSkeletonSpace.x; - } - - public Vector2 GetAnimationRootMotion (Animation animation) { - return GetAnimationRootMotion(0, animation.duration, animation); - } - - public Vector2 GetAnimationRootMotion (float startTime, float endTime, - Animation animation) { - - var timeline = animation.FindTranslateTimelineForBone(rootMotionBoneIndex); - if (timeline != null) { - return GetTimelineMovementDelta(startTime, endTime, timeline, animation); - } - return Vector2.zero; - } - - public RootMotionInfo GetAnimationRootMotionInfo (Animation animation, float currentTime) { - RootMotionInfo rootMotion = new RootMotionInfo(); - var timeline = animation.FindTranslateTimelineForBone(rootMotionBoneIndex); - if (timeline != null) { - float duration = animation.duration; - float mid = duration * 0.5f; - rootMotion.start = timeline.Evaluate(0); - rootMotion.current = timeline.Evaluate(currentTime); - rootMotion.mid = timeline.Evaluate(mid); - rootMotion.end = timeline.Evaluate(duration); - rootMotion.timeIsPastMid = currentTime > mid; - } - return rootMotion; - } - - Vector2 GetTimelineMovementDelta (float startTime, float endTime, - TranslateTimeline timeline, Animation animation) { - - Vector2 currentDelta; - if (startTime > endTime) // Looped - currentDelta = (timeline.Evaluate(animation.duration) - timeline.Evaluate(startTime)) - + (timeline.Evaluate(endTime) - timeline.Evaluate(0)); - else if (startTime != endTime) // Non-looped - currentDelta = timeline.Evaluate(endTime) - timeline.Evaluate(startTime); - else - currentDelta = Vector2.zero; - return currentDelta; - } - - void GatherTopLevelBones () { - topLevelBones.Clear(); - var skeleton = skeletonComponent.Skeleton; - foreach (var bone in skeleton.Bones) { - if (bone.Parent == null) - topLevelBones.Add(bone); - } - } - - void HandleUpdateLocal (ISkeletonAnimation animatedSkeletonComponent) { - if (!this.isActiveAndEnabled) - return; // Root motion is only applied when component is enabled. - - var boneLocalDelta = CalculateAnimationsMovementDelta(); - Vector2 parentBoneScale; - Vector2 skeletonDelta = GetSkeletonSpaceMovementDelta(boneLocalDelta, out parentBoneScale); - ApplyRootMotion(skeletonDelta, parentBoneScale); - } - - void ApplyRootMotion (Vector2 skeletonDelta, Vector2 parentBoneScale) { - // Apply root motion to Transform or RigidBody; - if (UsesRigidbody) { - rigidbodyDisplacement += (Vector2)transform.TransformVector(skeletonDelta); - - // Accumulated displacement is applied on the next Physics update in FixedUpdate. - // Until the next Physics update, tempBoneDisplacement is offsetting bone locations - // to prevent stutter which would otherwise occur if we don't move every Update. - tempSkeletonDisplacement += skeletonDelta; - SetEffectiveBoneOffsetsTo(tempSkeletonDisplacement, parentBoneScale); - } - else { - transform.position += transform.TransformVector(skeletonDelta); - ClearEffectiveBoneOffsets(parentBoneScale); - } - } - - Vector2 GetScaleAffectingRootMotion () { - Vector2 parentBoneScale; - return GetScaleAffectingRootMotion(out parentBoneScale); - } - - Vector2 GetScaleAffectingRootMotion (out Vector2 parentBoneScale) { - var skeleton = skeletonComponent.Skeleton; - Vector2 totalScale = Vector2.one; - totalScale.x *= skeleton.ScaleX; - totalScale.y *= skeleton.ScaleY; - - parentBoneScale = Vector2.one; - Bone scaleBone = rootMotionBone; - while ((scaleBone = scaleBone.parent) != null) { - parentBoneScale.x *= scaleBone.ScaleX; - parentBoneScale.y *= scaleBone.ScaleY; - } - totalScale = Vector2.Scale(totalScale, parentBoneScale); - totalScale *= AdditionalScale; - return totalScale; - } - - Vector2 GetSkeletonSpaceMovementDelta (Vector2 boneLocalDelta, out Vector2 parentBoneScale) { - Vector2 skeletonDelta = boneLocalDelta; - Vector2 totalScale = GetScaleAffectingRootMotion(out parentBoneScale); - skeletonDelta.Scale(totalScale); - - Vector2 rootMotionTranslation = new Vector2( - rootMotionTranslateXPerY * skeletonDelta.y, - rootMotionTranslateYPerX * skeletonDelta.x); - - skeletonDelta.x *= rootMotionScaleX; - skeletonDelta.y *= rootMotionScaleY; - skeletonDelta.x += rootMotionTranslation.x; - skeletonDelta.y += rootMotionTranslation.y; - - if (!transformPositionX) skeletonDelta.x = 0f; - if (!transformPositionY) skeletonDelta.y = 0f; - return skeletonDelta; - } - - void SetEffectiveBoneOffsetsTo (Vector2 displacementSkeletonSpace, Vector2 parentBoneScale) { - // Move top level bones in opposite direction of the root motion bone - var skeleton = skeletonComponent.Skeleton; - foreach (var topLevelBone in topLevelBones) { - if (topLevelBone == rootMotionBone) { - if (transformPositionX) topLevelBone.x = displacementSkeletonSpace.x / skeleton.ScaleX; - if (transformPositionY) topLevelBone.y = displacementSkeletonSpace.y / skeleton.ScaleY; - } - else { - float offsetX = (initialOffset.x - rootMotionBone.x) * parentBoneScale.x; - float offsetY = (initialOffset.y - rootMotionBone.y) * parentBoneScale.y; - if (transformPositionX) topLevelBone.x = (displacementSkeletonSpace.x / skeleton.ScaleX) + offsetX; - if (transformPositionY) topLevelBone.y = (displacementSkeletonSpace.y / skeleton.ScaleY) + offsetY; - } - } - } - - void ClearEffectiveBoneOffsets (Vector2 parentBoneScale) { - SetEffectiveBoneOffsetsTo(Vector2.zero, parentBoneScale); - } - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/RootMotion/SkeletonRootMotionBase.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/RootMotion/SkeletonRootMotionBase.cs.meta deleted file mode 100644 index 719fd62..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/RootMotion/SkeletonRootMotionBase.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: fc23a4f220b20024ab0592719f92587d -timeCreated: 1592849332 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonAnimation.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonAnimation.cs deleted file mode 100644 index 48c4ec7..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonAnimation.cs +++ /dev/null @@ -1,251 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER -#define NEW_PREFAB_SYSTEM -#endif - -using UnityEngine; - -namespace Spine.Unity { - - #if NEW_PREFAB_SYSTEM - [ExecuteAlways] - #else - [ExecuteInEditMode] - #endif - [AddComponentMenu("Spine/SkeletonAnimation")] - [HelpURL("http://esotericsoftware.com/spine-unity#SkeletonAnimation-Component")] - public class SkeletonAnimation : SkeletonRenderer, ISkeletonAnimation, IAnimationStateComponent { - - #region IAnimationStateComponent - /// - /// This is the Spine.AnimationState object of this SkeletonAnimation. You can control animations through it. - /// Note that this object, like .skeleton, is not guaranteed to exist in Awake. Do all accesses and caching to it in Start - public Spine.AnimationState state; - /// - /// This is the Spine.AnimationState object of this SkeletonAnimation. You can control animations through it. - /// Note that this object, like .skeleton, is not guaranteed to exist in Awake. Do all accesses and caching to it in Start - public Spine.AnimationState AnimationState { - get { - Initialize(false); - return this.state; - } - } - private bool wasUpdatedAfterInit = true; - #endregion - - #region Bone Callbacks ISkeletonAnimation - protected event UpdateBonesDelegate _BeforeApply; - protected event UpdateBonesDelegate _UpdateLocal; - protected event UpdateBonesDelegate _UpdateWorld; - protected event UpdateBonesDelegate _UpdateComplete; - - /// - /// Occurs before the animations are applied. - /// Use this callback when you want to change the skeleton state before animations are applied on top. - /// - public event UpdateBonesDelegate BeforeApply { add { _BeforeApply += value; } remove { _BeforeApply -= value; } } - - /// - /// Occurs after the animations are applied and before world space values are resolved. - /// Use this callback when you want to set bone local values. - /// - public event UpdateBonesDelegate UpdateLocal { add { _UpdateLocal += value; } remove { _UpdateLocal -= value; } } - - /// - /// Occurs after the Skeleton's bone world space values are resolved (including all constraints). - /// Using this callback will cause the world space values to be solved an extra time. - /// Use this callback if want to use bone world space values, and also set bone local values. - public event UpdateBonesDelegate UpdateWorld { add { _UpdateWorld += value; } remove { _UpdateWorld -= value; } } - - /// - /// Occurs after the Skeleton's bone world space values are resolved (including all constraints). - /// Use this callback if you want to use bone world space values, but don't intend to modify bone local values. - /// This callback can also be used when setting world position and the bone matrix. - public event UpdateBonesDelegate UpdateComplete { add { _UpdateComplete += value; } remove { _UpdateComplete -= value; } } - #endregion - - #region Serialized state and Beginner API - [SerializeField] - [SpineAnimation] - private string _animationName; - - /// - /// Setting this property sets the animation of the skeleton. If invalid, it will store the animation name for the next time the skeleton is properly initialized. - /// Getting this property gets the name of the currently playing animation. If invalid, it will return the last stored animation name set through this property. - public string AnimationName { - get { - if (!valid) { - return _animationName; - } else { - TrackEntry entry = state.GetCurrent(0); - return entry == null ? null : entry.Animation.Name; - } - } - set { - Initialize(false); - if (_animationName == value) { - TrackEntry entry = state.GetCurrent(0); - if (entry != null && entry.loop == loop) - return; - } - _animationName = value; - - if (string.IsNullOrEmpty(value)) { - state.ClearTrack(0); - } else { - var animationObject = skeletonDataAsset.GetSkeletonData(false).FindAnimation(value); - if (animationObject != null) - state.SetAnimation(0, animationObject, loop); - } - } - } - - /// Whether or not should loop. This only applies to the initial animation specified in the inspector, or any subsequent Animations played through .AnimationName. Animations set through state.SetAnimation are unaffected. - public bool loop; - - /// - /// The rate at which animations progress over time. 1 means 100%. 0.5 means 50%. - /// AnimationState and TrackEntry also have their own timeScale. These are combined multiplicatively. - public float timeScale = 1; - #endregion - - #region Runtime Instantiation - /// Adds and prepares a SkeletonAnimation component to a GameObject at runtime. - /// The newly instantiated SkeletonAnimation - public static SkeletonAnimation AddToGameObject (GameObject gameObject, SkeletonDataAsset skeletonDataAsset, - bool quiet = false) { - return SkeletonRenderer.AddSpineComponent(gameObject, skeletonDataAsset, quiet); - } - - /// Instantiates a new UnityEngine.GameObject and adds a prepared SkeletonAnimation component to it. - /// The newly instantiated SkeletonAnimation component. - public static SkeletonAnimation NewSkeletonAnimationGameObject (SkeletonDataAsset skeletonDataAsset, - bool quiet = false) { - return SkeletonRenderer.NewSpineGameObject(skeletonDataAsset, quiet); - } - #endregion - - /// - /// Clears the previously generated mesh, resets the skeleton's pose, and clears all previously active animations. - public override void ClearState () { - base.ClearState(); - if (state != null) state.ClearTracks(); - } - - /// - /// Initialize this component. Attempts to load the SkeletonData and creates the internal Spine objects and buffers. - /// If set to true, force overwrite an already initialized object. - public override void Initialize (bool overwrite, bool quiet = false) { - if (valid && !overwrite) - return; - base.Initialize(overwrite, quiet); - - if (!valid) - return; - state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData()); - wasUpdatedAfterInit = false; - - if (!string.IsNullOrEmpty(_animationName)) { - var animationObject = skeletonDataAsset.GetSkeletonData(false).FindAnimation(_animationName); - if (animationObject != null) { - state.SetAnimation(0, animationObject, loop); - #if UNITY_EDITOR - if (!Application.isPlaying) - Update(0f); - #endif - } - } - } - - void Update () { - #if UNITY_EDITOR - if (!Application.isPlaying) { - Update(0f); - return; - } - #endif - - Update(Time.deltaTime); - } - - /// Progresses the AnimationState according to the given deltaTime, and applies it to the Skeleton. Use Time.deltaTime to update manually. Use deltaTime 0 to update without progressing the time. - public void Update (float deltaTime) { - if (!valid || state == null) - return; - - wasUpdatedAfterInit = true; - if (updateMode < UpdateMode.OnlyAnimationStatus) - return; - UpdateAnimationStatus(deltaTime); - - if (updateMode == UpdateMode.OnlyAnimationStatus) - return; - ApplyAnimation(); - } - - protected void UpdateAnimationStatus (float deltaTime) { - deltaTime *= timeScale; - skeleton.Update(deltaTime); - state.Update(deltaTime); - } - - protected void ApplyAnimation () { - if (_BeforeApply != null) - _BeforeApply(this); - - if (updateMode != UpdateMode.OnlyEventTimelines) - state.Apply(skeleton); - else - state.ApplyEventTimelinesOnly(skeleton); - - if (_UpdateLocal != null) - _UpdateLocal(this); - - skeleton.UpdateWorldTransform(); - - if (_UpdateWorld != null) { - _UpdateWorld(this); - skeleton.UpdateWorldTransform(); - } - - if (_UpdateComplete != null) { - _UpdateComplete(this); - } - } - - public override void LateUpdate () { - // instantiation can happen from Update() after this component, leading to a missing Update() call. - if (!wasUpdatedAfterInit) Update(0); - base.LateUpdate(); - } - } - -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonAnimation.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonAnimation.cs.meta deleted file mode 100644 index 23ede7b..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonAnimation.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: d247ba06193faa74d9335f5481b2b56c -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs deleted file mode 100644 index aae79e0..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs +++ /dev/null @@ -1,825 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER -#define NEW_PREFAB_SYSTEM -#endif - -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; - -namespace Spine.Unity { - #if NEW_PREFAB_SYSTEM - [ExecuteAlways] - #else - [ExecuteInEditMode] - #endif - [RequireComponent(typeof(CanvasRenderer), typeof(RectTransform)), DisallowMultipleComponent] - [AddComponentMenu("Spine/SkeletonGraphic (Unity UI Canvas)")] - [HelpURL("http://esotericsoftware.com/spine-unity#SkeletonGraphic-Component")] - public class SkeletonGraphic : MaskableGraphic, ISkeletonComponent, IAnimationStateComponent, ISkeletonAnimation, IHasSkeletonDataAsset { - - #region Inspector - public SkeletonDataAsset skeletonDataAsset; - public SkeletonDataAsset SkeletonDataAsset { get { return skeletonDataAsset; } } - - [SpineSkin(dataField:"skeletonDataAsset", defaultAsEmptyString:true)] - public string initialSkinName; - public bool initialFlipX, initialFlipY; - - [SpineAnimation(dataField:"skeletonDataAsset")] - public string startingAnimation; - public bool startingLoop; - public float timeScale = 1f; - public bool freeze; - - /// Update mode to optionally limit updates to e.g. only apply animations but not update the mesh. - public UpdateMode UpdateMode { get { return updateMode; } set { updateMode = value; } } - protected UpdateMode updateMode = UpdateMode.FullUpdate; - - /// Update mode used when the MeshRenderer becomes invisible - /// (when OnBecameInvisible() is called). Update mode is automatically - /// reset to UpdateMode.FullUpdate when the mesh becomes visible again. - public UpdateMode updateWhenInvisible = UpdateMode.FullUpdate; - - public bool unscaledTime; - public bool allowMultipleCanvasRenderers = false; - public List canvasRenderers = new List(); - protected List rawImages = new List(); - protected int usedRenderersCount = 0; - - // Submesh Separation - public const string SeparatorPartGameObjectName = "Part"; - /// Slot names used to populate separatorSlots list when the Skeleton is initialized. Changing this after initialization does nothing. - [SerializeField] [SpineSlot] protected string[] separatorSlotNames = new string[0]; - - /// Slots that determine where the render is split. This is used by components such as SkeletonRenderSeparator so that the skeleton can be rendered by two separate renderers on different GameObjects. - [System.NonSerialized] public readonly List separatorSlots = new List(); - public bool enableSeparatorSlots = false; - [SerializeField] protected List separatorParts = new List(); - public List SeparatorParts { get { return separatorParts; } } - public bool updateSeparatorPartLocation = true; - - private bool wasUpdatedAfterInit = true; - private Texture baseTexture = null; - - #if UNITY_EDITOR - protected override void OnValidate () { - // This handles Scene View preview. - base.OnValidate (); - if (this.IsValid) { - if (skeletonDataAsset == null) { - Clear(); - } else if (skeletonDataAsset.skeletonJSON == null) { - Clear(); - } else if (skeletonDataAsset.GetSkeletonData(true) != skeleton.data) { - Clear(); - Initialize(true); - if (!allowMultipleCanvasRenderers && (skeletonDataAsset.atlasAssets.Length > 1 || skeletonDataAsset.atlasAssets[0].MaterialCount > 1)) - Debug.LogError("Unity UI does not support multiple textures per Renderer. Please enable 'Advanced - Multiple CanvasRenderers' to generate the required CanvasRenderer GameObjects. Otherwise your skeleton will not be rendered correctly.", this); - } else { - if (freeze) return; - - if (!string.IsNullOrEmpty(initialSkinName)) { - var skin = skeleton.data.FindSkin(initialSkinName); - if (skin != null) { - if (skin == skeleton.data.defaultSkin) - skeleton.SetSkin((Skin)null); - else - skeleton.SetSkin(skin); - } - - } - - // Only provide visual feedback to inspector changes in Unity Editor Edit mode. - if (!Application.isPlaying) { - skeleton.ScaleX = this.initialFlipX ? -1 : 1; - skeleton.ScaleY = this.initialFlipY ? -1 : 1; - - state.ClearTrack(0); - skeleton.SetToSetupPose(); - if (!string.IsNullOrEmpty(startingAnimation)) { - state.SetAnimation(0, startingAnimation, startingLoop); - Update(0f); - } - } - } - } else { - // Under some circumstances (e.g. sometimes on the first import) OnValidate is called - // before SpineEditorUtilities.ImportSpineContent, causing an unnecessary exception. - // The (skeletonDataAsset.skeletonJSON != null) condition serves to prevent this exception. - if (skeletonDataAsset != null && skeletonDataAsset.skeletonJSON != null) - Initialize(true); - } - } - - protected override void Reset () { - - base.Reset(); - if (material == null || material.shader != Shader.Find("Spine/SkeletonGraphic")) - Debug.LogWarning("SkeletonGraphic works best with the SkeletonGraphic material."); - } - #endif - #endregion - - #region Runtime Instantiation - /// Create a new GameObject with a SkeletonGraphic component. - /// Material for the canvas renderer to use. Usually, the default SkeletonGraphic material will work. - public static SkeletonGraphic NewSkeletonGraphicGameObject (SkeletonDataAsset skeletonDataAsset, Transform parent, Material material) { - var sg = SkeletonGraphic.AddSkeletonGraphicComponent(new GameObject("New Spine GameObject"), skeletonDataAsset, material); - if (parent != null) sg.transform.SetParent(parent, false); - return sg; - } - - /// Add a SkeletonGraphic component to a GameObject. - /// Material for the canvas renderer to use. Usually, the default SkeletonGraphic material will work. - public static SkeletonGraphic AddSkeletonGraphicComponent (GameObject gameObject, SkeletonDataAsset skeletonDataAsset, Material material) { - var c = gameObject.AddComponent(); - if (skeletonDataAsset != null) { - c.material = material; - c.skeletonDataAsset = skeletonDataAsset; - c.Initialize(false); - } - return c; - } - #endregion - - #region Overrides - [System.NonSerialized] readonly Dictionary customTextureOverride = new Dictionary(); - /// Use this Dictionary to override a Texture with a different Texture. - public Dictionary CustomTextureOverride { get { return customTextureOverride; } } - - [System.NonSerialized] readonly Dictionary customMaterialOverride = new Dictionary(); - /// Use this Dictionary to override the Material where the Texture was used at the original atlas. - public Dictionary CustomMaterialOverride { get { return customMaterialOverride; } } - - // This is used by the UI system to determine what to put in the MaterialPropertyBlock. - Texture overrideTexture; - public Texture OverrideTexture { - get { return overrideTexture; } - set { - overrideTexture = value; - canvasRenderer.SetTexture(this.mainTexture); // Refresh canvasRenderer's texture. Make sure it handles null. - } - } - #endregion - - #region Internals - public override Texture mainTexture { - get { - if (overrideTexture != null) return overrideTexture; - return baseTexture; - } - } - - protected override void Awake () { - - base.Awake (); - this.onCullStateChanged.AddListener(OnCullStateChanged); - - SyncRawImagesWithCanvasRenderers(); - if (!this.IsValid) { -#if UNITY_EDITOR - // workaround for special import case of open scene where OnValidate and Awake are - // called in wrong order, before setup of Spine assets. - if (!Application.isPlaying) { - if (this.skeletonDataAsset != null && this.skeletonDataAsset.skeletonJSON == null) - return; - } -#endif - Initialize(false); - Rebuild(CanvasUpdate.PreRender); - } - } - - protected override void OnDestroy () { - Clear(); - base.OnDestroy(); - } - - public override void Rebuild (CanvasUpdate update) { - base.Rebuild(update); - if (canvasRenderer.cull) return; - if (update == CanvasUpdate.PreRender) UpdateMesh(keepRendererCount : true); - if (allowMultipleCanvasRenderers) canvasRenderer.Clear(); - } - - protected override void OnDisable () { - base.OnDisable(); - foreach (var canvasRenderer in canvasRenderers) { - canvasRenderer.Clear(); - } - } - - public virtual void Update () { - #if UNITY_EDITOR - if (!Application.isPlaying) { - Update(0f); - return; - } - #endif - - if (freeze) return; - Update(unscaledTime ? Time.unscaledDeltaTime : Time.deltaTime); - } - - public virtual void Update (float deltaTime) { - if (!this.IsValid) return; - - wasUpdatedAfterInit = true; - if (updateMode < UpdateMode.OnlyAnimationStatus) - return; - UpdateAnimationStatus(deltaTime); - - if (updateMode == UpdateMode.OnlyAnimationStatus) - return; - ApplyAnimation(); - } - - protected void SyncRawImagesWithCanvasRenderers () { - rawImages.Clear(); - foreach (var canvasRenderer in canvasRenderers) { - var rawImage = canvasRenderer.GetComponent(); - if (rawImage == null) { - rawImage = canvasRenderer.gameObject.AddComponent(); - rawImage.maskable = this.maskable; - rawImage.raycastTarget = false; - } - rawImages.Add(rawImage); - } - } - - protected void UpdateAnimationStatus (float deltaTime) { - deltaTime *= timeScale; - skeleton.Update(deltaTime); - state.Update(deltaTime); - } - - protected void ApplyAnimation () { - if (BeforeApply != null) - BeforeApply(this); - - if (updateMode != UpdateMode.OnlyEventTimelines) - state.Apply(skeleton); - else - state.ApplyEventTimelinesOnly(skeleton); - - if (UpdateLocal != null) - UpdateLocal(this); - - skeleton.UpdateWorldTransform(); - - if (UpdateWorld != null) { - UpdateWorld(this); - skeleton.UpdateWorldTransform(); - } - - if (UpdateComplete != null) - UpdateComplete(this); - } - - public void LateUpdate () { - // instantiation can happen from Update() after this component, leading to a missing Update() call. - if (!wasUpdatedAfterInit) Update(0); - if (freeze) return; - if (updateMode != UpdateMode.FullUpdate) return; - - UpdateMesh(); - } - - protected void OnCullStateChanged (bool culled) { - if (culled) - OnBecameInvisible(); - else - OnBecameVisible(); - } - - public void OnBecameVisible () { - updateMode = UpdateMode.FullUpdate; - } - - public void OnBecameInvisible () { - updateMode = updateWhenInvisible; - } - - public void ReapplySeparatorSlotNames () { - if (!IsValid) - return; - - separatorSlots.Clear(); - for (int i = 0, n = separatorSlotNames.Length; i < n; i++) { - string slotName = separatorSlotNames[i]; - if (slotName == "") - continue; - var slot = skeleton.FindSlot(slotName); - if (slot != null) { - separatorSlots.Add(slot); - } - #if UNITY_EDITOR - else - { - Debug.LogWarning(slotName + " is not a slot in " + skeletonDataAsset.skeletonJSON.name); - } - #endif - } - UpdateSeparatorPartParents(); - } - #endregion - - #region API - protected Skeleton skeleton; - public Skeleton Skeleton { - get { - Initialize(false); - return skeleton; - } - set { - skeleton = value; - } - } - public SkeletonData SkeletonData { get { return skeleton == null ? null : skeleton.data; } } - public bool IsValid { get { return skeleton != null; } } - - public delegate void SkeletonRendererDelegate (SkeletonGraphic skeletonGraphic); - - /// OnRebuild is raised after the Skeleton is successfully initialized. - public event SkeletonRendererDelegate OnRebuild; - - /// OnMeshAndMaterialsUpdated is at the end of LateUpdate after the Mesh and - /// all materials have been updated. - public event SkeletonRendererDelegate OnMeshAndMaterialsUpdated; - - protected Spine.AnimationState state; - public Spine.AnimationState AnimationState { - get { - Initialize(false); - return state; - } - } - - [SerializeField] protected Spine.Unity.MeshGenerator meshGenerator = new MeshGenerator(); - public Spine.Unity.MeshGenerator MeshGenerator { get { return this.meshGenerator; } } - DoubleBuffered meshBuffers; - SkeletonRendererInstruction currentInstructions = new SkeletonRendererInstruction(); - readonly ExposedList meshes = new ExposedList(); - - public Mesh GetLastMesh () { - return meshBuffers.GetCurrent().mesh; - } - - public bool MatchRectTransformWithBounds () { - UpdateMesh(); - - if (!this.allowMultipleCanvasRenderers) - return MatchRectTransformSingleRenderer(); - else - return MatchRectTransformMultipleRenderers(); - } - - protected bool MatchRectTransformSingleRenderer () { - Mesh mesh = this.GetLastMesh(); - if (mesh == null) { - return false; - } - if (mesh.vertexCount == 0) { - this.rectTransform.sizeDelta = new Vector2(50f, 50f); - this.rectTransform.pivot = new Vector2(0.5f, 0.5f); - return false; - } - mesh.RecalculateBounds(); - SetRectTransformBounds(mesh.bounds); - return true; - } - - protected bool MatchRectTransformMultipleRenderers () { - bool anyBoundsAdded = false; - Bounds combinedBounds = new Bounds(); - for (int i = 0; i < canvasRenderers.Count; ++i) { - var canvasRenderer = canvasRenderers[i]; - if (!canvasRenderer.gameObject.activeSelf) - continue; - - Mesh mesh = meshes.Items[i]; - if (mesh == null || mesh.vertexCount == 0) - continue; - - mesh.RecalculateBounds(); - var bounds = mesh.bounds; - if (anyBoundsAdded) - combinedBounds.Encapsulate(bounds); - else { - anyBoundsAdded = true; - combinedBounds = bounds; - } - } - - if (!anyBoundsAdded) { - this.rectTransform.sizeDelta = new Vector2(50f, 50f); - this.rectTransform.pivot = new Vector2(0.5f, 0.5f); - return false; - } - - SetRectTransformBounds(combinedBounds); - return true; - } - - private void SetRectTransformBounds (Bounds combinedBounds) { - var size = combinedBounds.size; - var center = combinedBounds.center; - var p = new Vector2( - 0.5f - (center.x / size.x), - 0.5f - (center.y / size.y) - ); - - this.rectTransform.sizeDelta = size; - this.rectTransform.pivot = p; - } - - public event UpdateBonesDelegate BeforeApply; - public event UpdateBonesDelegate UpdateLocal; - public event UpdateBonesDelegate UpdateWorld; - public event UpdateBonesDelegate UpdateComplete; - - /// Occurs after the vertex data populated every frame, before the vertices are pushed into the mesh. - public event Spine.Unity.MeshGeneratorDelegate OnPostProcessVertices; - - public void Clear () { - skeleton = null; - canvasRenderer.Clear(); - - for (int i = 0; i < canvasRenderers.Count; ++i) - canvasRenderers[i].Clear(); - DestroyMeshes(); - DisposeMeshBuffers(); - } - - public void TrimRenderers () { - var newList = new List(); - foreach (var canvasRenderer in canvasRenderers) { - if (canvasRenderer.gameObject.activeSelf) { - newList.Add(canvasRenderer); - } - else { - if (Application.isEditor && !Application.isPlaying) - DestroyImmediate(canvasRenderer.gameObject); - else - Destroy(canvasRenderer.gameObject); - } - } - canvasRenderers = newList; - SyncRawImagesWithCanvasRenderers(); - } - - public void Initialize (bool overwrite) { - if (this.IsValid && !overwrite) return; - - if (this.skeletonDataAsset == null) return; - var skeletonData = this.skeletonDataAsset.GetSkeletonData(false); - if (skeletonData == null) return; - - if (skeletonDataAsset.atlasAssets.Length <= 0 || skeletonDataAsset.atlasAssets[0].MaterialCount <= 0) return; - - this.state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData()); - if (state == null) { - Clear(); - return; - } - - this.skeleton = new Skeleton(skeletonData) { - ScaleX = this.initialFlipX ? -1 : 1, - ScaleY = this.initialFlipY ? -1 : 1 - }; - - InitMeshBuffers(); - baseTexture = skeletonDataAsset.atlasAssets[0].PrimaryMaterial.mainTexture; - canvasRenderer.SetTexture(this.mainTexture); // Needed for overwriting initializations. - - // Set the initial Skin and Animation - if (!string.IsNullOrEmpty(initialSkinName)) - skeleton.SetSkin(initialSkinName); - - separatorSlots.Clear(); - for (int i = 0; i < separatorSlotNames.Length; i++) - separatorSlots.Add(skeleton.FindSlot(separatorSlotNames[i])); - - wasUpdatedAfterInit = false; - if (!string.IsNullOrEmpty(startingAnimation)) { - var animationObject = skeletonDataAsset.GetSkeletonData(false).FindAnimation(startingAnimation); - if (animationObject != null) { - state.SetAnimation(0, animationObject, startingLoop); - #if UNITY_EDITOR - if (!Application.isPlaying) - Update(0f); - #endif - } - } - - if (OnRebuild != null) - OnRebuild(this); - } - - public void UpdateMesh (bool keepRendererCount = false) { - if (!this.IsValid) return; - - skeleton.SetColor(this.color); - - var currentInstructions = this.currentInstructions; - if (!this.allowMultipleCanvasRenderers) { - UpdateMeshSingleCanvasRenderer(); - } - else { - UpdateMeshMultipleCanvasRenderers(currentInstructions, keepRendererCount); - } - - if (OnMeshAndMaterialsUpdated != null) - OnMeshAndMaterialsUpdated(this); - } - - public bool HasMultipleSubmeshInstructions () { - if (!IsValid) - return false; - return MeshGenerator.RequiresMultipleSubmeshesByDrawOrder(skeleton); - } - #endregion - - protected void InitMeshBuffers () { - if (meshBuffers != null) { - meshBuffers.GetNext().Clear(); - meshBuffers.GetNext().Clear(); - } - else { - meshBuffers = new DoubleBuffered(); - } - } - - protected void DisposeMeshBuffers () { - if (meshBuffers != null) { - meshBuffers.GetNext().Dispose(); - meshBuffers.GetNext().Dispose(); - meshBuffers = null; - } - } - - protected void UpdateMeshSingleCanvasRenderer () { - if (canvasRenderers.Count > 0) - DisableUnusedCanvasRenderers(usedCount : 0); - - var smartMesh = meshBuffers.GetNext(); - MeshGenerator.GenerateSingleSubmeshInstruction(currentInstructions, skeleton, null); - bool updateTriangles = SkeletonRendererInstruction.GeometryNotEqual(currentInstructions, smartMesh.instructionUsed); - - meshGenerator.Begin(); - if (currentInstructions.hasActiveClipping && currentInstructions.submeshInstructions.Count > 0) { - meshGenerator.AddSubmesh(currentInstructions.submeshInstructions.Items[0], updateTriangles); - } - else { - meshGenerator.BuildMeshWithArrays(currentInstructions, updateTriangles); - } - - if (canvas != null) meshGenerator.ScaleVertexData(canvas.referencePixelsPerUnit); - if (OnPostProcessVertices != null) OnPostProcessVertices.Invoke(this.meshGenerator.Buffers); - - var mesh = smartMesh.mesh; - meshGenerator.FillVertexData(mesh); - if (updateTriangles) meshGenerator.FillTriangles(mesh); - meshGenerator.FillLateVertexData(mesh); - - canvasRenderer.SetMesh(mesh); - smartMesh.instructionUsed.Set(currentInstructions); - - if (currentInstructions.submeshInstructions.Count > 0) { - var material = currentInstructions.submeshInstructions.Items[0].material; - if (material != null && baseTexture != material.mainTexture) { - baseTexture = material.mainTexture; - if (overrideTexture == null) - canvasRenderer.SetTexture(this.mainTexture); - } - } - - //this.UpdateMaterial(); // note: This would allocate memory. - usedRenderersCount = 0; - } - - protected void UpdateMeshMultipleCanvasRenderers (SkeletonRendererInstruction currentInstructions, bool keepRendererCount) { - MeshGenerator.GenerateSkeletonRendererInstruction(currentInstructions, skeleton, null, - enableSeparatorSlots ? separatorSlots : null, - enableSeparatorSlots ? separatorSlots.Count > 0 : false, - false); - - int submeshCount = currentInstructions.submeshInstructions.Count; - if (keepRendererCount && submeshCount != usedRenderersCount) - return; - EnsureCanvasRendererCount(submeshCount); - EnsureMeshesCount(submeshCount); - EnsureSeparatorPartCount(); - - var c = canvas; - float scale = (c == null) ? 100 : c.referencePixelsPerUnit; - - // Generate meshes. - var meshesItems = meshes.Items; - bool useOriginalTextureAndMaterial = (customMaterialOverride.Count == 0 && customTextureOverride.Count == 0); - int separatorSlotGroupIndex = 0; - Transform parent = this.separatorSlots.Count == 0 ? this.transform : this.separatorParts[0]; - - if (updateSeparatorPartLocation) { - for (int p = 0; p < this.separatorParts.Count; ++p) { - separatorParts[p].position = this.transform.position; - separatorParts[p].rotation = this.transform.rotation; - } - } - - int targetSiblingIndex = 0; - for (int i = 0; i < submeshCount; i++) { - var submeshInstructionItem = currentInstructions.submeshInstructions.Items[i]; - meshGenerator.Begin(); - meshGenerator.AddSubmesh(submeshInstructionItem); - - var targetMesh = meshesItems[i]; - meshGenerator.ScaleVertexData(scale); - if (OnPostProcessVertices != null) OnPostProcessVertices.Invoke(this.meshGenerator.Buffers); - meshGenerator.FillVertexData(targetMesh); - meshGenerator.FillTriangles(targetMesh); - meshGenerator.FillLateVertexData(targetMesh); - - var submeshMaterial = submeshInstructionItem.material; - var canvasRenderer = canvasRenderers[i]; - if (i >= usedRenderersCount) - canvasRenderer.gameObject.SetActive(true); - - canvasRenderer.SetMesh(targetMesh); - canvasRenderer.materialCount = 1; - - if (canvasRenderer.transform.parent != parent.transform) { - canvasRenderer.transform.SetParent(parent.transform, false); - canvasRenderer.transform.localPosition = Vector3.zero; - } - canvasRenderer.transform.SetSiblingIndex(targetSiblingIndex++); - if (submeshInstructionItem.forceSeparate) { - targetSiblingIndex = 0; - parent = separatorParts[++separatorSlotGroupIndex]; - } - - if (useOriginalTextureAndMaterial) - canvasRenderer.SetMaterial(this.materialForRendering, submeshMaterial.mainTexture); - else { - var originalTexture = submeshMaterial.mainTexture; - Material usedMaterial; - Texture usedTexture; - if (!customMaterialOverride.TryGetValue(originalTexture, out usedMaterial)) - usedMaterial = material; - if (!customTextureOverride.TryGetValue(originalTexture, out usedTexture)) - usedTexture = originalTexture; - canvasRenderer.SetMaterial(usedMaterial, usedTexture); - } - } - - DisableUnusedCanvasRenderers(usedCount : submeshCount); - usedRenderersCount = submeshCount; - } - - protected void EnsureCanvasRendererCount (int targetCount) { - #if UNITY_EDITOR - RemoveNullCanvasRenderers(); - #endif - int currentCount = canvasRenderers.Count; - for (int i = currentCount; i < targetCount; ++i) { - var go = new GameObject(string.Format("Renderer{0}", i), typeof(RectTransform)); - go.transform.SetParent(this.transform, false); - go.transform.localPosition = Vector3.zero; - var canvasRenderer = go.AddComponent(); - canvasRenderers.Add(canvasRenderer); - var rawImage = go.AddComponent(); - rawImage.maskable = this.maskable; - rawImage.raycastTarget = false; - rawImages.Add(rawImage); - } - } - - protected void DisableUnusedCanvasRenderers (int usedCount) { - #if UNITY_EDITOR - RemoveNullCanvasRenderers(); - #endif - for (int i = usedCount; i < canvasRenderers.Count; i++) { - canvasRenderers[i].Clear(); - canvasRenderers[i].gameObject.SetActive(false); - } - } - - #if UNITY_EDITOR - private void RemoveNullCanvasRenderers () { - if (Application.isEditor && !Application.isPlaying) { - for (int i = canvasRenderers.Count - 1; i >= 0; --i) { - if (canvasRenderers[i] == null) { - canvasRenderers.RemoveAt(i); - } - } - } - } - #endif - - protected void EnsureMeshesCount (int targetCount) { - int oldCount = meshes.Count; - meshes.EnsureCapacity(targetCount); - for (int i = oldCount; i < targetCount; i++) - meshes.Add(SpineMesh.NewSkeletonMesh()); - } - - protected void DestroyMeshes () { - foreach (var mesh in meshes) { -#if UNITY_EDITOR - if (Application.isEditor && !Application.isPlaying) - UnityEngine.Object.DestroyImmediate(mesh); - else - UnityEngine.Object.Destroy(mesh); -#else - UnityEngine.Object.Destroy(mesh); -#endif - } - meshes.Clear(); - } - - protected void EnsureSeparatorPartCount () { - #if UNITY_EDITOR - RemoveNullSeparatorParts(); - #endif - int targetCount = separatorSlots.Count + 1; - if (targetCount == 1) - return; - - #if UNITY_EDITOR - if (Application.isEditor && !Application.isPlaying) { - for (int i = separatorParts.Count-1; i >= 0; --i) { - if (separatorParts[i] == null) { - separatorParts.RemoveAt(i); - } - } - } - #endif - int currentCount = separatorParts.Count; - for (int i = currentCount; i < targetCount; ++i) { - var go = new GameObject(string.Format("{0}[{1}]", SeparatorPartGameObjectName, i), typeof(RectTransform)); - go.transform.SetParent(this.transform, false); - go.transform.localPosition = Vector3.zero; - separatorParts.Add(go.transform); - } - } - - protected void UpdateSeparatorPartParents () { - int usedCount = separatorSlots.Count + 1; - if (usedCount == 1) { - usedCount = 0; // placed directly at the SkeletonGraphic parent - for (int i = 0; i < canvasRenderers.Count; ++i) { - var canvasRenderer = canvasRenderers[i]; - if (canvasRenderer.transform.parent.name.Contains(SeparatorPartGameObjectName)) { - canvasRenderer.transform.SetParent(this.transform, false); - canvasRenderer.transform.localPosition = Vector3.zero; - } - } - } - for (int i = 0; i < separatorParts.Count; ++i) { - bool isUsed = i < usedCount; - separatorParts[i].gameObject.SetActive(isUsed); - } - } - - #if UNITY_EDITOR - private void RemoveNullSeparatorParts () { - if (Application.isEditor && !Application.isPlaying) { - for (int i = separatorParts.Count - 1; i >= 0; --i) { - if (separatorParts[i] == null) { - separatorParts.RemoveAt(i); - } - } - } - } - #endif - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs.meta deleted file mode 100644 index e44ab78..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: d85b887af7e6c3f45a2e2d2920d641bc -timeCreated: 1455576193 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: - - m_Material: {fileID: 2100000, guid: b66cf7a186d13054989b33a5c90044e4, type: 2} - - skeletonDataAsset: {instanceID: 0} - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonMecanim.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonMecanim.cs deleted file mode 100644 index 3355aa6..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonMecanim.cs +++ /dev/null @@ -1,661 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEngine; -using System.Collections.Generic; - -namespace Spine.Unity { - [RequireComponent(typeof(Animator))] - [HelpURL("http://esotericsoftware.com/spine-unity#SkeletonMecanim-Component")] - public class SkeletonMecanim : SkeletonRenderer, ISkeletonAnimation { - - [SerializeField] protected MecanimTranslator translator; - public MecanimTranslator Translator { get { return translator; } } - private bool wasUpdatedAfterInit = true; - - #region Bone Callbacks (ISkeletonAnimation) - protected event UpdateBonesDelegate _BeforeApply; - protected event UpdateBonesDelegate _UpdateLocal; - protected event UpdateBonesDelegate _UpdateWorld; - protected event UpdateBonesDelegate _UpdateComplete; - - /// - /// Occurs before the animations are applied. - /// Use this callback when you want to change the skeleton state before animations are applied on top. - /// - public event UpdateBonesDelegate BeforeApply { add { _BeforeApply += value; } remove { _BeforeApply -= value; } } - - /// - /// Occurs after the animations are applied and before world space values are resolved. - /// Use this callback when you want to set bone local values. - public event UpdateBonesDelegate UpdateLocal { add { _UpdateLocal += value; } remove { _UpdateLocal -= value; } } - - /// - /// Occurs after the Skeleton's bone world space values are resolved (including all constraints). - /// Using this callback will cause the world space values to be solved an extra time. - /// Use this callback if want to use bone world space values, and also set bone local values. - public event UpdateBonesDelegate UpdateWorld { add { _UpdateWorld += value; } remove { _UpdateWorld -= value; } } - - /// - /// Occurs after the Skeleton's bone world space values are resolved (including all constraints). - /// Use this callback if you want to use bone world space values, but don't intend to modify bone local values. - /// This callback can also be used when setting world position and the bone matrix. - public event UpdateBonesDelegate UpdateComplete { add { _UpdateComplete += value; } remove { _UpdateComplete -= value; } } - #endregion - - public override void Initialize (bool overwrite, bool quiet = false) { - if (valid && !overwrite) - return; - - base.Initialize(overwrite, quiet); - - if (!valid) - return; - - if (translator == null) translator = new MecanimTranslator(); - translator.Initialize(GetComponent(), this.skeletonDataAsset); - wasUpdatedAfterInit = false; - } - - public void Update () { - if (!valid) return; - - wasUpdatedAfterInit = true; - // animation status is kept by Mecanim Animator component - if (updateMode <= UpdateMode.OnlyAnimationStatus) - return; - ApplyAnimation(); - } - - protected void ApplyAnimation () { - if (_BeforeApply != null) - _BeforeApply(this); - - #if UNITY_EDITOR - var translatorAnimator = translator.Animator; - if (translatorAnimator != null && !translatorAnimator.isInitialized) - translatorAnimator.Rebind(); - - if (Application.isPlaying) { - translator.Apply(skeleton); - } - else { - if (translatorAnimator != null && translatorAnimator.isInitialized && - translatorAnimator.isActiveAndEnabled && translatorAnimator.runtimeAnimatorController != null) { - // Note: Rebind is required to prevent warning "Animator is not playing an AnimatorController" with prefabs - translatorAnimator.Rebind(); - translator.Apply(skeleton); - } - } - #else - translator.Apply(skeleton); - #endif - - // UpdateWorldTransform and Bone Callbacks - { - if (_UpdateLocal != null) - _UpdateLocal(this); - - skeleton.UpdateWorldTransform(); - - if (_UpdateWorld != null) { - _UpdateWorld(this); - skeleton.UpdateWorldTransform(); - } - - if (_UpdateComplete != null) - _UpdateComplete(this); - } - } - - public override void LateUpdate () { - // instantiation can happen from Update() after this component, leading to a missing Update() call. - if (!wasUpdatedAfterInit) Update(); - base.LateUpdate(); - } - - [System.Serializable] - public class MecanimTranslator { - - const float WeightEpsilon = 0.0001f; - - #region Inspector - public bool autoReset = true; - public bool useCustomMixMode = true; - public MixMode[] layerMixModes = new MixMode[0]; - public MixBlend[] layerBlendModes = new MixBlend[0]; - #endregion - - public delegate void OnClipAppliedDelegate (Spine.Animation clip, int layerIndex, float weight, - float time, float lastTime, bool playsBackward); - protected event OnClipAppliedDelegate _OnClipApplied; - - public event OnClipAppliedDelegate OnClipApplied { add { _OnClipApplied += value; } remove { _OnClipApplied -= value; } } - - public enum MixMode { AlwaysMix, MixNext, Hard } - - readonly Dictionary animationTable = new Dictionary(IntEqualityComparer.Instance); - readonly Dictionary clipNameHashCodeTable = new Dictionary(AnimationClipEqualityComparer.Instance); - readonly List previousAnimations = new List(); - - protected class ClipInfos { - public bool isInterruptionActive = false; - public bool isLastFrameOfInterruption = false; - - public int clipInfoCount = 0; - public int nextClipInfoCount = 0; - public int interruptingClipInfoCount = 0; - public readonly List clipInfos = new List(); - public readonly List nextClipInfos = new List(); - public readonly List interruptingClipInfos = new List(); - - public AnimatorStateInfo stateInfo; - public AnimatorStateInfo nextStateInfo; - public AnimatorStateInfo interruptingStateInfo; - - public float interruptingClipTimeAddition = 0; - } - protected ClipInfos[] layerClipInfos = new ClipInfos[0]; - - Animator animator; - public Animator Animator { get { return this.animator; } } - - public int MecanimLayerCount { - get { - if (!animator) - return 0; - return animator.layerCount; - } - } - - public string[] MecanimLayerNames { - get { - if (!animator) - return new string[0]; - string[] layerNames = new string[animator.layerCount]; - for (int i = 0; i < animator.layerCount; ++i) { - layerNames[i] = animator.GetLayerName(i); - } - return layerNames; - } - } - - public void Initialize(Animator animator, SkeletonDataAsset skeletonDataAsset) { - this.animator = animator; - - previousAnimations.Clear(); - - animationTable.Clear(); - var data = skeletonDataAsset.GetSkeletonData(true); - foreach (var a in data.Animations) - animationTable.Add(a.Name.GetHashCode(), a); - - clipNameHashCodeTable.Clear(); - ClearClipInfosForLayers(); - } - - private bool ApplyAnimation (Skeleton skeleton, AnimatorClipInfo info, AnimatorStateInfo stateInfo, - int layerIndex, float layerWeight, MixBlend layerBlendMode, bool useClipWeight1 = false) { - float weight = info.weight * layerWeight; - if (weight < WeightEpsilon) - return false; - - var clip = GetAnimation(info.clip); - if (clip == null) - return false; - - var time = AnimationTime(stateInfo.normalizedTime, info.clip.length, - info.clip.isLooping, stateInfo.speed < 0); - weight = useClipWeight1 ? layerWeight : weight; - clip.Apply(skeleton, 0, time, info.clip.isLooping, null, - weight, layerBlendMode, MixDirection.In); - if (_OnClipApplied != null) - OnClipAppliedCallback(clip, stateInfo, layerIndex, time, info.clip.isLooping, weight); - return true; - } - - private bool ApplyInterruptionAnimation (Skeleton skeleton, - bool interpolateWeightTo1, AnimatorClipInfo info, AnimatorStateInfo stateInfo, - int layerIndex, float layerWeight, MixBlend layerBlendMode, float interruptingClipTimeAddition, - bool useClipWeight1 = false) { - - float clipWeight = interpolateWeightTo1 ? (info.weight + 1.0f) * 0.5f : info.weight; - float weight = clipWeight * layerWeight; - if (weight < WeightEpsilon) - return false; - - var clip = GetAnimation(info.clip); - if (clip == null) - return false; - - var time = AnimationTime(stateInfo.normalizedTime + interruptingClipTimeAddition, - info.clip.length, stateInfo.speed < 0); - weight = useClipWeight1 ? layerWeight : weight; - clip.Apply(skeleton, 0, time, info.clip.isLooping, null, - weight, layerBlendMode, MixDirection.In); - if (_OnClipApplied != null) { - OnClipAppliedCallback(clip, stateInfo, layerIndex, time, info.clip.isLooping, weight); - } - return true; - } - - private void OnClipAppliedCallback (Spine.Animation clip, AnimatorStateInfo stateInfo, - int layerIndex, float time, bool isLooping, float weight) { - - float speedFactor = stateInfo.speedMultiplier * stateInfo.speed; - float lastTime = time - (Time.deltaTime * speedFactor); - if (isLooping && clip.duration != 0) { - time %= clip.duration; - lastTime %= clip.duration; - } - _OnClipApplied(clip, layerIndex, weight, time, lastTime, speedFactor < 0); - } - - public void Apply (Skeleton skeleton) { - #if UNITY_EDITOR - if (!Application.isPlaying) { - GetLayerBlendModes(); - } - #endif - - if (layerMixModes.Length < animator.layerCount) { - int oldSize = layerMixModes.Length; - System.Array.Resize(ref layerMixModes, animator.layerCount); - for (int layer = oldSize; layer < animator.layerCount; ++layer) { - bool isAdditiveLayer = false; - if (layer < layerBlendModes.Length) - isAdditiveLayer = layerBlendModes[layer] == MixBlend.Add; - layerMixModes[layer] = isAdditiveLayer ? MixMode.AlwaysMix : MixMode.MixNext; - } - } - - InitClipInfosForLayers(); - for (int layer = 0, n = animator.layerCount; layer < n; layer++) { - GetStateUpdatesFromAnimator(layer); - } - - // Clear Previous - if (autoReset) { - var previousAnimations = this.previousAnimations; - for (int i = 0, n = previousAnimations.Count; i < n; i++) - previousAnimations[i].SetKeyedItemsToSetupPose(skeleton); - - previousAnimations.Clear(); - for (int layer = 0, n = animator.layerCount; layer < n; layer++) { - float layerWeight = (layer == 0) ? 1 : animator.GetLayerWeight(layer); // Animator.GetLayerWeight always returns 0 on the first layer. Should be interpreted as 1. - if (layerWeight <= 0) continue; - - AnimatorStateInfo nextStateInfo = animator.GetNextAnimatorStateInfo(layer); - - bool hasNext = nextStateInfo.fullPathHash != 0; - - int clipInfoCount, nextClipInfoCount, interruptingClipInfoCount; - IList clipInfo, nextClipInfo, interruptingClipInfo; - bool isInterruptionActive, shallInterpolateWeightTo1; - GetAnimatorClipInfos(layer, out isInterruptionActive, out clipInfoCount, out nextClipInfoCount, out interruptingClipInfoCount, - out clipInfo, out nextClipInfo, out interruptingClipInfo, out shallInterpolateWeightTo1); - - for (int c = 0; c < clipInfoCount; c++) { - var info = clipInfo[c]; - float weight = info.weight * layerWeight; if (weight < WeightEpsilon) continue; - var clip = GetAnimation(info.clip); - if (clip != null) - previousAnimations.Add(clip); - } - - if (hasNext) { - for (int c = 0; c < nextClipInfoCount; c++) { - var info = nextClipInfo[c]; - float weight = info.weight * layerWeight; if (weight < WeightEpsilon) continue; - var clip = GetAnimation(info.clip); - if (clip != null) - previousAnimations.Add(clip); - } - } - - if (isInterruptionActive) { - for (int c = 0; c < interruptingClipInfoCount; c++) - { - var info = interruptingClipInfo[c]; - float clipWeight = shallInterpolateWeightTo1 ? (info.weight + 1.0f) * 0.5f : info.weight; - float weight = clipWeight * layerWeight; if (weight < WeightEpsilon) continue; - var clip = GetAnimation(info.clip); - if (clip != null) - previousAnimations.Add(clip); - } - } - } - } - - // Apply - for (int layer = 0, n = animator.layerCount; layer < n; layer++) { - float layerWeight = (layer == 0) ? 1 : animator.GetLayerWeight(layer); // Animator.GetLayerWeight always returns 0 on the first layer. Should be interpreted as 1. - - bool isInterruptionActive; - AnimatorStateInfo stateInfo; - AnimatorStateInfo nextStateInfo; - AnimatorStateInfo interruptingStateInfo; - float interruptingClipTimeAddition; - GetAnimatorStateInfos(layer, out isInterruptionActive, out stateInfo, out nextStateInfo, out interruptingStateInfo, out interruptingClipTimeAddition); - - bool hasNext = nextStateInfo.fullPathHash != 0; - - int clipInfoCount, nextClipInfoCount, interruptingClipInfoCount; - IList clipInfo, nextClipInfo, interruptingClipInfo; - bool interpolateWeightTo1; - GetAnimatorClipInfos(layer, out isInterruptionActive, out clipInfoCount, out nextClipInfoCount, out interruptingClipInfoCount, - out clipInfo, out nextClipInfo, out interruptingClipInfo, out interpolateWeightTo1); - - MixBlend layerBlendMode = (layer < layerBlendModes.Length) ? layerBlendModes[layer] : MixBlend.Replace; - MixMode mode = GetMixMode(layer, layerBlendMode); - if (mode == MixMode.AlwaysMix) { - // Always use Mix instead of Applying the first non-zero weighted clip. - for (int c = 0; c < clipInfoCount; c++) { - ApplyAnimation(skeleton, clipInfo[c], stateInfo, layer, layerWeight, layerBlendMode); - } - if (hasNext) { - for (int c = 0; c < nextClipInfoCount; c++) { - ApplyAnimation(skeleton, nextClipInfo[c], nextStateInfo, layer, layerWeight, layerBlendMode); - } - } - if (isInterruptionActive) { - for (int c = 0; c < interruptingClipInfoCount; c++) - { - ApplyInterruptionAnimation(skeleton, interpolateWeightTo1, - interruptingClipInfo[c], interruptingStateInfo, - layer, layerWeight, layerBlendMode, interruptingClipTimeAddition); - } - } - } else { // case MixNext || Hard - // Apply first non-zero weighted clip - int c = 0; - for (; c < clipInfoCount; c++) { - if (!ApplyAnimation(skeleton, clipInfo[c], stateInfo, layer, layerWeight, layerBlendMode, useClipWeight1:true)) - continue; - ++c; break; - } - // Mix the rest - for (; c < clipInfoCount; c++) { - ApplyAnimation(skeleton, clipInfo[c], stateInfo, layer, layerWeight, layerBlendMode); - } - - c = 0; - if (hasNext) { - // Apply next clip directly instead of mixing (ie: no crossfade, ignores mecanim transition weights) - if (mode == MixMode.Hard) { - for (; c < nextClipInfoCount; c++) { - if (!ApplyAnimation(skeleton, nextClipInfo[c], nextStateInfo, layer, layerWeight, layerBlendMode, useClipWeight1:true)) - continue; - ++c; break; - } - } - // Mix the rest - for (; c < nextClipInfoCount; c++) { - if (!ApplyAnimation(skeleton, nextClipInfo[c], nextStateInfo, layer, layerWeight, layerBlendMode)) - continue; - } - } - - c = 0; - if (isInterruptionActive) { - // Apply next clip directly instead of mixing (ie: no crossfade, ignores mecanim transition weights) - if (mode == MixMode.Hard) { - for (; c < interruptingClipInfoCount; c++) { - if (ApplyInterruptionAnimation(skeleton, interpolateWeightTo1, - interruptingClipInfo[c], interruptingStateInfo, - layer, layerWeight, layerBlendMode, interruptingClipTimeAddition, useClipWeight1:true)) { - - ++c; break; - } - } - } - // Mix the rest - for (; c < interruptingClipInfoCount; c++) { - ApplyInterruptionAnimation(skeleton, interpolateWeightTo1, - interruptingClipInfo[c], interruptingStateInfo, - layer, layerWeight, layerBlendMode, interruptingClipTimeAddition); - } - } - } - } - } - - public KeyValuePair GetActiveAnimationAndTime (int layer) { - if (layer >= layerClipInfos.Length) - return new KeyValuePair(null, 0); - - var layerInfos = layerClipInfos[layer]; - bool isInterruptionActive = layerInfos.isInterruptionActive; - AnimationClip clip = null; - Spine.Animation animation = null; - AnimatorStateInfo stateInfo; - if (isInterruptionActive && layerInfos.interruptingClipInfoCount > 0) { - clip = layerInfos.interruptingClipInfos[0].clip; - stateInfo = layerInfos.interruptingStateInfo; - } - else { - clip = layerInfos.clipInfos[0].clip; - stateInfo = layerInfos.stateInfo; - } - animation = GetAnimation(clip); - float time = AnimationTime(stateInfo.normalizedTime, clip.length, - clip.isLooping, stateInfo.speed < 0); - return new KeyValuePair(animation, time); - } - - static float AnimationTime (float normalizedTime, float clipLength, bool loop, bool reversed) { - float time = AnimationTime(normalizedTime, clipLength, reversed); - if (loop) return time; - const float EndSnapEpsilon = 1f / 30f; // Workaround for end-duration keys not being applied. - return (clipLength - time < EndSnapEpsilon) ? clipLength : time; // return a time snapped to clipLength; - } - - static float AnimationTime (float normalizedTime, float clipLength, bool reversed) { - if (reversed) - normalizedTime = (1 - normalizedTime); - if (normalizedTime < 0.0f) - normalizedTime = (normalizedTime % 1.0f) + 1.0f; - return normalizedTime * clipLength; - } - - void InitClipInfosForLayers () { - if (layerClipInfos.Length < animator.layerCount) { - System.Array.Resize(ref layerClipInfos, animator.layerCount); - for (int layer = 0, n = animator.layerCount; layer < n; ++layer) { - if (layerClipInfos[layer] == null) - layerClipInfos[layer] = new ClipInfos(); - } - } - } - - void ClearClipInfosForLayers () { - for (int layer = 0, n = layerClipInfos.Length; layer < n; ++layer) { - if (layerClipInfos[layer] == null) - layerClipInfos[layer] = new ClipInfos(); - else { - layerClipInfos[layer].isInterruptionActive = false; - layerClipInfos[layer].isLastFrameOfInterruption = false; - layerClipInfos[layer].clipInfos.Clear(); - layerClipInfos[layer].nextClipInfos.Clear(); - layerClipInfos[layer].interruptingClipInfos.Clear(); - } - } - } - - private MixMode GetMixMode (int layer, MixBlend layerBlendMode) { - if (useCustomMixMode) { - MixMode mode = layerMixModes[layer]; - // Note: at additive blending it makes no sense to use constant weight 1 at a fadeout anim add1 as - // with override layers, so we use AlwaysMix instead to use the proper weights. - // AlwaysMix leads to the expected result = lower_layer + lerp(add1, add2, transition_weight). - if (layerBlendMode == MixBlend.Add && mode == MixMode.MixNext) { - mode = MixMode.AlwaysMix; - layerMixModes[layer] = mode; - } - return mode; - } - else { - return layerBlendMode == MixBlend.Add ? MixMode.AlwaysMix : MixMode.MixNext; - } - } - -#if UNITY_EDITOR - void GetLayerBlendModes() { - if (layerBlendModes.Length < animator.layerCount) { - System.Array.Resize(ref layerBlendModes, animator.layerCount); - } - for (int layer = 0, n = animator.layerCount; layer < n; ++layer) { - var controller = animator.runtimeAnimatorController as UnityEditor.Animations.AnimatorController; - if (controller != null) { - layerBlendModes[layer] = MixBlend.First; - if (layer > 0) { - layerBlendModes[layer] = controller.layers[layer].blendingMode == UnityEditor.Animations.AnimatorLayerBlendingMode.Additive ? - MixBlend.Add : MixBlend.Replace; - } - } - } - } - #endif - - void GetStateUpdatesFromAnimator (int layer) { - - var layerInfos = layerClipInfos[layer]; - int clipInfoCount = animator.GetCurrentAnimatorClipInfoCount(layer); - int nextClipInfoCount = animator.GetNextAnimatorClipInfoCount(layer); - - var clipInfos = layerInfos.clipInfos; - var nextClipInfos = layerInfos.nextClipInfos; - var interruptingClipInfos = layerInfos.interruptingClipInfos; - - layerInfos.isInterruptionActive = (clipInfoCount == 0 && clipInfos.Count != 0 && - nextClipInfoCount == 0 && nextClipInfos.Count != 0); - - // Note: during interruption, GetCurrentAnimatorClipInfoCount and GetNextAnimatorClipInfoCount - // are returning 0 in calls above. Therefore we keep previous clipInfos and nextClipInfos - // until the interruption is over. - if (layerInfos.isInterruptionActive) { - - // Note: The last frame of a transition interruption - // will have fullPathHash set to 0, therefore we have to use previous - // frame's infos about interruption clips and correct some values - // accordingly (normalizedTime and weight). - var interruptingStateInfo = animator.GetNextAnimatorStateInfo(layer); - layerInfos.isLastFrameOfInterruption = interruptingStateInfo.fullPathHash == 0; - if (!layerInfos.isLastFrameOfInterruption) { - animator.GetNextAnimatorClipInfo(layer, interruptingClipInfos); - layerInfos.interruptingClipInfoCount = interruptingClipInfos.Count; - float oldTime = layerInfos.interruptingStateInfo.normalizedTime; - float newTime = interruptingStateInfo.normalizedTime; - layerInfos.interruptingClipTimeAddition = newTime - oldTime; - layerInfos.interruptingStateInfo = interruptingStateInfo; - } - } else { - layerInfos.clipInfoCount = clipInfoCount; - layerInfos.nextClipInfoCount = nextClipInfoCount; - layerInfos.interruptingClipInfoCount = 0; - layerInfos.isLastFrameOfInterruption = false; - - if (clipInfos.Capacity < clipInfoCount) clipInfos.Capacity = clipInfoCount; - if (nextClipInfos.Capacity < nextClipInfoCount) nextClipInfos.Capacity = nextClipInfoCount; - - animator.GetCurrentAnimatorClipInfo(layer, clipInfos); - animator.GetNextAnimatorClipInfo(layer, nextClipInfos); - - layerInfos.stateInfo = animator.GetCurrentAnimatorStateInfo(layer); - layerInfos.nextStateInfo = animator.GetNextAnimatorStateInfo(layer); - } - } - - void GetAnimatorClipInfos ( - int layer, - out bool isInterruptionActive, - out int clipInfoCount, - out int nextClipInfoCount, - out int interruptingClipInfoCount, - out IList clipInfo, - out IList nextClipInfo, - out IList interruptingClipInfo, - out bool shallInterpolateWeightTo1) { - - var layerInfos = layerClipInfos[layer]; - isInterruptionActive = layerInfos.isInterruptionActive; - - clipInfoCount = layerInfos.clipInfoCount; - nextClipInfoCount = layerInfos.nextClipInfoCount; - interruptingClipInfoCount = layerInfos.interruptingClipInfoCount; - - clipInfo = layerInfos.clipInfos; - nextClipInfo = layerInfos.nextClipInfos; - interruptingClipInfo = isInterruptionActive ? layerInfos.interruptingClipInfos : null; - shallInterpolateWeightTo1 = layerInfos.isLastFrameOfInterruption; - } - - void GetAnimatorStateInfos ( - int layer, - out bool isInterruptionActive, - out AnimatorStateInfo stateInfo, - out AnimatorStateInfo nextStateInfo, - out AnimatorStateInfo interruptingStateInfo, - out float interruptingClipTimeAddition) { - - var layerInfos = layerClipInfos[layer]; - isInterruptionActive = layerInfos.isInterruptionActive; - - stateInfo = layerInfos.stateInfo; - nextStateInfo = layerInfos.nextStateInfo; - interruptingStateInfo = layerInfos.interruptingStateInfo; - interruptingClipTimeAddition = layerInfos.isLastFrameOfInterruption ? layerInfos.interruptingClipTimeAddition : 0; - } - - Spine.Animation GetAnimation (AnimationClip clip) { - int clipNameHashCode; - if (!clipNameHashCodeTable.TryGetValue(clip, out clipNameHashCode)) { - clipNameHashCode = clip.name.GetHashCode(); - clipNameHashCodeTable.Add(clip, clipNameHashCode); - } - Spine.Animation animation; - animationTable.TryGetValue(clipNameHashCode, out animation); - return animation; - } - - class AnimationClipEqualityComparer : IEqualityComparer { - internal static readonly IEqualityComparer Instance = new AnimationClipEqualityComparer(); - public bool Equals (AnimationClip x, AnimationClip y) { return x.GetInstanceID() == y.GetInstanceID(); } - public int GetHashCode (AnimationClip o) { return o.GetInstanceID(); } - } - - class IntEqualityComparer : IEqualityComparer { - internal static readonly IEqualityComparer Instance = new IntEqualityComparer(); - public bool Equals (int x, int y) { return x == y; } - public int GetHashCode(int o) { return o; } - } - } - - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonMecanim.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonMecanim.cs.meta deleted file mode 100644 index ebd50dc..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonMecanim.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: f9db98c60740638449864eb028fbe7ad -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderSeparator.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderSeparator.meta deleted file mode 100644 index 72398a4..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderSeparator.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 3a361f5ac799a5149b340f9e20da27d1 -folderAsset: yes -timeCreated: 1457405502 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderSeparator/SkeletonPartsRenderer.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderSeparator/SkeletonPartsRenderer.cs deleted file mode 100644 index cb3479a..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderSeparator/SkeletonPartsRenderer.cs +++ /dev/null @@ -1,151 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEngine; - -namespace Spine.Unity { - [RequireComponent(typeof(MeshRenderer), typeof(MeshFilter))] - [HelpURL("http://esotericsoftware.com/spine-unity#SkeletonRenderSeparator")] - public class SkeletonPartsRenderer : MonoBehaviour { - - #region Properties - MeshGenerator meshGenerator; - public MeshGenerator MeshGenerator { - get { - LazyIntialize(); - return meshGenerator; - } - } - - MeshRenderer meshRenderer; - public MeshRenderer MeshRenderer { - get { - LazyIntialize(); - return meshRenderer; - } - } - - MeshFilter meshFilter; - public MeshFilter MeshFilter { - get { - LazyIntialize(); - return meshFilter; - } - } - #endregion - - #region Callback Delegates - public delegate void SkeletonPartsRendererDelegate (SkeletonPartsRenderer skeletonPartsRenderer); - - /// OnMeshAndMaterialsUpdated is called at the end of LateUpdate after the Mesh and - /// all materials have been updated. - public event SkeletonPartsRendererDelegate OnMeshAndMaterialsUpdated; - #endregion - - MeshRendererBuffers buffers; - SkeletonRendererInstruction currentInstructions = new SkeletonRendererInstruction(); - - - void LazyIntialize () { - if (buffers == null) { - buffers = new MeshRendererBuffers(); - buffers.Initialize(); - - if (meshGenerator != null) return; - meshGenerator = new MeshGenerator(); - meshFilter = GetComponent(); - meshRenderer = GetComponent(); - currentInstructions.Clear(); - } - } - - public void ClearMesh () { - LazyIntialize(); - meshFilter.sharedMesh = null; - } - - public void RenderParts (ExposedList instructions, int startSubmesh, int endSubmesh) { - LazyIntialize(); - - // STEP 1: Create instruction - var smartMesh = buffers.GetNextMesh(); - currentInstructions.SetWithSubset(instructions, startSubmesh, endSubmesh); - bool updateTriangles = SkeletonRendererInstruction.GeometryNotEqual(currentInstructions, smartMesh.instructionUsed); - - // STEP 2: Generate mesh buffers. - var currentInstructionsSubmeshesItems = currentInstructions.submeshInstructions.Items; - meshGenerator.Begin(); - if (currentInstructions.hasActiveClipping) { - for (int i = 0; i < currentInstructions.submeshInstructions.Count; i++) - meshGenerator.AddSubmesh(currentInstructionsSubmeshesItems[i], updateTriangles); - } else { - meshGenerator.BuildMeshWithArrays(currentInstructions, updateTriangles); - } - - buffers.UpdateSharedMaterials(currentInstructions.submeshInstructions); - - // STEP 3: modify mesh. - var mesh = smartMesh.mesh; - - if (meshGenerator.VertexCount <= 0) { // Clear an empty mesh - updateTriangles = false; - mesh.Clear(); - } else { - meshGenerator.FillVertexData(mesh); - if (updateTriangles) { - meshGenerator.FillTriangles(mesh); - meshRenderer.sharedMaterials = buffers.GetUpdatedSharedMaterialsArray(); - } else if (buffers.MaterialsChangedInLastUpdate()) { - meshRenderer.sharedMaterials = buffers.GetUpdatedSharedMaterialsArray(); - } - meshGenerator.FillLateVertexData(mesh); - } - - meshFilter.sharedMesh = mesh; - smartMesh.instructionUsed.Set(currentInstructions); - - if (OnMeshAndMaterialsUpdated != null) - OnMeshAndMaterialsUpdated(this); - } - - public void SetPropertyBlock (MaterialPropertyBlock block) { - LazyIntialize(); - meshRenderer.SetPropertyBlock(block); - } - - public static SkeletonPartsRenderer NewPartsRendererGameObject (Transform parent, string name, int sortingOrder = 0) { - var go = new GameObject(name, typeof(MeshFilter), typeof(MeshRenderer)); - go.transform.SetParent(parent, false); - var returnComponent = go.AddComponent(); - returnComponent.MeshRenderer.sortingOrder = sortingOrder; - - return returnComponent; - } - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderSeparator/SkeletonPartsRenderer.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderSeparator/SkeletonPartsRenderer.cs.meta deleted file mode 100644 index 9359388..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderSeparator/SkeletonPartsRenderer.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 1c0b968d1e7333b499e347acb644f1c1 -timeCreated: 1458045480 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderSeparator/SkeletonRenderSeparator.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderSeparator/SkeletonRenderSeparator.cs deleted file mode 100644 index d2d187e..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderSeparator/SkeletonRenderSeparator.cs +++ /dev/null @@ -1,269 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER -#define NEW_PREFAB_SYSTEM -#endif -#define SPINE_OPTIONAL_RENDEROVERRIDE - -using UnityEngine; -using System.Collections.Generic; - -namespace Spine.Unity { - - #if NEW_PREFAB_SYSTEM - [ExecuteAlways] - #else - [ExecuteInEditMode] - #endif - [HelpURL("http://esotericsoftware.com/spine-unity#SkeletonRenderSeparator")] - public class SkeletonRenderSeparator : MonoBehaviour { - public const int DefaultSortingOrderIncrement = 5; - - #region Inspector - [SerializeField] - protected SkeletonRenderer skeletonRenderer; - public SkeletonRenderer SkeletonRenderer { - get { return skeletonRenderer; } - set { - #if SPINE_OPTIONAL_RENDEROVERRIDE - if (skeletonRenderer != null) - skeletonRenderer.GenerateMeshOverride -= HandleRender; - #endif - - skeletonRenderer = value; - if (value == null) - this.enabled = false; - } - } - - MeshRenderer mainMeshRenderer; - public bool copyPropertyBlock = true; - [Tooltip("Copies MeshRenderer flags into each parts renderer")] - public bool copyMeshRendererFlags = true; - public List partsRenderers = new List(); - - #if UNITY_EDITOR - void Reset () { - if (skeletonRenderer == null) - skeletonRenderer = GetComponent(); - } - #endif - #endregion - - #region Callback Delegates - /// OnMeshAndMaterialsUpdated is called at the end of LateUpdate after the Mesh and - /// all materials have been updated. - public event SkeletonRenderer.SkeletonRendererDelegate OnMeshAndMaterialsUpdated; - #endregion - - #region Runtime Instantiation - /// Adds a SkeletonRenderSeparator and child SkeletonPartsRenderer GameObjects to a given SkeletonRenderer. - /// The to skeleton renderer. - /// The target SkeletonRenderer or SkeletonAnimation. - /// Sorting layer to be used for the parts renderers. - /// Number of additional SkeletonPartsRenderers on top of the ones determined by counting the number of separator slots. - /// The integer to increment the sorting order per SkeletonPartsRenderer to separate them. - /// The sorting order value of the first SkeletonPartsRenderer. - /// If set to true, a minimum number of SkeletonPartsRenderer GameObjects (determined by separatorSlots.Count + 1) will be added. - public static SkeletonRenderSeparator AddToSkeletonRenderer (SkeletonRenderer skeletonRenderer, int sortingLayerID = 0, int extraPartsRenderers = 0, int sortingOrderIncrement = DefaultSortingOrderIncrement, int baseSortingOrder = 0, bool addMinimumPartsRenderers = true) { - if (skeletonRenderer == null) { - Debug.Log("Tried to add SkeletonRenderSeparator to a null SkeletonRenderer reference."); - return null; - } - - var srs = skeletonRenderer.gameObject.AddComponent(); - srs.skeletonRenderer = skeletonRenderer; - - skeletonRenderer.Initialize(false); - int count = extraPartsRenderers; - if (addMinimumPartsRenderers) - count = extraPartsRenderers + skeletonRenderer.separatorSlots.Count + 1; - - var skeletonRendererTransform = skeletonRenderer.transform; - var componentRenderers = srs.partsRenderers; - - for (int i = 0; i < count; i++) { - var spr = SkeletonPartsRenderer.NewPartsRendererGameObject(skeletonRendererTransform, i.ToString()); - var mr = spr.MeshRenderer; - mr.sortingLayerID = sortingLayerID; - mr.sortingOrder = baseSortingOrder + (i * sortingOrderIncrement); - componentRenderers.Add(spr); - } - - srs.OnEnable(); - - #if UNITY_EDITOR - // Make sure editor updates properly in edit mode. - if (!Application.isPlaying) { - skeletonRenderer.enabled = false; - skeletonRenderer.enabled = true; - skeletonRenderer.LateUpdate(); - } - #endif - - return srs; - } - - /// Add a child SkeletonPartsRenderer GameObject to this SkeletonRenderSeparator. - public SkeletonPartsRenderer AddPartsRenderer (int sortingOrderIncrement = DefaultSortingOrderIncrement, string name = null) { - int sortingLayerID = 0; - int sortingOrder = 0; - if (partsRenderers.Count > 0) { - var previous = partsRenderers[partsRenderers.Count - 1]; - var previousMeshRenderer = previous.MeshRenderer; - sortingLayerID = previousMeshRenderer.sortingLayerID; - sortingOrder = previousMeshRenderer.sortingOrder + sortingOrderIncrement; - } - - if (string.IsNullOrEmpty(name)) - name = partsRenderers.Count.ToString(); - - var spr = SkeletonPartsRenderer.NewPartsRendererGameObject(skeletonRenderer.transform, name); - partsRenderers.Add(spr); - - var mr = spr.MeshRenderer; - mr.sortingLayerID = sortingLayerID; - mr.sortingOrder = sortingOrder; - - return spr; - } - #endregion - - public void OnEnable () { - if (skeletonRenderer == null) return; - if (copiedBlock == null) copiedBlock = new MaterialPropertyBlock(); - mainMeshRenderer = skeletonRenderer.GetComponent(); - - #if SPINE_OPTIONAL_RENDEROVERRIDE - skeletonRenderer.GenerateMeshOverride -= HandleRender; - skeletonRenderer.GenerateMeshOverride += HandleRender; - #endif - - if (copyMeshRendererFlags) { - var lightProbeUsage = mainMeshRenderer.lightProbeUsage; - bool receiveShadows = mainMeshRenderer.receiveShadows; - var reflectionProbeUsage = mainMeshRenderer.reflectionProbeUsage; - var shadowCastingMode = mainMeshRenderer.shadowCastingMode; - var motionVectorGenerationMode = mainMeshRenderer.motionVectorGenerationMode; - var probeAnchor = mainMeshRenderer.probeAnchor; - - for (int i = 0; i < partsRenderers.Count; i++) { - var currentRenderer = partsRenderers[i]; - if (currentRenderer == null) continue; // skip null items. - - var mr = currentRenderer.MeshRenderer; - mr.lightProbeUsage = lightProbeUsage; - mr.receiveShadows = receiveShadows; - mr.reflectionProbeUsage = reflectionProbeUsage; - mr.shadowCastingMode = shadowCastingMode; - mr.motionVectorGenerationMode = motionVectorGenerationMode; - mr.probeAnchor = probeAnchor; - } - } - } - - public void OnDisable () { - if (skeletonRenderer == null) return; - #if SPINE_OPTIONAL_RENDEROVERRIDE - skeletonRenderer.GenerateMeshOverride -= HandleRender; - #endif - - skeletonRenderer.LateUpdate(); - - foreach (var partsRenderer in partsRenderers) { - if (partsRenderer != null) - partsRenderer.ClearMesh(); - } - } - - MaterialPropertyBlock copiedBlock; - - void HandleRender (SkeletonRendererInstruction instruction) { - int rendererCount = partsRenderers.Count; - if (rendererCount <= 0) return; - - if (copyPropertyBlock) - mainMeshRenderer.GetPropertyBlock(copiedBlock); - - var settings = new MeshGenerator.Settings { - addNormals = skeletonRenderer.addNormals, - calculateTangents = skeletonRenderer.calculateTangents, - immutableTriangles = false, // parts cannot do immutable triangles. - pmaVertexColors = skeletonRenderer.pmaVertexColors, - tintBlack = skeletonRenderer.tintBlack, - useClipping = true, - zSpacing = skeletonRenderer.zSpacing - }; - - var submeshInstructions = instruction.submeshInstructions; - var submeshInstructionsItems = submeshInstructions.Items; - int lastSubmeshInstruction = submeshInstructions.Count - 1; - - int rendererIndex = 0; - var currentRenderer = partsRenderers[rendererIndex]; - for (int si = 0, start = 0; si <= lastSubmeshInstruction; si++) { - if (currentRenderer == null) - continue; - if (submeshInstructionsItems[si].forceSeparate || si == lastSubmeshInstruction) { - // Apply properties - var meshGenerator = currentRenderer.MeshGenerator; - meshGenerator.settings = settings; - - if (copyPropertyBlock) - currentRenderer.SetPropertyBlock(copiedBlock); - - // Render - currentRenderer.RenderParts(instruction.submeshInstructions, start, si + 1); - - start = si + 1; - rendererIndex++; - if (rendererIndex < rendererCount) { - currentRenderer = partsRenderers[rendererIndex]; - } else { - // Not enough renderers. Skip the rest of the instructions. - break; - } - } - } - - if (OnMeshAndMaterialsUpdated != null) - OnMeshAndMaterialsUpdated(this.skeletonRenderer); - - // Clear extra renderers if they exist. - for (; rendererIndex < rendererCount; rendererIndex++) { - currentRenderer = partsRenderers[rendererIndex]; - if (currentRenderer != null) - partsRenderers[rendererIndex].ClearMesh(); - } - - } - - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderSeparator/SkeletonRenderSeparator.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderSeparator/SkeletonRenderSeparator.cs.meta deleted file mode 100644 index 0c344f7..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderSeparator/SkeletonRenderSeparator.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 5c70a5b35f6ff2541aed8e8346b7e4d5 -timeCreated: 1457405791 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs deleted file mode 100644 index a40a510..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs +++ /dev/null @@ -1,711 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER -#define NEW_PREFAB_SYSTEM -#endif - -#if UNITY_2018_1_OR_NEWER -#define PER_MATERIAL_PROPERTY_BLOCKS -#endif - -#if UNITY_2017_1_OR_NEWER -#define BUILT_IN_SPRITE_MASK_COMPONENT -#endif - -#if UNITY_2019_3_OR_NEWER -#define CONFIGURABLE_ENTER_PLAY_MODE -#endif - -#define SPINE_OPTIONAL_RENDEROVERRIDE -#define SPINE_OPTIONAL_MATERIALOVERRIDE - -using System.Collections.Generic; -using UnityEngine; - -namespace Spine.Unity { - /// Base class of animated Spine skeleton components. This component manages and renders a skeleton. - #if NEW_PREFAB_SYSTEM - [ExecuteAlways] - #else - [ExecuteInEditMode] - #endif - [RequireComponent(typeof(MeshFilter), typeof(MeshRenderer)), DisallowMultipleComponent] - [HelpURL("http://esotericsoftware.com/spine-unity#SkeletonRenderer-Component")] - public class SkeletonRenderer : MonoBehaviour, ISkeletonComponent, IHasSkeletonDataAsset { - public SkeletonDataAsset skeletonDataAsset; - - #region Initialization settings - /// Skin name to use when the Skeleton is initialized. - [SpineSkin(defaultAsEmptyString:true)] public string initialSkinName; - - /// Enable this parameter when overwriting the Skeleton's skin from an editor script. - /// Otherwise any changes will be overwritten by the next inspector update. - #if UNITY_EDITOR - public bool EditorSkipSkinSync { - get { return editorSkipSkinSync; } - set { editorSkipSkinSync = value; } - } - protected bool editorSkipSkinSync = false; - #endif - /// Flip X and Y to use when the Skeleton is initialized. - public bool initialFlipX, initialFlipY; - #endregion - - #region Advanced Render Settings - - /// Update mode to optionally limit updates to e.g. only apply animations but not update the mesh. - public UpdateMode UpdateMode { get { return updateMode; } set { updateMode = value; } } - protected UpdateMode updateMode = UpdateMode.FullUpdate; - - /// Update mode used when the MeshRenderer becomes invisible - /// (when OnBecameInvisible() is called). Update mode is automatically - /// reset to UpdateMode.FullUpdate when the mesh becomes visible again. - public UpdateMode updateWhenInvisible = UpdateMode.FullUpdate; - - // Submesh Separation - /// Slot names used to populate separatorSlots list when the Skeleton is initialized. Changing this after initialization does nothing. - [UnityEngine.Serialization.FormerlySerializedAs("submeshSeparators")][SerializeField][SpineSlot] protected string[] separatorSlotNames = new string[0]; - - /// Slots that determine where the render is split. This is used by components such as SkeletonRenderSeparator so that the skeleton can be rendered by two separate renderers on different GameObjects. - [System.NonSerialized] public readonly List separatorSlots = new List(); - - // Render Settings - [Range(-0.1f, 0f)] public float zSpacing; - /// Use Spine's clipping feature. If false, ClippingAttachments will be ignored. - public bool useClipping = true; - - /// If true, triangles will not be updated. Enable this as an optimization if the skeleton does not make use of attachment swapping or hiding, or draw order keys. Otherwise, setting this to false may cause errors in rendering. - public bool immutableTriangles = false; - - /// Multiply vertex color RGB with vertex color alpha. Set this to true if the shader used for rendering is a premultiplied alpha shader. Setting this to false disables single-batch additive slots. - public bool pmaVertexColors = true; - - /// Clears the state of the render and skeleton when this component or its GameObject is disabled. This prevents previous state from being retained when it is enabled again. When pooling your skeleton, setting this to true can be helpful. - public bool clearStateOnDisable = false; - - /// If true, second colors on slots will be added to the output Mesh as UV2 and UV3. A special "tint black" shader that interprets UV2 and UV3 as black point colors is required to render this properly. - public bool tintBlack = false; - - /// If true, the renderer assumes the skeleton only requires one Material and one submesh to render. This allows the MeshGenerator to skip checking for changes in Materials. Enable this as an optimization if the skeleton only uses one Material. - /// This disables SkeletonRenderSeparator functionality. - public bool singleSubmesh = false; - - #if PER_MATERIAL_PROPERTY_BLOCKS - /// Applies only when 3+ submeshes are used (2+ materials with alternating order, e.g. "A B A"). - /// If true, GPU instancing is disabled at all materials and MaterialPropertyBlocks are assigned at each - /// material to prevent aggressive batching of submeshes by e.g. the LWRP renderer, leading to incorrect - /// draw order (e.g. "A1 B A2" changed to "A1A2 B"). - /// You can disable this parameter when everything is drawn correctly to save the additional performance cost. - /// - public bool fixDrawOrder = false; - #endif - - /// If true, the mesh generator adds normals to the output mesh. For better performance and reduced memory requirements, use a shader that assumes the desired normal. - [UnityEngine.Serialization.FormerlySerializedAs("calculateNormals")] public bool addNormals = false; - - /// If true, tangents are calculated every frame and added to the Mesh. Enable this when using a shader that uses lighting that requires tangents. - public bool calculateTangents = false; - - #if BUILT_IN_SPRITE_MASK_COMPONENT - /// This enum controls the mode under which the sprite will interact with the masking system. - /// Interaction modes with components are identical to Unity's , - /// see https://docs.unity3d.com/ScriptReference/SpriteMaskInteraction.html. - public SpriteMaskInteraction maskInteraction = SpriteMaskInteraction.None; - - [System.Serializable] - public class SpriteMaskInteractionMaterials { - public bool AnyMaterialCreated { - get { - return materialsMaskDisabled.Length > 0 || - materialsInsideMask.Length > 0 || - materialsOutsideMask.Length > 0; - } - } - - /// Material references for switching material sets at runtime when changes to . - public Material[] materialsMaskDisabled = new Material[0]; - /// Material references for switching material sets at runtime when changes to . - public Material[] materialsInsideMask = new Material[0]; - /// Material references for switching material sets at runtime when changes to . - public Material[] materialsOutsideMask = new Material[0]; - } - /// Material references for switching material sets at runtime when changes. - public SpriteMaskInteractionMaterials maskMaterials = new SpriteMaskInteractionMaterials(); - - /// Shader property ID used for the Stencil comparison function. - public static readonly int STENCIL_COMP_PARAM_ID = Shader.PropertyToID("_StencilComp"); - /// Shader property value used as Stencil comparison function for . - public const UnityEngine.Rendering.CompareFunction STENCIL_COMP_MASKINTERACTION_NONE = UnityEngine.Rendering.CompareFunction.Always; - /// Shader property value used as Stencil comparison function for . - public const UnityEngine.Rendering.CompareFunction STENCIL_COMP_MASKINTERACTION_VISIBLE_INSIDE = UnityEngine.Rendering.CompareFunction.LessEqual; - /// Shader property value used as Stencil comparison function for . - public const UnityEngine.Rendering.CompareFunction STENCIL_COMP_MASKINTERACTION_VISIBLE_OUTSIDE = UnityEngine.Rendering.CompareFunction.Greater; - #if UNITY_EDITOR - private static bool haveStencilParametersBeenFixed = false; - #endif - #endif // #if BUILT_IN_SPRITE_MASK_COMPONENT - #endregion - - #region Overrides - #if SPINE_OPTIONAL_RENDEROVERRIDE - // These are API for anything that wants to take over rendering for a SkeletonRenderer. - public bool disableRenderingOnOverride = true; - public delegate void InstructionDelegate (SkeletonRendererInstruction instruction); - event InstructionDelegate generateMeshOverride; - - /// Allows separate code to take over rendering for this SkeletonRenderer component. The subscriber is passed a SkeletonRendererInstruction argument to determine how to render a skeleton. - public event InstructionDelegate GenerateMeshOverride { - add { - generateMeshOverride += value; - if (disableRenderingOnOverride && generateMeshOverride != null) { - Initialize(false); - if (meshRenderer) - meshRenderer.enabled = false; - } - } - remove { - generateMeshOverride -= value; - if (disableRenderingOnOverride && generateMeshOverride == null) { - Initialize(false); - if (meshRenderer) - meshRenderer.enabled = true; - } - } - } - - /// Occurs after the vertex data is populated every frame, before the vertices are pushed into the mesh. - public event Spine.Unity.MeshGeneratorDelegate OnPostProcessVertices; - #endif - - #if SPINE_OPTIONAL_MATERIALOVERRIDE - [System.NonSerialized] readonly Dictionary customMaterialOverride = new Dictionary(); - /// Use this Dictionary to override a Material with a different Material. - public Dictionary CustomMaterialOverride { get { return customMaterialOverride; } } - #endif - - [System.NonSerialized] readonly Dictionary customSlotMaterials = new Dictionary(); - /// Use this Dictionary to use a different Material to render specific Slots. - public Dictionary CustomSlotMaterials { get { return customSlotMaterials; } } - #endregion - - #region Mesh Generator - [System.NonSerialized] readonly SkeletonRendererInstruction currentInstructions = new SkeletonRendererInstruction(); - readonly MeshGenerator meshGenerator = new MeshGenerator(); - [System.NonSerialized] readonly MeshRendererBuffers rendererBuffers = new MeshRendererBuffers(); - #endregion - - #region Cached component references - MeshRenderer meshRenderer; - MeshFilter meshFilter; - #endregion - - #region Skeleton - [System.NonSerialized] public bool valid; - [System.NonSerialized] public Skeleton skeleton; - public Skeleton Skeleton { - get { - Initialize(false); - return skeleton; - } - } - #endregion - - public delegate void SkeletonRendererDelegate (SkeletonRenderer skeletonRenderer); - - /// OnRebuild is raised after the Skeleton is successfully initialized. - public event SkeletonRendererDelegate OnRebuild; - - /// OnMeshAndMaterialsUpdated is called at the end of LateUpdate after the Mesh and - /// all materials have been updated. - public event SkeletonRendererDelegate OnMeshAndMaterialsUpdated; - - public SkeletonDataAsset SkeletonDataAsset { get { return skeletonDataAsset; } } // ISkeletonComponent - - #region Runtime Instantiation - public static T NewSpineGameObject (SkeletonDataAsset skeletonDataAsset, bool quiet = false) where T : SkeletonRenderer { - return SkeletonRenderer.AddSpineComponent(new GameObject("New Spine GameObject"), skeletonDataAsset, quiet); - } - - /// Add and prepare a Spine component that derives from SkeletonRenderer to a GameObject at runtime. - /// T should be SkeletonRenderer or any of its derived classes. - public static T AddSpineComponent (GameObject gameObject, SkeletonDataAsset skeletonDataAsset, bool quiet = false) where T : SkeletonRenderer { - var c = gameObject.AddComponent(); - if (skeletonDataAsset != null) { - c.skeletonDataAsset = skeletonDataAsset; - c.Initialize(false, quiet); - } - return c; - } - - /// Applies MeshGenerator settings to the SkeletonRenderer and its internal MeshGenerator. - public void SetMeshSettings (MeshGenerator.Settings settings) { - this.calculateTangents = settings.calculateTangents; - this.immutableTriangles = settings.immutableTriangles; - this.pmaVertexColors = settings.pmaVertexColors; - this.tintBlack = settings.tintBlack; - this.useClipping = settings.useClipping; - this.zSpacing = settings.zSpacing; - - this.meshGenerator.settings = settings; - } - #endregion - - - public virtual void Awake () { - Initialize(false); - updateMode = updateWhenInvisible; - } - - #if UNITY_EDITOR && CONFIGURABLE_ENTER_PLAY_MODE - public virtual void Start () { - Initialize(false); - } - #endif - - void OnDisable () { - if (clearStateOnDisable && valid) - ClearState(); - } - - void OnDestroy () { - rendererBuffers.Dispose(); - valid = false; - } - - /// - /// Clears the previously generated mesh and resets the skeleton's pose. - public virtual void ClearState () { - var meshFilter = GetComponent(); - if (meshFilter != null) meshFilter.sharedMesh = null; - currentInstructions.Clear(); - if (skeleton != null) skeleton.SetToSetupPose(); - } - - /// - /// Sets a minimum buffer size for the internal MeshGenerator to prevent excess allocations during animation. - /// - public void EnsureMeshGeneratorCapacity (int minimumVertexCount) { - meshGenerator.EnsureVertexCapacity(minimumVertexCount); - } - - /// - /// Initialize this component. Attempts to load the SkeletonData and creates the internal Skeleton object and buffers. - /// If set to true, it will overwrite internal objects if they were already generated. Otherwise, the initialized component will ignore subsequent calls to initialize. - public virtual void Initialize (bool overwrite, bool quiet = false) { - if (valid && !overwrite) - return; - - // Clear - { - // Note: do not reset meshFilter.sharedMesh or meshRenderer.sharedMaterial to null, - // otherwise constant reloading will be triggered at prefabs. - currentInstructions.Clear(); - rendererBuffers.Clear(); - meshGenerator.Begin(); - skeleton = null; - valid = false; - } - - if (skeletonDataAsset == null) - return; - - SkeletonData skeletonData = skeletonDataAsset.GetSkeletonData(false); - if (skeletonData == null) return; - valid = true; - - meshFilter = GetComponent(); - meshRenderer = GetComponent(); - rendererBuffers.Initialize(); - - skeleton = new Skeleton(skeletonData) { - ScaleX = initialFlipX ? -1 : 1, - ScaleY = initialFlipY ? -1 : 1 - }; - - if (!string.IsNullOrEmpty(initialSkinName) && !string.Equals(initialSkinName, "default", System.StringComparison.Ordinal)) - skeleton.SetSkin(initialSkinName); - - separatorSlots.Clear(); - for (int i = 0; i < separatorSlotNames.Length; i++) - separatorSlots.Add(skeleton.FindSlot(separatorSlotNames[i])); - - LateUpdate(); // Generate mesh for the first frame it exists. - - if (OnRebuild != null) - OnRebuild(this); - - #if UNITY_EDITOR - if (!Application.isPlaying) { - string errorMessage = null; - if (!quiet && MaterialChecks.IsMaterialSetupProblematic(this, ref errorMessage)) - Debug.LogWarningFormat(this, "Problematic material setup at {0}: {1}", this.name, errorMessage); - } - #endif - } - - /// - /// Generates a new UnityEngine.Mesh from the internal Skeleton. - public virtual void LateUpdate () { - if (!valid) return; - - #if UNITY_EDITOR && NEW_PREFAB_SYSTEM - // Don't store mesh or material at the prefab, otherwise it will permanently reload - var prefabType = UnityEditor.PrefabUtility.GetPrefabAssetType(this); - if (UnityEditor.PrefabUtility.IsPartOfPrefabAsset(this) && - (prefabType == UnityEditor.PrefabAssetType.Regular || prefabType == UnityEditor.PrefabAssetType.Variant)) { - return; - } - #endif - - if (updateMode != UpdateMode.FullUpdate) return; - - #if SPINE_OPTIONAL_RENDEROVERRIDE - bool doMeshOverride = generateMeshOverride != null; - if ((!meshRenderer.enabled) && !doMeshOverride) return; - #else - const bool doMeshOverride = false; - if (!meshRenderer.enabled) return; - #endif - var currentInstructions = this.currentInstructions; - var workingSubmeshInstructions = currentInstructions.submeshInstructions; - var currentSmartMesh = rendererBuffers.GetNextMesh(); // Double-buffer for performance. - - bool updateTriangles; - - if (this.singleSubmesh) { - // STEP 1. Determine a SmartMesh.Instruction. Split up instructions into submeshes. ============================================= - MeshGenerator.GenerateSingleSubmeshInstruction(currentInstructions, skeleton, skeletonDataAsset.atlasAssets[0].PrimaryMaterial); - - // STEP 1.9. Post-process workingInstructions. ================================================================================== - #if SPINE_OPTIONAL_MATERIALOVERRIDE - if (customMaterialOverride.Count > 0) // isCustomMaterialOverridePopulated - MeshGenerator.TryReplaceMaterials(workingSubmeshInstructions, customMaterialOverride); - #endif - - // STEP 2. Update vertex buffer based on verts from the attachments. =========================================================== - meshGenerator.settings = new MeshGenerator.Settings { - pmaVertexColors = this.pmaVertexColors, - zSpacing = this.zSpacing, - useClipping = this.useClipping, - tintBlack = this.tintBlack, - calculateTangents = this.calculateTangents, - addNormals = this.addNormals - }; - meshGenerator.Begin(); - updateTriangles = SkeletonRendererInstruction.GeometryNotEqual(currentInstructions, currentSmartMesh.instructionUsed); - if (currentInstructions.hasActiveClipping) { - meshGenerator.AddSubmesh(workingSubmeshInstructions.Items[0], updateTriangles); - } else { - meshGenerator.BuildMeshWithArrays(currentInstructions, updateTriangles); - } - - } else { - // STEP 1. Determine a SmartMesh.Instruction. Split up instructions into submeshes. ============================================= - MeshGenerator.GenerateSkeletonRendererInstruction(currentInstructions, skeleton, customSlotMaterials, separatorSlots, doMeshOverride, this.immutableTriangles); - - // STEP 1.9. Post-process workingInstructions. ================================================================================== -#if SPINE_OPTIONAL_MATERIALOVERRIDE - if (customMaterialOverride.Count > 0) // isCustomMaterialOverridePopulated - MeshGenerator.TryReplaceMaterials(workingSubmeshInstructions, customMaterialOverride); -#endif - -#if SPINE_OPTIONAL_RENDEROVERRIDE - if (doMeshOverride) { - this.generateMeshOverride(currentInstructions); - if (disableRenderingOnOverride) return; - } -#endif - - updateTriangles = SkeletonRendererInstruction.GeometryNotEqual(currentInstructions, currentSmartMesh.instructionUsed); - - // STEP 2. Update vertex buffer based on verts from the attachments. =========================================================== - meshGenerator.settings = new MeshGenerator.Settings { - pmaVertexColors = this.pmaVertexColors, - zSpacing = this.zSpacing, - useClipping = this.useClipping, - tintBlack = this.tintBlack, - calculateTangents = this.calculateTangents, - addNormals = this.addNormals - }; - meshGenerator.Begin(); - if (currentInstructions.hasActiveClipping) - meshGenerator.BuildMesh(currentInstructions, updateTriangles); - else - meshGenerator.BuildMeshWithArrays(currentInstructions, updateTriangles); - } - - if (OnPostProcessVertices != null) OnPostProcessVertices.Invoke(this.meshGenerator.Buffers); - - // STEP 3. Move the mesh data into a UnityEngine.Mesh =========================================================================== - var currentMesh = currentSmartMesh.mesh; - meshGenerator.FillVertexData(currentMesh); - - rendererBuffers.UpdateSharedMaterials(workingSubmeshInstructions); - - bool materialsChanged = rendererBuffers.MaterialsChangedInLastUpdate(); - if (updateTriangles) { // Check if the triangles should also be updated. - meshGenerator.FillTriangles(currentMesh); - meshRenderer.sharedMaterials = rendererBuffers.GetUpdatedSharedMaterialsArray(); - } else if (materialsChanged) { - meshRenderer.sharedMaterials = rendererBuffers.GetUpdatedSharedMaterialsArray(); - } - if (materialsChanged && (this.maskMaterials.AnyMaterialCreated)) { - this.maskMaterials = new SpriteMaskInteractionMaterials(); - } - - meshGenerator.FillLateVertexData(currentMesh); - - // STEP 4. The UnityEngine.Mesh is ready. Set it as the MeshFilter's mesh. Store the instructions used for that mesh. =========== - meshFilter.sharedMesh = currentMesh; - currentSmartMesh.instructionUsed.Set(currentInstructions); - - #if BUILT_IN_SPRITE_MASK_COMPONENT - if (meshRenderer != null) { - AssignSpriteMaskMaterials(); - } - #endif - - #if PER_MATERIAL_PROPERTY_BLOCKS - if (fixDrawOrder && meshRenderer.sharedMaterials.Length > 2) { - SetMaterialSettingsToFixDrawOrder(); - } - #endif - - if (OnMeshAndMaterialsUpdated != null) - OnMeshAndMaterialsUpdated(this); - } - - public void OnBecameVisible () { - UpdateMode previousUpdateMode = updateMode; - updateMode = UpdateMode.FullUpdate; - if (previousUpdateMode != UpdateMode.FullUpdate) - LateUpdate(); // OnBecameVisible is called after LateUpdate() - } - - public void OnBecameInvisible () { - updateMode = updateWhenInvisible; - } - - public void FindAndApplySeparatorSlots (string startsWith, bool clearExistingSeparators = true, bool updateStringArray = false) { - if (string.IsNullOrEmpty(startsWith)) return; - - FindAndApplySeparatorSlots( - (slotName) => slotName.StartsWith(startsWith), - clearExistingSeparators, - updateStringArray - ); - } - - public void FindAndApplySeparatorSlots (System.Func slotNamePredicate, bool clearExistingSeparators = true, bool updateStringArray = false) { - if (slotNamePredicate == null) return; - if (!valid) return; - - if (clearExistingSeparators) - separatorSlots.Clear(); - - var slots = skeleton.slots; - foreach (var slot in slots) { - if (slotNamePredicate.Invoke(slot.data.name)) - separatorSlots.Add(slot); - } - - if (updateStringArray) { - var detectedSeparatorNames = new List(); - foreach (var slot in skeleton.slots) { - string slotName = slot.data.name; - if (slotNamePredicate.Invoke(slotName)) - detectedSeparatorNames.Add(slotName); - } - if (!clearExistingSeparators) { - string[] originalNames = this.separatorSlotNames; - foreach (string originalName in originalNames) - detectedSeparatorNames.Add(originalName); - } - - this.separatorSlotNames = detectedSeparatorNames.ToArray(); - } - - } - - public void ReapplySeparatorSlotNames () { - if (!valid) - return; - - separatorSlots.Clear(); - for (int i = 0, n = separatorSlotNames.Length; i < n; i++) { - var slot = skeleton.FindSlot(separatorSlotNames[i]); - if (slot != null) { - separatorSlots.Add(slot); - } - #if UNITY_EDITOR - else if (!string.IsNullOrEmpty(separatorSlotNames[i])) - { - Debug.LogWarning(separatorSlotNames[i] + " is not a slot in " + skeletonDataAsset.skeletonJSON.name); - } - #endif - } - } - - #if BUILT_IN_SPRITE_MASK_COMPONENT - private void AssignSpriteMaskMaterials() - { - #if UNITY_EDITOR - if (!Application.isPlaying && !UnityEditor.EditorApplication.isUpdating) { - EditorFixStencilCompParameters(); - } - #endif - - if (Application.isPlaying) { - if (maskInteraction != SpriteMaskInteraction.None && maskMaterials.materialsMaskDisabled.Length == 0) - maskMaterials.materialsMaskDisabled = meshRenderer.sharedMaterials; - } - - if (maskMaterials.materialsMaskDisabled.Length > 0 && maskMaterials.materialsMaskDisabled[0] != null && - maskInteraction == SpriteMaskInteraction.None) { - this.meshRenderer.materials = maskMaterials.materialsMaskDisabled; - } - else if (maskInteraction == SpriteMaskInteraction.VisibleInsideMask) { - if (maskMaterials.materialsInsideMask.Length == 0 || maskMaterials.materialsInsideMask[0] == null) { - if (!InitSpriteMaskMaterialsInsideMask()) - return; - } - this.meshRenderer.materials = maskMaterials.materialsInsideMask; - } - else if (maskInteraction == SpriteMaskInteraction.VisibleOutsideMask) { - if (maskMaterials.materialsOutsideMask.Length == 0 || maskMaterials.materialsOutsideMask[0] == null) { - if (!InitSpriteMaskMaterialsOutsideMask()) - return; - } - this.meshRenderer.materials = maskMaterials.materialsOutsideMask; - } - } - - private bool InitSpriteMaskMaterialsInsideMask() - { - return InitSpriteMaskMaterialsForMaskType(STENCIL_COMP_MASKINTERACTION_VISIBLE_INSIDE, ref maskMaterials.materialsInsideMask); - } - - private bool InitSpriteMaskMaterialsOutsideMask() - { - return InitSpriteMaskMaterialsForMaskType(STENCIL_COMP_MASKINTERACTION_VISIBLE_OUTSIDE, ref maskMaterials.materialsOutsideMask); - } - - private bool InitSpriteMaskMaterialsForMaskType(UnityEngine.Rendering.CompareFunction maskFunction, ref Material[] materialsToFill) - { - #if UNITY_EDITOR - if (!Application.isPlaying) { - return false; - } - #endif - - var originalMaterials = maskMaterials.materialsMaskDisabled; - materialsToFill = new Material[originalMaterials.Length]; - for (int i = 0; i < originalMaterials.Length; i++) { - Material newMaterial = new Material(originalMaterials[i]); - newMaterial.SetFloat(STENCIL_COMP_PARAM_ID, (int)maskFunction); - materialsToFill[i] = newMaterial; - } - return true; - } - - #if UNITY_EDITOR - private void EditorFixStencilCompParameters() { - if (!haveStencilParametersBeenFixed && HasAnyStencilComp0Material()) { - haveStencilParametersBeenFixed = true; - FixAllProjectMaterialsStencilCompParameters(); - } - } - - private void FixAllProjectMaterialsStencilCompParameters() { - string[] materialGUIDS = UnityEditor.AssetDatabase.FindAssets("t:material"); - foreach (var guid in materialGUIDS) { - string path = UnityEditor.AssetDatabase.GUIDToAssetPath(guid); - if (!string.IsNullOrEmpty(path)) { - var mat = UnityEditor.AssetDatabase.LoadAssetAtPath(path); - if (mat.HasProperty(STENCIL_COMP_PARAM_ID) && mat.GetFloat(STENCIL_COMP_PARAM_ID) == 0) { - mat.SetFloat(STENCIL_COMP_PARAM_ID, (int)STENCIL_COMP_MASKINTERACTION_NONE); - } - } - } - UnityEditor.AssetDatabase.Refresh(); - UnityEditor.AssetDatabase.SaveAssets(); - } - - private bool HasAnyStencilComp0Material() { - if (meshRenderer == null) - return false; - - foreach (var mat in meshRenderer.sharedMaterials) { - if (mat != null && mat.HasProperty(STENCIL_COMP_PARAM_ID)) { - float currentCompValue = mat.GetFloat(STENCIL_COMP_PARAM_ID); - if (currentCompValue == 0) - return true; - } - } - return false; - } - #endif // UNITY_EDITOR - - #endif //#if BUILT_IN_SPRITE_MASK_COMPONENT - - #if PER_MATERIAL_PROPERTY_BLOCKS - private MaterialPropertyBlock reusedPropertyBlock; - public static readonly int SUBMESH_DUMMY_PARAM_ID = Shader.PropertyToID("_Submesh"); - - /// - /// This method was introduced as a workaround for too aggressive submesh draw call batching, - /// leading to incorrect draw order when 3+ materials are used at submeshes in alternating order. - /// Otherwise, e.g. when using Lightweight Render Pipeline, deliberately separated draw calls - /// "A1 B A2" are reordered to "A1A2 B", regardless of batching-related project settings. - /// - private void SetMaterialSettingsToFixDrawOrder() { - if (reusedPropertyBlock == null) reusedPropertyBlock = new MaterialPropertyBlock(); - - bool hasPerRendererBlock = meshRenderer.HasPropertyBlock(); - if (hasPerRendererBlock) { - meshRenderer.GetPropertyBlock(reusedPropertyBlock); - } - - for (int i = 0; i < meshRenderer.sharedMaterials.Length; ++i) { - if (!meshRenderer.sharedMaterials[i]) - continue; - - if (!hasPerRendererBlock) meshRenderer.GetPropertyBlock(reusedPropertyBlock, i); - // Note: this parameter shall not exist at any shader, then Unity will create separate - // material instances (not in terms of memory cost or leakage). - reusedPropertyBlock.SetFloat(SUBMESH_DUMMY_PARAM_ID, i); - meshRenderer.SetPropertyBlock(reusedPropertyBlock, i); - - meshRenderer.sharedMaterials[i].enableInstancing = false; - } - } - #endif - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs.meta deleted file mode 100644 index 5230098..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: e075b9a3e08e2f74fbd651c858ab16ed -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials.meta deleted file mode 100644 index 16b542c..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: a7236dbdc6a4e5a4989483dac97aee0b -folderAsset: yes -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials/SkeletonGraphicCustomMaterials.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials/SkeletonGraphicCustomMaterials.cs deleted file mode 100644 index afbb84b..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials/SkeletonGraphicCustomMaterials.cs +++ /dev/null @@ -1,211 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER -#define NEW_PREFAB_SYSTEM -#endif - -using System; -using System.Collections.Generic; -using UnityEngine; - -namespace Spine.Unity { - #if NEW_PREFAB_SYSTEM - [ExecuteAlways] - #else - [ExecuteInEditMode] - #endif - [HelpURL("http://esotericsoftware.com/spine-unity#SkeletonGraphicCustomMaterials")] - public class SkeletonGraphicCustomMaterials : MonoBehaviour { - - #region Inspector - public SkeletonGraphic skeletonGraphic; - [SerializeField] protected List customMaterialOverrides = new List(); - [SerializeField] protected List customTextureOverrides = new List(); - - #if UNITY_EDITOR - void Reset () { - skeletonGraphic = GetComponent(); - - // Populate material list - if (skeletonGraphic != null && skeletonGraphic.skeletonDataAsset != null) { - var atlasAssets = skeletonGraphic.skeletonDataAsset.atlasAssets; - - var initialAtlasMaterialOverrides = new List(); - foreach (AtlasAssetBase atlasAsset in atlasAssets) { - foreach (Material atlasMaterial in atlasAsset.Materials) { - var atlasMaterialOverride = new AtlasMaterialOverride { - overrideEnabled = false, - originalTexture = atlasMaterial.mainTexture - }; - - initialAtlasMaterialOverrides.Add(atlasMaterialOverride); - } - } - customMaterialOverrides = initialAtlasMaterialOverrides; - } - - // Populate texture list - if (skeletonGraphic != null && skeletonGraphic.skeletonDataAsset != null) { - var atlasAssets = skeletonGraphic.skeletonDataAsset.atlasAssets; - - var initialAtlasTextureOverrides = new List(); - foreach (AtlasAssetBase atlasAsset in atlasAssets) { - foreach (Material atlasMaterial in atlasAsset.Materials) { - var atlasTextureOverride = new AtlasTextureOverride { - overrideEnabled = false, - originalTexture = atlasMaterial.mainTexture - }; - - initialAtlasTextureOverrides.Add(atlasTextureOverride); - } - } - customTextureOverrides = initialAtlasTextureOverrides; - } - } - #endif - #endregion - - void SetCustomMaterialOverrides () { - if (skeletonGraphic == null) { - Debug.LogError("skeletonGraphic == null"); - return; - } - - for (int i = 0; i < customMaterialOverrides.Count; i++) { - AtlasMaterialOverride atlasMaterialOverride = customMaterialOverrides[i]; - if (atlasMaterialOverride.overrideEnabled) - skeletonGraphic.CustomMaterialOverride[atlasMaterialOverride.originalTexture] = atlasMaterialOverride.replacementMaterial; - } - } - - void RemoveCustomMaterialOverrides () { - if (skeletonGraphic == null) { - Debug.LogError("skeletonGraphic == null"); - return; - } - - for (int i = 0; i < customMaterialOverrides.Count; i++) { - AtlasMaterialOverride atlasMaterialOverride = customMaterialOverrides[i]; - Material currentMaterial; - - if (!skeletonGraphic.CustomMaterialOverride.TryGetValue(atlasMaterialOverride.originalTexture, out currentMaterial)) - continue; - - // Do not revert the material if it was changed by something else - if (currentMaterial != atlasMaterialOverride.replacementMaterial) - continue; - - skeletonGraphic.CustomMaterialOverride.Remove(atlasMaterialOverride.originalTexture); - } - } - - void SetCustomTextureOverrides () { - if (skeletonGraphic == null) { - Debug.LogError("skeletonGraphic == null"); - return; - } - - for (int i = 0; i < customTextureOverrides.Count; i++) { - AtlasTextureOverride atlasTextureOverride = customTextureOverrides[i]; - if (atlasTextureOverride.overrideEnabled) - skeletonGraphic.CustomTextureOverride[atlasTextureOverride.originalTexture] = atlasTextureOverride.replacementTexture; - } - } - - void RemoveCustomTextureOverrides () { - if (skeletonGraphic == null) { - Debug.LogError("skeletonGraphic == null"); - return; - } - - for (int i = 0; i < customTextureOverrides.Count; i++) { - AtlasTextureOverride atlasTextureOverride = customTextureOverrides[i]; - Texture currentTexture; - - if (!skeletonGraphic.CustomTextureOverride.TryGetValue(atlasTextureOverride.originalTexture, out currentTexture)) - continue; - - // Do not revert the material if it was changed by something else - if (currentTexture != atlasTextureOverride.replacementTexture) - continue; - - skeletonGraphic.CustomTextureOverride.Remove(atlasTextureOverride.originalTexture); - } - } - - // OnEnable applies the overrides at runtime, and when the editor loads. - void OnEnable () { - if (skeletonGraphic == null) - skeletonGraphic = GetComponent(); - - if (skeletonGraphic == null) { - Debug.LogError("skeletonGraphic == null"); - return; - } - - skeletonGraphic.Initialize(false); - SetCustomMaterialOverrides(); - SetCustomTextureOverrides(); - } - - // OnDisable removes the overrides at runtime, and in the editor when the component is disabled or destroyed. - void OnDisable () { - if (skeletonGraphic == null) { - Debug.LogError("skeletonGraphic == null"); - return; - } - - RemoveCustomMaterialOverrides(); - RemoveCustomTextureOverrides(); - } - - [Serializable] - public struct AtlasMaterialOverride : IEquatable { - public bool overrideEnabled; - public Texture originalTexture; - public Material replacementMaterial; - - public bool Equals (AtlasMaterialOverride other) { - return overrideEnabled == other.overrideEnabled && originalTexture == other.originalTexture && replacementMaterial == other.replacementMaterial; - } - } - - [Serializable] - public struct AtlasTextureOverride : IEquatable { - public bool overrideEnabled; - public Texture originalTexture; - public Texture replacementTexture; - - public bool Equals (AtlasTextureOverride other) { - return overrideEnabled == other.overrideEnabled && originalTexture == other.originalTexture && replacementTexture == other.replacementTexture; - } - } - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials/SkeletonGraphicCustomMaterials.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials/SkeletonGraphicCustomMaterials.cs.meta deleted file mode 100644 index 3f0170a..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials/SkeletonGraphicCustomMaterials.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 6c8717e10b272bf42b05d363ac2679a6 -timeCreated: 1588789074 -licenseType: Pro -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials/SkeletonRendererCustomMaterials.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials/SkeletonRendererCustomMaterials.cs deleted file mode 100644 index c137570..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials/SkeletonRendererCustomMaterials.cs +++ /dev/null @@ -1,212 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER -#define NEW_PREFAB_SYSTEM -#endif -#define SPINE_OPTIONAL_MATERIALOVERRIDE - -// Contributed by: Lost Polygon - -using System; -using System.Collections.Generic; -using UnityEngine; - -namespace Spine.Unity { - #if NEW_PREFAB_SYSTEM - [ExecuteAlways] - #else - [ExecuteInEditMode] - #endif - [HelpURL("http://esotericsoftware.com/spine-unity#SkeletonRendererCustomMaterials")] - public class SkeletonRendererCustomMaterials : MonoBehaviour { - - #region Inspector - public SkeletonRenderer skeletonRenderer; - [SerializeField] protected List customSlotMaterials = new List(); - [SerializeField] protected List customMaterialOverrides = new List(); - - #if UNITY_EDITOR - void Reset () { - skeletonRenderer = GetComponent(); - - // Populate atlas list - if (skeletonRenderer != null && skeletonRenderer.skeletonDataAsset != null) { - var atlasAssets = skeletonRenderer.skeletonDataAsset.atlasAssets; - - var initialAtlasMaterialOverrides = new List(); - foreach (AtlasAssetBase atlasAsset in atlasAssets) { - foreach (Material atlasMaterial in atlasAsset.Materials) { - var atlasMaterialOverride = new AtlasMaterialOverride { - overrideDisabled = true, - originalMaterial = atlasMaterial - }; - - initialAtlasMaterialOverrides.Add(atlasMaterialOverride); - } - } - - customMaterialOverrides = initialAtlasMaterialOverrides; - } - } - #endif - #endregion - - void SetCustomSlotMaterials () { - if (skeletonRenderer == null) { - Debug.LogError("skeletonRenderer == null"); - return; - } - - for (int i = 0; i < customSlotMaterials.Count; i++) { - SlotMaterialOverride slotMaterialOverride = customSlotMaterials[i]; - if (slotMaterialOverride.overrideDisabled || string.IsNullOrEmpty(slotMaterialOverride.slotName)) - continue; - - Slot slotObject = skeletonRenderer.skeleton.FindSlot(slotMaterialOverride.slotName); - skeletonRenderer.CustomSlotMaterials[slotObject] = slotMaterialOverride.material; - } - } - - void RemoveCustomSlotMaterials () { - if (skeletonRenderer == null) { - Debug.LogError("skeletonRenderer == null"); - return; - } - - for (int i = 0; i < customSlotMaterials.Count; i++) { - SlotMaterialOverride slotMaterialOverride = customSlotMaterials[i]; - if (string.IsNullOrEmpty(slotMaterialOverride.slotName)) - continue; - - Slot slotObject = skeletonRenderer.skeleton.FindSlot(slotMaterialOverride.slotName); - - Material currentMaterial; - if (!skeletonRenderer.CustomSlotMaterials.TryGetValue(slotObject, out currentMaterial)) - continue; - - // Do not revert the material if it was changed by something else - if (currentMaterial != slotMaterialOverride.material) - continue; - - skeletonRenderer.CustomSlotMaterials.Remove(slotObject); - } - } - - void SetCustomMaterialOverrides () { - if (skeletonRenderer == null) { - Debug.LogError("skeletonRenderer == null"); - return; - } - - #if SPINE_OPTIONAL_MATERIALOVERRIDE - for (int i = 0; i < customMaterialOverrides.Count; i++) { - AtlasMaterialOverride atlasMaterialOverride = customMaterialOverrides[i]; - if (atlasMaterialOverride.overrideDisabled) - continue; - - skeletonRenderer.CustomMaterialOverride[atlasMaterialOverride.originalMaterial] = atlasMaterialOverride.replacementMaterial; - } - #endif - } - - void RemoveCustomMaterialOverrides () { - if (skeletonRenderer == null) { - Debug.LogError("skeletonRenderer == null"); - return; - } - - #if SPINE_OPTIONAL_MATERIALOVERRIDE - for (int i = 0; i < customMaterialOverrides.Count; i++) { - AtlasMaterialOverride atlasMaterialOverride = customMaterialOverrides[i]; - Material currentMaterial; - - if (!skeletonRenderer.CustomMaterialOverride.TryGetValue(atlasMaterialOverride.originalMaterial, out currentMaterial)) - continue; - - // Do not revert the material if it was changed by something else - if (currentMaterial != atlasMaterialOverride.replacementMaterial) - continue; - - skeletonRenderer.CustomMaterialOverride.Remove(atlasMaterialOverride.originalMaterial); - } - #endif - } - - // OnEnable applies the overrides at runtime, and when the editor loads. - void OnEnable () { - if (skeletonRenderer == null) - skeletonRenderer = GetComponent(); - - if (skeletonRenderer == null) { - Debug.LogError("skeletonRenderer == null"); - return; - } - - skeletonRenderer.Initialize(false); - SetCustomMaterialOverrides(); - SetCustomSlotMaterials(); - } - - // OnDisable removes the overrides at runtime, and in the editor when the component is disabled or destroyed. - void OnDisable () { - if (skeletonRenderer == null) { - Debug.LogError("skeletonRenderer == null"); - return; - } - - RemoveCustomMaterialOverrides(); - RemoveCustomSlotMaterials(); - } - - [Serializable] - public struct SlotMaterialOverride : IEquatable { - public bool overrideDisabled; - - [SpineSlot] - public string slotName; - public Material material; - - public bool Equals (SlotMaterialOverride other) { - return overrideDisabled == other.overrideDisabled && slotName == other.slotName && material == other.material; - } - } - - [Serializable] - public struct AtlasMaterialOverride : IEquatable { - public bool overrideDisabled; - public Material originalMaterial; - public Material replacementMaterial; - - public bool Equals (AtlasMaterialOverride other) { - return overrideDisabled == other.overrideDisabled && originalMaterial == other.originalMaterial && replacementMaterial == other.replacementMaterial; - } - } - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials/SkeletonRendererCustomMaterials.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials/SkeletonRendererCustomMaterials.cs.meta deleted file mode 100644 index eb50faf..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonRendererCustomMaterials/SkeletonRendererCustomMaterials.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 26947ae098a8447408d80c0c86e35b48 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility.meta deleted file mode 100644 index d690c94..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: f6e0caaafe294de48af468a6a9321473 -folderAsset: yes -DefaultImporter: - userData: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtility.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtility.cs deleted file mode 100644 index 632b85d..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtility.cs +++ /dev/null @@ -1,469 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER -#define NEW_PREFAB_SYSTEM -#endif - -using UnityEngine; -using System.Collections.Generic; - -namespace Spine.Unity { - - #if NEW_PREFAB_SYSTEM - [ExecuteAlways] - #else - [ExecuteInEditMode] - #endif - [RequireComponent(typeof(ISkeletonAnimation))] - [HelpURL("http://esotericsoftware.com/spine-unity#SkeletonUtility")] - public sealed class SkeletonUtility : MonoBehaviour { - - #region BoundingBoxAttachment - public static PolygonCollider2D AddBoundingBoxGameObject (Skeleton skeleton, string skinName, string slotName, string attachmentName, Transform parent, bool isTrigger = true) { - Skin skin = string.IsNullOrEmpty(skinName) ? skeleton.data.defaultSkin : skeleton.data.FindSkin(skinName); - if (skin == null) { - Debug.LogError("Skin " + skinName + " not found!"); - return null; - } - - var attachment = skin.GetAttachment(skeleton.FindSlotIndex(slotName), attachmentName); - if (attachment == null) { - Debug.LogFormat("Attachment in slot '{0}' named '{1}' not found in skin '{2}'.", slotName, attachmentName, skin.name); - return null; - } - - var box = attachment as BoundingBoxAttachment; - if (box != null) { - var slot = skeleton.FindSlot(slotName); - return AddBoundingBoxGameObject(box.Name, box, slot, parent, isTrigger); - } else { - Debug.LogFormat("Attachment '{0}' was not a Bounding Box.", attachmentName); - return null; - } - } - - public static PolygonCollider2D AddBoundingBoxGameObject (string name, BoundingBoxAttachment box, Slot slot, Transform parent, bool isTrigger = true) { - var go = new GameObject("[BoundingBox]" + (string.IsNullOrEmpty(name) ? box.Name : name)); -#if UNITY_EDITOR - if (!Application.isPlaying) - UnityEditor.Undo.RegisterCreatedObjectUndo(go, "Spawn BoundingBox"); -# endif - var got = go.transform; - got.parent = parent; - got.localPosition = Vector3.zero; - got.localRotation = Quaternion.identity; - got.localScale = Vector3.one; - return AddBoundingBoxAsComponent(box, slot, go, isTrigger); - } - - public static PolygonCollider2D AddBoundingBoxAsComponent (BoundingBoxAttachment box, Slot slot, GameObject gameObject, bool isTrigger = true) { - if (box == null) return null; - var collider = gameObject.AddComponent(); - collider.isTrigger = isTrigger; - SetColliderPointsLocal(collider, slot, box); - return collider; - } - - public static void SetColliderPointsLocal (PolygonCollider2D collider, Slot slot, BoundingBoxAttachment box, float scale = 1.0f) { - if (box == null) return; - if (box.IsWeighted()) Debug.LogWarning("UnityEngine.PolygonCollider2D does not support weighted or animated points. Collider points will not be animated and may have incorrect orientation. If you want to use it as a collider, please remove weights and animations from the bounding box in Spine editor."); - var verts = box.GetLocalVertices(slot, null); - if (scale != 1.0f) { - for (int i = 0, n = verts.Length; i < n; ++i) - verts[i] *= scale; - } - collider.SetPath(0, verts); - } - - public static Bounds GetBoundingBoxBounds (BoundingBoxAttachment boundingBox, float depth = 0) { - float[] floats = boundingBox.Vertices; - int floatCount = floats.Length; - - Bounds bounds = new Bounds(); - - bounds.center = new Vector3(floats[0], floats[1], 0); - for (int i = 2; i < floatCount; i += 2) - bounds.Encapsulate(new Vector3(floats[i], floats[i + 1], 0)); - - Vector3 size = bounds.size; - size.z = depth; - bounds.size = size; - - return bounds; - } - - public static Rigidbody2D AddBoneRigidbody2D (GameObject gameObject, bool isKinematic = true, float gravityScale = 0f) { - var rb = gameObject.GetComponent(); - if (rb == null) { - rb = gameObject.AddComponent(); - rb.isKinematic = isKinematic; - rb.gravityScale = gravityScale; - } - return rb; - } - #endregion - - public delegate void SkeletonUtilityDelegate (); - public event SkeletonUtilityDelegate OnReset; - public Transform boneRoot; - /// - /// If true, and are followed - /// by 180 degree rotation. If false, negative Transform scale is used. - /// Note that using negative scale is consistent with previous behaviour (hence the default), - /// however causes serious problems with rigidbodies and physics. Therefore, it is recommended to - /// enable this parameter where possible. When creating hinge chains for a chain of skeleton bones - /// via , it is mandatory to have flipBy180DegreeRotation enabled. - /// - public bool flipBy180DegreeRotation = false; - - void Update () { - var skeleton = skeletonComponent.Skeleton; - if (skeleton != null && boneRoot != null) { - - if (flipBy180DegreeRotation) { - boneRoot.localScale = new Vector3(Mathf.Abs(skeleton.ScaleX), Mathf.Abs(skeleton.ScaleY), 1f); - boneRoot.eulerAngles = new Vector3(skeleton.ScaleY > 0 ? 0 : 180, - skeleton.ScaleX > 0 ? 0 : 180, - 0); - } - else { - boneRoot.localScale = new Vector3(skeleton.ScaleX, skeleton.ScaleY, 1f); - } - } - - if (canvas != null) { - positionScale = canvas.referencePixelsPerUnit; - } - } - - [HideInInspector] public SkeletonRenderer skeletonRenderer; - [HideInInspector] public SkeletonGraphic skeletonGraphic; - private Canvas canvas; - [System.NonSerialized] public ISkeletonAnimation skeletonAnimation; - - private ISkeletonComponent skeletonComponent; - [System.NonSerialized] public List boneComponents = new List(); - [System.NonSerialized] public List constraintComponents = new List(); - - - public ISkeletonComponent SkeletonComponent { - get { - if (skeletonComponent == null) { - skeletonComponent = skeletonRenderer != null ? skeletonRenderer.GetComponent() : - skeletonGraphic != null ? skeletonGraphic.GetComponent() : - GetComponent(); - } - return skeletonComponent; - } - } - public Skeleton Skeleton { - get { - if (SkeletonComponent == null) - return null; - return skeletonComponent.Skeleton; - } - } - - public bool IsValid { - get { - return (skeletonRenderer != null && skeletonRenderer.valid) || - (skeletonGraphic != null && skeletonGraphic.IsValid); - } - } - - public float PositionScale { get { return positionScale; } } - - float positionScale = 1.0f; - bool hasOverrideBones; - bool hasConstraints; - bool needToReprocessBones; - - public void ResubscribeEvents () { - OnDisable(); - OnEnable(); - } - - void OnEnable () { - if (skeletonRenderer == null) { - skeletonRenderer = GetComponent(); - } - if (skeletonGraphic == null) { - skeletonGraphic = GetComponent(); - } - if (skeletonAnimation == null) { - skeletonAnimation = skeletonRenderer != null ? skeletonRenderer.GetComponent() : - skeletonGraphic != null ? skeletonGraphic.GetComponent() : - GetComponent(); - } - if (skeletonComponent == null) { - skeletonComponent = skeletonRenderer != null ? skeletonRenderer.GetComponent() : - skeletonGraphic != null ? skeletonGraphic.GetComponent() : - GetComponent(); - } - - if (skeletonRenderer != null) { - skeletonRenderer.OnRebuild -= HandleRendererReset; - skeletonRenderer.OnRebuild += HandleRendererReset; - } - else if (skeletonGraphic != null) { - skeletonGraphic.OnRebuild -= HandleRendererReset; - skeletonGraphic.OnRebuild += HandleRendererReset; - canvas = skeletonGraphic.canvas; - if (canvas == null) - canvas = skeletonGraphic.GetComponentInParent(); - if (canvas == null) - positionScale = 100.0f; - } - - if (skeletonAnimation != null) { - skeletonAnimation.UpdateLocal -= UpdateLocal; - skeletonAnimation.UpdateLocal += UpdateLocal; - } - - CollectBones(); - } - - void Start () { - //recollect because order of operations failure when switching between game mode and edit mode... - CollectBones(); - } - - void OnDisable () { - if (skeletonRenderer != null) - skeletonRenderer.OnRebuild -= HandleRendererReset; - if (skeletonGraphic != null) - skeletonGraphic.OnRebuild -= HandleRendererReset; - - if (skeletonAnimation != null) { - skeletonAnimation.UpdateLocal -= UpdateLocal; - skeletonAnimation.UpdateWorld -= UpdateWorld; - skeletonAnimation.UpdateComplete -= UpdateComplete; - } - } - - void HandleRendererReset (SkeletonRenderer r) { - if (OnReset != null) OnReset(); - CollectBones(); - } - - void HandleRendererReset (SkeletonGraphic g) { - if (OnReset != null) OnReset(); - CollectBones(); - } - - public void RegisterBone (SkeletonUtilityBone bone) { - if (boneComponents.Contains(bone)) { - return; - } else { - boneComponents.Add(bone); - needToReprocessBones = true; - } - } - - public void UnregisterBone (SkeletonUtilityBone bone) { - boneComponents.Remove(bone); - } - - public void RegisterConstraint (SkeletonUtilityConstraint constraint) { - if (constraintComponents.Contains(constraint)) - return; - else { - constraintComponents.Add(constraint); - needToReprocessBones = true; - } - } - - public void UnregisterConstraint (SkeletonUtilityConstraint constraint) { - constraintComponents.Remove(constraint); - } - - public void CollectBones () { - var skeleton = skeletonComponent.Skeleton; - if (skeleton == null) return; - - if (boneRoot != null) { - var constraintTargets = new List(); - var ikConstraints = skeleton.IkConstraints; - for (int i = 0, n = ikConstraints.Count; i < n; i++) - constraintTargets.Add(ikConstraints.Items[i].target); - - var transformConstraints = skeleton.TransformConstraints; - for (int i = 0, n = transformConstraints.Count; i < n; i++) - constraintTargets.Add(transformConstraints.Items[i].target); - - var boneComponents = this.boneComponents; - for (int i = 0, n = boneComponents.Count; i < n; i++) { - var b = boneComponents[i]; - if (b.bone == null) { - b.DoUpdate(SkeletonUtilityBone.UpdatePhase.Local); - if (b.bone == null) continue; - } - hasOverrideBones |= (b.mode == SkeletonUtilityBone.Mode.Override); - hasConstraints |= constraintTargets.Contains(b.bone); - } - - hasConstraints |= constraintComponents.Count > 0; - - if (skeletonAnimation != null) { - skeletonAnimation.UpdateWorld -= UpdateWorld; - skeletonAnimation.UpdateComplete -= UpdateComplete; - - if (hasOverrideBones || hasConstraints) - skeletonAnimation.UpdateWorld += UpdateWorld; - - if (hasConstraints) - skeletonAnimation.UpdateComplete += UpdateComplete; - } - - needToReprocessBones = false; - } else { - boneComponents.Clear(); - constraintComponents.Clear(); - } - } - - void UpdateLocal (ISkeletonAnimation anim) { - if (needToReprocessBones) - CollectBones(); - - var boneComponents = this.boneComponents; - if (boneComponents == null) return; - for (int i = 0, n = boneComponents.Count; i < n; i++) - boneComponents[i].transformLerpComplete = false; - - UpdateAllBones(SkeletonUtilityBone.UpdatePhase.Local); - } - - void UpdateWorld (ISkeletonAnimation anim) { - UpdateAllBones(SkeletonUtilityBone.UpdatePhase.World); - for (int i = 0, n = constraintComponents.Count; i < n; i++) - constraintComponents[i].DoUpdate(); - } - - void UpdateComplete (ISkeletonAnimation anim) { - UpdateAllBones(SkeletonUtilityBone.UpdatePhase.Complete); - } - - void UpdateAllBones (SkeletonUtilityBone.UpdatePhase phase) { - if (boneRoot == null) - CollectBones(); - - var boneComponents = this.boneComponents; - if (boneComponents == null) return; - for (int i = 0, n = boneComponents.Count; i < n; i++) - boneComponents[i].DoUpdate(phase); - } - - public Transform GetBoneRoot () { - if (boneRoot != null) - return boneRoot; - - var boneRootObject = new GameObject("SkeletonUtility-SkeletonRoot"); -#if UNITY_EDITOR - if (!Application.isPlaying) - UnityEditor.Undo.RegisterCreatedObjectUndo(boneRootObject, "Spawn Bone"); -#endif - if (skeletonGraphic != null) - boneRootObject.AddComponent(); - - boneRoot = boneRootObject.transform; - boneRoot.SetParent(transform); - boneRoot.localPosition = Vector3.zero; - boneRoot.localRotation = Quaternion.identity; - boneRoot.localScale = Vector3.one; - - return boneRoot; - } - - public GameObject SpawnRoot (SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca) { - GetBoneRoot(); - Skeleton skeleton = this.skeletonComponent.Skeleton; - - GameObject go = SpawnBone(skeleton.RootBone, boneRoot, mode, pos, rot, sca); - CollectBones(); - return go; - } - - public GameObject SpawnHierarchy (SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca) { - GetBoneRoot(); - Skeleton skeleton = this.skeletonComponent.Skeleton; - GameObject go = SpawnBoneRecursively(skeleton.RootBone, boneRoot, mode, pos, rot, sca); - CollectBones(); - return go; - } - - public GameObject SpawnBoneRecursively (Bone bone, Transform parent, SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca) { - GameObject go = SpawnBone(bone, parent, mode, pos, rot, sca); - - ExposedList childrenBones = bone.Children; - for (int i = 0, n = childrenBones.Count; i < n; i++) { - Bone child = childrenBones.Items[i]; - SpawnBoneRecursively(child, go.transform, mode, pos, rot, sca); - } - - return go; - } - - public GameObject SpawnBone (Bone bone, Transform parent, SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca) { - GameObject go = new GameObject(bone.Data.Name); - #if UNITY_EDITOR - if (!Application.isPlaying) - UnityEditor.Undo.RegisterCreatedObjectUndo(go, "Spawn Bone"); - #endif - if (skeletonGraphic != null) - go.AddComponent(); - - var goTransform = go.transform; - goTransform.SetParent(parent); - - SkeletonUtilityBone b = go.AddComponent(); - b.hierarchy = this; - b.position = pos; - b.rotation = rot; - b.scale = sca; - b.mode = mode; - b.zPosition = true; - b.Reset(); - b.bone = bone; - b.boneName = bone.Data.Name; - b.valid = true; - - if (mode == SkeletonUtilityBone.Mode.Override) { - if (rot) goTransform.localRotation = Quaternion.Euler(0, 0, b.bone.AppliedRotation); - if (pos) goTransform.localPosition = new Vector3(b.bone.X * positionScale, b.bone.Y * positionScale, 0); - goTransform.localScale = new Vector3(b.bone.scaleX, b.bone.scaleY, 0); - } - - return go; - } - - } - -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtility.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtility.cs.meta deleted file mode 100644 index 29f2fd7..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtility.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 7f726fb798ad621458c431cb9966d91d -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtilityBone.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtilityBone.cs deleted file mode 100644 index c3e16f2..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtilityBone.cs +++ /dev/null @@ -1,243 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER -#define NEW_PREFAB_SYSTEM -#endif - -using UnityEngine; - -namespace Spine.Unity { - /// Sets a GameObject's transform to match a bone on a Spine skeleton. - #if NEW_PREFAB_SYSTEM - [ExecuteAlways] - #else - [ExecuteInEditMode] - #endif - [AddComponentMenu("Spine/SkeletonUtilityBone")] - [HelpURL("http://esotericsoftware.com/spine-unity#SkeletonUtilityBone")] - public class SkeletonUtilityBone : MonoBehaviour { - public enum Mode { - Follow, - Override - } - - public enum UpdatePhase { - Local, - World, - Complete - } - - #region Inspector - /// If a bone isn't set, boneName is used to find the bone. - public string boneName; - public Transform parentReference; - public Mode mode; - public bool position, rotation, scale, zPosition = true; - [Range(0f, 1f)] - public float overrideAlpha = 1; - #endregion - - public SkeletonUtility hierarchy; - [System.NonSerialized] public Bone bone; - [System.NonSerialized] public bool transformLerpComplete; - [System.NonSerialized] public bool valid; - Transform cachedTransform; - Transform skeletonTransform; - bool incompatibleTransformMode; - public bool IncompatibleTransformMode { get { return incompatibleTransformMode; } } - - public void Reset () { - bone = null; - cachedTransform = transform; - valid = hierarchy != null && hierarchy.IsValid; - if (!valid) - return; - skeletonTransform = hierarchy.transform; - hierarchy.OnReset -= HandleOnReset; - hierarchy.OnReset += HandleOnReset; - DoUpdate(UpdatePhase.Local); - } - - void OnEnable () { - if (hierarchy == null) hierarchy = transform.GetComponentInParent(); - if (hierarchy == null) return; - - hierarchy.RegisterBone(this); - hierarchy.OnReset += HandleOnReset; - } - - void HandleOnReset () { - Reset(); - } - - void OnDisable () { - if (hierarchy != null) { - hierarchy.OnReset -= HandleOnReset; - hierarchy.UnregisterBone(this); - } - } - - public void DoUpdate (UpdatePhase phase) { - if (!valid) { - Reset(); - return; - } - - var skeleton = hierarchy.Skeleton; - - if (bone == null) { - if (string.IsNullOrEmpty(boneName)) return; - bone = skeleton.FindBone(boneName); - if (bone == null) { - Debug.LogError("Bone not found: " + boneName, this); - return; - } - } - if (!bone.Active) return; - - float positionScale = hierarchy.PositionScale; - - var thisTransform = cachedTransform; - float skeletonFlipRotation = Mathf.Sign(skeleton.ScaleX * skeleton.ScaleY); - if (mode == Mode.Follow) { - switch (phase) { - case UpdatePhase.Local: - if (position) - thisTransform.localPosition = new Vector3(bone.x * positionScale, bone.y * positionScale, 0); - - if (rotation) { - if (bone.data.transformMode.InheritsRotation()) { - thisTransform.localRotation = Quaternion.Euler(0, 0, bone.rotation); - } else { - Vector3 euler = skeletonTransform.rotation.eulerAngles; - thisTransform.rotation = Quaternion.Euler(euler.x, euler.y, euler.z + (bone.WorldRotationX * skeletonFlipRotation)); - } - } - - if (scale) { - thisTransform.localScale = new Vector3(bone.scaleX, bone.scaleY, 1f); - incompatibleTransformMode = BoneTransformModeIncompatible(bone); - } - break; - case UpdatePhase.World: - case UpdatePhase.Complete: - // Use Applied transform values (ax, ay, AppliedRotation, ascale) if world values were modified by constraints. - if (!bone.appliedValid) { - bone.UpdateAppliedTransform(); - } - - if (position) - thisTransform.localPosition = new Vector3(bone.ax * positionScale, bone.ay * positionScale, 0); - - if (rotation) { - if (bone.data.transformMode.InheritsRotation()) { - thisTransform.localRotation = Quaternion.Euler(0, 0, bone.AppliedRotation); - } else { - Vector3 euler = skeletonTransform.rotation.eulerAngles; - thisTransform.rotation = Quaternion.Euler(euler.x, euler.y, euler.z + (bone.WorldRotationX * skeletonFlipRotation)); - } - } - - if (scale) { - thisTransform.localScale = new Vector3(bone.ascaleX, bone.ascaleY, 1f); - incompatibleTransformMode = BoneTransformModeIncompatible(bone); - } - break; - } - - } else if (mode == Mode.Override) { - if (transformLerpComplete) - return; - - if (parentReference == null) { - if (position) { - Vector3 clp = thisTransform.localPosition / positionScale; - bone.x = Mathf.Lerp(bone.x, clp.x, overrideAlpha); - bone.y = Mathf.Lerp(bone.y, clp.y, overrideAlpha); - } - - if (rotation) { - float angle = Mathf.LerpAngle(bone.Rotation, thisTransform.localRotation.eulerAngles.z, overrideAlpha); - bone.Rotation = angle; - bone.AppliedRotation = angle; - } - - if (scale) { - Vector3 cls = thisTransform.localScale; - bone.scaleX = Mathf.Lerp(bone.scaleX, cls.x, overrideAlpha); - bone.scaleY = Mathf.Lerp(bone.scaleY, cls.y, overrideAlpha); - } - - } else { - if (transformLerpComplete) - return; - - if (position) { - Vector3 pos = parentReference.InverseTransformPoint(thisTransform.position) / positionScale; - bone.x = Mathf.Lerp(bone.x, pos.x, overrideAlpha); - bone.y = Mathf.Lerp(bone.y, pos.y, overrideAlpha); - } - - if (rotation) { - float angle = Mathf.LerpAngle(bone.Rotation, Quaternion.LookRotation(Vector3.forward, parentReference.InverseTransformDirection(thisTransform.up)).eulerAngles.z, overrideAlpha); - bone.Rotation = angle; - bone.AppliedRotation = angle; - } - - if (scale) { - Vector3 cls = thisTransform.localScale; - bone.scaleX = Mathf.Lerp(bone.scaleX, cls.x, overrideAlpha); - bone.scaleY = Mathf.Lerp(bone.scaleY, cls.y, overrideAlpha); - } - - incompatibleTransformMode = BoneTransformModeIncompatible(bone); - } - - transformLerpComplete = true; - } - } - - public static bool BoneTransformModeIncompatible (Bone bone) { - return !bone.data.transformMode.InheritsScale(); - } - - public void AddBoundingBox (string skinName, string slotName, string attachmentName) { - SkeletonUtility.AddBoneRigidbody2D(transform.gameObject); - SkeletonUtility.AddBoundingBoxGameObject(bone.skeleton, skinName, slotName, attachmentName, transform); - } - -#if UNITY_EDITOR - void OnDrawGizmos () { - if (IncompatibleTransformMode) - Gizmos.DrawIcon(transform.position + new Vector3(0, 0.128f, 0), "icon-warning"); - } - #endif - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtilityBone.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtilityBone.cs.meta deleted file mode 100644 index 51537b4..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtilityBone.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: b238dfcde8209044b97d23f62bcaadf6 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtilityConstraint.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtilityConstraint.cs deleted file mode 100644 index f549afa..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtilityConstraint.cs +++ /dev/null @@ -1,62 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER -#define NEW_PREFAB_SYSTEM -#endif - -using UnityEngine; - -namespace Spine.Unity { - - #if NEW_PREFAB_SYSTEM - [ExecuteAlways] - #else - [ExecuteInEditMode] - #endif - [RequireComponent(typeof(SkeletonUtilityBone))] - [HelpURL("http://esotericsoftware.com/spine-unity#SkeletonUtilityConstraint")] - public abstract class SkeletonUtilityConstraint : MonoBehaviour { - - protected SkeletonUtilityBone bone; - protected SkeletonUtility hierarchy; - - protected virtual void OnEnable () { - bone = GetComponent(); - hierarchy = transform.GetComponentInParent(); - hierarchy.RegisterConstraint(this); - } - - protected virtual void OnDisable () { - hierarchy.UnregisterConstraint(this); - } - - public abstract void DoUpdate (); - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtilityConstraint.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtilityConstraint.cs.meta deleted file mode 100644 index b78abdc..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtilityConstraint.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 522dbfcc6c916df4396f14f35048d185 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Deprecated/SlotBlendModes.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Deprecated/SlotBlendModes.meta deleted file mode 100644 index c3ef039..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Deprecated/SlotBlendModes.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: dfdd78a071ca1a04bb64c6cc41e14aa0 -folderAsset: yes -timeCreated: 1496447038 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Deprecated/SlotBlendModes/SlotBlendModes.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Deprecated/SlotBlendModes/SlotBlendModes.cs deleted file mode 100644 index 69b01b6..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Deprecated/SlotBlendModes/SlotBlendModes.cs +++ /dev/null @@ -1,230 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System.Collections.Generic; -using UnityEngine; -using System; - -namespace Spine.Unity.Deprecated { - - /// - /// Deprecated. The spine-unity 3.7 runtime introduced SkeletonDataModifierAssets BlendModeMaterials which replaced SlotBlendModes. See the - /// SkeletonDataModifierAssets BlendModeMaterials documentation page and - /// this forum thread for further information. - /// This class will be removed in the spine-unity 3.9 runtime. - /// - [Obsolete("The spine-unity 3.7 runtime introduced SkeletonDataModifierAssets BlendModeMaterials which replaced SlotBlendModes. Will be removed in spine-unity 3.9.", false)] - [DisallowMultipleComponent] - public class SlotBlendModes : MonoBehaviour { - - #region Internal Material Dictionary - public struct MaterialTexturePair { - public Texture2D texture2D; - public Material material; - } - - internal class MaterialWithRefcount { - public Material materialClone; - public int refcount = 1; - - public MaterialWithRefcount(Material mat) { - this.materialClone = mat; - } - } - static Dictionary materialTable; - internal static Dictionary MaterialTable { - get { - if (materialTable == null) materialTable = new Dictionary(); - return materialTable; - } - } - - internal struct SlotMaterialTextureTuple { - public Slot slot; - public Texture2D texture2D; - public Material material; - - public SlotMaterialTextureTuple(Slot slot, Material material, Texture2D texture) { - this.slot = slot; - this.material = material; - this.texture2D = texture; - } - } - - internal static Material GetOrAddMaterialFor(Material materialSource, Texture2D texture) { - if (materialSource == null || texture == null) return null; - - var mt = SlotBlendModes.MaterialTable; - MaterialWithRefcount matWithRefcount; - var key = new MaterialTexturePair { material = materialSource, texture2D = texture }; - if (!mt.TryGetValue(key, out matWithRefcount)) { - matWithRefcount = new MaterialWithRefcount(new Material(materialSource)); - var m = matWithRefcount.materialClone; - m.name = "(Clone)" + texture.name + "-" + materialSource.name; - m.mainTexture = texture; - mt[key] = matWithRefcount; - } - else { - matWithRefcount.refcount++; - } - return matWithRefcount.materialClone; - } - - internal static MaterialWithRefcount GetExistingMaterialFor(Material materialSource, Texture2D texture) - { - if (materialSource == null || texture == null) return null; - - var mt = SlotBlendModes.MaterialTable; - MaterialWithRefcount matWithRefcount; - var key = new MaterialTexturePair { material = materialSource, texture2D = texture }; - if (!mt.TryGetValue(key, out matWithRefcount)) { - return null; - } - return matWithRefcount; - } - - internal static void RemoveMaterialFromTable(Material materialSource, Texture2D texture) { - var mt = SlotBlendModes.MaterialTable; - var key = new MaterialTexturePair { material = materialSource, texture2D = texture }; - mt.Remove(key); - } - #endregion - - #region Inspector - public Material multiplyMaterialSource; - public Material screenMaterialSource; - - Texture2D texture; - #endregion - - SlotMaterialTextureTuple[] slotsWithCustomMaterial = new SlotMaterialTextureTuple[0]; - - public bool Applied { get; private set; } - - void Start() { - if (!Applied) Apply(); - } - - void OnDestroy() { - if (Applied) Remove(); - } - - public void Apply() { - GetTexture(); - if (texture == null) return; - - var skeletonRenderer = GetComponent(); - if (skeletonRenderer == null) return; - - var slotMaterials = skeletonRenderer.CustomSlotMaterials; - - int numSlotsWithCustomMaterial = 0; - foreach (var s in skeletonRenderer.Skeleton.Slots) { - switch (s.data.blendMode) { - case BlendMode.Multiply: - if (multiplyMaterialSource != null) { - slotMaterials[s] = GetOrAddMaterialFor(multiplyMaterialSource, texture); - ++numSlotsWithCustomMaterial; - } - break; - case BlendMode.Screen: - if (screenMaterialSource != null) { - slotMaterials[s] = GetOrAddMaterialFor(screenMaterialSource, texture); - ++numSlotsWithCustomMaterial; - } - break; - } - } - slotsWithCustomMaterial = new SlotMaterialTextureTuple[numSlotsWithCustomMaterial]; - int storedSlotIndex = 0; - foreach (var s in skeletonRenderer.Skeleton.Slots) { - switch (s.data.blendMode) { - case BlendMode.Multiply: - if (multiplyMaterialSource != null) { - slotsWithCustomMaterial[storedSlotIndex++] = new SlotMaterialTextureTuple(s, multiplyMaterialSource, texture); - } - break; - case BlendMode.Screen: - if (screenMaterialSource != null) { - slotsWithCustomMaterial[storedSlotIndex++] = new SlotMaterialTextureTuple(s, screenMaterialSource, texture); - } - break; - } - } - - Applied = true; - skeletonRenderer.LateUpdate(); - } - - public void Remove() { - GetTexture(); - if (texture == null) return; - - var skeletonRenderer = GetComponent(); - if (skeletonRenderer == null) return; - - var slotMaterials = skeletonRenderer.CustomSlotMaterials; - - foreach (var slotWithCustomMat in slotsWithCustomMaterial) { - - Slot s = slotWithCustomMat.slot; - Material storedMaterialSource = slotWithCustomMat.material; - Texture2D storedTexture = slotWithCustomMat.texture2D; - - var matWithRefcount = GetExistingMaterialFor(storedMaterialSource, storedTexture); - if (--matWithRefcount.refcount == 0) { - RemoveMaterialFromTable(storedMaterialSource, storedTexture); - } - // we don't want to remove slotMaterials[s] if it has been changed in the meantime. - Material m; - if (slotMaterials.TryGetValue(s, out m)) { - var existingMat = matWithRefcount == null ? null : matWithRefcount.materialClone; - if (Material.ReferenceEquals(m, existingMat)) { - slotMaterials.Remove(s); - } - } - } - slotsWithCustomMaterial = null; - - Applied = false; - if (skeletonRenderer.valid) skeletonRenderer.LateUpdate(); - } - - public void GetTexture() { - if (texture == null) { - var sr = GetComponent(); if (sr == null) return; - var sda = sr.skeletonDataAsset; if (sda == null) return; - var aa = sda.atlasAssets[0]; if (aa == null) return; - var am = aa.PrimaryMaterial; if (am == null) return; - texture = am.mainTexture as Texture2D; - } - } - - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Deprecated/SlotBlendModes/SlotBlendModes.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Deprecated/SlotBlendModes/SlotBlendModes.cs.meta deleted file mode 100644 index 6750f11..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Deprecated/SlotBlendModes/SlotBlendModes.cs.meta +++ /dev/null @@ -1,16 +0,0 @@ -fileFormatVersion: 2 -guid: f1f8243645ba2e74aa3564bd956eed89 -timeCreated: 1496794038 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: - - multiplyMaterialSource: {fileID: 2100000, guid: 53bf0ab317d032d418cf1252d68f51df, - type: 2} - - screenMaterialSource: {fileID: 2100000, guid: 73f0f46d3177c614baf0fa48d646a9be, - type: 2} - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicDefault.mat b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicDefault.mat deleted file mode 100644 index 08d7764..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicDefault.mat +++ /dev/null @@ -1,87 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: SkeletonGraphicDefault - m_Shader: {fileID: 4800000, guid: fa95b0fb6983c0f40a152e6f9aa82bfb, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 5 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AlphaTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - PixelSnap: 0 - - _BumpScale: 1 - - _ColorMask: 15 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnableExternalAlpha: 0 - - _Glossiness: 0.5 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SrcBlend: 1 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UVSec: 0 - - _UseUIAlphaClip: 0 - - _ZWrite: 1 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _Flip: {r: 1, g: 1, b: 1, a: 1} - - _RendererColor: {r: 1, g: 1, b: 1, a: 1} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicDefault.mat.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicDefault.mat.meta deleted file mode 100644 index aaa80ff..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicDefault.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b66cf7a186d13054989b33a5c90044e4 -timeCreated: 1455140322 -licenseType: Free -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicDefaultOutline.mat b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicDefaultOutline.mat deleted file mode 100644 index 7082bbf..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicDefaultOutline.mat +++ /dev/null @@ -1,95 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: SkeletonGraphicDefaultOutline - m_Shader: {fileID: 4800000, guid: 8f5d14d2a7fedb84998c50eb96c8b748, type: 3} - m_ShaderKeywords: _USE8NEIGHBOURHOOD_ON - m_LightmapFlags: 5 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AlphaTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - PixelSnap: 0 - - _BumpScale: 1 - - _ColorMask: 15 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnableExternalAlpha: 0 - - _Glossiness: 0.5 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _OutlineMipLevel: 0 - - _OutlineReferenceTexWidth: 1024 - - _OutlineSmoothness: 1 - - _OutlineWidth: 3 - - _Parallax: 0.02 - - _SrcBlend: 1 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _StraightAlphaInput: 0 - - _ThresholdEnd: 0.25 - - _UVSec: 0 - - _Use8Neighbourhood: 1 - - _UseUIAlphaClip: 0 - - _ZWrite: 1 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _Flip: {r: 1, g: 1, b: 1, a: 1} - - _OutlineColor: {r: 1, g: 1, b: 0, a: 1} - - _RendererColor: {r: 1, g: 1, b: 1, a: 1} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicDefaultOutline.mat.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicDefaultOutline.mat.meta deleted file mode 100644 index beaf12d..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicDefaultOutline.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c4ee0f8f4be17434aa3df5774a03b366 -timeCreated: 1455140322 -licenseType: Free -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicTintBlack.mat b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicTintBlack.mat deleted file mode 100644 index d78d415..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicTintBlack.mat +++ /dev/null @@ -1,79 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: SkeletonGraphicTintBlack - m_Shader: {fileID: 4800000, guid: f64c7bc238bb2c246b8ca1912b2b6b9c, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 5 - m_EnableInstancingVariants: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BumpScale: 1 - - _ColorMask: 15 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _Glossiness: 0.5 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SrcBlend: 1 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UVSec: 0 - - _UseUIAlphaClip: 0 - - _ZWrite: 1 - m_Colors: - - _Black: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicTintBlack.mat.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicTintBlack.mat.meta deleted file mode 100644 index 0d83b23..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicTintBlack.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: cfcea0e11aa80bb4b8d05790b905fc31 -timeCreated: 1455140322 -licenseType: Free -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicTintBlackOutline.mat b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicTintBlackOutline.mat deleted file mode 100644 index 30d42c7..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicTintBlackOutline.mat +++ /dev/null @@ -1,88 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: SkeletonGraphicTintBlackOutline - m_Shader: {fileID: 4800000, guid: d55d64dd09c46af40a319933a62fa1b2, type: 3} - m_ShaderKeywords: _USE8NEIGHBOURHOOD_ON - m_LightmapFlags: 5 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _BumpScale: 1 - - _ColorMask: 15 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _Glossiness: 0.5 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _OutlineMipLevel: 0 - - _OutlineReferenceTexWidth: 1024 - - _OutlineSmoothness: 1 - - _OutlineWidth: 3 - - _Parallax: 0.02 - - _SrcBlend: 1 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _StraightAlphaInput: 0 - - _ThresholdEnd: 0.25 - - _UVSec: 0 - - _Use8Neighbourhood: 1 - - _UseUIAlphaClip: 0 - - _ZWrite: 1 - m_Colors: - - _Black: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _OutlineColor: {r: 1, g: 1, b: 0, a: 1} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicTintBlackOutline.mat.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicTintBlackOutline.mat.meta deleted file mode 100644 index a884c7e..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Materials/SkeletonGraphicTintBlackOutline.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 94fe565c79b0aeb418cd05e4f1f8343c -timeCreated: 1455140322 -licenseType: Free -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Mesh Generation/SkeletonRendererInstruction.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Mesh Generation/SkeletonRendererInstruction.cs deleted file mode 100644 index 54821fa..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Mesh Generation/SkeletonRendererInstruction.cs +++ /dev/null @@ -1,178 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -// Not for optimization. Do not disable. -#define SPINE_TRIANGLECHECK // Avoid calling SetTriangles at the cost of checking for mesh differences (vertex counts, memberwise attachment list compare) every frame. -//#define SPINE_DEBUG - -using UnityEngine; -using System; -using System.Collections.Generic; - -namespace Spine.Unity { - /// Instructions used by a SkeletonRenderer to render a mesh. - public class SkeletonRendererInstruction { - public readonly ExposedList submeshInstructions = new ExposedList(); - - public bool immutableTriangles; - #if SPINE_TRIANGLECHECK - public bool hasActiveClipping; - public int rawVertexCount = -1; - public readonly ExposedList attachments = new ExposedList(); - #endif - - public void Clear () { - #if SPINE_TRIANGLECHECK - this.attachments.Clear(false); - rawVertexCount = -1; - hasActiveClipping = false; - #endif - this.submeshInstructions.Clear(false); - } - - public void Dispose () { - attachments.Clear(true); - } - - public void SetWithSubset (ExposedList instructions, int startSubmesh, int endSubmesh) { - #if SPINE_TRIANGLECHECK - int runningVertexCount = 0; - #endif - - var submeshes = this.submeshInstructions; - submeshes.Clear(false); - int submeshCount = endSubmesh - startSubmesh; - submeshes.Resize(submeshCount); - var submeshesItems = submeshes.Items; - var instructionsItems = instructions.Items; - for (int i = 0; i < submeshCount; i++) { - var instruction = instructionsItems[startSubmesh + i]; - submeshesItems[i] = instruction; - #if SPINE_TRIANGLECHECK - this.hasActiveClipping |= instruction.hasClipping; - submeshesItems[i].rawFirstVertexIndex = runningVertexCount; // Ensure current instructions have correct cached values. - runningVertexCount += instruction.rawVertexCount; // vertexCount will also be used for the rest of this method. - #endif - } - #if SPINE_TRIANGLECHECK - this.rawVertexCount = runningVertexCount; - - // assumption: instructions are contiguous. start and end are valid within instructions. - - int startSlot = instructionsItems[startSubmesh].startSlot; - int endSlot = instructionsItems[endSubmesh - 1].endSlot; - attachments.Clear(false); - int attachmentCount = endSlot - startSlot; - attachments.Resize(attachmentCount); - var attachmentsItems = attachments.Items; - - var drawOrderItems = instructionsItems[0].skeleton.drawOrder.Items; - for (int i = 0; i < attachmentCount; i++) { - Slot slot = drawOrderItems[startSlot + i]; - if (!slot.bone.active) continue; - attachmentsItems[i] = slot.attachment; - } - - #endif - } - - public void Set (SkeletonRendererInstruction other) { - this.immutableTriangles = other.immutableTriangles; - - #if SPINE_TRIANGLECHECK - this.hasActiveClipping = other.hasActiveClipping; - this.rawVertexCount = other.rawVertexCount; - this.attachments.Clear(false); - this.attachments.EnsureCapacity(other.attachments.Capacity); - this.attachments.Count = other.attachments.Count; - other.attachments.CopyTo(this.attachments.Items); - #endif - - this.submeshInstructions.Clear(false); - this.submeshInstructions.EnsureCapacity(other.submeshInstructions.Capacity); - this.submeshInstructions.Count = other.submeshInstructions.Count; - other.submeshInstructions.CopyTo(this.submeshInstructions.Items); - } - - public static bool GeometryNotEqual (SkeletonRendererInstruction a, SkeletonRendererInstruction b) { - #if SPINE_TRIANGLECHECK - #if UNITY_EDITOR - if (!Application.isPlaying) - return true; - #endif - - if (a.hasActiveClipping || b.hasActiveClipping) return true; // Triangles are unpredictable when clipping is active. - - // Everything below assumes the raw vertex and triangle counts were used. (ie, no clipping was done) - if (a.rawVertexCount != b.rawVertexCount) return true; - - if (a.immutableTriangles != b.immutableTriangles) return true; - - int attachmentCountB = b.attachments.Count; - if (a.attachments.Count != attachmentCountB) return true; // Bounds check for the looped storedAttachments count below. - - // Submesh count changed - int submeshCountA = a.submeshInstructions.Count; - int submeshCountB = b.submeshInstructions.Count; - if (submeshCountA != submeshCountB) return true; - - // Submesh Instruction mismatch - var submeshInstructionsItemsA = a.submeshInstructions.Items; - var submeshInstructionsItemsB = b.submeshInstructions.Items; - - var attachmentsA = a.attachments.Items; - var attachmentsB = b.attachments.Items; - for (int i = 0; i < attachmentCountB; i++) - if (!System.Object.ReferenceEquals(attachmentsA[i], attachmentsB[i])) return true; - - for (int i = 0; i < submeshCountB; i++) { - var submeshA = submeshInstructionsItemsA[i]; - var submeshB = submeshInstructionsItemsB[i]; - - if (!( - submeshA.rawVertexCount == submeshB.rawVertexCount && - submeshA.startSlot == submeshB.startSlot && - submeshA.endSlot == submeshB.endSlot - && submeshA.rawTriangleCount == submeshB.rawTriangleCount && - submeshA.rawFirstVertexIndex == submeshB.rawFirstVertexIndex - )) - return true; - } - - return false; - #else - // In normal immutable triangle use, immutableTriangles will be initially false, forcing the smartmesh to update the first time but never again after that, unless there was an immutableTriangles flag mismatch.. - if (a.immutableTriangles || b.immutableTriangles) - return (a.immutableTriangles != b.immutableTriangles); - - return true; - #endif - } - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Mesh Generation/SkeletonRendererInstruction.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Mesh Generation/SkeletonRendererInstruction.cs.meta deleted file mode 100644 index 50a8a97..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Mesh Generation/SkeletonRendererInstruction.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: d07866ade25bd0b44a7bb1d59bacf4cb -timeCreated: 1563322425 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders.meta deleted file mode 100644 index 96c6a80..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: ef8189a68a74bec4eba582e65fb98dbd -DefaultImporter: - userData: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/BlendModes/Spine-Skeleton-PMA-Additive.shader b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/BlendModes/Spine-Skeleton-PMA-Additive.shader deleted file mode 100644 index 322c9a4..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/BlendModes/Spine-Skeleton-PMA-Additive.shader +++ /dev/null @@ -1,128 +0,0 @@ -// Spine/Skeleton PMA Screen -// - single color multiply tint -// - unlit -// - Premultiplied alpha Multiply blending -// - No depth, no backface culling, no fog. -// - ShadowCaster pass - -Shader "Spine/Blend Modes/Skeleton PMA Additive" { - Properties { - _Color ("Tint Color", Color) = (1,1,1,1) - [NoScaleOffset] _MainTex ("MainTex", 2D) = "black" {} - [Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0 - _Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1 - [HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0 - [HideInInspector][Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Comparison", Float) = 8 // Set to Always as default - - // Outline properties are drawn via custom editor. - [HideInInspector] _OutlineWidth("Outline Width", Range(0,8)) = 3.0 - [HideInInspector] _OutlineColor("Outline Color", Color) = (1,1,0,1) - [HideInInspector] _OutlineReferenceTexWidth("Reference Texture Width", Int) = 1024 - [HideInInspector] _ThresholdEnd("Outline Threshold", Range(0,1)) = 0.25 - [HideInInspector] _OutlineSmoothness("Outline Smoothness", Range(0,1)) = 1.0 - [HideInInspector][MaterialToggle(_USE8NEIGHBOURHOOD_ON)] _Use8Neighbourhood("Sample 8 Neighbours", Float) = 1 - [HideInInspector] _OutlineMipLevel("Outline Mip Level", Range(0,3)) = 0 - } - - SubShader { - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } - LOD 100 - - Fog { Mode Off } - Cull Off - ZWrite Off - Blend One One - Lighting Off - - Stencil { - Ref[_StencilRef] - Comp[_StencilComp] - Pass Keep - } - - Pass { - Name "Normal" - - CGPROGRAM - #pragma shader_feature _ _STRAIGHT_ALPHA_INPUT - #pragma vertex vert - #pragma fragment frag - #include "UnityCG.cginc" - uniform sampler2D _MainTex; - uniform float4 _Color; - - struct VertexInput { - float4 vertex : POSITION; - float2 uv : TEXCOORD0; - float4 vertexColor : COLOR; - }; - - struct VertexOutput { - float4 pos : SV_POSITION; - float2 uv : TEXCOORD0; - float4 vertexColor : COLOR; - }; - - VertexOutput vert (VertexInput v) { - VertexOutput o; - o.pos = UnityObjectToClipPos(v.vertex); - o.uv = v.uv; - o.vertexColor = v.vertexColor * float4(_Color.rgb * _Color.a, _Color.a); // Combine a PMA version of _Color with vertexColor. - return o; - } - - float4 frag (VertexOutput i) : SV_Target { - float4 texColor = tex2D(_MainTex, i.uv); - - #if defined(_STRAIGHT_ALPHA_INPUT) - texColor.rgb *= texColor.a; - #endif - - return (texColor * i.vertexColor); - } - ENDCG - } - - Pass { - Name "Caster" - Tags { "LightMode"="ShadowCaster" } - Offset 1, 1 - - ZWrite On - ZTest LEqual - - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma multi_compile_shadowcaster - #pragma fragmentoption ARB_precision_hint_fastest - #include "UnityCG.cginc" - struct v2f { - V2F_SHADOW_CASTER; - float4 uvAndAlpha : TEXCOORD1; - }; - - uniform float4 _MainTex_ST; - - v2f vert (appdata_base v, float4 vertexColor : COLOR) { - v2f o; - TRANSFER_SHADOW_CASTER(o) - o.uvAndAlpha.xy = TRANSFORM_TEX(v.texcoord, _MainTex); - o.uvAndAlpha.z = 0; - o.uvAndAlpha.a = vertexColor.a; - return o; - } - - uniform sampler2D _MainTex; - uniform fixed _Cutoff; - - float4 frag (v2f i) : SV_Target { - fixed4 texcol = tex2D(_MainTex, i.uvAndAlpha.xy); - clip(texcol.a * i.uvAndAlpha.a - _Cutoff); - SHADOW_CASTER_FRAGMENT(i) - } - ENDCG - } - } - CustomEditor "SpineShaderWithOutlineGUI" -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/BlendModes/Spine-Skeleton-PMA-Additive.shader.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/BlendModes/Spine-Skeleton-PMA-Additive.shader.meta deleted file mode 100644 index 1204d94..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/BlendModes/Spine-Skeleton-PMA-Additive.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 53efa1d97f5d9f74285d4330cda14e36 -timeCreated: 1496446742 -licenseType: Free -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-DepthOnlyPass.cginc b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-DepthOnlyPass.cginc deleted file mode 100644 index 9a7e140..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-DepthOnlyPass.cginc +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef SPRITES_DEPTH_ONLY_PASS_INCLUDED -#define SPRITES_DEPTH_ONLY_PASS_INCLUDED - -#include "UnityCG.cginc" - -sampler2D _MainTex; -float _Cutoff; -float _ZWriteOffset; - -struct VertexInput { - float4 positionOS : POSITION; - float2 texcoord : TEXCOORD0; - float4 vertexColor : COLOR; -}; - -struct VertexOutput { - float4 positionCS : SV_POSITION; - float4 texcoordAndAlpha: TEXCOORD0; -}; - -VertexOutput DepthOnlyVertex (VertexInput v) { - VertexOutput o; - o.positionCS = UnityObjectToClipPos(v.positionOS - float4(0, 0, _ZWriteOffset, 0)); - o.texcoordAndAlpha.xy = v.texcoord; - o.texcoordAndAlpha.z = 0; - o.texcoordAndAlpha.a = v.vertexColor.a; - return o; -} - -float4 DepthOnlyFragment (VertexOutput input) : SV_Target{ - float4 texColor = tex2D(_MainTex, input.texcoordAndAlpha.rg); - - #if defined(_STRAIGHT_ALPHA_INPUT) - texColor.rgb *= texColor.a; - #endif - - clip(texColor.a * input.texcoordAndAlpha.a - _Cutoff); - return 0; -} - -#endif diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-DepthOnlyPass.cginc.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-DepthOnlyPass.cginc.meta deleted file mode 100644 index eb8386b..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-DepthOnlyPass.cginc.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 27351ce55d3beb643ae8d9385db21941 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Outline-Common.cginc b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Outline-Common.cginc deleted file mode 100644 index ca5b105..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Outline-Common.cginc +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef SPINE_OUTLINE_COMMON_INCLUDED -#define SPINE_OUTLINE_COMMON_INCLUDED - -float4 computeOutlinePixel(sampler2D mainTexture, float2 mainTextureTexelSize, - float2 uv, float vertexColorAlpha, - float OutlineWidth, float OutlineReferenceTexWidth, float OutlineMipLevel, - float OutlineSmoothness, float ThresholdEnd, float4 OutlineColor) { - - float4 texColor = fixed4(0, 0, 0, 0); - - float outlineWidthCompensated = OutlineWidth / (OutlineReferenceTexWidth * mainTextureTexelSize.x); - float xOffset = mainTextureTexelSize.x * outlineWidthCompensated; - float yOffset = mainTextureTexelSize.y * outlineWidthCompensated; - float xOffsetDiagonal = mainTextureTexelSize.x * outlineWidthCompensated * 0.7; - float yOffsetDiagonal = mainTextureTexelSize.y * outlineWidthCompensated * 0.7; - - float pixelCenter = tex2D(mainTexture, uv).a; - - float4 uvCenterWithLod = float4(uv, 0, OutlineMipLevel); - float pixelTop = tex2Dlod(mainTexture, uvCenterWithLod + float4(0, yOffset, 0, 0)).a; - float pixelBottom = tex2Dlod(mainTexture, uvCenterWithLod + float4(0, -yOffset, 0, 0)).a; - float pixelLeft = tex2Dlod(mainTexture, uvCenterWithLod + float4(-xOffset, 0, 0, 0)).a; - float pixelRight = tex2Dlod(mainTexture, uvCenterWithLod + float4(xOffset, 0, 0, 0)).a; -#if _USE8NEIGHBOURHOOD_ON - float numSamples = 8; - float pixelTopLeft = tex2Dlod(mainTexture, uvCenterWithLod + float4(-xOffsetDiagonal, yOffsetDiagonal, 0, 0)).a; - float pixelTopRight = tex2Dlod(mainTexture, uvCenterWithLod + float4(xOffsetDiagonal, yOffsetDiagonal, 0, 0)).a; - float pixelBottomLeft = tex2Dlod(mainTexture, uvCenterWithLod + float4(-xOffsetDiagonal, -yOffsetDiagonal, 0, 0)).a; - float pixelBottomRight = tex2Dlod(mainTexture, uvCenterWithLod + float4(xOffsetDiagonal, -yOffsetDiagonal, 0, 0)).a; - float average = (pixelTop + pixelBottom + pixelLeft + pixelRight + - pixelTopLeft + pixelTopRight + pixelBottomLeft + pixelBottomRight) - * vertexColorAlpha / numSamples; -#else // 4 neighbourhood - float numSamples = 1; - float average = (pixelTop + pixelBottom + pixelLeft + pixelRight) * vertexColorAlpha / numSamples; -#endif - float thresholdStart = ThresholdEnd * (1.0 - OutlineSmoothness); - float outlineAlpha = saturate((average - thresholdStart) / (ThresholdEnd - thresholdStart)) - pixelCenter; - return lerp(texColor, OutlineColor, outlineAlpha); -} - -#endif diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Outline-Common.cginc.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Outline-Common.cginc.meta deleted file mode 100644 index add9340..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Outline-Common.cginc.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: a8d610b87be4e82409e18a63a930d335 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Skeleton-Lit-Common-Shadow.cginc b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Skeleton-Lit-Common-Shadow.cginc deleted file mode 100644 index f5150ab..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Skeleton-Lit-Common-Shadow.cginc +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef SKELETON_LIT_COMMON_SHADOW_INCLUDED -#define SKELETON_LIT_COMMON_SHADOW_INCLUDED - -#include "UnityCG.cginc" -struct v2f { - V2F_SHADOW_CASTER; - float4 uvAndAlpha : TEXCOORD1; -}; - -uniform float4 _MainTex_ST; - -v2f vertShadow(appdata_base v, float4 vertexColor : COLOR) { - v2f o; - TRANSFER_SHADOW_CASTER(o) - o.uvAndAlpha.xy = TRANSFORM_TEX(v.texcoord, _MainTex); - o.uvAndAlpha.z = 0; - o.uvAndAlpha.a = vertexColor.a; - return o; -} - -uniform sampler2D _MainTex; -uniform fixed SHADOW_CUTOFF; - -float4 fragShadow (v2f i) : SV_Target { - fixed4 texcol = tex2D(_MainTex, i.uvAndAlpha.xy); - clip(texcol.a * i.uvAndAlpha.a - SHADOW_CUTOFF); - SHADOW_CASTER_FRAGMENT(i) -} - -#endif diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Skeleton-Lit-Common-Shadow.cginc.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Skeleton-Lit-Common-Shadow.cginc.meta deleted file mode 100644 index b325e23..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Skeleton-Lit-Common-Shadow.cginc.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: c7297b25c81d2494e8e73b742e3c7345 -timeCreated: 1564083752 -licenseType: Free -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Skeleton-Lit-Common.cginc b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Skeleton-Lit-Common.cginc deleted file mode 100644 index 10fbbf0..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Skeleton-Lit-Common.cginc +++ /dev/null @@ -1,120 +0,0 @@ -#ifndef SKELETON_LIT_COMMON_INCLUDED -#define SKELETON_LIT_COMMON_INCLUDED - -#include "UnityCG.cginc" - -// ES2.0/WebGL/3DS can not do loops with non-constant-expression iteration counts :( -#if defined(SHADER_API_GLES) -#define LIGHT_LOOP_LIMIT 8 -#elif defined(SHADER_API_N3DS) -#define LIGHT_LOOP_LIMIT 4 -#else -#define LIGHT_LOOP_LIMIT unity_VertexLightParams.x -#endif - - -//////////////////////////////////////// -// Alpha Clipping -// - -#if defined(_ALPHA_CLIP) - uniform fixed _Cutoff; - #define ALPHA_CLIP(pixel, color) clip((pixel.a * color.a) - _Cutoff); -#else - #define ALPHA_CLIP(pixel, color) -#endif - -half3 computeLighting (int idx, half3 dirToLight, half3 eyeNormal, half4 diffuseColor, half atten) { - half NdotL = max(dot(eyeNormal, dirToLight), 0.0); - // diffuse - half3 color = NdotL * diffuseColor.rgb * unity_LightColor[idx].rgb; - return color * atten; -} - -half3 computeOneLight (int idx, float3 eyePosition, half3 eyeNormal, half4 diffuseColor) { - float3 dirToLight = unity_LightPosition[idx].xyz; - half att = 1.0; - - #if defined(POINT) || defined(SPOT) - dirToLight -= eyePosition * unity_LightPosition[idx].w; - - // distance attenuation - float distSqr = dot(dirToLight, dirToLight); - att /= (1.0 + unity_LightAtten[idx].z * distSqr); - if (unity_LightPosition[idx].w != 0 && distSqr > unity_LightAtten[idx].w) att = 0.0; // set to 0 if outside of range - distSqr = max(distSqr, 0.000001); // don't produce NaNs if some vertex position overlaps with the light - dirToLight *= rsqrt(distSqr); - #if defined(SPOT) - - // spot angle attenuation - half rho = max(dot(dirToLight, unity_SpotDirection[idx].xyz), 0.0); - half spotAtt = (rho - unity_LightAtten[idx].x) * unity_LightAtten[idx].y; - att *= saturate(spotAtt); - #endif - #endif - - att *= 0.5; // passed in light colors are 2x brighter than what used to be in FFP - return min (computeLighting (idx, dirToLight, eyeNormal, diffuseColor, att), 1.0); -} - -int4 unity_VertexLightParams; // x: light count, y: zero, z: one (y/z needed by d3d9 vs loop instruction) - -struct appdata { - float3 pos : POSITION; - float3 normal : NORMAL; - half4 color : COLOR; - float2 uv0 : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID -}; - -struct VertexOutput { - fixed4 color : COLOR0; - float2 uv0 : TEXCOORD0; - float4 pos : SV_POSITION; - UNITY_VERTEX_OUTPUT_STEREO -}; - -VertexOutput vert (appdata v) { - VertexOutput o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - half4 color = v.color; - float3 eyePos = UnityObjectToViewPos(float4(v.pos, 1)).xyz; //mul(UNITY_MATRIX_MV, float4(v.pos,1)).xyz; - half3 fixedNormal = half3(0,0,-1); - half3 eyeNormal = normalize(mul((float3x3)UNITY_MATRIX_IT_MV, fixedNormal)); - -#ifdef _DOUBLE_SIDED_LIGHTING - // unfortunately we have to compute the sign here in the vertex shader - // instead of using VFACE in fragment shader stage. - half faceSign = sign(eyeNormal.z); - eyeNormal *= faceSign; -#endif - - // Lights - half3 lcolor = half4(0,0,0,1).rgb + color.rgb * glstate_lightmodel_ambient.rgb; - for (int il = 0; il < LIGHT_LOOP_LIMIT; ++il) { - lcolor += computeOneLight(il, eyePos, eyeNormal, color); - } - - color.rgb = lcolor.rgb; - o.color = saturate(color); - o.uv0 = v.uv0; - o.pos = UnityObjectToClipPos(v.pos); - return o; -} - -sampler2D _MainTex; - -fixed4 frag (VertexOutput i) : SV_Target { - fixed4 tex = tex2D(_MainTex, i.uv0); - ALPHA_CLIP(tex, i.color); -#if defined(_STRAIGHT_ALPHA_INPUT) - tex.rgb *= tex.a; -#endif - fixed4 col = tex * i.color; - col.rgb *= 2; - return col; -} - -#endif diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Skeleton-Lit-Common.cginc.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Skeleton-Lit-Common.cginc.meta deleted file mode 100644 index ee34810..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/CGIncludes/Spine-Skeleton-Lit-Common.cginc.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 70c77c02aabd5e44f94aab48dd0be7b2 -timeCreated: 1564083752 -licenseType: Free -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/BlendModes/Spine-Skeleton-PMA-Additive-Outline.shader b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/BlendModes/Spine-Skeleton-PMA-Additive-Outline.shader deleted file mode 100644 index ded84bb..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/BlendModes/Spine-Skeleton-PMA-Additive-Outline.shader +++ /dev/null @@ -1,46 +0,0 @@ -// Outline shader variant of "Spine/Blend Modes/Skeleton PMA Additive" - -Shader "Spine/Outline/Blend Modes/Skeleton PMA Additive" { - Properties { - _Color ("Tint Color", Color) = (1,1,1,1) - [NoScaleOffset] _MainTex ("MainTex", 2D) = "black" {} - [Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0 - _Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1 - [HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0 - [HideInInspector][Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Comparison", Float) = 8 // Set to Always as default - - // Outline properties are drawn via custom editor. - [HideInInspector] _OutlineWidth("Outline Width", Range(0,8)) = 3.0 - [HideInInspector] _OutlineColor("Outline Color", Color) = (1,1,0,1) - [HideInInspector] _OutlineReferenceTexWidth("Reference Texture Width", Int) = 1024 - [HideInInspector] _ThresholdEnd("Outline Threshold", Range(0,1)) = 0.25 - [HideInInspector] _OutlineSmoothness("Outline Smoothness", Range(0,1)) = 1.0 - [HideInInspector][MaterialToggle(_USE8NEIGHBOURHOOD_ON)] _Use8Neighbourhood("Sample 8 Neighbours", Float) = 1 - [HideInInspector] _OutlineMipLevel("Outline Mip Level", Range(0,3)) = 0 - } - - SubShader { - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } - LOD 100 - - Fog { Mode Off } - Cull Off - ZWrite Off - Blend One One - Lighting Off - - Stencil { - Ref[_StencilRef] - Comp[_StencilComp] - Pass Keep - } - - UsePass "Spine/Outline/Skeleton/OUTLINE" - - UsePass "Spine/Blend Modes/Skeleton PMA Additive/NORMAL" - - UsePass "Spine/Blend Modes/Skeleton PMA Additive/CASTER" - } - FallBack "Spine/Blend Modes/Skeleton PMA Additive" - CustomEditor "SpineShaderWithOutlineGUI" -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/BlendModes/Spine-Skeleton-PMA-Additive-Outline.shader.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/BlendModes/Spine-Skeleton-PMA-Additive-Outline.shader.meta deleted file mode 100644 index 4e5f97b..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/BlendModes/Spine-Skeleton-PMA-Additive-Outline.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 0299ffae826705448b6c80ccc6a53b75 -timeCreated: 1573829476 -licenseType: Free -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/BlendModes/Spine-Skeleton-PMA-Multiply-Outline.shader b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/BlendModes/Spine-Skeleton-PMA-Multiply-Outline.shader deleted file mode 100644 index 3ef828f..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/BlendModes/Spine-Skeleton-PMA-Multiply-Outline.shader +++ /dev/null @@ -1,46 +0,0 @@ -// Outline shader variant of "Spine/Blend Modes/Skeleton PMA Multiply" - -Shader "Spine/Outline/Blend Modes/Skeleton PMA Multiply" { - Properties { - _Color ("Tint Color", Color) = (1,1,1,1) - [NoScaleOffset] _MainTex ("MainTex", 2D) = "black" {} - [Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0 - _Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1 - [HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0 - [HideInInspector][Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Comparison", Float) = 8 // Set to Always as default - - // Outline properties are drawn via custom editor. - [HideInInspector] _OutlineWidth("Outline Width", Range(0,8)) = 3.0 - [HideInInspector] _OutlineColor("Outline Color", Color) = (1,1,0,1) - [HideInInspector] _OutlineReferenceTexWidth("Reference Texture Width", Int) = 1024 - [HideInInspector] _ThresholdEnd("Outline Threshold", Range(0,1)) = 0.25 - [HideInInspector] _OutlineSmoothness("Outline Smoothness", Range(0,1)) = 1.0 - [HideInInspector][MaterialToggle(_USE8NEIGHBOURHOOD_ON)] _Use8Neighbourhood("Sample 8 Neighbours", Float) = 1 - [HideInInspector] _OutlineMipLevel("Outline Mip Level", Range(0,3)) = 0 - } - - SubShader { - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } - LOD 100 - - Fog { Mode Off } - Cull Off - ZWrite Off - Blend DstColor OneMinusSrcAlpha - Lighting Off - - Stencil { - Ref[_StencilRef] - Comp[_StencilComp] - Pass Keep - } - - UsePass "Spine/Outline/Skeleton/OUTLINE" - - UsePass "Spine/Blend Modes/Skeleton PMA Multiply/NORMAL" - - UsePass "Spine/Blend Modes/Skeleton PMA Multiply/CASTER" - } - FallBack "Spine/Blend Modes/Skeleton PMA Multiply" - CustomEditor "SpineShaderWithOutlineGUI" -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/BlendModes/Spine-Skeleton-PMA-Multiply-Outline.shader.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/BlendModes/Spine-Skeleton-PMA-Multiply-Outline.shader.meta deleted file mode 100644 index 741a24e..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/BlendModes/Spine-Skeleton-PMA-Multiply-Outline.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 4b3566a937643b8498d1ec6df5880b77 -timeCreated: 1573829476 -licenseType: Free -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/CGIncludes/Spine-Outline-Pass.cginc b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/CGIncludes/Spine-Outline-Pass.cginc deleted file mode 100644 index 3ffdbf4..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/CGIncludes/Spine-Outline-Pass.cginc +++ /dev/null @@ -1,92 +0,0 @@ -#ifndef SPINE_OUTLINE_PASS_INCLUDED -#define SPINE_OUTLINE_PASS_INCLUDED - -#include "UnityCG.cginc" - -#ifdef SKELETON_GRAPHIC -#include "UnityUI.cginc" -#endif - -#include "../../CGIncludes/Spine-Outline-Common.cginc" - -sampler2D _MainTex; - -float _OutlineWidth; -float4 _OutlineColor; -float4 _MainTex_TexelSize; -float _ThresholdEnd; -float _OutlineSmoothness; -float _OutlineMipLevel; -int _OutlineReferenceTexWidth; - -#ifdef SKELETON_GRAPHIC -float4 _ClipRect; -#endif - -struct VertexInput { - float4 vertex : POSITION; - float2 uv : TEXCOORD0; - float4 vertexColor : COLOR; - UNITY_VERTEX_INPUT_INSTANCE_ID -}; - -struct VertexOutput { - float4 pos : SV_POSITION; - float2 uv : TEXCOORD0; - float vertexColorAlpha : COLOR; -#ifdef SKELETON_GRAPHIC - float4 worldPosition : TEXCOORD1; -#endif - UNITY_VERTEX_OUTPUT_STEREO -}; - - -#ifdef SKELETON_GRAPHIC - -VertexOutput vertOutlineGraphic(VertexInput v) { - VertexOutput o; - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.worldPosition = v.vertex; - o.pos = UnityObjectToClipPos(o.worldPosition); - o.uv = v.uv; - -#ifdef UNITY_HALF_TEXEL_OFFSET - o.pos.xy += (_ScreenParams.zw - 1.0) * float2(-1, 1); -#endif - - o.vertexColorAlpha = v.vertexColor.a; - return o; -} - -#else // !SKELETON_GRAPHIC - -VertexOutput vertOutline(VertexInput v) { - VertexOutput o; - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - o.pos = UnityObjectToClipPos(v.vertex); - o.uv = v.uv; - o.vertexColorAlpha = v.vertexColor.a; - return o; -} -#endif - -float4 fragOutline(VertexOutput i) : SV_Target { - - float4 texColor = computeOutlinePixel(_MainTex, _MainTex_TexelSize.xy, i.uv, i.vertexColorAlpha, - _OutlineWidth, _OutlineReferenceTexWidth, _OutlineMipLevel, - _OutlineSmoothness, _ThresholdEnd, _OutlineColor); - -#ifdef SKELETON_GRAPHIC - texColor *= UnityGet2DClipping(i.worldPosition.xy, _ClipRect); -#endif - - return texColor; -} - -#endif // SPINE_OUTLINE_PASS_INCLUDED diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/CGIncludes/Spine-Outline-Pass.cginc.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/CGIncludes/Spine-Outline-Pass.cginc.meta deleted file mode 100644 index f67e757..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/CGIncludes/Spine-Outline-Pass.cginc.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 2ec781e799f97504c8a418e168759f70 -timeCreated: 1574096529 -licenseType: Free -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/SkeletonGraphic.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/SkeletonGraphic.meta deleted file mode 100644 index 230f170..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/SkeletonGraphic.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 6e8ed065898e65f4d9303492725fb912 -folderAsset: yes -timeCreated: 1573829873 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Fill-Outline.shader b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Fill-Outline.shader deleted file mode 100644 index fc25451..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Fill-Outline.shader +++ /dev/null @@ -1,43 +0,0 @@ -// Outline shader variant of "Spine/Skeleton Fill" - -Shader "Spine/Outline/Skeleton Fill" { - Properties { - _FillColor ("FillColor", Color) = (1,1,1,1) - _FillPhase ("FillPhase", Range(0, 1)) = 0 - [NoScaleOffset] _MainTex ("MainTex", 2D) = "white" {} - _Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1 - [Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0 - [HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0 - [HideInInspector][Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Comparison", Float) = 8 // Set to Always as default - - // Outline properties are drawn via custom editor. - [HideInInspector] _OutlineWidth("Outline Width", Range(0,8)) = 3.0 - [HideInInspector] _OutlineColor("Outline Color", Color) = (1,1,0,1) - [HideInInspector] _OutlineReferenceTexWidth("Reference Texture Width", Int) = 1024 - [HideInInspector] _ThresholdEnd("Outline Threshold", Range(0,1)) = 0.25 - [HideInInspector] _OutlineSmoothness("Outline Smoothness", Range(0,1)) = 1.0 - [HideInInspector][MaterialToggle(_USE8NEIGHBOURHOOD_ON)] _Use8Neighbourhood("Sample 8 Neighbours", Float) = 1 - [HideInInspector] _OutlineMipLevel("Outline Mip Level", Range(0,3)) = 0 - } - SubShader { - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" } - Blend One OneMinusSrcAlpha - Cull Off - ZWrite Off - Lighting Off - - Stencil { - Ref[_StencilRef] - Comp[_StencilComp] - Pass Keep - } - - UsePass "Spine/Outline/Skeleton/OUTLINE" - - UsePass "Spine/Skeleton Fill/NORMAL" - - UsePass "Spine/Skeleton Fill/CASTER" - } - FallBack "Spine/Skeleton Fill" - CustomEditor "SpineShaderWithOutlineGUI" -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Fill-Outline.shader.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Fill-Outline.shader.meta deleted file mode 100644 index 3793896..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Fill-Outline.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: e158cbe58baa093438feb3d691f3daba -timeCreated: 1573817434 -licenseType: Free -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Lit-Outline.shader b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Lit-Outline.shader deleted file mode 100644 index 75c0a9f..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Lit-Outline.shader +++ /dev/null @@ -1,40 +0,0 @@ -// Outline shader variant of "Spine/Skeleton Lit" - -Shader "Spine/Outline/Skeleton Lit" { - Properties { - _Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1 - [NoScaleOffset] _MainTex ("Main Texture", 2D) = "black" {} - [Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0 - [Toggle(_DOUBLE_SIDED_LIGHTING)] _DoubleSidedLighting("Double-Sided Lighting", Int) = 0 - [HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0 - [HideInInspector][Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Comparison", Float) = 8 // Set to Always as default - - // Outline properties are drawn via custom editor. - [HideInInspector] _OutlineWidth("Outline Width", Range(0,8)) = 3.0 - [HideInInspector] _OutlineColor("Outline Color", Color) = (1,1,0,1) - [HideInInspector] _OutlineReferenceTexWidth("Reference Texture Width", Int) = 1024 - [HideInInspector] _ThresholdEnd("Outline Threshold", Range(0,1)) = 0.25 - [HideInInspector] _OutlineSmoothness("Outline Smoothness", Range(0,1)) = 1.0 - [HideInInspector][MaterialToggle(_USE8NEIGHBOURHOOD_ON)] _Use8Neighbourhood("Sample 8 Neighbours", Float) = 1 - [HideInInspector] _OutlineMipLevel("Outline Mip Level", Range(0,3)) = 0 - } - - SubShader { - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } - LOD 100 - - Stencil { - Ref[_StencilRef] - Comp[_StencilComp] - Pass Keep - } - - UsePass "Spine/Outline/Skeleton/OUTLINE" - - UsePass "Spine/Skeleton Lit/NORMAL" - - UsePass "Spine/Skeleton Lit/CASTER" - } - FallBack "Spine/Skeleton Lit" - CustomEditor "SpineShaderWithOutlineGUI" -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Lit-Outline.shader.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Lit-Outline.shader.meta deleted file mode 100644 index 4dd9501..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Lit-Outline.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 10fab3f69a099be4391fe8a1ad880c65 -timeCreated: 1573828963 -licenseType: Free -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Lit-ZWrite-Outline.shader b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Lit-ZWrite-Outline.shader deleted file mode 100644 index 0443085..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Lit-ZWrite-Outline.shader +++ /dev/null @@ -1,41 +0,0 @@ -// Outline shader variant of "Spine/Skeleton Lit ZWrite" - -Shader "Spine/Outline/Skeleton Lit ZWrite" { - Properties { - _Cutoff ("Depth alpha cutoff", Range(0,1)) = 0.1 - _ShadowAlphaCutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1 - [NoScaleOffset] _MainTex ("Main Texture", 2D) = "black" {} - [Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0 - [Toggle(_DOUBLE_SIDED_LIGHTING)] _DoubleSidedLighting("Double-Sided Lighting", Int) = 0 - [HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0 - [HideInInspector][Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Comparison", Float) = 8 // Set to Always as default - - // Outline properties are drawn via custom editor. - [HideInInspector] _OutlineWidth("Outline Width", Range(0,8)) = 3.0 - [HideInInspector] _OutlineColor("Outline Color", Color) = (1,1,0,1) - [HideInInspector] _OutlineReferenceTexWidth("Reference Texture Width", Int) = 1024 - [HideInInspector] _ThresholdEnd("Outline Threshold", Range(0,1)) = 0.25 - [HideInInspector] _OutlineSmoothness("Outline Smoothness", Range(0,1)) = 1.0 - [HideInInspector][MaterialToggle(_USE8NEIGHBOURHOOD_ON)] _Use8Neighbourhood("Sample 8 Neighbours", Float) = 1 - [HideInInspector] _OutlineMipLevel("Outline Mip Level", Range(0,3)) = 0 - } - - SubShader { - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } - LOD 100 - - Stencil { - Ref[_StencilRef] - Comp[_StencilComp] - Pass Keep - } - - UsePass "Spine/Outline/Skeleton/OUTLINE" - - UsePass "Spine/Skeleton Lit ZWrite/NORMAL" - - UsePass "Spine/Skeleton Lit ZWrite/CASTER" - } - FallBack "Spine/Skeleton Lit ZWrite" - CustomEditor "SpineShaderWithOutlineGUI" -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Lit-ZWrite-Outline.shader.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Lit-ZWrite-Outline.shader.meta deleted file mode 100644 index e772ed4..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Lit-ZWrite-Outline.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 756be4f2f738f6c4583bb1c90e16bf0b -timeCreated: 1573828964 -licenseType: Free -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Outline.shader b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Outline.shader deleted file mode 100644 index e60ef06..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Outline.shader +++ /dev/null @@ -1,52 +0,0 @@ -// Outline shader variant of "Spine/Skeleton" - -Shader "Spine/Outline/Skeleton" { - Properties { - _Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1 - [NoScaleOffset] _MainTex ("Main Texture", 2D) = "black" {} - [Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0 - [HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0 - [HideInInspector][Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Comparison", Float) = 8 // Set to Always as default - - // Outline properties are drawn via custom editor. - [HideInInspector] _OutlineWidth("Outline Width", Range(0,8)) = 3.0 - [HideInInspector] _OutlineColor("Outline Color", Color) = (1,1,0,1) - [HideInInspector] _OutlineReferenceTexWidth("Reference Texture Width", Int) = 1024 - [HideInInspector] _ThresholdEnd("Outline Threshold", Range(0,1)) = 0.25 - [HideInInspector] _OutlineSmoothness("Outline Smoothness", Range(0,1)) = 1.0 - [HideInInspector][MaterialToggle(_USE8NEIGHBOURHOOD_ON)] _Use8Neighbourhood("Sample 8 Neighbours", Float) = 1 - [HideInInspector] _OutlineMipLevel("Outline Mip Level", Range(0,3)) = 0 - } - - SubShader { - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" } - - Fog { Mode Off } - Cull Off - ZWrite Off - Blend One OneMinusSrcAlpha - Lighting Off - - Stencil { - Ref[_StencilRef] - Comp[_StencilComp] - Pass Keep - } - - Pass { - Name "Outline" - CGPROGRAM - #pragma vertex vertOutline - #pragma fragment fragOutline - #pragma shader_feature _ _USE8NEIGHBOURHOOD_ON - #include "CGIncludes/Spine-Outline-Pass.cginc" - ENDCG - } - - UsePass "Spine/Skeleton/NORMAL" - - UsePass "Spine/Skeleton/CASTER" - } - FallBack "Spine/Skeleton" - CustomEditor "SpineShaderWithOutlineGUI" -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Outline.shader.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Outline.shader.meta deleted file mode 100644 index e7dcd76..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-Outline.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 28b5cf4804845fe4b868531fd0bb81d5 -timeCreated: 1573817434 -licenseType: Free -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-OutlineOnly-ZWrite.shader b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-OutlineOnly-ZWrite.shader deleted file mode 100644 index 82dc8cf..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-OutlineOnly-ZWrite.shader +++ /dev/null @@ -1,62 +0,0 @@ -Shader "Spine/Outline/OutlineOnly-ZWrite" { - Properties { - _Cutoff ("Depth alpha cutoff", Range(0,1)) = 0.1 - _ZWriteOffset ("Depth offset", Range(0,1)) = 0.01 - [NoScaleOffset] _MainTex ("Main Texture", 2D) = "black" {} - [Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0 - [HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0 - [HideInInspector][Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Comparison", Float) = 8 // Set to Always as default - - // Outline properties are drawn via custom editor. - [HideInInspector] _OutlineWidth("Outline Width", Range(0,8)) = 3.0 - [HideInInspector] _OutlineColor("Outline Color", Color) = (1,1,0,1) - [HideInInspector] _OutlineReferenceTexWidth("Reference Texture Width", Int) = 1024 - [HideInInspector] _ThresholdEnd("Outline Threshold", Range(0,1)) = 0.25 - [HideInInspector] _OutlineSmoothness("Outline Smoothness", Range(0,1)) = 1.0 - [HideInInspector][MaterialToggle(_USE8NEIGHBOURHOOD_ON)] _Use8Neighbourhood("Sample 8 Neighbours", Float) = 1 - [HideInInspector] _OutlineMipLevel("Outline Mip Level", Range(0,3)) = 0 - } - - SubShader { - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" } - - Fog { Mode Off } - Cull Off - ZWrite Off - Blend One OneMinusSrcAlpha - Lighting Off - - Stencil { - Ref[_StencilRef] - Comp[_StencilComp] - Pass Keep - } - - Pass - { - Name "DepthOnly" - - ZWrite On - ColorMask 0 - Cull Off - - CGPROGRAM - #pragma vertex DepthOnlyVertex - #pragma fragment DepthOnlyFragment - #include "../CGIncludes/Spine-DepthOnlyPass.cginc" - ENDCG - } - - Pass { - Name "Outline" - CGPROGRAM - #pragma vertex vertOutline - #pragma fragment fragOutline - #pragma shader_feature _ _USE8NEIGHBOURHOOD_ON - #include "CGIncludes/Spine-Outline-Pass.cginc" - ENDCG - } - } - FallBack "Spine/Skeleton" - CustomEditor "SpineShaderWithOutlineGUI" -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-OutlineOnly-ZWrite.shader.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-OutlineOnly-ZWrite.shader.meta deleted file mode 100644 index 9e28955..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Outline/Spine-Skeleton-OutlineOnly-ZWrite.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 177da18c3d2e0aa4cb39990ea011973c -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/SkeletonGraphic.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/SkeletonGraphic.meta deleted file mode 100644 index 0314067..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/SkeletonGraphic.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 7a42d52714848d64f8ff99dddb93500e -folderAsset: yes -timeCreated: 1563289150 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Fill.shader b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Fill.shader deleted file mode 100644 index a02553f..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Fill.shader +++ /dev/null @@ -1,126 +0,0 @@ -// - Unlit -// - Premultiplied Alpha Blending (Optional straight alpha input) -// - Double-sided, no depth - -Shader "Spine/Skeleton Fill" { - Properties { - _FillColor ("FillColor", Color) = (1,1,1,1) - _FillPhase ("FillPhase", Range(0, 1)) = 0 - [NoScaleOffset] _MainTex ("MainTex", 2D) = "white" {} - _Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1 - [Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0 - [HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0 - [HideInInspector][Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Comparison", Float) = 8 // Set to Always as default - - // Outline properties are drawn via custom editor. - [HideInInspector] _OutlineWidth("Outline Width", Range(0,8)) = 3.0 - [HideInInspector] _OutlineColor("Outline Color", Color) = (1,1,0,1) - [HideInInspector] _OutlineReferenceTexWidth("Reference Texture Width", Int) = 1024 - [HideInInspector] _ThresholdEnd("Outline Threshold", Range(0,1)) = 0.25 - [HideInInspector] _OutlineSmoothness("Outline Smoothness", Range(0,1)) = 1.0 - [HideInInspector][MaterialToggle(_USE8NEIGHBOURHOOD_ON)] _Use8Neighbourhood("Sample 8 Neighbours", Float) = 1 - [HideInInspector] _OutlineMipLevel("Outline Mip Level", Range(0,3)) = 0 - } - SubShader { - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" } - Blend One OneMinusSrcAlpha - Cull Off - ZWrite Off - Lighting Off - - Stencil { - Ref[_StencilRef] - Comp[_StencilComp] - Pass Keep - } - - Pass { - Name "Normal" - - CGPROGRAM - #pragma shader_feature _ _STRAIGHT_ALPHA_INPUT - #pragma vertex vert - #pragma fragment frag - #include "UnityCG.cginc" - sampler2D _MainTex; - float4 _FillColor; - float _FillPhase; - - struct VertexInput { - float4 vertex : POSITION; - float2 uv : TEXCOORD0; - float4 vertexColor : COLOR; - }; - - struct VertexOutput { - float4 pos : SV_POSITION; - float2 uv : TEXCOORD0; - float4 vertexColor : COLOR; - }; - - VertexOutput vert (VertexInput v) { - VertexOutput o = (VertexOutput)0; - o.uv = v.uv; - o.vertexColor = v.vertexColor; - o.pos = UnityObjectToClipPos(v.vertex); - return o; - } - - float4 frag (VertexOutput i) : SV_Target { - float4 rawColor = tex2D(_MainTex,i.uv); - float finalAlpha = (rawColor.a * i.vertexColor.a); - - #if defined(_STRAIGHT_ALPHA_INPUT) - rawColor.rgb *= rawColor.a; - #endif - - float3 finalColor = lerp((rawColor.rgb * i.vertexColor.rgb), (_FillColor.rgb * finalAlpha), _FillPhase); // make sure to PMA _FillColor. - return fixed4(finalColor, finalAlpha); - } - ENDCG - } - - Pass { - Name "Caster" - Tags { "LightMode"="ShadowCaster" } - Offset 1, 1 - ZWrite On - ZTest LEqual - - Fog { Mode Off } - Cull Off - Lighting Off - - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma multi_compile_shadowcaster - #pragma fragmentoption ARB_precision_hint_fastest - #include "UnityCG.cginc" - sampler2D _MainTex; - fixed _Cutoff; - - struct VertexOutput { - V2F_SHADOW_CASTER; - float4 uvAndAlpha : TEXCOORD1; - }; - - VertexOutput vert (appdata_base v, float4 vertexColor : COLOR) { - VertexOutput o; - o.uvAndAlpha = v.texcoord; - o.uvAndAlpha.a = vertexColor.a; - TRANSFER_SHADOW_CASTER(o) - return o; - } - - float4 frag (VertexOutput i) : SV_Target { - fixed4 texcol = tex2D(_MainTex, i.uvAndAlpha.xy); - clip(texcol.a * i.uvAndAlpha.a - _Cutoff); - SHADOW_CASTER_FRAGMENT(i) - } - ENDCG - } - } - FallBack "Diffuse" - CustomEditor "SpineShaderWithOutlineGUI" -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Fill.shader.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Fill.shader.meta deleted file mode 100644 index c71933e..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Fill.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 45495790b394f894a967dbf44489b57b -timeCreated: 1492385797 -licenseType: Free -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Lit-ZWrite.shader b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Lit-ZWrite.shader deleted file mode 100644 index 95f77b7..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Lit-ZWrite.shader +++ /dev/null @@ -1,82 +0,0 @@ -// - Vertex Lit + ShadowCaster -// - Premultiplied Alpha Blending (Optional straight alpha input) -// - Double-sided, ZWrite - -Shader "Spine/Skeleton Lit ZWrite" { - Properties { - _Cutoff ("Depth alpha cutoff", Range(0,1)) = 0.1 - _ShadowAlphaCutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1 - [NoScaleOffset] _MainTex ("Main Texture", 2D) = "black" {} - [Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0 - [Toggle(_DOUBLE_SIDED_LIGHTING)] _DoubleSidedLighting("Double-Sided Lighting", Int) = 0 - [HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0 - [HideInInspector][Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Comparison", Float) = 8 // Set to Always as default - - // Outline properties are drawn via custom editor. - [HideInInspector] _OutlineWidth("Outline Width", Range(0,8)) = 3.0 - [HideInInspector] _OutlineColor("Outline Color", Color) = (1,1,0,1) - [HideInInspector] _OutlineReferenceTexWidth("Reference Texture Width", Int) = 1024 - [HideInInspector] _ThresholdEnd("Outline Threshold", Range(0,1)) = 0.25 - [HideInInspector] _OutlineSmoothness("Outline Smoothness", Range(0,1)) = 1.0 - [HideInInspector][MaterialToggle(_USE8NEIGHBOURHOOD_ON)] _Use8Neighbourhood("Sample 8 Neighbours", Float) = 1 - [HideInInspector] _OutlineMipLevel("Outline Mip Level", Range(0,3)) = 0 - } - - SubShader { - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } - LOD 100 - - Stencil { - Ref[_StencilRef] - Comp[_StencilComp] - Pass Keep - } - - Pass { - Name "Normal" - - Tags { "LightMode"="Vertex" "Queue"="Transparent" "IgnoreProjector"="true" "RenderType"="Transparent" } - - ZWrite On - Cull Off - Blend One OneMinusSrcAlpha - - CGPROGRAM - #pragma shader_feature _ _STRAIGHT_ALPHA_INPUT - #pragma shader_feature _ _DOUBLE_SIDED_LIGHTING - #pragma vertex vert - #pragma fragment frag - #pragma target 2.0 - - #define _ALPHA_CLIP - #pragma multi_compile __ POINT SPOT - #include "CGIncludes/Spine-Skeleton-Lit-Common.cginc" - ENDCG - - } - - Pass { - Name "Caster" - Tags { "LightMode"="ShadowCaster" } - Offset 1, 1 - - Fog { Mode Off } - ZWrite On - ZTest LEqual - Cull Off - Lighting Off - - CGPROGRAM - #pragma vertex vertShadow - #pragma fragment fragShadow - #pragma multi_compile_shadowcaster - #pragma fragmentoption ARB_precision_hint_fastest - - #define SHADOW_CUTOFF _ShadowAlphaCutoff - #include "CGIncludes/Spine-Skeleton-Lit-Common-Shadow.cginc" - - ENDCG - } - } - CustomEditor "SpineShaderWithOutlineGUI" -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Lit-ZWrite.shader.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Lit-ZWrite.shader.meta deleted file mode 100644 index 28243a0..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Lit-ZWrite.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: fde05abf1f7be4b4da1caf8c8de1823a -timeCreated: 1564082883 -licenseType: Free -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Lit.shader b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Lit.shader deleted file mode 100644 index f10c478..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Lit.shader +++ /dev/null @@ -1,80 +0,0 @@ -// - Vertex Lit + ShadowCaster -// - Premultiplied Alpha Blending (Optional straight alpha input) -// - Double-sided, no depth - -Shader "Spine/Skeleton Lit" { - Properties { - _Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1 - [NoScaleOffset] _MainTex ("Main Texture", 2D) = "black" {} - [Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0 - [Toggle(_DOUBLE_SIDED_LIGHTING)] _DoubleSidedLighting("Double-Sided Lighting", Int) = 0 - [HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0 - [HideInInspector][Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Comparison", Float) = 8 // Set to Always as default - - // Outline properties are drawn via custom editor. - [HideInInspector] _OutlineWidth("Outline Width", Range(0,8)) = 3.0 - [HideInInspector] _OutlineColor("Outline Color", Color) = (1,1,0,1) - [HideInInspector] _OutlineReferenceTexWidth("Reference Texture Width", Int) = 1024 - [HideInInspector] _ThresholdEnd("Outline Threshold", Range(0,1)) = 0.25 - [HideInInspector] _OutlineSmoothness("Outline Smoothness", Range(0,1)) = 1.0 - [HideInInspector][MaterialToggle(_USE8NEIGHBOURHOOD_ON)] _Use8Neighbourhood("Sample 8 Neighbours", Float) = 1 - [HideInInspector] _OutlineMipLevel("Outline Mip Level", Range(0,3)) = 0 - } - - SubShader { - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } - LOD 100 - - Stencil { - Ref[_StencilRef] - Comp[_StencilComp] - Pass Keep - } - - Pass { - Name "Normal" - - Tags { "LightMode"="Vertex" "Queue"="Transparent" "IgnoreProjector"="true" "RenderType"="Transparent" } - - ZWrite Off - Cull Off - Blend One OneMinusSrcAlpha - - CGPROGRAM - #pragma shader_feature _ _STRAIGHT_ALPHA_INPUT - #pragma shader_feature _ _DOUBLE_SIDED_LIGHTING - #pragma vertex vert - #pragma fragment frag - #pragma target 2.0 - - #pragma multi_compile __ POINT SPOT - #include "CGIncludes/Spine-Skeleton-Lit-Common.cginc" - ENDCG - - } - - Pass { - Name "Caster" - Tags { "LightMode"="ShadowCaster" } - Offset 1, 1 - - Fog { Mode Off } - ZWrite On - ZTest LEqual - Cull Off - Lighting Off - - CGPROGRAM - #pragma vertex vertShadow - #pragma fragment fragShadow - #pragma multi_compile_shadowcaster - #pragma fragmentoption ARB_precision_hint_fastest - - #define SHADOW_CUTOFF _Cutoff - #include "CGIncludes/Spine-Skeleton-Lit-Common-Shadow.cginc" - - ENDCG - } - } - CustomEditor "SpineShaderWithOutlineGUI" -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Lit.shader.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Lit.shader.meta deleted file mode 100644 index 1d0a386..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Spine-Skeleton-Lit.shader.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: bd83c75f51f5e23498ae22ffcdfe92c3 -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Sprite/CGIncludes/ShaderMaths.cginc b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Sprite/CGIncludes/ShaderMaths.cginc deleted file mode 100644 index 0bb3aae..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Sprite/CGIncludes/ShaderMaths.cginc +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef SHADER_MATHS_INCLUDED -#define SHADER_MATHS_INCLUDED - -#if defined(USE_LWRP) -#include "Packages/com.unity.render-pipelines.lightweight/ShaderLibrary/Core.hlsl" -#elif defined(USE_URP) -#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" -#else -#include "UnityCG.cginc" -#endif - -//////////////////////////////////////// -// Maths functions -// - -inline half3 safeNormalize(half3 inVec) -{ - half dp3 = max(0.001f, dot(inVec, inVec)); - return inVec * rsqrt(dp3); -} - -inline float dotClamped(float3 a, float3 b) -{ - #if (SHADER_TARGET < 30 || defined(SHADER_API_PS3)) - return saturate(dot(a, b)); - #else - return max(0.0h, dot(a, b)); - #endif -} - -inline float oneDividedBy(float value) -{ - //Catches NANs - float sign_value = sign(value); - float sign_value_squared = sign_value*sign_value; - return sign_value_squared / ( value + sign_value_squared - 1.0); -} - -inline half pow5 (half x) -{ - return x*x*x*x*x; -} - -inline float4 quat_from_axis_angle(float3 axis, float angleRadians) -{ - float4 qr; - float half_angle = (angleRadians * 0.5); - qr.x = axis.x * sin(half_angle); - qr.y = axis.y * sin(half_angle); - qr.z = axis.z * sin(half_angle); - qr.w = cos(half_angle); - return qr; -} - -inline float3 rotate_vertex_position(float3 position, float3 axis, float angleRadians) -{ - float4 q = quat_from_axis_angle(axis, angleRadians); - float3 v = position.xyz; - return v + 2.0 * cross(q.xyz, cross(q.xyz, v) + q.w * v); -} - -float3 EncodeFloatRGB(float value) -{ - const float max24int = 256*256*256-1; - float3 decomp = floor( value * float3( max24int/(256*256), max24int/256, max24int ) ) / 255.0; - decomp.z -= decomp.y * 256.0; - decomp.y -= decomp.x * 256.0; - return decomp; -} - -float DecodeFloatRGB(float3 decomp) -{ - return dot( decomp.xyz, float3( 255.0/256, 255.0/(256*256), 255.0/(256*256*256) ) ); -} - -#endif // SHADER_MATHS_INCLUDED diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Sprite/CGIncludes/ShaderMaths.cginc.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Sprite/CGIncludes/ShaderMaths.cginc.meta deleted file mode 100644 index 348f3ac..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Sprite/CGIncludes/ShaderMaths.cginc.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: e1de23de2025abe4a84ff2edd3f24491 -timeCreated: 1494092582 -licenseType: Free -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Sprite/CGIncludes/ShaderShared.cginc b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Sprite/CGIncludes/ShaderShared.cginc deleted file mode 100644 index dd5d83f..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Sprite/CGIncludes/ShaderShared.cginc +++ /dev/null @@ -1,417 +0,0 @@ -// Upgrade NOTE: upgraded instancing buffer 'PerDrawSprite' to new syntax. - -#ifndef SHADER_SHARED_INCLUDED -#define SHADER_SHARED_INCLUDED - -#if defined(USE_LWRP) -#include "Packages/com.unity.render-pipelines.lightweight/ShaderLibrary/Core.hlsl" -#elif defined(USE_URP) -#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" -#else -#include "UnityCG.cginc" -#endif - -//////////////////////////////////////// -// Space functions -// - -inline float4 calculateWorldPos(float4 vertex) -{ - return mul(unity_ObjectToWorld, vertex); -} - -#if defined(USE_LWRP) || defined(USE_URP) -// snaps post-transformed position to screen pixels -inline float4 UnityPixelSnap(float4 pos) -{ - float2 hpc = _ScreenParams.xy * 0.5f; -#if SHADER_API_PSSL - // sdk 4.5 splits round into v_floor_f32(x+0.5) ... sdk 5.0 uses v_rndne_f32, for compatabilty we use the 4.5 version - float2 temp = ((pos.xy / pos.w) * hpc) + float2(0.5f, 0.5f); - float2 pixelPos = float2(__v_floor_f32(temp.x), __v_floor_f32(temp.y)); -#else - float2 pixelPos = round((pos.xy / pos.w) * hpc); -#endif - pos.xy = pixelPos / hpc * pos.w; - return pos; -} -#endif - -inline float4 calculateLocalPos(float4 vertex) -{ -#if !defined(USE_LWRP) && !defined(USE_URP) -#ifdef UNITY_INSTANCING_ENABLED - vertex.xy *= _Flip.xy; -#endif -#endif - -#if defined(USE_LWRP) || defined(USE_URP) - float4 pos = TransformObjectToHClip(vertex.xyz); -#else - float4 pos = UnityObjectToClipPos(vertex); -#endif - -#ifdef PIXELSNAP_ON - pos = UnityPixelSnap(pos); -#endif - - return pos; -} - -inline half3 calculateWorldNormal(float3 normal) -{ -#if defined(USE_LWRP) || defined(USE_URP) - return TransformObjectToWorldNormal(normal); -#else - return UnityObjectToWorldNormal(normal); -#endif -} - -//////////////////////////////////////// -// Normal map functions -// - -#if defined(_NORMALMAP) - -uniform sampler2D _BumpMap; - -#if !defined(USE_LWRP) && !defined(USE_URP) -uniform half _BumpScale; -#endif - -half3 UnpackScaleNormal(half4 packednormal, half bumpScale) -{ - #if defined(UNITY_NO_DXT5nm) - return packednormal.xyz * 2 - 1; - #else - half3 normal; - normal.xy = (packednormal.wy * 2 - 1); - // Note: we allow scaled normals in LWRP since we might be using fewer instructions. - #if (SHADER_TARGET >= 30) || defined(USE_LWRP) || defined(USE_URP) - // SM2.0: instruction count limitation - // SM2.0: normal scaler is not supported - normal.xy *= bumpScale; - #endif - normal.z = sqrt(1.0 - saturate(dot(normal.xy, normal.xy))); - return normal; - #endif -} - - -inline half3 calculateWorldTangent(float4 tangent) -{ -#if defined(USE_LWRP) || defined(USE_URP) - return TransformObjectToWorldDir(tangent.xyz); -#else - return UnityObjectToWorldDir(tangent); -#endif -} - -inline half3 calculateWorldBinormal(half3 normalWorld, half3 tangentWorld, float tangentSign) -{ - //When calculating the binormal we have to flip it when the mesh is scaled negatively. - //Normally this would just be unity_WorldTransformParams.w but this isn't set correctly by Unity for its SpriteRenderer meshes so get from objectToWorld matrix scale instead. - half worldTransformSign = sign(unity_ObjectToWorld[0][0] * unity_ObjectToWorld[1][1] * unity_ObjectToWorld[2][2]); - half sign = tangentSign * worldTransformSign; - return cross(normalWorld, tangentWorld) * sign; -} - -inline half3 calculateNormalFromBumpMap(float2 texUV, half3 tangentWorld, half3 binormalWorld, half3 normalWorld) -{ - half3 localNormal = UnpackScaleNormal(tex2D(_BumpMap, texUV), _BumpScale); - half3x3 rotation = half3x3(tangentWorld, binormalWorld, normalWorld); - half3 normal = normalize(mul(localNormal, rotation)); - return normal; -} - -#endif // _NORMALMAP - -//////////////////////////////////////// -// Blending functions -// - -inline fixed4 prepareLitPixelForOutput(fixed4 finalPixel, fixed4 color) : SV_Target -{ -#if defined(_ALPHABLEND_ON) - //Normal Alpha - finalPixel.rgb *= finalPixel.a; -#elif defined(_ALPHAPREMULTIPLY_ON) - //Pre multiplied alpha - finalPixel.rgb *= color.a; -#elif defined(_MULTIPLYBLEND) - //Multiply - finalPixel = lerp(fixed4(1,1,1,1), finalPixel, finalPixel.a); -#elif defined(_MULTIPLYBLEND_X2) - //Multiply x2 - finalPixel.rgb *= 2.0f; - finalPixel = lerp(fixed4(0.5f,0.5f,0.5f,0.5f), finalPixel, finalPixel.a); -#elif defined(_ADDITIVEBLEND) - //Additive - finalPixel *= 2.0f; - finalPixel.rgb *= color.a; -#elif defined(_ADDITIVEBLEND_SOFT) - //Additive soft - finalPixel.rgb *= finalPixel.a; -#else - //Opaque - finalPixel.a = 1; -#endif - return finalPixel; -} - -inline fixed4 calculateLitPixel(fixed4 texureColor, fixed4 color, fixed3 lighting) : SV_Target -{ - fixed4 finalPixel = texureColor * color * fixed4(lighting, 1); - finalPixel = prepareLitPixelForOutput(finalPixel, color); - return finalPixel; -} - -inline fixed4 calculateLitPixel(fixed4 texureColor, fixed3 lighting) : SV_Target -{ - // note: we let the optimizer work, removed duplicate code. - return calculateLitPixel(texureColor, fixed4(1, 1, 1, 1), lighting); -} - -inline fixed4 calculateAdditiveLitPixel(fixed4 texureColor, fixed4 color, fixed3 lighting) : SV_Target -{ - fixed4 finalPixel; - -#if defined(_ALPHABLEND_ON) || defined(_MULTIPLYBLEND) || defined(_MULTIPLYBLEND_X2) || defined(_ADDITIVEBLEND) || defined(_ADDITIVEBLEND_SOFT) - //Normal Alpha, Additive and Multiply modes - finalPixel.rgb = (texureColor.rgb * lighting * color.rgb) * (texureColor.a * color.a); - finalPixel.a = 1.0; -#elif defined(_ALPHAPREMULTIPLY_ON) - //Pre multiplied alpha - finalPixel.rgb = texureColor.rgb * lighting * color.rgb * color.a; - finalPixel.a = 1.0; -#else - //Opaque - finalPixel.rgb = texureColor.rgb * lighting * color.rgb; - finalPixel.a = 1.0; -#endif - - return finalPixel; -} - -inline fixed4 calculateAdditiveLitPixel(fixed4 texureColor, fixed3 lighting) : SV_Target -{ - fixed4 finalPixel; - -#if defined(_ALPHABLEND_ON) || defined(_MULTIPLYBLEND) || defined(_MULTIPLYBLEND_X2) || defined(_ADDITIVEBLEND) || defined(_ADDITIVEBLEND_SOFT) - //Normal Alpha, Additive and Multiply modes - finalPixel.rgb = (texureColor.rgb * lighting) * texureColor.a; - finalPixel.a = 1.0; -#else - //Pre multiplied alpha and Opaque - finalPixel.rgb = texureColor.rgb * lighting; - finalPixel.a = 1.0; -#endif - - return finalPixel; -} - -inline fixed4 calculatePixel(fixed4 texureColor, fixed4 color) : SV_Target -{ - // note: we let the optimizer work, removed duplicate code. - return calculateLitPixel(texureColor, color, fixed3(1, 1, 1)); -} - -inline fixed4 calculatePixel(fixed4 texureColor) : SV_Target -{ - // note: we let the optimizer work, removed duplicate code. - return calculateLitPixel(texureColor, fixed4(1, 1, 1, 1), fixed3(1, 1, 1)); -} - -//////////////////////////////////////// -// Alpha Clipping -// - -#if defined(_ALPHA_CLIP) - -#if !defined(USE_LWRP) && !defined(USE_URP) -uniform fixed _Cutoff; -#endif - -#define ALPHA_CLIP(pixel, color) clip((pixel.a * color.a) - _Cutoff); - -#else - -#define ALPHA_CLIP(pixel, color) - -#endif - -//////////////////////////////////////// -// Additive Slot blend mode -// return unlit textureColor, alpha clip textureColor.a only -// -#if defined(_ALPHAPREMULTIPLY_ON) - #define RETURN_UNLIT_IF_ADDITIVE_SLOT(textureColor, vertexColor) \ - if (vertexColor.a == 0 && (vertexColor.r || vertexColor.g || vertexColor.b)) {\ - ALPHA_CLIP(texureColor, fixed4(1, 1, 1, 1))\ - return texureColor * vertexColor;\ - } -#else - #define RETURN_UNLIT_IF_ADDITIVE_SLOT(textureColor, vertexColor) -#endif - -//////////////////////////////////////// -// Color functions -// - -#if !defined(USE_LWRP) && !defined(USE_URP) -uniform fixed4 _Color; -#endif - -inline fixed4 calculateVertexColor(fixed4 color) -{ - return color * _Color; -} - -#if defined(_COLOR_ADJUST) - -#if !defined(USE_LWRP) && !defined(USE_URP) -uniform float _Hue; -uniform float _Saturation; -uniform float _Brightness; -uniform fixed4 _OverlayColor; -#endif - -float3 rgb2hsv(float3 c) -{ - float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); - float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), step(c.b, c.g)); - float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), step(p.x, c.r)); - - float d = q.x - min(q.w, q.y); - float e = 1.0e-10; - return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); -} - -float3 hsv2rgb(float3 c) -{ - c = float3(c.x, clamp(c.yz, 0.0, 1.0)); - float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); - float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); - return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); -} - -inline fixed4 adjustColor(fixed4 color) -{ - float3 hsv = rgb2hsv(color.rgb); - - hsv.x += _Hue; - hsv.y *= _Saturation; - hsv.z *= _Brightness; - - color.rgb = hsv2rgb(hsv); - - return color; -} - -#define COLORISE(pixel) pixel.rgb = lerp(pixel.rgb, _OverlayColor.rgb, _OverlayColor.a * pixel.a); -#define COLORISE_ADDITIVE(pixel) pixel.rgb = ((1.0-_OverlayColor.a) * pixel.rgb); - -#else // !_COLOR_ADJUST - -#define COLORISE(pixel) -#define COLORISE_ADDITIVE(pixel) - -#endif // !_COLOR_ADJUST - -//////////////////////////////////////// -// Fog -// - -#if defined(_FOG) && (defined(FOG_LINEAR) || defined(FOG_EXP) || defined(FOG_EXP2)) - -inline fixed4 applyFog(fixed4 pixel, float fogCoordOrFactorAtLWRP) -{ -#if defined(_ADDITIVEBLEND) || defined(_ADDITIVEBLEND_SOFT) - //In additive mode blend from clear to black based on luminance - float luminance = pixel.r * 0.3 + pixel.g * 0.59 + pixel.b * 0.11; - fixed4 fogColor = lerp(fixed4(0,0,0,0), fixed4(0,0,0,1), luminance); -#elif defined(_MULTIPLYBLEND) - //In multiplied mode fade to white based on inverse luminance - float luminance = pixel.r * 0.3 + pixel.g * 0.59 + pixel.b * 0.11; - fixed4 fogColor = lerp(fixed4(1,1,1,1), fixed4(0,0,0,0), luminance); -#elif defined(_MULTIPLYBLEND_X2) - //In multipliedx2 mode fade to grey based on inverse luminance - float luminance = pixel.r * 0.3 + pixel.g * 0.59 + pixel.b * 0.11; - fixed4 fogColor = lerp(fixed4(0.5f,0.5f,0.5f,0.5f), fixed4(0,0,0,0), luminance); -#elif defined(_ALPHABLEND_ON) || defined(_ALPHAPREMULTIPLY_ON) - //In alpha blended modes blend to fog color based on pixel alpha - fixed4 fogColor = lerp(fixed4(0,0,0,0), unity_FogColor, pixel.a); -#else - //In opaque mode just return fog color; - fixed4 fogColor = unity_FogColor; -#endif - - #if defined(USE_LWRP) || defined(USE_URP) - pixel.rgb = MixFogColor(pixel.rgb, fogColor.rgb, fogCoordOrFactorAtLWRP); - #else - UNITY_APPLY_FOG_COLOR(fogCoordOrFactorAtLWRP, pixel, fogColor); - #endif - - return pixel; -} - -#define APPLY_FOG(pixel, input) pixel = applyFog(pixel, input.fogCoord); -#define APPLY_FOG_LWRP(pixel, fogFactor) pixel = applyFog(pixel, fogFactor); - -#define APPLY_FOG_ADDITIVE(pixel, input) \ - UNITY_APPLY_FOG_COLOR(input.fogCoord, pixel.rgb, fixed4(0,0,0,0)); // fog towards black in additive pass - -#else - -#define APPLY_FOG(pixel, input) -#define APPLY_FOG_LWRP(pixel, fogFactor) -#define APPLY_FOG_ADDITIVE(pixel, input) - -#endif - -//////////////////////////////////////// -// Texture functions -// - -uniform sampler2D _MainTex; - -#if _TEXTURE_BLEND -uniform sampler2D _BlendTex; -#if !defined(USE_LWRP) && !defined(USE_URP) -uniform float _BlendAmount; -#endif - -inline fixed4 calculateBlendedTexturePixel(float2 texcoord) -{ - return (1.0-_BlendAmount) * tex2D(_MainTex, texcoord) + _BlendAmount * tex2D(_BlendTex, texcoord); -} -#endif // _TEXTURE_BLEND - -inline fixed4 calculateTexturePixel(float2 texcoord) -{ - fixed4 pixel; - -#if _TEXTURE_BLEND - pixel = calculateBlendedTexturePixel(texcoord); -#else - pixel = tex2D(_MainTex, texcoord); -#endif // !_TEXTURE_BLEND - -#if defined(_COLOR_ADJUST) - pixel = adjustColor(pixel); -#endif // _COLOR_ADJUST - - return pixel; -} - -#if !defined(USE_LWRP) && !defined(USE_URP) -uniform fixed4 _MainTex_ST; -#endif - -inline float2 calculateTextureCoord(float4 texcoord) -{ - return TRANSFORM_TEX(texcoord, _MainTex); -} - - -#endif // SHADER_SHARED_INCLUDED diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Sprite/CGIncludes/ShaderShared.cginc.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Sprite/CGIncludes/ShaderShared.cginc.meta deleted file mode 100644 index 7e1ddf1..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Shaders/Sprite/CGIncludes/ShaderShared.cginc.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: c18c5cab567666f4d8c5b2bd4e61390b -timeCreated: 1494092582 -licenseType: Free -ShaderImporter: - defaultTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets.meta deleted file mode 100644 index 0c46466..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 5d7322e83d799d849bea71dbd6f1c24e -folderAsset: yes -timeCreated: 1563297885 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAAdditive.mat b/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAAdditive.mat deleted file mode 100644 index f40488b..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAAdditive.mat +++ /dev/null @@ -1,35 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: SkeletonPMAAdditive - m_Shader: {fileID: 4800000, guid: 53efa1d97f5d9f74285d4330cda14e36, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - : - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - : 0 - - _Cutoff: 0.1 - - _StraightAlphaInput: 0 - m_Colors: - - : {r: 0, g: 2.018574, b: 1e-45, a: 0.000007110106} - - _Color: {r: 1, g: 1, b: 1, a: 1} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAAdditive.mat.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAAdditive.mat.meta deleted file mode 100644 index e8edf09..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAAdditive.mat.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 4deba332d47209e4780b3c5fcf0e3745 -timeCreated: 1496447909 -licenseType: Free -NativeFormatImporter: - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAMultiply.mat b/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAMultiply.mat deleted file mode 100644 index 28c90c1..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAMultiply.mat +++ /dev/null @@ -1,43 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: SkeletonPMAMultiply - m_Shader: {fileID: 4800000, guid: 8bdcdc7ee298e594a9c20c61d25c33b6, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_CustomRenderQueue: -1 - stringTagMap: {} - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - - first: - name: - second: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - first: - name: _MainTex - second: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - first: - name: - second: 0 - - first: - name: _Cutoff - second: 0.1 - m_Colors: - - first: - name: - second: {r: 0, g: 2.018574, b: 1e-45, a: 0.000007110106} - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAMultiply.mat.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAMultiply.mat.meta deleted file mode 100644 index c8c8038..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAMultiply.mat.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 53bf0ab317d032d418cf1252d68f51df -timeCreated: 1496447909 -licenseType: Free -NativeFormatImporter: - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAScreen.mat b/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAScreen.mat deleted file mode 100644 index 601f987..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAScreen.mat +++ /dev/null @@ -1,43 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: SkeletonPMAScreen - m_Shader: {fileID: 4800000, guid: 4e8caa36c07aacf4ab270da00784e4d9, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_CustomRenderQueue: -1 - stringTagMap: {} - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - - first: - name: - second: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - first: - name: _MainTex - second: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - first: - name: - second: 0 - - first: - name: _Cutoff - second: 0.1 - m_Colors: - - first: - name: - second: {r: 0, g: 2.018574, b: 1e-45, a: 0.000007121922} - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAScreen.mat.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAScreen.mat.meta deleted file mode 100644 index 6a1a749..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/SkeletonDataModifierAssets/BlendModeMaterials/SkeletonPMAScreen.mat.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 73f0f46d3177c614baf0fa48d646a9be -timeCreated: 1496447909 -licenseType: Free -NativeFormatImporter: - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Utility/SkeletonExtensions.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Utility/SkeletonExtensions.cs deleted file mode 100644 index 4ca34de..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Utility/SkeletonExtensions.cs +++ /dev/null @@ -1,614 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEngine; - -namespace Spine.Unity { - public static class SkeletonExtensions { - - #region Colors - const float ByteToFloat = 1f / 255f; - public static Color GetColor (this Skeleton s) { return new Color(s.r, s.g, s.b, s.a); } - public static Color GetColor (this RegionAttachment a) { return new Color(a.r, a.g, a.b, a.a); } - public static Color GetColor (this MeshAttachment a) { return new Color(a.r, a.g, a.b, a.a); } - public static Color GetColor (this Slot s) { return new Color(s.r, s.g, s.b, s.a); } - public static Color GetColorTintBlack (this Slot s) { return new Color(s.r2, s.g2, s.b2, 1f); } - - public static void SetColor (this Skeleton skeleton, Color color) { - skeleton.A = color.a; - skeleton.R = color.r; - skeleton.G = color.g; - skeleton.B = color.b; - } - - public static void SetColor (this Skeleton skeleton, Color32 color) { - skeleton.A = color.a * ByteToFloat; - skeleton.R = color.r * ByteToFloat; - skeleton.G = color.g * ByteToFloat; - skeleton.B = color.b * ByteToFloat; - } - - public static void SetColor (this Slot slot, Color color) { - slot.A = color.a; - slot.R = color.r; - slot.G = color.g; - slot.B = color.b; - } - - public static void SetColor (this Slot slot, Color32 color) { - slot.A = color.a * ByteToFloat; - slot.R = color.r * ByteToFloat; - slot.G = color.g * ByteToFloat; - slot.B = color.b * ByteToFloat; - } - - public static void SetColor (this RegionAttachment attachment, Color color) { - attachment.A = color.a; - attachment.R = color.r; - attachment.G = color.g; - attachment.B = color.b; - } - - public static void SetColor (this RegionAttachment attachment, Color32 color) { - attachment.A = color.a * ByteToFloat; - attachment.R = color.r * ByteToFloat; - attachment.G = color.g * ByteToFloat; - attachment.B = color.b * ByteToFloat; - } - - public static void SetColor (this MeshAttachment attachment, Color color) { - attachment.A = color.a; - attachment.R = color.r; - attachment.G = color.g; - attachment.B = color.b; - } - - public static void SetColor (this MeshAttachment attachment, Color32 color) { - attachment.A = color.a * ByteToFloat; - attachment.R = color.r * ByteToFloat; - attachment.G = color.g * ByteToFloat; - attachment.B = color.b * ByteToFloat; - } - #endregion - - #region Skeleton - /// Sets the Skeleton's local scale using a UnityEngine.Vector2. If only individual components need to be set, set Skeleton.ScaleX or Skeleton.ScaleY. - public static void SetLocalScale (this Skeleton skeleton, Vector2 scale) { - skeleton.ScaleX = scale.x; - skeleton.ScaleY = scale.y; - } - - /// Gets the internal bone matrix as a Unity bonespace-to-skeletonspace transformation matrix. - public static Matrix4x4 GetMatrix4x4 (this Bone bone) { - return new Matrix4x4 { - m00 = bone.a, - m01 = bone.b, - m03 = bone.worldX, - m10 = bone.c, - m11 = bone.d, - m13 = bone.worldY, - m33 = 1 - }; - } - #endregion - - #region Bone - /// Sets the bone's (local) X and Y according to a Vector2 - public static void SetLocalPosition (this Bone bone, Vector2 position) { - bone.X = position.x; - bone.Y = position.y; - } - - /// Sets the bone's (local) X and Y according to a Vector3. The z component is ignored. - public static void SetLocalPosition (this Bone bone, Vector3 position) { - bone.X = position.x; - bone.Y = position.y; - } - - /// Gets the bone's local X and Y as a Vector2. - public static Vector2 GetLocalPosition (this Bone bone) { - return new Vector2(bone.x, bone.y); - } - - /// Gets the position of the bone in Skeleton-space. - public static Vector2 GetSkeletonSpacePosition (this Bone bone) { - return new Vector2(bone.worldX, bone.worldY); - } - - /// Gets a local offset from the bone and converts it into Skeleton-space. - public static Vector2 GetSkeletonSpacePosition (this Bone bone, Vector2 boneLocal) { - Vector2 o; - bone.LocalToWorld(boneLocal.x, boneLocal.y, out o.x, out o.y); - return o; - } - - /// Gets the bone's Unity World position using its Spine GameObject Transform. UpdateWorldTransform needs to have been called for this to return the correct, updated value. - public static Vector3 GetWorldPosition (this Bone bone, UnityEngine.Transform spineGameObjectTransform) { - return spineGameObjectTransform.TransformPoint(new Vector3(bone.worldX, bone.worldY)); - } - - public static Vector3 GetWorldPosition (this Bone bone, UnityEngine.Transform spineGameObjectTransform, float positionScale) { - return spineGameObjectTransform.TransformPoint(new Vector3(bone.worldX * positionScale, bone.worldY * positionScale)); - } - - /// Gets a skeleton space UnityEngine.Quaternion representation of bone.WorldRotationX. - public static Quaternion GetQuaternion (this Bone bone) { - var halfRotation = Mathf.Atan2(bone.c, bone.a) * 0.5f; - return new Quaternion(0, 0, Mathf.Sin(halfRotation), Mathf.Cos(halfRotation)); - } - - /// Gets a bone-local space UnityEngine.Quaternion representation of bone.rotation. - public static Quaternion GetLocalQuaternion (this Bone bone) { - var halfRotation = bone.rotation * Mathf.Deg2Rad * 0.5f; - return new Quaternion(0, 0, Mathf.Sin(halfRotation), Mathf.Cos(halfRotation)); - } - - /// Returns the Skeleton's local scale as a UnityEngine.Vector2. If only individual components are needed, use Skeleton.ScaleX or Skeleton.ScaleY. - public static Vector2 GetLocalScale (this Skeleton skeleton) { - return new Vector2(skeleton.ScaleX, skeleton.ScaleY); - } - - /// Calculates a 2x2 Transformation Matrix that can convert a skeleton-space position to a bone-local position. - public static void GetWorldToLocalMatrix (this Bone bone, out float ia, out float ib, out float ic, out float id) { - float a = bone.a, b = bone.b, c = bone.c, d = bone.d; - float invDet = 1 / (a * d - b * c); - ia = invDet * d; - ib = invDet * -b; - ic = invDet * -c; - id = invDet * a; - } - - /// UnityEngine.Vector2 override of Bone.WorldToLocal. This converts a skeleton-space position into a bone local position. - public static Vector2 WorldToLocal (this Bone bone, Vector2 worldPosition) { - Vector2 o; - bone.WorldToLocal(worldPosition.x, worldPosition.y, out o.x, out o.y); - return o; - } - - /// Sets the skeleton-space position of a bone. - /// The local position in its parent bone space, or in skeleton space if it is the root bone. - public static Vector2 SetPositionSkeletonSpace (this Bone bone, Vector2 skeletonSpacePosition) { - if (bone.parent == null) { // root bone - bone.SetLocalPosition(skeletonSpacePosition); - return skeletonSpacePosition; - } else { - var parent = bone.parent; - Vector2 parentLocal = parent.WorldToLocal(skeletonSpacePosition); - bone.SetLocalPosition(parentLocal); - return parentLocal; - } - } - #endregion - - #region Attachments - public static Material GetMaterial (this Attachment a) { - object rendererObject = null; - var renderableAttachment = a as IHasRendererObject; - if (renderableAttachment != null) - rendererObject = renderableAttachment.RendererObject; - - if (rendererObject == null) - return null; - - #if SPINE_TK2D - return (rendererObject.GetType() == typeof(Material)) ? (Material)rendererObject : (Material)((AtlasRegion)rendererObject).page.rendererObject; - #else - return (Material)((AtlasRegion)rendererObject).page.rendererObject; - #endif - } - - /// Fills a Vector2 buffer with local vertices. - /// The VertexAttachment - /// Slot where the attachment belongs. - /// Correctly-sized buffer. Use attachment's .WorldVerticesLength to get the correct size. If null, a new Vector2[] of the correct size will be allocated. - public static Vector2[] GetLocalVertices (this VertexAttachment va, Slot slot, Vector2[] buffer) { - int floatsCount = va.worldVerticesLength; - int bufferTargetSize = floatsCount >> 1; - buffer = buffer ?? new Vector2[bufferTargetSize]; - if (buffer.Length < bufferTargetSize) throw new System.ArgumentException(string.Format("Vector2 buffer too small. {0} requires an array of size {1}. Use the attachment's .WorldVerticesLength to get the correct size.", va.Name, floatsCount), "buffer"); - - if (va.bones == null) { - var localVerts = va.vertices; - for (int i = 0; i < bufferTargetSize; i++) { - int j = i * 2; - buffer[i] = new Vector2(localVerts[j], localVerts[j+1]); - } - } else { - var floats = new float[floatsCount]; - va.ComputeWorldVertices(slot, floats); - - Bone sb = slot.bone; - float ia, ib, ic, id, bwx = sb.worldX, bwy = sb.worldY; - sb.GetWorldToLocalMatrix(out ia, out ib, out ic, out id); - - for (int i = 0; i < bufferTargetSize; i++) { - int j = i * 2; - float x = floats[j] - bwx, y = floats[j+1] - bwy; - buffer[i] = new Vector2(x * ia + y * ib, x * ic + y * id); - } - } - - return buffer; - } - - /// Calculates world vertices and fills a Vector2 buffer. - /// The VertexAttachment - /// Slot where the attachment belongs. - /// Correctly-sized buffer. Use attachment's .WorldVerticesLength to get the correct size. If null, a new Vector2[] of the correct size will be allocated. - public static Vector2[] GetWorldVertices (this VertexAttachment a, Slot slot, Vector2[] buffer) { - int worldVertsLength = a.worldVerticesLength; - int bufferTargetSize = worldVertsLength >> 1; - buffer = buffer ?? new Vector2[bufferTargetSize]; - if (buffer.Length < bufferTargetSize) throw new System.ArgumentException(string.Format("Vector2 buffer too small. {0} requires an array of size {1}. Use the attachment's .WorldVerticesLength to get the correct size.", a.Name, worldVertsLength), "buffer"); - - var floats = new float[worldVertsLength]; - a.ComputeWorldVertices(slot, floats); - - for (int i = 0, n = worldVertsLength >> 1; i < n; i++) { - int j = i * 2; - buffer[i] = new Vector2(floats[j], floats[j + 1]); - } - - return buffer; - } - - /// Gets the PointAttachment's Unity World position using its Spine GameObject Transform. - public static Vector3 GetWorldPosition (this PointAttachment attachment, Slot slot, Transform spineGameObjectTransform) { - Vector3 skeletonSpacePosition; - skeletonSpacePosition.z = 0; - attachment.ComputeWorldPosition(slot.bone, out skeletonSpacePosition.x, out skeletonSpacePosition.y); - return spineGameObjectTransform.TransformPoint(skeletonSpacePosition); - } - - /// Gets the PointAttachment's Unity World position using its Spine GameObject Transform. - public static Vector3 GetWorldPosition (this PointAttachment attachment, Bone bone, Transform spineGameObjectTransform) { - Vector3 skeletonSpacePosition; - skeletonSpacePosition.z = 0; - attachment.ComputeWorldPosition(bone, out skeletonSpacePosition.x, out skeletonSpacePosition.y); - return spineGameObjectTransform.TransformPoint(skeletonSpacePosition); - } - #endregion - } -} - -namespace Spine { - using System; - using System.Collections.Generic; - - public struct BoneMatrix { - public float a, b, c, d, x, y; - - /// Recursively calculates a worldspace bone matrix based on BoneData. - public static BoneMatrix CalculateSetupWorld (BoneData boneData) { - if (boneData == null) - return default(BoneMatrix); - - // End condition: isRootBone - if (boneData.parent == null) - return GetInheritedInternal(boneData, default(BoneMatrix)); - - BoneMatrix result = CalculateSetupWorld(boneData.parent); - return GetInheritedInternal(boneData, result); - } - - static BoneMatrix GetInheritedInternal (BoneData boneData, BoneMatrix parentMatrix) { - var parent = boneData.parent; - if (parent == null) return new BoneMatrix(boneData); // isRootBone - - float pa = parentMatrix.a, pb = parentMatrix.b, pc = parentMatrix.c, pd = parentMatrix.d; - BoneMatrix result = default(BoneMatrix); - result.x = pa * boneData.x + pb * boneData.y + parentMatrix.x; - result.y = pc * boneData.x + pd * boneData.y + parentMatrix.y; - - switch (boneData.transformMode) { - case TransformMode.Normal: { - float rotationY = boneData.rotation + 90 + boneData.shearY; - float la = MathUtils.CosDeg(boneData.rotation + boneData.shearX) * boneData.scaleX; - float lb = MathUtils.CosDeg(rotationY) * boneData.scaleY; - float lc = MathUtils.SinDeg(boneData.rotation + boneData.shearX) * boneData.scaleX; - float ld = MathUtils.SinDeg(rotationY) * boneData.scaleY; - result.a = pa * la + pb * lc; - result.b = pa * lb + pb * ld; - result.c = pc * la + pd * lc; - result.d = pc * lb + pd * ld; - break; - } - case TransformMode.OnlyTranslation: { - float rotationY = boneData.rotation + 90 + boneData.shearY; - result.a = MathUtils.CosDeg(boneData.rotation + boneData.shearX) * boneData.scaleX; - result.b = MathUtils.CosDeg(rotationY) * boneData.scaleY; - result.c = MathUtils.SinDeg(boneData.rotation + boneData.shearX) * boneData.scaleX; - result.d = MathUtils.SinDeg(rotationY) * boneData.scaleY; - break; - } - case TransformMode.NoRotationOrReflection: { - float s = pa * pa + pc * pc, prx; - if (s > 0.0001f) { - s = Math.Abs(pa * pd - pb * pc) / s; - pb = pc * s; - pd = pa * s; - prx = MathUtils.Atan2(pc, pa) * MathUtils.RadDeg; - } else { - pa = 0; - pc = 0; - prx = 90 - MathUtils.Atan2(pd, pb) * MathUtils.RadDeg; - } - float rx = boneData.rotation + boneData.shearX - prx; - float ry = boneData.rotation + boneData.shearY - prx + 90; - float la = MathUtils.CosDeg(rx) * boneData.scaleX; - float lb = MathUtils.CosDeg(ry) * boneData.scaleY; - float lc = MathUtils.SinDeg(rx) * boneData.scaleX; - float ld = MathUtils.SinDeg(ry) * boneData.scaleY; - result.a = pa * la - pb * lc; - result.b = pa * lb - pb * ld; - result.c = pc * la + pd * lc; - result.d = pc * lb + pd * ld; - break; - } - case TransformMode.NoScale: - case TransformMode.NoScaleOrReflection: { - float cos = MathUtils.CosDeg(boneData.rotation), sin = MathUtils.SinDeg(boneData.rotation); - float za = pa * cos + pb * sin; - float zc = pc * cos + pd * sin; - float s = (float)Math.Sqrt(za * za + zc * zc); - if (s > 0.00001f) - s = 1 / s; - za *= s; - zc *= s; - s = (float)Math.Sqrt(za * za + zc * zc); - float r = MathUtils.PI / 2 + MathUtils.Atan2(zc, za); - float zb = MathUtils.Cos(r) * s; - float zd = MathUtils.Sin(r) * s; - float la = MathUtils.CosDeg(boneData.shearX) * boneData.scaleX; - float lb = MathUtils.CosDeg(90 + boneData.shearY) * boneData.scaleY; - float lc = MathUtils.SinDeg(boneData.shearX) * boneData.scaleX; - float ld = MathUtils.SinDeg(90 + boneData.shearY) * boneData.scaleY; - if (boneData.transformMode != TransformMode.NoScaleOrReflection ? pa * pd - pb * pc < 0 : false) { - zb = -zb; - zd = -zd; - } - result.a = za * la + zb * lc; - result.b = za * lb + zb * ld; - result.c = zc * la + zd * lc; - result.d = zc * lb + zd * ld; - break; - } - } - - return result; - } - - /// Constructor for a local bone matrix based on Setup Pose BoneData. - public BoneMatrix (BoneData boneData) { - float rotationY = boneData.rotation + 90 + boneData.shearY; - float rotationX = boneData.rotation + boneData.shearX; - - a = MathUtils.CosDeg(rotationX) * boneData.scaleX; - c = MathUtils.SinDeg(rotationX) * boneData.scaleX; - b = MathUtils.CosDeg(rotationY) * boneData.scaleY; - d = MathUtils.SinDeg(rotationY) * boneData.scaleY; - x = boneData.x; - y = boneData.y; - } - - /// Constructor for a local bone matrix based on a bone instance's current pose. - public BoneMatrix (Bone bone) { - float rotationY = bone.rotation + 90 + bone.shearY; - float rotationX = bone.rotation + bone.shearX; - - a = MathUtils.CosDeg(rotationX) * bone.scaleX; - c = MathUtils.SinDeg(rotationX) * bone.scaleX; - b = MathUtils.CosDeg(rotationY) * bone.scaleY; - d = MathUtils.SinDeg(rotationY) * bone.scaleY; - x = bone.x; - y = bone.y; - } - - public BoneMatrix TransformMatrix (BoneMatrix local) { - return new BoneMatrix { - a = this.a * local.a + this.b * local.c, - b = this.a * local.b + this.b * local.d, - c = this.c * local.a + this.d * local.c, - d = this.c * local.b + this.d * local.d, - x = this.a * local.x + this.b * local.y + this.x, - y = this.c * local.x + this.d * local.y + this.y - }; - } - } - - public static class SpineSkeletonExtensions { - public static bool IsWeighted (this VertexAttachment va) { - return va.bones != null && va.bones.Length > 0; - } - - public static bool IsRenderable (this Attachment a) { - return a is IHasRendererObject; - } - - #region Transform Modes - public static bool InheritsRotation (this TransformMode mode) { - const int RotationBit = 0; - return ((int)mode & (1U << RotationBit)) == 0; - } - - public static bool InheritsScale (this TransformMode mode) { - const int ScaleBit = 1; - return ((int)mode & (1U << ScaleBit)) == 0; - } - #endregion - - #region Posing - internal static void SetPropertyToSetupPose (this Skeleton skeleton, int propertyID) { - int tt = propertyID >> 24; - var timelineType = (TimelineType)tt; - int i = propertyID - (tt << 24); - - Bone bone; - IkConstraint ikc; - PathConstraint pc; - - switch (timelineType) { - // Bone - case TimelineType.Rotate: - bone = skeleton.bones.Items[i]; - bone.rotation = bone.data.rotation; - break; - case TimelineType.Translate: - bone = skeleton.bones.Items[i]; - bone.x = bone.data.x; - bone.y = bone.data.y; - break; - case TimelineType.Scale: - bone = skeleton.bones.Items[i]; - bone.scaleX = bone.data.scaleX; - bone.scaleY = bone.data.scaleY; - break; - case TimelineType.Shear: - bone = skeleton.bones.Items[i]; - bone.shearX = bone.data.shearX; - bone.shearY = bone.data.shearY; - break; - - // Slot - case TimelineType.Attachment: - skeleton.SetSlotAttachmentToSetupPose(i); - break; - case TimelineType.Color: - skeleton.slots.Items[i].SetColorToSetupPose(); - break; - case TimelineType.TwoColor: - skeleton.slots.Items[i].SetColorToSetupPose(); - break; - case TimelineType.Deform: - skeleton.slots.Items[i].Deform.Clear(); - break; - - // Skeleton - case TimelineType.DrawOrder: - skeleton.SetDrawOrderToSetupPose(); - break; - - // IK Constraint - case TimelineType.IkConstraint: - ikc = skeleton.ikConstraints.Items[i]; - ikc.mix = ikc.data.mix; - ikc.softness = ikc.data.softness; - ikc.bendDirection = ikc.data.bendDirection; - ikc.stretch = ikc.data.stretch; - break; - - // TransformConstraint - case TimelineType.TransformConstraint: - var tc = skeleton.transformConstraints.Items[i]; - var tcData = tc.data; - tc.rotateMix = tcData.rotateMix; - tc.translateMix = tcData.translateMix; - tc.scaleMix = tcData.scaleMix; - tc.shearMix = tcData.shearMix; - break; - - // Path Constraint - case TimelineType.PathConstraintPosition: - pc = skeleton.pathConstraints.Items[i]; - pc.position = pc.data.position; - break; - case TimelineType.PathConstraintSpacing: - pc = skeleton.pathConstraints.Items[i]; - pc.spacing = pc.data.spacing; - break; - case TimelineType.PathConstraintMix: - pc = skeleton.pathConstraints.Items[i]; - pc.rotateMix = pc.data.rotateMix; - pc.translateMix = pc.data.translateMix; - break; - } - } - - /// Resets the DrawOrder to the Setup Pose's draw order - public static void SetDrawOrderToSetupPose (this Skeleton skeleton) { - var slotsItems = skeleton.slots.Items; - int n = skeleton.slots.Count; - - var drawOrder = skeleton.drawOrder; - drawOrder.Clear(false); - drawOrder.EnsureCapacity(n); - drawOrder.Count = n; - System.Array.Copy(slotsItems, drawOrder.Items, n); - } - - /// Resets all the slots on the skeleton to their Setup Pose attachments but does not reset slot colors. - public static void SetSlotAttachmentsToSetupPose (this Skeleton skeleton) { - var slotsItems = skeleton.slots.Items; - for (int i = 0; i < skeleton.slots.Count; i++) { - Slot slot = slotsItems[i]; - string attachmentName = slot.data.attachmentName; - slot.Attachment = string.IsNullOrEmpty(attachmentName) ? null : skeleton.GetAttachment(i, attachmentName); - } - } - - /// Resets the color of a slot to Setup Pose value. - public static void SetColorToSetupPose (this Slot slot) { - slot.r = slot.data.r; - slot.g = slot.data.g; - slot.b = slot.data.b; - slot.a = slot.data.a; - slot.r2 = slot.data.r2; - slot.g2 = slot.data.g2; - slot.b2 = slot.data.b2; - } - - /// Sets a slot's attachment to setup pose. If you have the slotIndex, Skeleton.SetSlotAttachmentToSetupPose is faster. - public static void SetAttachmentToSetupPose (this Slot slot) { - var slotData = slot.data; - slot.Attachment = slot.bone.skeleton.GetAttachment(slotData.name, slotData.attachmentName); - } - - /// Resets the attachment of slot at a given slotIndex to setup pose. This is faster than Slot.SetAttachmentToSetupPose. - public static void SetSlotAttachmentToSetupPose (this Skeleton skeleton, int slotIndex) { - var slot = skeleton.slots.Items[slotIndex]; - string attachmentName = slot.data.attachmentName; - if (string.IsNullOrEmpty(attachmentName)) { - slot.Attachment = null; - } else { - var attachment = skeleton.GetAttachment(slotIndex, attachmentName); - slot.Attachment = attachment; - } - } - - /// Resets Skeleton parts to Setup Pose according to a Spine.Animation's keyed items. - public static void SetKeyedItemsToSetupPose (this Animation animation, Skeleton skeleton) { - animation.Apply(skeleton, 0, 0, false, null, 0, MixBlend.Setup, MixDirection.Out); - } - - public static void AllowImmediateQueue (this TrackEntry trackEntry) { - if (trackEntry.nextTrackLast < 0) trackEntry.nextTrackLast = 0; - } - #endregion - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Utility/SkeletonExtensions.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Utility/SkeletonExtensions.cs.meta deleted file mode 100644 index 427cdd1..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Utility/SkeletonExtensions.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ea85c8f6a91a6ab45881b0dbdaabb7d0 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Utility/SkinUtilities.cs b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Utility/SkinUtilities.cs deleted file mode 100644 index 7da1182..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Utility/SkinUtilities.cs +++ /dev/null @@ -1,168 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEngine; -using System.Collections.Generic; -using System.Collections; - -namespace Spine.Unity.AttachmentTools { - - public static class SkinUtilities { - - #region Skeleton Skin Extensions - /// - /// Convenience method for duplicating a skeleton's current active skin so changes to it will not affect other skeleton instances. . - public static Skin UnshareSkin (this Skeleton skeleton, bool includeDefaultSkin, bool unshareAttachments, AnimationState state = null) { - // 1. Copy the current skin and set the skeleton's skin to the new one. - var newSkin = skeleton.GetClonedSkin("cloned skin", includeDefaultSkin, unshareAttachments, true); - skeleton.SetSkin(newSkin); - - // 2. Apply correct attachments: skeleton.SetToSetupPose + animationState.Apply - if (state != null) { - skeleton.SetToSetupPose(); - state.Apply(skeleton); - } - - // 3. Return unshared skin. - return newSkin; - } - - public static Skin GetClonedSkin (this Skeleton skeleton, string newSkinName, bool includeDefaultSkin = false, bool cloneAttachments = false, bool cloneMeshesAsLinked = true) { - var newSkin = new Skin(newSkinName); // may have null name. Harmless. - var defaultSkin = skeleton.data.DefaultSkin; - var activeSkin = skeleton.skin; - - if (includeDefaultSkin) - defaultSkin.CopyTo(newSkin, true, cloneAttachments, cloneMeshesAsLinked); - - if (activeSkin != null) - activeSkin.CopyTo(newSkin, true, cloneAttachments, cloneMeshesAsLinked); - - return newSkin; - } - #endregion - - /// - /// Gets a shallow copy of the skin. The cloned skin's attachments are shared with the original skin. - public static Skin GetClone (this Skin original) { - var newSkin = new Skin(original.name + " clone"); - var newSkinAttachments = newSkin.Attachments; - var newSkinBones = newSkin.Bones; - var newSkinConstraints = newSkin.Constraints; - - foreach (var a in original.Attachments) - newSkinAttachments[a.Key] = a.Value; - - newSkinBones.AddRange(original.bones); - newSkinConstraints.AddRange(original.constraints); - return newSkin; - } - - /// Adds an attachment to the skin for the specified slot index and name. If the name already exists for the slot, the previous value is replaced. - public static void SetAttachment (this Skin skin, string slotName, string keyName, Attachment attachment, Skeleton skeleton) { - int slotIndex = skeleton.FindSlotIndex(slotName); - if (skeleton == null) throw new System.ArgumentNullException("skeleton", "skeleton cannot be null."); - if (slotIndex == -1) throw new System.ArgumentException(string.Format("Slot '{0}' does not exist in skeleton.", slotName), "slotName"); - skin.SetAttachment(slotIndex, keyName, attachment); - } - - /// Adds skin items from another skin. For items that already exist, the previous values are replaced. - public static void AddAttachments (this Skin skin, Skin otherSkin) { - if (otherSkin == null) return; - otherSkin.CopyTo(skin, true, false); - } - - /// Gets an attachment from the skin for the specified slot index and name. - public static Attachment GetAttachment (this Skin skin, string slotName, string keyName, Skeleton skeleton) { - int slotIndex = skeleton.FindSlotIndex(slotName); - if (skeleton == null) throw new System.ArgumentNullException("skeleton", "skeleton cannot be null."); - if (slotIndex == -1) throw new System.ArgumentException(string.Format("Slot '{0}' does not exist in skeleton.", slotName), "slotName"); - return skin.GetAttachment(slotIndex, keyName); - } - - /// Adds an attachment to the skin for the specified slot index and name. If the name already exists for the slot, the previous value is replaced. - public static void SetAttachment (this Skin skin, int slotIndex, string keyName, Attachment attachment) { - skin.SetAttachment(slotIndex, keyName, attachment); - } - - public static void RemoveAttachment (this Skin skin, string slotName, string keyName, SkeletonData skeletonData) { - int slotIndex = skeletonData.FindSlotIndex(slotName); - if (skeletonData == null) throw new System.ArgumentNullException("skeletonData", "skeletonData cannot be null."); - if (slotIndex == -1) throw new System.ArgumentException(string.Format("Slot '{0}' does not exist in skeleton.", slotName), "slotName"); - skin.RemoveAttachment(slotIndex, keyName); - } - - public static void Clear (this Skin skin) { - skin.Attachments.Clear(); - } - - //[System.Obsolete] - public static void Append (this Skin destination, Skin source) { - source.CopyTo(destination, true, false); - } - - public static void CopyTo (this Skin source, Skin destination, bool overwrite, bool cloneAttachments, bool cloneMeshesAsLinked = true) { - var sourceAttachments = source.Attachments; - var destinationAttachments = destination.Attachments; - var destinationBones = destination.Bones; - var destinationConstraints = destination.Constraints; - - if (cloneAttachments) { - if (overwrite) { - foreach (var e in sourceAttachments) { - Attachment clonedAttachment = e.Value.GetCopy(cloneMeshesAsLinked); - destinationAttachments[new Skin.SkinEntry(e.Key.SlotIndex, e.Key.Name, clonedAttachment)] = clonedAttachment; - } - } else { - foreach (var e in sourceAttachments) { - if (destinationAttachments.ContainsKey(e.Key)) continue; - Attachment clonedAttachment = e.Value.GetCopy(cloneMeshesAsLinked); - destinationAttachments.Add(new Skin.SkinEntry(e.Key.SlotIndex, e.Key.Name, clonedAttachment), clonedAttachment); - } - } - } else { - if (overwrite) { - foreach (var e in sourceAttachments) - destinationAttachments[e.Key] = e.Value; - } else { - foreach (var e in sourceAttachments) { - if (destinationAttachments.ContainsKey(e.Key)) continue; - destinationAttachments.Add(e.Key, e.Value); - } - } - } - - foreach (BoneData data in source.bones) - if (!destinationBones.Contains(data)) destinationBones.Add(data); - - foreach (ConstraintData data in source.constraints) - if (!destinationConstraints.Contains(data)) destinationConstraints.Add(data); - } - } -} diff --git a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Utility/SkinUtilities.cs.meta b/unity/Assets/Plugin/Spine/Runtime/spine-unity/Utility/SkinUtilities.cs.meta deleted file mode 100644 index 5ac1f29..0000000 --- a/unity/Assets/Plugin/Spine/Runtime/spine-unity/Utility/SkinUtilities.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: f4692b9527684d048862210ba3f9834e -timeCreated: 1563321428 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Music/select.mp3 b/unity/Assets/Resources/Music/select.mp3 deleted file mode 100644 index 6b98ebc..0000000 Binary files a/unity/Assets/Resources/Music/select.mp3 and /dev/null differ diff --git a/unity/Assets/Resources/Music/select.mp3.meta b/unity/Assets/Resources/Music/select.mp3.meta deleted file mode 100644 index 0f95b8a..0000000 --- a/unity/Assets/Resources/Music/select.mp3.meta +++ /dev/null @@ -1,22 +0,0 @@ -fileFormatVersion: 2 -guid: b2793431eda021648939733d04a470ba -AudioImporter: - externalObjects: {} - serializedVersion: 6 - defaultSettings: - loadType: 0 - sampleRateSetting: 0 - sampleRateOverride: 44100 - compressionFormat: 1 - quality: 1 - conversionMode: 0 - platformSettingOverrides: {} - forceToMono: 0 - normalize: 1 - preloadAudioData: 1 - loadInBackground: 0 - ambisonic: 0 - 3D: 1 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Sound/sfx_click1.mp3 b/unity/Assets/Resources/Sound/sfx_click1.mp3 deleted file mode 100644 index e0bf996..0000000 Binary files a/unity/Assets/Resources/Sound/sfx_click1.mp3 and /dev/null differ diff --git a/unity/Assets/Resources/Sound/sfx_click1.mp3.meta b/unity/Assets/Resources/Sound/sfx_click1.mp3.meta deleted file mode 100644 index 25df7f8..0000000 --- a/unity/Assets/Resources/Sound/sfx_click1.mp3.meta +++ /dev/null @@ -1,22 +0,0 @@ -fileFormatVersion: 2 -guid: 7e76188755319c14fb748857aae7b061 -AudioImporter: - externalObjects: {} - serializedVersion: 6 - defaultSettings: - loadType: 0 - sampleRateSetting: 0 - sampleRateOverride: 44100 - compressionFormat: 1 - quality: 1 - conversionMode: 0 - platformSettingOverrides: {} - forceToMono: 0 - normalize: 1 - preloadAudioData: 1 - loadInBackground: 0 - ambisonic: 0 - 3D: 1 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Sound/smash.mp3 b/unity/Assets/Resources/Sound/smash.mp3 deleted file mode 100644 index b2c777c..0000000 Binary files a/unity/Assets/Resources/Sound/smash.mp3 and /dev/null differ diff --git a/unity/Assets/Resources/Sound/smash.mp3.meta b/unity/Assets/Resources/Sound/smash.mp3.meta deleted file mode 100644 index 0629ac8..0000000 --- a/unity/Assets/Resources/Sound/smash.mp3.meta +++ /dev/null @@ -1,22 +0,0 @@ -fileFormatVersion: 2 -guid: 745ff6d9880e7e54ca173e5230018748 -AudioImporter: - externalObjects: {} - serializedVersion: 6 - defaultSettings: - loadType: 0 - sampleRateSetting: 0 - sampleRateOverride: 44100 - compressionFormat: 1 - quality: 1 - conversionMode: 0 - platformSettingOverrides: {} - forceToMono: 0 - normalize: 1 - preloadAudioData: 1 - loadInBackground: 0 - ambisonic: 0 - 3D: 1 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/SoundManager.mixer b/unity/Assets/Resources/SoundManager.mixer deleted file mode 100644 index 4954e79..0000000 --- a/unity/Assets/Resources/SoundManager.mixer +++ /dev/null @@ -1,183 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!243 &-5338354461339684369 -AudioMixerGroupController: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Effect - m_AudioMixer: {fileID: 24100000} - m_GroupID: a684b2fde34a05146bcf4f7605bfa8fd - m_Children: [] - m_Volume: 14cf4d81158c96e48b5c047884128b1f - m_Pitch: 8facd32fc005c794096a5a8d33fbc92e - m_Send: 00000000000000000000000000000000 - m_Effects: - - {fileID: -1026247152745903958} - m_UserColorIndex: 0 - m_Mute: 0 - m_Solo: 0 - m_BypassEffects: 0 ---- !u!243 &-4729268101781253470 -AudioMixerGroupController: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Sound - m_AudioMixer: {fileID: 24100000} - m_GroupID: 63e56815c7f37d0469051f006d11a8b9 - m_Children: [] - m_Volume: 8c2c0294320a5334488a67a3331337dd - m_Pitch: 2820ee40edffc624faf6f556b130b50c - m_Send: 00000000000000000000000000000000 - m_Effects: - - {fileID: -1570547325955299848} - m_UserColorIndex: 0 - m_Mute: 0 - m_Solo: 0 - m_BypassEffects: 0 ---- !u!243 &-1885127544460506260 -AudioMixerGroupController: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Music - m_AudioMixer: {fileID: 24100000} - m_GroupID: b88f8eea5bb07454cb994862267d9afc - m_Children: [] - m_Volume: 8df32ae64ba29dc4a894d73034b4598e - m_Pitch: c87a26517d5c2c044b1e3254f4ef07fd - m_Send: 00000000000000000000000000000000 - m_Effects: - - {fileID: 8658152979864439580} - m_UserColorIndex: 0 - m_Mute: 0 - m_Solo: 0 - m_BypassEffects: 0 ---- !u!244 &-1570547325955299848 -AudioMixerEffectController: - m_ObjectHideFlags: 3 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_EffectID: c0162ce1b4b1c0c458d9cb2bbfaba102 - m_EffectName: Attenuation - m_MixLevel: 5b54fac0f2906db459c13be21ef1b280 - m_Parameters: [] - m_SendTarget: {fileID: 0} - m_EnableWetMix: 0 - m_Bypass: 0 ---- !u!244 &-1026247152745903958 -AudioMixerEffectController: - m_ObjectHideFlags: 3 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_EffectID: 81ff359a8871f2c4e9c9b409b1072bf8 - m_EffectName: Attenuation - m_MixLevel: 114508ea81840de4ca8c9dfd7c13acf7 - m_Parameters: [] - m_SendTarget: {fileID: 0} - m_EnableWetMix: 0 - m_Bypass: 0 ---- !u!241 &24100000 -AudioMixerController: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: SoundManager - m_OutputGroup: {fileID: 0} - m_MasterGroup: {fileID: 24300002} - m_Snapshots: - - {fileID: 24500006} - m_StartSnapshot: {fileID: 24500006} - m_SuspendThreshold: -80 - m_EnableSuspend: 1 - m_UpdateMode: 0 - m_ExposedParameters: - - guid: 8df32ae64ba29dc4a894d73034b4598e - name: MusicVolume - - guid: 8c2c0294320a5334488a67a3331337dd - name: SoundVolume - m_AudioMixerGroupViews: - - guids: - - 39f1aefa9352dd04693e36bb2de62968 - - 63e56815c7f37d0469051f006d11a8b9 - - b88f8eea5bb07454cb994862267d9afc - - a684b2fde34a05146bcf4f7605bfa8fd - name: View - m_CurrentViewIndex: 0 - m_TargetSnapshot: {fileID: 24500006} ---- !u!243 &24300002 -AudioMixerGroupController: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Master - m_AudioMixer: {fileID: 24100000} - m_GroupID: 39f1aefa9352dd04693e36bb2de62968 - m_Children: - - {fileID: -1885127544460506260} - - {fileID: -4729268101781253470} - - {fileID: -5338354461339684369} - m_Volume: b7408a590144d91459770d47aba74729 - m_Pitch: 7cab6ee23e30b6e4d8db47ed3fb55a5d - m_Send: 00000000000000000000000000000000 - m_Effects: - - {fileID: 24400004} - m_UserColorIndex: 0 - m_Mute: 0 - m_Solo: 0 - m_BypassEffects: 0 ---- !u!244 &24400004 -AudioMixerEffectController: - m_ObjectHideFlags: 3 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_EffectID: 70c9091913a106f4ab4cdaa6dfb68387 - m_EffectName: Attenuation - m_MixLevel: 315bdfc3699d73944affa821d15f50a3 - m_Parameters: [] - m_SendTarget: {fileID: 0} - m_EnableWetMix: 0 - m_Bypass: 0 ---- !u!245 &24500006 -AudioMixerSnapshotController: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Snapshot - m_AudioMixer: {fileID: 24100000} - m_SnapshotID: 2e14548775568414ba8848b930692703 - m_FloatValues: - 14cf4d81158c96e48b5c047884128b1f: 8.455505 - 8d8387d2187596941844f4327c3d56f8: 0.025578288 - 8c2c0294320a5334488a67a3331337dd: 20 - 8df32ae64ba29dc4a894d73034b4598e: 10.45827 - 10ed0e47f04eca84a910956d1a2d285c: -0.025776394 - b7408a590144d91459770d47aba74729: 0 - m_TransitionOverrides: {} ---- !u!244 &8658152979864439580 -AudioMixerEffectController: - m_ObjectHideFlags: 3 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_EffectID: 2e99837fae8b651459b71c20566a786d - m_EffectName: Attenuation - m_MixLevel: bc40ce2798615cb469896f03b5239a4b - m_Parameters: [] - m_SendTarget: {fileID: 0} - m_EnableWetMix: 0 - m_Bypass: 0 diff --git a/unity/Assets/Resources/SoundManager.mixer.meta b/unity/Assets/Resources/SoundManager.mixer.meta deleted file mode 100644 index e0802ae..0000000 --- a/unity/Assets/Resources/SoundManager.mixer.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5d1e26ab2c63dce42bf502403c37ca37 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 24100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/Brute/images/Brute/SmearLarge/SmearLarge.png b/unity/Assets/Resources/Spine/Brute/images/Brute/SmearLarge/SmearLarge.png deleted file mode 100644 index f76edfa..0000000 Binary files a/unity/Assets/Resources/Spine/Brute/images/Brute/SmearLarge/SmearLarge.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/Brute/images/Brute/pentagram/Skull.png b/unity/Assets/Resources/Spine/Brute/images/Brute/pentagram/Skull.png deleted file mode 100644 index 967158c..0000000 Binary files a/unity/Assets/Resources/Spine/Brute/images/Brute/pentagram/Skull.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/WeaponCard/images/images/ShineGradient.png b/unity/Assets/Resources/Spine/WeaponCard/images/images/ShineGradient.png deleted file mode 100644 index 23f1933..0000000 Binary files a/unity/Assets/Resources/Spine/WeaponCard/images/images/ShineGradient.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/WeaponCard/images/images/ShineGradient.png.meta b/unity/Assets/Resources/Spine/WeaponCard/images/images/ShineGradient.png.meta deleted file mode 100644 index c8ac7fe..0000000 --- a/unity/Assets/Resources/Spine/WeaponCard/images/images/ShineGradient.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 08124a6898445164a85a5c22aaf48c93 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/Tools/SEED_BAG.png b/unity/Assets/Resources/Spine/player-main/images/Tools/SEED_BAG.png deleted file mode 100644 index 1f828d4..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/Tools/SEED_BAG.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/Tools/SEED_BAG.png.meta b/unity/Assets/Resources/Spine/player-main/images/Tools/SEED_BAG.png.meta deleted file mode 100644 index 06e02d3..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/Tools/SEED_BAG.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: d95b630a2abc13345bd448ec41da6719 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/Tools/SPADE.png b/unity/Assets/Resources/Spine/player-main/images/Tools/SPADE.png deleted file mode 100644 index 86ce91e..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/Tools/SPADE.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/Tools/SPADE.png.meta b/unity/Assets/Resources/Spine/player-main/images/Tools/SPADE.png.meta deleted file mode 100644 index fb81ff4..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/Tools/SPADE.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 1ceb54f9ddb590742b88f0396ae25e42 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/Shield.png b/unity/Assets/Resources/Spine/player-main/images/Weapons/Shield.png deleted file mode 100644 index b19a5d8..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/Weapons/Shield.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/Shield.png.meta b/unity/Assets/Resources/Spine/player-main/images/Weapons/Shield.png.meta deleted file mode 100644 index a7476e1..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/Weapons/Shield.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 21b7ed12c15102b4dacfcc800ffb5e95 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/ShieldEye_1.png b/unity/Assets/Resources/Spine/player-main/images/Weapons/ShieldEye_1.png deleted file mode 100644 index e8272b3..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/Weapons/ShieldEye_1.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/ShieldEye_1.png.meta b/unity/Assets/Resources/Spine/player-main/images/Weapons/ShieldEye_1.png.meta deleted file mode 100644 index 219bbff..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/Weapons/ShieldEye_1.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 497e9942b544c1b49a443999e14a77b4 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/ShieldEye_2.png b/unity/Assets/Resources/Spine/player-main/images/Weapons/ShieldEye_2.png deleted file mode 100644 index a6d917a..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/Weapons/ShieldEye_2.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/ShieldEye_2.png.meta b/unity/Assets/Resources/Spine/player-main/images/Weapons/ShieldEye_2.png.meta deleted file mode 100644 index 01c8b4e..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/Weapons/ShieldEye_2.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 69ccb029e845aca4a90fe8e7808472b1 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/Sling.png b/unity/Assets/Resources/Spine/player-main/images/Weapons/Sling.png deleted file mode 100644 index c509b86..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/Weapons/Sling.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/Sling.png.meta b/unity/Assets/Resources/Spine/player-main/images/Weapons/Sling.png.meta deleted file mode 100644 index 7c05684..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/Weapons/Sling.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 2a66ef90d15db974592f1c6fa5c7a92b -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/SlingHand.png b/unity/Assets/Resources/Spine/player-main/images/Weapons/SlingHand.png deleted file mode 100644 index a47a319..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/Weapons/SlingHand.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/SlingHand.png.meta b/unity/Assets/Resources/Spine/player-main/images/Weapons/SlingHand.png.meta deleted file mode 100644 index 5243dc6..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/Weapons/SlingHand.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 20b0a04474428c34489afe6b1fbde429 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/SlingRope.png b/unity/Assets/Resources/Spine/player-main/images/Weapons/SlingRope.png deleted file mode 100644 index d24d6a4..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/Weapons/SlingRope.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/SlingRope.png.meta b/unity/Assets/Resources/Spine/player-main/images/Weapons/SlingRope.png.meta deleted file mode 100644 index e7ac16f..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/Weapons/SlingRope.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 28b802c520146b44191e79a54aaeed88 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_1.png b/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_1.png deleted file mode 100644 index 198f601..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_1.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_1.png.meta b/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_1.png.meta deleted file mode 100644 index 8a618b3..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_1.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 7634526936dabc143be86281f72a8508 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_2.png b/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_2.png deleted file mode 100644 index 23144e1..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_2.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_2.png.meta b/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_2.png.meta deleted file mode 100644 index 098311a..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_2.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 3aed885a749e1dc4db4d7a3e6e875669 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_3.png b/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_3.png deleted file mode 100644 index a9cf489..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_3.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_3.png.meta b/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_3.png.meta deleted file mode 100644 index 5714b75..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/Weapons/SpecialSword_3.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: d189358e475143b459da691538602804 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/SermonRing.png b/unity/Assets/Resources/Spine/player-main/images/effects/SermonRing.png deleted file mode 100644 index 8d40190..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/effects/SermonRing.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/SermonRing.png.meta b/unity/Assets/Resources/Spine/player-main/images/effects/SermonRing.png.meta deleted file mode 100644 index bf103d3..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/effects/SermonRing.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 4d69cadfa87b6734380166ebef543ad3 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/SermonRing2.png b/unity/Assets/Resources/Spine/player-main/images/effects/SermonRing2.png deleted file mode 100644 index a5abbe1..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/effects/SermonRing2.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/SermonRing2.png.meta b/unity/Assets/Resources/Spine/player-main/images/effects/SermonRing2.png.meta deleted file mode 100644 index 7f54640..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/effects/SermonRing2.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 45f33f209660ee449b544a3c6e56d022 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/Sparks1.png b/unity/Assets/Resources/Spine/player-main/images/effects/Sparks1.png deleted file mode 100644 index 704dbb2..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/effects/Sparks1.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/Sparks1.png.meta b/unity/Assets/Resources/Spine/player-main/images/effects/Sparks1.png.meta deleted file mode 100644 index 4e1a131..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/effects/Sparks1.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 0bc598c23c9c60449a8847df9259e8f3 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/Sparks2.png b/unity/Assets/Resources/Spine/player-main/images/effects/Sparks2.png deleted file mode 100644 index c631c58..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/effects/Sparks2.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/Sparks2.png.meta b/unity/Assets/Resources/Spine/player-main/images/effects/Sparks2.png.meta deleted file mode 100644 index 1242a9b..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/effects/Sparks2.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 7d623b968c1b3e1489c261c755fc9de0 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_1.png b/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_1.png deleted file mode 100644 index 3b3be79..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_1.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_1.png.meta b/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_1.png.meta deleted file mode 100644 index ea35bbe..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_1.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 5b1ecb6b8a5a96b4b972876a81b462c6 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_2.png b/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_2.png deleted file mode 100644 index 0f00005..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_2.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_2.png.meta b/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_2.png.meta deleted file mode 100644 index 1956fc6..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_2.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: c1703346efc735943ae1a70bb354428c -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_3.png b/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_3.png deleted file mode 100644 index c22f360..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_3.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_3.png.meta b/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_3.png.meta deleted file mode 100644 index be87820..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_3.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 411c1b578370ab24baaf718176b6602b -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_4.png b/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_4.png deleted file mode 100644 index 647fbcd..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_4.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_4.png.meta b/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_4.png.meta deleted file mode 100644 index 31cc3ca..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_4.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 87ba55366749b344485059428a37daa7 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_glow.png b/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_glow.png deleted file mode 100644 index e91729d..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_glow.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_glow.png.meta b/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_glow.png.meta deleted file mode 100644 index 243fce6..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/effects/SpawnHeavy_glow.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 484bc739a1ad27349b0a3713601fffe9 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0001.png b/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0001.png deleted file mode 100644 index 0be5e9e..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0001.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0001.png.meta b/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0001.png.meta deleted file mode 100644 index e7dec1b..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0001.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: fc2ff6a0e7310984abe3e54bc13df31c -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0002.png b/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0002.png deleted file mode 100644 index 046d197..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0002.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0002.png.meta b/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0002.png.meta deleted file mode 100644 index 3a780a5..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0002.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 8a650764f35a4224d975e6383ca1e6c6 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0003.png b/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0003.png deleted file mode 100644 index 4d107f8..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0003.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0003.png.meta b/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0003.png.meta deleted file mode 100644 index 3ace96d..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0003.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: f586c953b714db24cafa160cc87616c4 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0004.png b/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0004.png deleted file mode 100644 index 1939853..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0004.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0004.png.meta b/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0004.png.meta deleted file mode 100644 index 7f108ee..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0004.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: e9bbe6fbcac7c5c45b1a75eca85e4379 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0005.png b/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0005.png deleted file mode 100644 index 7ce4098..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0005.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0005.png.meta b/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0005.png.meta deleted file mode 100644 index 65df96e..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0005.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 689d4b79bbb8d8e47b7cdb7efeb0c68b -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0006.png b/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0006.png deleted file mode 100644 index 5e6dcaa..0000000 Binary files a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0006.png and /dev/null differ diff --git a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0006.png.meta b/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0006.png.meta deleted file mode 100644 index ba61c00..0000000 --- a/unity/Assets/Resources/Spine/player-main/images/effects/slam_effect0006.png.meta +++ /dev/null @@ -1,135 +0,0 @@ -fileFormatVersion: 2 -guid: 870faf33659ea96439865d69e08212ff -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/VFX/SnowLight.prefab b/unity/Assets/Resources/VFX/SnowLight.prefab deleted file mode 100644 index e30d174..0000000 --- a/unity/Assets/Resources/VFX/SnowLight.prefab +++ /dev/null @@ -1,3422 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &165538 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 5 - m_Component: - - component: {fileID: 481334} - - component: {fileID: 19800804} - - component: {fileID: 19914594} - m_Layer: 0 - m_Name: SnowLight - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &481334 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 165538} - m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} ---- !u!198 &19800804 -ParticleSystem: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 165538} - serializedVersion: 5 - lengthInSec: 5 - simulationSpeed: 1 - stopAction: 0 - looping: 1 - prewarm: 0 - playOnAwake: 1 - useUnscaledTime: 0 - autoRandomSeed: 1 - useRigidbodyForVelocity: 1 - startDelay: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - moveWithTransform: 0 - moveWithCustomTransform: {fileID: 0} - scalingMode: 0 - randomSeed: 0 - InitialModule: - serializedVersion: 3 - enabled: 1 - startLifetime: - serializedVersion: 2 - minMaxState: 0 - scalar: 5 - minScalar: 5 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0.5714286 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSpeed: - serializedVersion: 2 - minMaxState: 0 - scalar: -1.5 - minScalar: 5 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startColor: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - startSize: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.03 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSizeY: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSizeZ: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotationX: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotationY: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotation: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - randomizeRotationDirection: 0 - maxNumParticles: 1000 - size3D: 0 - rotation3D: 0 - gravityModifier: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.05 - minScalar: 0.05 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - ShapeModule: - serializedVersion: 5 - enabled: 1 - type: 5 - angle: 25 - length: 5 - boxThickness: {x: 0, y: 0, z: 0} - radiusThickness: 1 - donutRadius: 0.2 - m_Position: {x: 0, y: 0, z: 0} - m_Rotation: {x: 0, y: 0, z: 0} - m_Scale: {x: 4, y: 4, z: 0} - placementMode: 0 - m_MeshMaterialIndex: 0 - m_MeshNormalOffset: 0 - m_Mesh: {fileID: 0} - m_MeshRenderer: {fileID: 0} - m_SkinnedMeshRenderer: {fileID: 0} - m_UseMeshMaterialIndex: 0 - m_UseMeshColors: 1 - alignToDirection: 0 - randomDirectionAmount: 0 - sphericalDirectionAmount: 0 - randomPositionAmount: 0 - radius: - value: 1.5 - mode: 0 - spread: 0 - speed: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - arc: - value: 360 - mode: 0 - spread: 0 - speed: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - EmissionModule: - enabled: 1 - serializedVersion: 4 - rateOverTime: - serializedVersion: 2 - minMaxState: 0 - scalar: 5 - minScalar: 10 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - rateOverDistance: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BurstCount: 0 - m_Bursts: [] - SizeModule: - enabled: 0 - curve: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 2 - outSlope: 2 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - RotationModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - curve: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.7853982 - minScalar: 0.7853982 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - ColorModule: - enabled: 1 - gradient: - serializedVersion: 2 - minMaxState: 1 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 0} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 1} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 7452 - atime2: 65535 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 3 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - UVModule: - enabled: 0 - mode: 0 - frameOverTime: - serializedVersion: 2 - minMaxState: 1 - scalar: 0.9999 - minScalar: 0.9999 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startFrame: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - tilesX: 1 - tilesY: 1 - animationType: 0 - rowIndex: 0 - cycles: 1 - uvChannelMask: -1 - flipU: 0 - flipV: 0 - randomRow: 1 - sprites: - - sprite: {fileID: 0} - VelocityModule: - enabled: 1 - x: - serializedVersion: 2 - minMaxState: 3 - scalar: -0.1 - minScalar: 0.1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: -1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 3 - scalar: -0.1 - minScalar: 0.1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: -1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 3 - scalar: -0.1 - minScalar: 0.1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: -1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - speedModifier: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - inWorldSpace: 0 - InheritVelocityModule: - enabled: 0 - m_Mode: 0 - m_Curve: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - ForceModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - inWorldSpace: 0 - randomizePerFrame: 0 - ExternalForcesModule: - enabled: 0 - multiplier: 1 - ClampVelocityModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - magnitude: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxis: 0 - inWorldSpace: 0 - multiplyDragByParticleSize: 1 - multiplyDragByParticleVelocity: 1 - dampen: 1 - drag: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - NoiseModule: - enabled: 0 - strength: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - strengthY: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - strengthZ: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - frequency: 0.5 - damping: 1 - octaves: 1 - octaveMultiplier: 0.5 - octaveScale: 2 - quality: 2 - scrollSpeed: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remap: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapY: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapZ: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapEnabled: 0 - positionAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - rotationAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - sizeAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - SizeBySpeedModule: - enabled: 0 - curve: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - range: {x: 0, y: 1} - separateAxes: 0 - RotationBySpeedModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - curve: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.7853982 - minScalar: 0.7853982 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - range: {x: 0, y: 1} - ColorBySpeedModule: - enabled: 0 - gradient: - serializedVersion: 2 - minMaxState: 1 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - range: {x: 0, y: 1} - CollisionModule: - enabled: 1 - serializedVersion: 3 - type: 1 - collisionMode: 0 - colliderForce: 0 - multiplyColliderForceByParticleSize: 0 - multiplyColliderForceByParticleSpeed: 0 - multiplyColliderForceByCollisionAngle: 1 - plane0: {fileID: 0} - plane1: {fileID: 0} - plane2: {fileID: 0} - plane3: {fileID: 0} - plane4: {fileID: 0} - plane5: {fileID: 0} - m_Dampen: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Bounce: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_EnergyLossOnCollision: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.95 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minKillSpeed: 0 - maxKillSpeed: 10000 - radiusScale: 0.01 - collidesWith: - serializedVersion: 2 - m_Bits: 4294967295 - maxCollisionShapes: 256 - quality: 0 - voxelSize: 0.5 - collisionMessages: 0 - collidesWithDynamic: 1 - interiorCollisions: 1 - TriggerModule: - enabled: 0 - collisionShape0: {fileID: 0} - collisionShape1: {fileID: 0} - collisionShape2: {fileID: 0} - collisionShape3: {fileID: 0} - collisionShape4: {fileID: 0} - collisionShape5: {fileID: 0} - inside: 1 - outside: 0 - enter: 0 - exit: 0 - radiusScale: 1 - SubModule: - serializedVersion: 2 - enabled: 1 - subEmitters: - - serializedVersion: 2 - emitter: {fileID: 0} - type: 0 - properties: 0 - LightsModule: - enabled: 0 - ratio: 0 - light: {fileID: 0} - randomDistribution: 1 - color: 1 - range: 1 - intensity: 1 - rangeCurve: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - intensityCurve: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - maxLights: 20 - TrailModule: - enabled: 0 - mode: 0 - ratio: 1 - lifetime: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minVertexDistance: 0.2 - textureMode: 0 - ribbonCount: 1 - worldSpace: 0 - dieWithParticles: 1 - sizeAffectsWidth: 1 - sizeAffectsLifetime: 0 - inheritParticleColor: 1 - generateLightingData: 0 - splitSubEmitterRibbons: 0 - colorOverLifetime: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - widthOverTrail: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - colorOverTrail: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - CustomDataModule: - enabled: 0 - mode0: 0 - vectorComponentCount0: 4 - color0: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - colorLabel0: Color - vector0_0: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel0_0: X - vector0_1: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel0_1: Y - vector0_2: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel0_2: Z - vector0_3: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel0_3: W - mode1: 0 - vectorComponentCount1: 4 - color1: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - colorLabel1: Color - vector1_0: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel1_0: X - vector1_1: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel1_1: Y - vector1_2: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel1_2: Z - vector1_3: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel1_3: W ---- !u!199 &19914594 -ParticleSystemRenderer: - serializedVersion: 4 - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 165538} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 150aee38b5d848b42b75593618992bb7, type: 2} - - {fileID: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - 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_RenderMode: 0 - m_SortMode: 0 - m_MinParticleSize: 0 - m_MaxParticleSize: 0.5 - m_CameraVelocityScale: 0 - m_VelocityScale: 0.04 - m_LengthScale: 1 - m_SortingFudge: 0 - m_NormalDirection: 1 - m_RenderAlignment: 0 - m_Pivot: {x: 0, y: 0, z: 0} - m_UseCustomVertexStreams: 0 - m_VertexStreams: 0001030405 - m_Mesh: {fileID: 0} - m_Mesh1: {fileID: 0} - m_Mesh2: {fileID: 0} - m_Mesh3: {fileID: 0} - m_MaskInteraction: 0 ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 0} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 165538} - m_IsPrefabParent: 1 diff --git a/unity/Assets/Resources/VFX/SnowLight.prefab.meta b/unity/Assets/Resources/VFX/SnowLight.prefab.meta deleted file mode 100644 index 218f4eb..0000000 --- a/unity/Assets/Resources/VFX/SnowLight.prefab.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c560f8ebc8a69634caa1ce24d5eb1a56 -timeCreated: 1446742387 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Scenes.meta b/unity/Assets/Scenes.meta index 7fe8e10..ad1e496 100644 --- a/unity/Assets/Scenes.meta +++ b/unity/Assets/Scenes.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 131a6b21c8605f84396be9f6751fb6e3 +guid: XX1OsCL7U3tk5qa+3OeAiiPIM/uQ6IS0HDb52/9xdmhiEu2gJa847sI= folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/unity/Assets/Spine Examples/Other Examples/SkeletonAnimationMulti.unity b/unity/Assets/Scenes/SampleScene.scene similarity index 59% rename from unity/Assets/Spine Examples/Other Examples/SkeletonAnimationMulti.unity rename to unity/Assets/Scenes/SampleScene.scene index 03b7590..ba8b42a 100644 --- a/unity/Assets/Spine Examples/Other Examples/SkeletonAnimationMulti.unity +++ b/unity/Assets/Scenes/SampleScene.scene @@ -1,5 +1,5 @@ %YAML 1.1 -%TAG !u! tag:unity3d.com,2011: +%TAG !u! tag:yousandi.cn,2023: --- !u!29 &1 OcclusionCullingSettings: m_ObjectHideFlags: 0 @@ -13,7 +13,7 @@ OcclusionCullingSettings: --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 - serializedVersion: 8 + serializedVersion: 9 m_Fog: 0 m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 @@ -24,9 +24,9 @@ RenderSettings: m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} m_AmbientIntensity: 1 - m_AmbientMode: 3 + m_AmbientMode: 0 m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 0} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} m_HaloStrength: 0.5 m_FlareStrength: 1 m_FlareFadeSpeed: 3 @@ -37,32 +37,32 @@ RenderSettings: m_ReflectionBounces: 1 m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} + m_Sun: {fileID: 705507994} m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 11 + serializedVersion: 12 m_GIWorkflowMode: 1 m_GISettings: serializedVersion: 2 m_BounceScale: 1 m_IndirectOutputScale: 1 m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 0 + m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 0 m_LightmapEditorSettings: - serializedVersion: 9 + serializedVersion: 12 m_Resolution: 2 m_BakeResolution: 40 - m_TextureWidth: 1024 - m_TextureHeight: 1024 + m_AtlasSize: 1024 m_AO: 0 m_AOMaxDistance: 1 m_CompAOExponent: 1 m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 m_Padding: 2 m_LightmapParameters: {fileID: 0} m_LightmapsBakeMode: 1 @@ -72,22 +72,33 @@ LightmapSettings: m_FinalGatherRayCount: 256 m_ReflectionCompression: 2 m_MixedBakeMode: 2 - m_BakeBackend: 0 + m_BakeBackend: 2 m_PVRSampling: 1 m_PVRDirectSampleCount: 32 m_PVRSampleCount: 500 m_PVRBounces: 2 - m_PVRFiltering: 0 - m_PVRFilteringMode: 1 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 m_PVRCulling: 1 m_PVRFilteringGaussRadiusDirect: 1 m_PVRFilteringGaussRadiusIndirect: 5 m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousColorSigma: 1 - m_PVRFilteringAtrousNormalSigma: 1 - m_PVRFilteringAtrousPositionSigma: 1 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 + m_LightingSettings: {fileID: 0} --- !u!196 &4 NavMeshSettings: serializedVersion: 2 @@ -107,73 +118,85 @@ NavMeshSettings: manualTileSize: 0 tileSize: 256 accuratePlacement: 0 + debug: + m_Flags: 0 m_NavMeshData: {fileID: 0} ---- !u!1 &1138932459 +--- !u!1 &705507993 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 5 + serializedVersion: 6 m_Component: - - component: {fileID: 1138932461} - - component: {fileID: 1138932460} + - component: {fileID: 705507995} + - component: {fileID: 705507994} m_Layer: 0 - m_Name: GameObject + m_Name: Directional Light m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1138932460 -MonoBehaviour: +--- !u!108 &705507994 +Light: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138932459} + m_GameObject: {fileID: 705507993} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a5ea35d82fb1b5d4583e89b4343976b6, type: 3} - m_Name: - m_EditorClassIdentifier: - initialFlipX: 1 - initialFlipY: 0 - initialAnimation: flying - initialLoop: 1 - skeletonDataAssets: - - {fileID: 11400000, guid: af38a3de26ed9b84abc2fe7c7f3b209d, type: 2} - - {fileID: 11400000, guid: 76506fa7fbeed084ab2dfb084648c628, type: 2} - meshGeneratorSettings: - useClipping: 1 - zSpacing: 0 - pmaVertexColors: 1 - tintBlack: 0 - calculateTangents: 0 - addNormals: 0 - immutableTriangles: 0 ---- !u!4 &1138932461 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 Transform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1138932459} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1616673261 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &963194225 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 5 + serializedVersion: 6 m_Component: - - component: {fileID: 1616673266} - - component: {fileID: 1616673265} - - component: {fileID: 1616673263} - - component: {fileID: 1616673262} + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -181,30 +204,28 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &1616673262 +--- !u!81 &963194226 AudioListener: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1616673261} + m_GameObject: {fileID: 963194225} m_Enabled: 1 ---- !u!124 &1616673263 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1616673261} - m_Enabled: 1 ---- !u!20 &1616673265 +--- !u!20 &963194227 Camera: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1616673261} + m_GameObject: {fileID: 963194225} m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 1 m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_GateFitMode: 2 + m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 x: 0 @@ -214,7 +235,7 @@ Camera: near clip plane: 0.3 far clip plane: 1000 field of view: 60 - orthographic: 1 + orthographic: 0 orthographic size: 5 m_Depth: -1 m_CullingMask: @@ -226,19 +247,19 @@ Camera: m_TargetEye: 3 m_HDR: 1 m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 m_ForceIntoRT: 0 m_OcclusionCulling: 1 m_StereoConvergence: 10 m_StereoSeparation: 0.022 - m_StereoMirrorMode: 0 ---- !u!4 &1616673266 +--- !u!4 &963194228 Transform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1616673261} + m_GameObject: {fileID: 963194225} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalPosition: {x: 0, y: 1, z: -10} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} diff --git a/unity/Assets/Scenes/SampleScene.scene.meta b/unity/Assets/Scenes/SampleScene.scene.meta new file mode 100644 index 0000000..952bd1e --- /dev/null +++ b/unity/Assets/Scenes/SampleScene.scene.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9fc0d4010bbf28b4594072e72b8655ab +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Script/Managers/SceneMonsterManager.cs b/unity/Assets/Script/Managers/SceneMonsterManager.cs deleted file mode 100644 index 36d9319..0000000 --- a/unity/Assets/Script/Managers/SceneMonsterManager.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using UnityEngine; - -public class SceneMonsterManager : MonoBehaviour -{ - [SerializeField, Header("怪物列表")] private List monsters = new List(); - - [SerializeField, Header("怪物生æˆé€Ÿçއ")] private float timer; - - public Transform teleporte; - public bool isTeleport = false; - - public GameObject box; - - private int count = 0; - - private float t = 0; - - private void Awake() - { - foreach (var item in monsters) - { - item.SetActive(false); - } - } - - private void Update() - { - t += Time.deltaTime; - if (t >= timer) - { - Debug.Log(isTeleport); - ABC(); - ProtectedMonster(); - } - } - void ProtectedMonster() - { - if (count >= monsters.Count) - { - return; - } - monsters[count].SetActive(true); - count += 1; - t = 0; - } - void ABC() - { - if(transform.childCount==0&&!isTeleport) - { - //UIManager.Instance.Show(); - Instantiate(box); - isTeleport = true; - } - } -} diff --git a/unity/Assets/Script/Managers/SenceManager.cs b/unity/Assets/Script/Managers/SenceManager.cs deleted file mode 100644 index 7b933ea..0000000 --- a/unity/Assets/Script/Managers/SenceManager.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using UnityEngine; -using UnityEngine.Events; - -namespace Manager -{ - class SenceManager:MonoSingleton - { - UnityAction onProgress = null; - - public void LoadScene(int name) - { - StartCoroutine(LoadLevel(name)); - - } - - IEnumerator LoadLevel( int id) - { - Debug.LogFormat("LoadLevel: {0}", name); - AsyncOperation async = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(id); - - async.allowSceneActivation = true; - async.completed += LevelLoadCompleted; - - //ä¿å­˜æ•°æ® - PlayerInfo.Instance.info.currentMap=id; - SaveSystem.SaveDate(PlayerInfo.Instance.info.DatePath, PlayerInfo.Instance.info); - - while (!async.isDone) - { - if (onProgress != null) - onProgress(async.progress); - yield return null; - } - } - - private void LevelLoadCompleted(AsyncOperation obj) - { - if (onProgress != null) - onProgress(1f); - Debug.Log("LevelLoadCompleted:" + obj.progress); - } - } -} diff --git a/unity/Assets/Script/Managers/SenceManager.cs.meta b/unity/Assets/Script/Managers/SenceManager.cs.meta deleted file mode 100644 index 0a87f89..0000000 --- a/unity/Assets/Script/Managers/SenceManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 36641df8733b77f4fb770f6bcfcc598f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Script/Managers/SoundManager.cs b/unity/Assets/Script/Managers/SoundManager.cs deleted file mode 100644 index 2dbfa12..0000000 --- a/unity/Assets/Script/Managers/SoundManager.cs +++ /dev/null @@ -1,119 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.Audio; - -namespace Manager -{ - public class SoundManager : MonoSingleton - { - public AudioMixer audioMixer;//»ìÒôÆ÷ - public AudioSource MusicSource; - public AudioSource SoundSource; - - const string MusicPath = "Music/"; - const string SoundPath = "Sound/"; - - private bool musicOn; - public bool MusicOn - { - get { return musicOn; } - set - { - musicOn = value; - this.MusicMute(!musicOn); - } - } - private bool soundOn; - public bool SoundOn - { - get { return soundOn; } - set - { - soundOn = value; - this.SoundMute(!soundOn); - } - } - - private int musicVolume; - public int MusicVolume - { - get { return musicVolume; } - set - { - musicVolume = value; - if (musicOn) this.SetVolume("MusicVolume", musicVolume); - } - } - private int soundVolume; - public int SoundVolume - { - get { return soundVolume; } - set - { - soundVolume = value; - if (soundOn) this.SetVolume("SoundVolume", soundVolume); - } - } - - public void SoundMute(bool mute) - { - this.SetVolume("SoundVolume", mute ? 0 : soundVolume); - } - public void MusicMute(bool mute) - { - this.SetVolume("MusicVolume", mute ? 0 : musicVolume); - } - - void SetVolume(string name, int value) - { - float volume = value * 0.5f - 50f; - this.audioMixer.SetFloat(name, volume); - } - - void Start() - { - this.MusicVolume = SystemConfig.MusicVolume; - this.SoundVolume = SystemConfig.SoundVolume; - this.MusicOn = SystemConfig.MusicOn; - this.soundOn = SystemConfig.SoundOn; - } - - public void PlayMusic(string name) - { - AudioClip clip = Resloader.Load(MusicPath + name); - if (clip == null) - { - Debug.LogWarningFormat("PlayMusic:{0} not existed", name); - return; - } - if (MusicSource.isPlaying) - { - MusicSource.Stop(); - } - MusicSource.clip = clip; - MusicSource.Play(); - } - public void PlaySound(string name) - { - AudioClip clip = Resloader.Load(SoundPath + name); - if (clip == null) - { - Debug.LogWarningFormat("PlaySound:{0} not existed", name); - return; - } - SoundSource.PlayOneShot(clip); - } - - public void PlayEffect(AudioSource audio,AudioClip clip) - { - if (clip == null) - { - Debug.LogWarningFormat("PlaySound:{0} not existed", name); - return; - } - audio.PlayOneShot(clip); - } - } -} - diff --git a/unity/Assets/Script/Managers/SoundManager.cs.meta b/unity/Assets/Script/Managers/SoundManager.cs.meta deleted file mode 100644 index 6a11765..0000000 --- a/unity/Assets/Script/Managers/SoundManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 1e3d9918daf58924b994f65a2ebd4d19 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Script/SaveSystem.meta b/unity/Assets/Script/SaveSystem.meta deleted file mode 100644 index 558eb22..0000000 --- a/unity/Assets/Script/SaveSystem.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1c686aebb47a67b45a336c23bb0a616c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Script/SaveSystem/SaveSystem.cs b/unity/Assets/Script/SaveSystem/SaveSystem.cs deleted file mode 100644 index 4028b2f..0000000 --- a/unity/Assets/Script/SaveSystem/SaveSystem.cs +++ /dev/null @@ -1,71 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.IO; -using UnityEngine; - -public static class SaveSystem -{ - public static bool IsHaveFile(string FilePath) - { - if (File.Exists(FilePath)) - return true; - else - return false; - } - public static void CreateFile(string FilePath, bool IfHaveFileIsCreate = false) - { - if (!File.Exists(FilePath)) - { - File.CreateText(FilePath); - } - } - - public static void SaveDate(string fileName, object date) - { - var json = JsonUtility.ToJson(date); - - string path = Path.Combine(Application.persistentDataPath, fileName); - - if (!IsHaveFile(path)) - { - //Debug.Log("Îļþ²»´æÔÚ"); - CreateFile(path); - } - try - { - File.WriteAllText(path, json); - Debug.Log("´æµµ³É¹¦"); - } - catch (Exception) - { - Debug.Log("´æµµ´´½¨Ê§°Ü"); - SaveDate(fileName,date); - } - } - public static T LoadDate(string fileName) - { - - var path = Path.Combine(Application.persistentDataPath, fileName); - - if (IsHaveFile(path)) - { - var json = File.ReadAllText(path); - - T date = JsonUtility.FromJson(json); - Debug.Log("¶Áµµ³É¹¦}"); - return date; - } - return default; - } - public static void DeleteDate(string fileName) - { - var path = Path.Combine(Application.persistentDataPath, fileName); - if (!IsHaveFile(path)) - { - return;//²»´æÔÚ - } - File.Delete(path); - Debug.Log("ɾ³ý³É¹¦"); - } -} diff --git a/unity/Assets/Script/SaveSystem/SaveSystem.cs.meta b/unity/Assets/Script/SaveSystem/SaveSystem.cs.meta deleted file mode 100644 index c32e766..0000000 --- a/unity/Assets/Script/SaveSystem/SaveSystem.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c2a8ed3c5fdface4383fffaf797a0b23 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Script/Tools/Config/SoundDefine.cs b/unity/Assets/Script/Tools/Config/SoundDefine.cs deleted file mode 100644 index c0c96a8..0000000 --- a/unity/Assets/Script/Tools/Config/SoundDefine.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class SoundDefine -{ - #region music - public const string LoadingMusic= "select"; - public const string Map_1Music = "map_01"; - public const string Map_2Music = "map_02"; - public const string Map_3Music = "map_03"; - #endregion - - #region fix - public const string BoxOpen = "BoxOpen"; - #endregion -} diff --git a/unity/Assets/Script/Tools/Config/SoundDefine.cs.meta b/unity/Assets/Script/Tools/Config/SoundDefine.cs.meta deleted file mode 100644 index b698cb5..0000000 --- a/unity/Assets/Script/Tools/Config/SoundDefine.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 9836183019983914fb04067f5ceb6760 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Script/Tools/Utils/Singleton.cs b/unity/Assets/Script/Tools/Utils/Singleton.cs deleted file mode 100644 index 841b39c..0000000 --- a/unity/Assets/Script/Tools/Utils/Singleton.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class Singleton where T : new() -{ - static T instance; - public static T Instance - { - get - { - if (instance == null) - return instance = new T(); - return instance; - } - } -} diff --git a/unity/Assets/Script/Tools/Utils/Singleton.cs.meta b/unity/Assets/Script/Tools/Utils/Singleton.cs.meta deleted file mode 100644 index 8d5b6b5..0000000 --- a/unity/Assets/Script/Tools/Utils/Singleton.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 07784bad47cfbe64faab332768e5f00a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Script/UI/SaveItem.cs b/unity/Assets/Script/UI/SaveItem.cs deleted file mode 100644 index 62204d2..0000000 --- a/unity/Assets/Script/UI/SaveItem.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.EventSystems; -using UnityEngine.UI; - -public class SaveItem : MonoBehaviour, IPointerClickHandler -{ - public Text _PlayerName; - public Text _PlayerLevel; - - public string DateFileName; - - public Text DateName; - - private CharInfo info; - - public UISaveDate root; - - public void OnPointerClick(PointerEventData eventData) - { - - root.Select(info, DateName.text, DateFileName); - } - private void Start() - { - Init(); - } - public void Init() - { - //³õʼ»¯´æµµÊý¾Ý - var date = SaveSystem.LoadDate(DateFileName); - if (date != null) - { - //Êý¾Ý¼ÓÔØ - info = date; - _PlayerName.text = info.playerName; - _PlayerLevel.text = "LV " + info.Level.ToString(); - } - else - { - _PlayerName.text = "¿Õ°×´æµµ"; - _PlayerLevel.text = "LV 1"; - } - } -} diff --git a/unity/Assets/Script/UI/SaveItem.cs.meta b/unity/Assets/Script/UI/SaveItem.cs.meta deleted file mode 100644 index 6c6742b..0000000 --- a/unity/Assets/Script/UI/SaveItem.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 897a5a659802d994da33b1d1acd76890 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Shader.meta b/unity/Assets/Shader.meta deleted file mode 100644 index a4a76ea..0000000 --- a/unity/Assets/Shader.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f026a9aba53652c44b30192ae78a32da -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Shader/Setting.meta b/unity/Assets/Shader/Setting.meta deleted file mode 100644 index c431a25..0000000 --- a/unity/Assets/Shader/Setting.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a04a0b9fb3e30604f8b30ce0b3f100a4 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples.meta b/unity/Assets/Spine Examples.meta deleted file mode 100644 index 81921ca..0000000 --- a/unity/Assets/Spine Examples.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: e6712a5a0c05f9f4092f9a3197925e99 -folderAsset: yes -DefaultImporter: - userData: diff --git a/unity/Assets/Spine Examples/Other Examples/SkeletonAnimationMulti.unity.meta b/unity/Assets/Spine Examples/Other Examples/SkeletonAnimationMulti.unity.meta deleted file mode 100644 index 0abcd93..0000000 --- a/unity/Assets/Spine Examples/Other Examples/SkeletonAnimationMulti.unity.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 235842830be28644eb5bec81483907de -timeCreated: 1502103327 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Other Examples/SkeletonRenderSeparator.unity b/unity/Assets/Spine Examples/Other Examples/SkeletonRenderSeparator.unity deleted file mode 100644 index aed9c04..0000000 --- a/unity/Assets/Spine Examples/Other Examples/SkeletonRenderSeparator.unity +++ /dev/null @@ -1,5435 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 8 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} - m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} - m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} ---- !u!157 &3 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 11 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 0 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 9 - m_Resolution: 2 - m_BakeResolution: 40 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 0 - m_CompAOExponentDirect: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 1 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_MixedBakeMode: 1 - m_BakeBackend: 0 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 500 - m_PVRBounces: 2 - m_PVRFiltering: 0 - m_PVRFilteringMode: 1 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousColorSigma: 1 - m_PVRFilteringAtrousNormalSigma: 1 - m_PVRFilteringAtrousPositionSigma: 1 - m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 ---- !u!196 &4 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666667 - manualTileSize: 0 - tileSize: 256 - accuratePlacement: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &33325432 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 33325433} - m_Layer: 5 - m_Name: SkeletonGraphic with Separator - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &33325433 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 33325432} - 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_Children: - - {fileID: 835737018} - - {fileID: 1738423300} - - {fileID: 1185404038} - m_Father: {fileID: 624843597} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 314.43, y: -527.6} - m_SizeDelta: {x: 176.7, y: 265.7} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &51877969 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 51877973} - - component: {fileID: 51877972} - - component: {fileID: 51877971} - - component: {fileID: 51877970} - m_Layer: 5 - m_Name: World Canvas (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &51877970 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 51877969} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &51877971 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 51877969} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 1280, y: 720} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &51877972 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 51877969} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 2 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_AdditionalShaderChannelsFlag: 25 - m_SortingLayerID: 0 - m_SortingOrder: 2 - m_TargetDisplay: 0 ---- !u!224 &51877973 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 51877969} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.02, y: 0.02, z: 0.1} - m_Children: - - {fileID: 2142418131} - m_Father: {fileID: 0} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 6.56, y: -2.09} - m_SizeDelta: {x: 452.17, y: 108.32} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &84997716 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 84997717} - - component: {fileID: 84997719} - - component: {fileID: 84997718} - m_Layer: 5 - m_Name: GreenBar1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &84997717 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 84997716} - 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_Children: [] - m_Father: {fileID: 1738423300} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -0.0000038146973, y: -0.00012207031} - m_SizeDelta: {x: 36.8, y: 183.94} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &84997718 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 84997716} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.3529412, g: 0.56078434, b: 0.10980393, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &84997719 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 84997716} ---- !u!1 &93048074 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 93048079} - - component: {fileID: 93048078} - - component: {fileID: 93048077} - - component: {fileID: 93048076} - - component: {fileID: 93048075} - m_Layer: 0 - m_Name: Spine GameObject (spineboy) (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &93048075 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 93048074} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5c70a5b35f6ff2541aed8e8346b7e4d5, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonRenderer: {fileID: 93048076} - copyPropertyBlock: 1 - copyMeshRendererFlags: 1 - partsRenderers: - - {fileID: 1769987560} - - {fileID: 1619823301} ---- !u!114 &93048076 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 93048074} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: a467507a4ffb1d542a558739b2fede77, type: 2} - initialSkinName: base - initialFlipX: 0 - initialFlipY: 0 - separatorSlotNames: - - --B - zSpacing: 0 - useClipping: 1 - immutableTriangles: 0 - pmaVertexColors: 1 - clearStateOnDisable: 0 - tintBlack: 0 - singleSubmesh: 0 - addNormals: 0 - calculateTangents: 0 - maskInteraction: 0 - maskMaterials: - materialsMaskDisabled: [] - materialsInsideMask: [] - materialsOutsideMask: [] - disableRenderingOnOverride: 1 - _animationName: run - loop: 1 - timeScale: 0.1 ---- !u!23 &93048077 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 93048074} - m_Enabled: 0 - m_CastShadows: 1 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &93048078 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 93048074} - m_Mesh: {fileID: 0} ---- !u!4 &93048079 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 93048074} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 6.75, y: -0.08, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1769987563} - - {fileID: 1619823304} - - {fileID: 565117362} - m_Father: {fileID: 0} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &105238416 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 105238417} - - component: {fileID: 105238419} - - component: {fileID: 105238418} - m_Layer: 5 - m_Name: Text SkeletonGraphic - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &105238417 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 105238416} - 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: 0.99999994} - m_Children: [] - m_Father: {fileID: 624843597} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -101, y: -527.6} - m_SizeDelta: {x: 256.3, y: 63} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &105238418 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 105238416} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 18 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 1 - m_MaxSize: 77 - m_Alignment: 0 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 1 - m_LineSpacing: 1 - m_Text: 'Spineboy to the right is an example of SkeletonGraphics render separation - functionality. - - The separator slots are setup via the SkeletonGraphics Advanced Inspector section. - - - The separator can be enabled via ''SkeletonGraphic.enableSeparatorSlots''. - - Please note that ''Multiple Canvas Renderers'' must be enabled. - -' ---- !u!222 &105238419 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 105238416} ---- !u!1 &122287539 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 122287543} - - component: {fileID: 122287542} - - component: {fileID: 122287541} - - component: {fileID: 122287540} - m_Layer: 0 - m_Name: 0 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &122287540 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 122287539} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1c0b968d1e7333b499e347acb644f1c1, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!23 &122287541 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 122287539} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &122287542 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 122287539} - m_Mesh: {fileID: 0} ---- !u!4 &122287543 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 122287539} - 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_Children: [] - m_Father: {fileID: 1918225119} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &415442239 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 415442240} - m_Layer: 0 - m_Name: Part[1] - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &415442240 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 415442239} - 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_Children: - - {fileID: 1211557619} - m_Father: {fileID: 1185404038} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 35.678116, y: -357.22165} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &565117361 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 565117362} - - component: {fileID: 565117365} - - component: {fileID: 565117364} - - component: {fileID: 565117363} - m_Layer: 0 - m_Name: Particle System - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &565117362 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 565117361} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -1.3628243, y: 3.7229316, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 93048079} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!199 &565117363 -ParticleSystemRenderer: - serializedVersion: 4 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 565117361} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_SelectedEditorRenderState: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 3 - m_RenderMode: 0 - m_SortMode: 0 - m_MinParticleSize: 0 - m_MaxParticleSize: 0.5 - m_CameraVelocityScale: 0 - m_VelocityScale: 0 - m_LengthScale: 2 - m_SortingFudge: 0 - m_NormalDirection: 1 - m_RenderAlignment: 0 - m_Pivot: {x: 0, y: 0, z: 0} - m_UseCustomVertexStreams: 0 - m_VertexStreams: 0001030405 - m_Mesh: {fileID: 0} - m_Mesh1: {fileID: 0} - m_Mesh2: {fileID: 0} - m_Mesh3: {fileID: 0} - m_MaskInteraction: 0 ---- !u!114 &565117364 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 565117361} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a1fd8daaed7b64148a34acb96ba14ce1, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonRenderer: {fileID: 93048076} - boneName: front_fist - followXYPosition: 1 - followZPosition: 0 - followBoneRotation: 0 - followSkeletonFlip: 0 - followLocalScale: 0 - initializeOnAwake: 1 ---- !u!198 &565117365 -ParticleSystem: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 565117361} - serializedVersion: 5 - lengthInSec: 5 - simulationSpeed: 1 - looping: 1 - prewarm: 0 - playOnAwake: 1 - useUnscaledTime: 0 - autoRandomSeed: 1 - useRigidbodyForVelocity: 1 - startDelay: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - moveWithTransform: 1 - moveWithCustomTransform: {fileID: 0} - scalingMode: 1 - randomSeed: -1037588642 - InitialModule: - serializedVersion: 3 - enabled: 1 - startLifetime: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSpeed: - serializedVersion: 2 - minMaxState: 0 - scalar: 1.5 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startColor: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 0.5176471, b: 0, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - startSize: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.5 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSizeY: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSizeZ: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotationX: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotationY: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotation: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - randomizeRotationDirection: 0 - maxNumParticles: 100 - size3D: 0 - rotation3D: 0 - gravityModifier: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - ShapeModule: - serializedVersion: 5 - enabled: 1 - type: 10 - angle: 25 - length: 5 - boxThickness: {x: 0, y: 0, z: 0} - radiusThickness: 0 - donutRadius: 0.2 - m_Position: {x: 0, y: 0, z: 0} - m_Rotation: {x: 0, y: 0, z: 0} - m_Scale: {x: 1, y: 1, z: 1} - placementMode: 0 - m_Mesh: {fileID: 0} - m_MeshRenderer: {fileID: 0} - m_SkinnedMeshRenderer: {fileID: 0} - m_MeshMaterialIndex: 0 - m_MeshNormalOffset: 0 - m_UseMeshMaterialIndex: 0 - m_UseMeshColors: 1 - alignToDirection: 0 - randomDirectionAmount: 0 - sphericalDirectionAmount: 0 - randomPositionAmount: 0 - radius: - value: 0.16 - mode: 0 - spread: 0 - speed: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - arc: - value: 360 - mode: 0 - spread: 0 - speed: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - EmissionModule: - enabled: 1 - serializedVersion: 4 - rateOverTime: - serializedVersion: 2 - minMaxState: 0 - scalar: 40 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - rateOverDistance: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BurstCount: 0 - m_Bursts: [] - SizeModule: - enabled: 1 - curve: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 0.50268817 - value: 0.058479548 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - RotationModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - curve: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.7853982 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - ColorModule: - enabled: 0 - gradient: - serializedVersion: 2 - minMaxState: 1 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - UVModule: - enabled: 0 - mode: 0 - frameOverTime: - serializedVersion: 2 - minMaxState: 1 - scalar: 0.9999 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startFrame: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - tilesX: 1 - tilesY: 1 - animationType: 0 - rowIndex: 0 - cycles: 1 - uvChannelMask: -1 - flipU: 0 - flipV: 0 - randomRow: 1 - sprites: - - sprite: {fileID: 0} - VelocityModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - inWorldSpace: 0 - InheritVelocityModule: - enabled: 0 - m_Mode: 0 - m_Curve: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - ForceModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - inWorldSpace: 0 - randomizePerFrame: 0 - ExternalForcesModule: - enabled: 0 - multiplier: 1 - ClampVelocityModule: - enabled: 1 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - magnitude: - serializedVersion: 2 - minMaxState: 1 - scalar: 20 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 0.4112903 - value: 0.04678368 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxis: 0 - inWorldSpace: 0 - dampen: 0.8 - NoiseModule: - enabled: 0 - strength: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - strengthY: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - strengthZ: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - frequency: 0.5 - damping: 1 - octaves: 1 - octaveMultiplier: 0.5 - octaveScale: 2 - quality: 2 - scrollSpeed: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remap: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: -1 - inSlope: 0 - outSlope: 2 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 2 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapY: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: -1 - inSlope: 0 - outSlope: 2 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 2 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapZ: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: -1 - inSlope: 0 - outSlope: 2 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 2 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapEnabled: 0 - positionAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - rotationAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - sizeAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - SizeBySpeedModule: - enabled: 0 - curve: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - range: {x: 0, y: 1} - separateAxes: 0 - RotationBySpeedModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - curve: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.7853982 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - range: {x: 0, y: 1} - ColorBySpeedModule: - enabled: 0 - gradient: - serializedVersion: 2 - minMaxState: 1 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - range: {x: 0, y: 1} - CollisionModule: - enabled: 0 - serializedVersion: 3 - type: 0 - collisionMode: 0 - colliderForce: 0 - multiplyColliderForceByParticleSize: 0 - multiplyColliderForceByParticleSpeed: 0 - multiplyColliderForceByCollisionAngle: 1 - plane0: {fileID: 0} - plane1: {fileID: 0} - plane2: {fileID: 0} - plane3: {fileID: 0} - plane4: {fileID: 0} - plane5: {fileID: 0} - m_Dampen: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Bounce: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_EnergyLossOnCollision: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minKillSpeed: 0 - maxKillSpeed: 10000 - radiusScale: 1 - collidesWith: - serializedVersion: 2 - m_Bits: 4294967295 - maxCollisionShapes: 256 - quality: 0 - voxelSize: 0.5 - collisionMessages: 0 - collidesWithDynamic: 1 - interiorCollisions: 1 - TriggerModule: - enabled: 0 - collisionShape0: {fileID: 0} - collisionShape1: {fileID: 0} - collisionShape2: {fileID: 0} - collisionShape3: {fileID: 0} - collisionShape4: {fileID: 0} - collisionShape5: {fileID: 0} - inside: 1 - outside: 0 - enter: 0 - exit: 0 - radiusScale: 1 - SubModule: - serializedVersion: 2 - enabled: 0 - subEmitters: - - emitter: {fileID: 0} - type: 0 - properties: 0 - LightsModule: - enabled: 0 - ratio: 0 - light: {fileID: 0} - randomDistribution: 1 - color: 1 - range: 1 - intensity: 1 - rangeCurve: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - intensityCurve: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - maxLights: 20 - TrailModule: - enabled: 0 - ratio: 1 - lifetime: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minVertexDistance: 0.2 - textureMode: 0 - worldSpace: 0 - dieWithParticles: 1 - sizeAffectsWidth: 1 - sizeAffectsLifetime: 0 - inheritParticleColor: 1 - generateLightingData: 0 - colorOverLifetime: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - widthOverTrail: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - colorOverTrail: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - CustomDataModule: - enabled: 0 - mode0: 0 - vectorComponentCount0: 4 - color0: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - vector0_0: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector0_1: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector0_2: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector0_3: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - mode1: 0 - vectorComponentCount1: 4 - color1: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - vector1_0: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector1_1: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector1_2: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector1_3: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!1 &624843593 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 624843597} - - component: {fileID: 624843596} - - component: {fileID: 624843595} - - component: {fileID: 624843594} - m_Layer: 5 - m_Name: World Canvas With Spineboy - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &624843594 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 624843593} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &624843595 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 624843593} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 1280, y: 720} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &624843596 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 624843593} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 2 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_AdditionalShaderChannelsFlag: 25 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!224 &624843597 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 624843593} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.02, y: 0.02, z: 0.1} - m_Children: - - {fileID: 1618699050} - - {fileID: 105238417} - - {fileID: 1055098057} - - {fileID: 33325433} - m_Father: {fileID: 0} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: -2.83, y: 4.73} - m_SizeDelta: {x: 452.17, y: 108.32} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &774732875 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 774732877} - - component: {fileID: 774732876} - m_Layer: 0 - m_Name: square32 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!212 &774732876 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 774732875} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_Materials: - - {fileID: 10754, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_SelectedEditorRenderState: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 1 - m_Sprite: {fileID: 21300000, guid: 718074e4e56a5404e824bf8e6571ea7d, type: 3} - m_Color: {r: 0.18002023, g: 0.36764705, b: 0, a: 0.709} - m_FlipX: 0 - m_FlipY: 0 - m_DrawMode: 0 - m_Size: {x: 1, y: 1} - m_AdaptiveModeThreshold: 0.5 - m_SpriteTileMode: 0 - m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 ---- !u!4 &774732877 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 774732875} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 2.175, z: 0} - m_LocalScale: {x: 5.5483284, y: 34.887302, z: 1} - m_Children: [] - m_Father: {fileID: 1675659861} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &835737017 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 835737018} - m_Layer: 0 - m_Name: Part[0] - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &835737018 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 835737017} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.25, y: 0.25, z: 0.25} - m_Children: - - {fileID: 1882323273} - m_Father: {fileID: 33325433} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -32.299957, y: -63.99994} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &1055098056 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1055098057} - - component: {fileID: 1055098059} - - component: {fileID: 1055098058} - m_Layer: 5 - m_Name: Text SkeletonGraphic Location - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1055098057 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1055098056} - 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: 0.99999994} - m_Children: [] - m_Father: {fileID: 624843597} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 577, y: -513.5} - m_SizeDelta: {x: -54.3, y: 63} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1055098058 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1055098056} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 18 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 1 - m_MaxSize: 77 - m_Alignment: 0 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 1 - m_LineSpacing: 1 - m_Text: 'The Part[0] GameObject was re-parented above the GreenBar object to render - in the desired order - - The SkeletonGraphic''s ''Update Part Location'' parameter lets the re-parented - parts follow the main SkeletonGraphic location.' ---- !u!222 &1055098059 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1055098056} ---- !u!1 &1149289853 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1149289854} - - component: {fileID: 1149289855} - m_Layer: 0 - m_Name: square32 (2) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1149289854 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1149289853} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.06, y: 2.175, z: 0} - m_LocalScale: {x: 4.661441, y: 34.887302, z: 1} - m_Children: [] - m_Father: {fileID: 1675659861} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!212 &1149289855 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1149289853} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_Materials: - - {fileID: 10754, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_SelectedEditorRenderState: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 2 - m_Sprite: {fileID: 21300000, guid: 718074e4e56a5404e824bf8e6571ea7d, type: 3} - m_Color: {r: 0.33843803, g: 0.6911765, b: 0, a: 0.353} - m_FlipX: 0 - m_FlipY: 0 - m_DrawMode: 0 - m_Size: {x: 1, y: 1} - m_AdaptiveModeThreshold: 0.5 - m_SpriteTileMode: 0 - m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 ---- !u!1 &1185404037 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1185404038} - - component: {fileID: 1185404040} - - component: {fileID: 1185404039} - - component: {fileID: 1185404041} - m_Layer: 0 - m_Name: SkeletonGraphic (spineboy-unity) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1185404038 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1185404037} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.25, y: 0.25, z: 0.25} - m_Children: - - {fileID: 415442240} - m_Father: {fileID: 33325433} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -32.3, y: -64} - m_SizeDelta: {x: 371.0865, y: 731.54474} - m_Pivot: {x: 0.59614486, y: 0.011688247} ---- !u!114 &1185404039 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1185404037} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d85b887af7e6c3f45a2e2d2920d641bc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 2100000, guid: b66cf7a186d13054989b33a5c90044e4, type: 2} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - skeletonDataAsset: {fileID: 11400000, guid: a467507a4ffb1d542a558739b2fede77, type: 2} - initialSkinName: base - initialFlipX: 0 - initialFlipY: 0 - startingAnimation: - startingLoop: 1 - timeScale: 1 - freeze: 0 - unscaledTime: 0 - allowMultipleCanvasRenderers: 1 - canvasRenderers: - - {fileID: 1882323272} - - {fileID: 1211557620} - separatorSlotNames: - - --A - enableSeparatorSlots: 1 - separatorParts: - - {fileID: 835737018} - - {fileID: 415442240} - updateSeparatorPartLocation: 1 - meshGenerator: - settings: - useClipping: 1 - zSpacing: 0 - pmaVertexColors: 1 - tintBlack: 0 - calculateTangents: 0 - addNormals: 0 - immutableTriangles: 0 ---- !u!222 &1185404040 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1185404037} ---- !u!114 &1185404041 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1185404037} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d6bb29eb283767441a398ce2a7be27c3, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonGraphic: {fileID: 1185404039} - run: {fileID: 11400000, guid: 2d841d20c203ff24a859b8c73f9c3817, type: 2} - pole: {fileID: 11400000, guid: dff7c26e6e007e748b47240522cff0c8, type: 2} - startX: -600 - endX: 0 ---- !u!1 &1211557618 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1211557619} - - component: {fileID: 1211557620} - m_Layer: 0 - m_Name: Renderer1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1211557619 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1211557618} - 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_Children: [] - m_Father: {fileID: 415442240} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1211557620 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1211557618} ---- !u!1 &1406277772 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1406277773} - - component: {fileID: 1406277774} - m_Layer: 0 - m_Name: square32 (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1406277773 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1406277772} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.44, y: 2.175, z: 0} - m_LocalScale: {x: 0.44441086, y: 34.887302, z: 1} - m_Children: [] - m_Father: {fileID: 1675659861} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!212 &1406277774 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1406277772} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_Materials: - - {fileID: 10754, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_SelectedEditorRenderState: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 3 - m_Sprite: {fileID: 21300000, guid: 718074e4e56a5404e824bf8e6571ea7d, type: 3} - m_Color: {r: 0.48965502, g: 1, b: 0, a: 0.928} - m_FlipX: 0 - m_FlipY: 0 - m_DrawMode: 0 - m_Size: {x: 1, y: 1} - m_AdaptiveModeThreshold: 0.5 - m_SpriteTileMode: 0 - m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 ---- !u!1 &1498924765 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1498924770} - - component: {fileID: 1498924769} - - component: {fileID: 1498924767} - - component: {fileID: 1498924766} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &1498924766 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1498924765} - m_Enabled: 1 ---- !u!124 &1498924767 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1498924765} - m_Enabled: 1 ---- !u!20 &1498924769 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1498924765} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.8161765, g: 0.78248644, b: 0.5941285, a: 0.019607844} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 1 - orthographic size: 7.11 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_AllowMSAA: 1 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 - m_StereoMirrorMode: 0 ---- !u!4 &1498924770 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1498924765} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1618699049 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1618699050} - - component: {fileID: 1618699052} - - component: {fileID: 1618699051} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1618699050 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1618699049} - 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_Children: [] - m_Father: {fileID: 624843597} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1618699051 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1618699049} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 18 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 1 - m_MaxSize: 77 - m_Alignment: 0 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 1 - m_LineSpacing: 1 - m_Text: 'This is a sample of SkeletonRenderSeparator in action. - - It allows you to split the Skeleton render into parts. - - - When Spineboy reaches the pole, the separator is enabled.' ---- !u!222 &1618699052 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1618699049} ---- !u!1 &1619823300 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1619823304} - - component: {fileID: 1619823303} - - component: {fileID: 1619823302} - - component: {fileID: 1619823301} - m_Layer: 0 - m_Name: 1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1619823301 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1619823300} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1c0b968d1e7333b499e347acb644f1c1, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!23 &1619823302 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1619823300} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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: 5 ---- !u!33 &1619823303 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1619823300} - m_Mesh: {fileID: 0} ---- !u!4 &1619823304 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1619823300} - 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_Children: [] - m_Father: {fileID: 93048079} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1675659860 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1675659861} - m_Layer: 0 - m_Name: Pole Sprites - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1675659861 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1675659860} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 3.5889997, y: 0.001999855, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 774732877} - - {fileID: 1149289854} - - {fileID: 1406277773} - m_Father: {fileID: 0} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1698487791 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1698487795} - - component: {fileID: 1698487794} - - component: {fileID: 1698487793} - - component: {fileID: 1698487792} - m_Layer: 0 - m_Name: 1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1698487792 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1698487791} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1c0b968d1e7333b499e347acb644f1c1, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!23 &1698487793 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1698487791} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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: 5 ---- !u!33 &1698487794 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1698487791} - m_Mesh: {fileID: 0} ---- !u!4 &1698487795 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1698487791} - 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_Children: [] - m_Father: {fileID: 1918225119} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1738423299 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1738423300} - m_Layer: 5 - m_Name: GreenBar - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1738423300 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1738423299} - 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_Children: - - {fileID: 84997717} - - {fileID: 1983276686} - - {fileID: 2132214121} - m_Father: {fileID: 33325433} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 6.700018, y: 24.610062} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &1769987559 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1769987563} - - component: {fileID: 1769987562} - - component: {fileID: 1769987561} - - component: {fileID: 1769987560} - m_Layer: 0 - m_Name: 0 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1769987560 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1769987559} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1c0b968d1e7333b499e347acb644f1c1, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!23 &1769987561 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1769987559} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &1769987562 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1769987559} - m_Mesh: {fileID: 0} ---- !u!4 &1769987563 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1769987559} - 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_Children: [] - m_Father: {fileID: 93048079} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1882323271 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1882323273} - - component: {fileID: 1882323272} - m_Layer: 0 - m_Name: Renderer0 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!222 &1882323272 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1882323271} ---- !u!224 &1882323273 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1882323271} - 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_Children: [] - m_Father: {fileID: 835737018} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &1918225114 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1918225119} - - component: {fileID: 1918225118} - - component: {fileID: 1918225117} - - component: {fileID: 1918225116} - - component: {fileID: 1918225115} - - component: {fileID: 1918225120} - m_Layer: 0 - m_Name: Spine GameObject (spineboy) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1918225115 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1918225114} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5c70a5b35f6ff2541aed8e8346b7e4d5, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonRenderer: {fileID: 1918225116} - copyPropertyBlock: 1 - copyMeshRendererFlags: 1 - partsRenderers: - - {fileID: 122287540} - - {fileID: 1698487792} ---- !u!114 &1918225116 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1918225114} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: a467507a4ffb1d542a558739b2fede77, type: 2} - initialSkinName: base - initialFlipX: 0 - initialFlipY: 0 - separatorSlotNames: - - --A - zSpacing: 0 - useClipping: 1 - immutableTriangles: 0 - pmaVertexColors: 1 - clearStateOnDisable: 0 - tintBlack: 0 - singleSubmesh: 0 - addNormals: 0 - calculateTangents: 0 - maskInteraction: 0 - maskMaterials: - materialsMaskDisabled: [] - materialsInsideMask: [] - materialsOutsideMask: [] - disableRenderingOnOverride: 1 - _animationName: - loop: 0 - timeScale: 1 ---- !u!23 &1918225117 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1918225114} - m_Enabled: 0 - m_CastShadows: 1 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &1918225118 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1918225114} - m_Mesh: {fileID: 0} ---- !u!4 &1918225119 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1918225114} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -6.18, y: -3.53, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 122287543} - - {fileID: 1698487795} - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1918225120 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1918225114} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 66b573446c3300f45b950b243338b97c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonAnimation: {fileID: 1918225116} - separator: {fileID: 1918225115} - run: {fileID: 11400000, guid: 2d841d20c203ff24a859b8c73f9c3817, type: 2} - pole: {fileID: 11400000, guid: dff7c26e6e007e748b47240522cff0c8, type: 2} - startX: -11.5 - endX: 2.8 ---- !u!1 &1983276685 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1983276686} - - component: {fileID: 1983276688} - - component: {fileID: 1983276687} - m_Layer: 5 - m_Name: GreenBar2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1983276686 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1983276685} - 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_Children: [] - m_Father: {fileID: 1738423300} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -14.800003, y: -0.000061035156} - m_SizeDelta: {x: 7.2, y: 183.98} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1983276687 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1983276685} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.3647059, g: 0.4901961, b: 0.17254902, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1983276688 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1983276685} ---- !u!1 &2132214120 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 2132214121} - - component: {fileID: 2132214123} - - component: {fileID: 2132214122} - m_Layer: 5 - m_Name: GreenBar3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2132214121 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2132214120} - 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_Children: [] - m_Father: {fileID: 1738423300} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 6.7999954, y: -0.000061035156} - m_SizeDelta: {x: 7.2, y: 183.98} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &2132214122 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2132214120} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.4784314, g: 0.9686275, b: 0.007843138, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &2132214123 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2132214120} ---- !u!1 &2142418130 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 2142418131} - - component: {fileID: 2142418133} - - component: {fileID: 2142418132} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2142418131 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2142418130} - 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_Children: [] - m_Father: {fileID: 51877973} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &2142418132 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2142418130} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 18 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 1 - m_MaxSize: 77 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 1 - m_LineSpacing: 1 - m_Text: Press PLAY to see the demo. ---- !u!222 &2142418133 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2142418130} diff --git a/unity/Assets/Spine Examples/Other Examples/SkeletonRenderSeparator.unity.meta b/unity/Assets/Spine Examples/Other Examples/SkeletonRenderSeparator.unity.meta deleted file mode 100644 index 6c1c635..0000000 --- a/unity/Assets/Spine Examples/Other Examples/SkeletonRenderSeparator.unity.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 65ea82f2322d63247a1ee886ef3ba820 -timeCreated: 1458684353 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Animated Physics.unity b/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Animated Physics.unity deleted file mode 100644 index 61527e3..0000000 --- a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Animated Physics.unity +++ /dev/null @@ -1,2047 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 8 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 11 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 9 - m_Resolution: 1 - m_BakeResolution: 50 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 0 - m_CompAOExponentDirect: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_MixedBakeMode: 1 - m_BakeBackend: 0 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 500 - m_PVRBounces: 2 - m_PVRFiltering: 0 - m_PVRFilteringMode: 1 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousColorSigma: 1 - m_PVRFilteringAtrousNormalSigma: 1 - m_PVRFilteringAtrousPositionSigma: 1 - m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666666 - manualTileSize: 0 - tileSize: 256 - accuratePlacement: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &44654812 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 44654813} - m_Layer: 0 - m_Name: SkeletonUtility-Root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &44654813 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 44654812} - 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_Children: - - {fileID: 973814792} - m_Father: {fileID: 120294521} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &120294520 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 120294521} - - component: {fileID: 120294525} - - component: {fileID: 120294524} - - component: {fileID: 120294523} - - component: {fileID: 120294522} - m_Layer: 0 - m_Name: raptor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &120294521 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 120294520} - 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_Children: - - {fileID: 44654813} - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &120294522 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 120294520} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7f726fb798ad621458c431cb9966d91d, type: 3} - m_Name: - m_EditorClassIdentifier: - boneRoot: {fileID: 44654813} - flipBy180DegreeRotation: 0 - skeletonRenderer: {fileID: 120294523} ---- !u!114 &120294523 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 120294520} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: 22c4b5e5a0fd9484d83b1aa705b9a54c, type: 2} - initialSkinName: default - initialFlipX: 0 - initialFlipY: 0 - separatorSlotNames: [] - zSpacing: 0 - useClipping: 1 - immutableTriangles: 0 - pmaVertexColors: 1 - clearStateOnDisable: 0 - tintBlack: 0 - singleSubmesh: 0 - addNormals: 0 - calculateTangents: 0 - maskInteraction: 0 - maskMaterials: - materialsMaskDisabled: [] - materialsInsideMask: [] - materialsOutsideMask: [] - disableRenderingOnOverride: 1 - _animationName: walk - loop: 1 - timeScale: 1 ---- !u!23 &120294524 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 120294520} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 4e2feebfcaa26a54ab19f1ff3e0eae35, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &120294525 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 120294520} - m_Mesh: {fileID: 0} ---- !u!1 &163089575 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 163089576} - - component: {fileID: 163089580} - - component: {fileID: 163089579} - - component: {fileID: 163089578} - - component: {fileID: 163089577} - m_Layer: 0 - m_Name: tail5 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &163089576 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 163089575} - m_LocalRotation: {x: 0, y: 0, z: -0.3258982, w: 0.9454049} - m_LocalPosition: {x: 1.2624999, y: -0.0047, z: 0} - m_LocalScale: {x: 0.995, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1261549070} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!59 &163089577 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 163089575} - m_ConnectedBody: {fileID: 1261549072} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 1.2625012, y: -0.0046999096, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -20 - max: 20 - bounciness: 0 - bounceMinVelocity: 0.2 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!54 &163089578 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 163089575} - serializedVersion: 2 - m_Mass: 0.31640625 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &163089579 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 163089575} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.91059995, y: 0.30353332, z: 0.2} - m_Center: {x: 0.45529997, y: 0, z: 0} ---- !u!114 &163089580 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 163089575} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: tail5 - parentReference: {fileID: 0} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!1 &196322038 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 196322039} - - component: {fileID: 196322040} - - component: {fileID: 196322043} - - component: {fileID: 196322041} - - component: {fileID: 196322042} - m_Layer: 0 - m_Name: rear_arm1 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &196322039 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 196322038} - m_LocalRotation: {x: 0, y: 0, z: -0.8858394, w: 0.46399197} - m_LocalPosition: {x: 0.57049996, y: -0.95379996, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 871208809} - m_Father: {fileID: 1285379175} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &196322040 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 196322038} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: rear_arm1 - parentReference: {fileID: 0} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!54 &196322041 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 196322038} - serializedVersion: 2 - m_Mass: 0.75 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 2 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!59 &196322042 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 196322038} - m_ConnectedBody: {fileID: 1285379177} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 0.5705001, y: -0.9538002, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -20 - max: 20 - bounciness: 0 - bounceMinVelocity: 0.2 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!65 &196322043 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 196322038} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1.0956, y: 0.3652, z: 0.2} - m_Center: {x: 0.5478, y: 0, z: 0} ---- !u!1 &350419676 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 350419677} - - component: {fileID: 350419678} - - component: {fileID: 350419681} - - component: {fileID: 350419680} - - component: {fileID: 350419679} - m_Layer: 0 - m_Name: rear_hand - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &350419677 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 350419676} - m_LocalRotation: {x: 0, y: 0, z: -0.79425555, w: 0.6075838} - m_LocalPosition: {x: 0.85800004, y: 0.001, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 871208809} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &350419678 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 350419676} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: rear_hand - parentReference: {fileID: 0} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!59 &350419679 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 350419676} - m_ConnectedBody: {fileID: 871208812} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 0.85800034, y: 0.0010004044, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -20 - max: 20 - bounciness: 0 - bounceMinVelocity: 0.2 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!54 &350419680 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 350419676} - serializedVersion: 2 - m_Mass: 0.421875 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 2 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &350419681 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 350419676} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.45799997, y: 0.15266666, z: 0.2} - m_Center: {x: 0.22899999, y: 0, z: 0} ---- !u!1 &438622560 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 438622561} - - component: {fileID: 438622562} - m_Layer: 0 - m_Name: hip - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: d1de1604dfe4cb64c9d31246a8e43c78, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &438622561 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 438622560} - m_LocalRotation: {x: 0, y: 0, z: -0.014136697, w: 0.9999001} - m_LocalPosition: {x: 0.2514, y: 4.2037997, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1342167692} - - {fileID: 1421488704} - m_Father: {fileID: 973814792} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &438622562 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 438622560} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: hip - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!1 &520760180 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 520760181} - - component: {fileID: 520760182} - - component: {fileID: 520760185} - - component: {fileID: 520760183} - - component: {fileID: 520760184} - m_Layer: 0 - m_Name: front_arm2 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &520760181 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 520760180} - m_LocalRotation: {x: 0, y: 0, z: 0.7945736, w: 0.60716784} - m_LocalPosition: {x: 1.0999, y: 0.002, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 574377924} - m_Father: {fileID: 1769886736} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &520760182 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 520760180} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: front_arm2 - parentReference: {fileID: 0} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!54 &520760183 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 520760180} - serializedVersion: 2 - m_Mass: 0.5625 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 2 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!59 &520760184 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 520760180} - m_ConnectedBody: {fileID: 1769886739} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 1.0999002, y: 0.0019999743, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -20 - max: 20 - bounciness: 0 - bounceMinVelocity: 0.2 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!65 &520760185 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 520760180} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.8633, y: 0.28776667, z: 0.2} - m_Center: {x: 0.43165, y: 0, z: 0} ---- !u!1 &574377922 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 574377924} - - component: {fileID: 574377923} - - component: {fileID: 574377927} - - component: {fileID: 574377926} - - component: {fileID: 574377925} - m_Layer: 0 - m_Name: front_hand - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &574377923 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 574377922} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: front_hand - parentReference: {fileID: 0} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!4 &574377924 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 574377922} - m_LocalRotation: {x: 0, y: 0, z: -0.4014683, w: 0.91587293} - m_LocalPosition: {x: 0.8633, y: 0.00059999997, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 520760181} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!59 &574377925 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 574377922} - m_ConnectedBody: {fileID: 520760183} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 0.86330026, y: 0.0005996227, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -20 - max: 20 - bounciness: 0 - bounceMinVelocity: 0.2 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!54 &574377926 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 574377922} - serializedVersion: 2 - m_Mass: 0.421875 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 2 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &574377927 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 574377922} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.4755, y: 0.1585, z: 0.2} - m_Center: {x: 0.23775, y: 0, z: 0} ---- !u!1 &682744179 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 682744180} - - component: {fileID: 682744184} - - component: {fileID: 682744183} - - component: {fileID: 682744182} - - component: {fileID: 682744181} - m_Layer: 0 - m_Name: tail2 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &682744180 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 682744179} - m_LocalRotation: {x: 0, y: 0, z: 0.20560642, w: 0.9786348} - m_LocalPosition: {x: 1.6252999, y: -0.0082, z: 0} - m_LocalScale: {x: 1.024, y: 1, z: 1} - m_Children: - - {fileID: 1524588284} - m_Father: {fileID: 1342167692} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!59 &682744181 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 682744179} - m_ConnectedBody: {fileID: 1342167694} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 1.6253003, y: -0.008200049, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -20 - max: 0 - bounciness: 0 - bounceMinVelocity: 0.2 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!54 &682744182 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 682744179} - serializedVersion: 2 - m_Mass: 0.75 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &682744183 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 682744179} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1.3002, y: 0.4334, z: 0.2} - m_Center: {x: 0.6501, y: 0, z: 0} ---- !u!114 &682744184 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 682744179} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: tail2 - parentReference: {fileID: 0} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!1 &733897517 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 733897518} - - component: {fileID: 733897519} - - component: {fileID: 733897522} - - component: {fileID: 733897521} - - component: {fileID: 733897520} - m_Layer: 0 - m_Name: head - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &733897518 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 733897517} - m_LocalRotation: {x: 0, y: 0, z: 0.021465898, w: 0.99976957} - m_LocalPosition: {x: 0.66709995, y: -0.3284, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1714294602} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &733897519 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 733897517} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: head - parentReference: {fileID: 0} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!59 &733897520 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 733897517} - m_ConnectedBody: {fileID: 1714294604} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 0.6671002, y: -0.32839924, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: 0 - max: 30 - bounciness: 0 - bounceMinVelocity: 0.2 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!54 &733897521 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 733897517} - serializedVersion: 2 - m_Mass: 0.5625 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 2 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &733897522 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 733897517} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1.055, y: 0.91659814, z: 0.2} - m_Center: {x: 0.5275086, y: 0.28246295, z: 0} ---- !u!1 &871208808 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 871208809} - - component: {fileID: 871208810} - - component: {fileID: 871208813} - - component: {fileID: 871208812} - - component: {fileID: 871208811} - m_Layer: 0 - m_Name: rear_arm2 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &871208809 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 871208808} - m_LocalRotation: {x: 0, y: 0, z: 0.88113844, w: 0.47285843} - m_LocalPosition: {x: 1.0956, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 350419677} - m_Father: {fileID: 196322039} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &871208810 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 871208808} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: rear_arm2 - parentReference: {fileID: 0} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!59 &871208811 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 871208808} - m_ConnectedBody: {fileID: 196322041} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 1.0955999, y: 0.00000011920929, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -20 - max: 20 - bounciness: 0 - bounceMinVelocity: 0.2 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!54 &871208812 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 871208808} - serializedVersion: 2 - m_Mass: 0.5625 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 2 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &871208813 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 871208808} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.85800004, y: 0.286, z: 0.2} - m_Center: {x: 0.42900002, y: 0, z: 0} ---- !u!1 &973814791 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 973814792} - - component: {fileID: 973814793} - m_Layer: 0 - m_Name: root - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: d1de1604dfe4cb64c9d31246a8e43c78, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &973814792 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 973814791} - 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_Children: - - {fileID: 438622561} - m_Father: {fileID: 44654813} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &973814793 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 973814791} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: root - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!1 &976394122 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 976394127} - - component: {fileID: 976394126} - - component: {fileID: 976394124} - - component: {fileID: 976394123} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &976394123 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 976394122} - m_Enabled: 1 ---- !u!124 &976394124 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 976394122} - m_Enabled: 1 ---- !u!20 &976394126 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 976394122} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_AllowMSAA: 1 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 - m_StereoMirrorMode: 0 ---- !u!4 &976394127 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 976394122} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 4, z: -12} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1261549069 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1261549070} - - component: {fileID: 1261549074} - - component: {fileID: 1261549073} - - component: {fileID: 1261549072} - - component: {fileID: 1261549071} - m_Layer: 0 - m_Name: tail4 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1261549070 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1261549069} - m_LocalRotation: {x: 0, y: 0, z: -0.016318113, w: 0.9998669} - m_LocalPosition: {x: 1.4105, y: 0.0064, z: 0} - m_LocalScale: {x: 0.995, y: 1, z: 1} - m_Children: - - {fileID: 163089576} - m_Father: {fileID: 1524588284} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!59 &1261549071 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1261549069} - m_ConnectedBody: {fileID: 1524588285} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 1.4105008, y: 0.00639986, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -20 - max: 20 - bounciness: 0 - bounceMinVelocity: 0.2 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!54 &1261549072 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1261549069} - serializedVersion: 2 - m_Mass: 0.421875 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &1261549073 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1261549069} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1.2624999, y: 0.42083332, z: 0.2} - m_Center: {x: 0.63124996, y: 0, z: 0} ---- !u!114 &1261549074 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1261549069} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: tail4 - parentReference: {fileID: 0} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!1 &1285379174 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1285379175} - - component: {fileID: 1285379176} - - component: {fileID: 1285379178} - - component: {fileID: 1285379177} - - component: {fileID: 1285379179} - m_Layer: 0 - m_Name: torso2 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1285379175 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1285379174} - m_LocalRotation: {x: 0, y: 0, z: 0.41032097, w: 0.9119412} - m_LocalPosition: {x: 1.2626, y: -0.0037999998, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1769886736} - - {fileID: 1714294602} - - {fileID: 196322039} - m_Father: {fileID: 1421488704} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1285379176 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1285379174} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: torso2 - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!54 &1285379177 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1285379174} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 1 - m_Interpolate: 2 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &1285379178 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1285379174} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1.2119999, y: 0.40399995, z: 0.2} - m_Center: {x: 0.60599995, y: 0, z: 0} ---- !u!114 &1285379179 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1285379174} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: cfeac06b8a6aa1645813700e3e4c0863, type: 3} - m_Name: - m_EditorClassIdentifier: - detachedShadow: 0 - parent: {fileID: 0} - hideShadow: 1 - physicsSystem: 1 ---- !u!1 &1342167691 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1342167692} - - component: {fileID: 1342167696} - - component: {fileID: 1342167695} - - component: {fileID: 1342167694} - - component: {fileID: 1342167693} - m_Layer: 0 - m_Name: tail1 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1342167692 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1342167691} - m_LocalRotation: {x: 0, y: 0, z: 0.9905574, w: 0.13709891} - m_LocalPosition: {x: -0.20879999, y: 0.0686, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 682744180} - m_Father: {fileID: 438622561} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1342167693 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1342167691} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: cfeac06b8a6aa1645813700e3e4c0863, type: 3} - m_Name: - m_EditorClassIdentifier: - detachedShadow: 0 - parent: {fileID: 0} - hideShadow: 1 - physicsSystem: 1 ---- !u!54 &1342167694 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1342167691} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &1342167695 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1342167691} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1.6252999, y: 0.54176664, z: 0.2} - m_Center: {x: 0.81264997, y: 0, z: 0} ---- !u!114 &1342167696 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1342167691} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: tail1 - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!1 &1421488703 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1421488704} - - component: {fileID: 1421488705} - m_Layer: 0 - m_Name: torso1 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1421488704 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1421488703} - m_LocalRotation: {x: 0, y: 0, z: 0.019546442, w: 0.99980897} - m_LocalPosition: {x: 0.3004, y: -0.004, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1285379175} - m_Father: {fileID: 438622561} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1421488705 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1421488703} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: torso1 - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!1 &1524588283 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1524588284} - - component: {fileID: 1524588288} - - component: {fileID: 1524588287} - - component: {fileID: 1524588285} - - component: {fileID: 1524588286} - m_Layer: 0 - m_Name: tail3 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1524588284 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1524588283} - m_LocalRotation: {x: 0, y: 0, z: -0.06932119, w: 0.9975944} - m_LocalPosition: {x: 1.3002, y: 0.001, z: 0} - m_LocalScale: {x: 0.995, y: 1, z: 1} - m_Children: - - {fileID: 1261549070} - m_Father: {fileID: 682744180} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!54 &1524588285 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1524588283} - serializedVersion: 2 - m_Mass: 0.5625 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!59 &1524588286 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1524588283} - m_ConnectedBody: {fileID: 682744182} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 1.3002002, y: 0.0009999871, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -20 - max: 20 - bounciness: 0 - bounceMinVelocity: 0.2 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!65 &1524588287 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1524588283} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1.4106, y: 0.47019997, z: 0.2} - m_Center: {x: 0.7053, y: 0, z: 0} ---- !u!114 &1524588288 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1524588283} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: tail3 - parentReference: {fileID: 0} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!1 &1714294601 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1714294602} - - component: {fileID: 1714294603} - - component: {fileID: 1714294606} - - component: {fileID: 1714294604} - - component: {fileID: 1714294605} - m_Layer: 0 - m_Name: neck - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1714294602 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1714294601} - m_LocalRotation: {x: 0, y: 0, z: 0.4057, w: 0.9140063} - m_LocalPosition: {x: 1.3378, y: -0.3096, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 733897518} - m_Father: {fileID: 1285379175} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1714294603 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1714294601} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: neck - parentReference: {fileID: 0} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!54 &1714294604 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1714294601} - serializedVersion: 2 - m_Mass: 0.75 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 2 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!59 &1714294605 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1714294601} - m_ConnectedBody: {fileID: 1285379177} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 1.3378003, y: -0.30960009, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -20 - max: 20 - bounciness: 0 - bounceMinVelocity: 0.2 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!65 &1714294606 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1714294601} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.70589995, y: 0.23529999, z: 0.2} - m_Center: {x: 0.35294998, y: 0, z: 0} ---- !u!1 &1769886735 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1769886736} - - component: {fileID: 1769886737} - - component: {fileID: 1769886740} - - component: {fileID: 1769886739} - - component: {fileID: 1769886738} - m_Layer: 0 - m_Name: front_arm1 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1769886736 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1769886735} - m_LocalRotation: {x: 0, y: 0, z: 0.9254083, w: -0.37897164} - m_LocalPosition: {x: 0.6701, y: -0.9216, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 520760181} - m_Father: {fileID: 1285379175} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1769886737 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1769886735} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: front_arm1 - parentReference: {fileID: 0} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!59 &1769886738 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1769886735} - m_ConnectedBody: {fileID: 1285379177} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 0.67010003, y: -0.9215998, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -20 - max: 20 - bounciness: 0 - bounceMinVelocity: 0.2 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!54 &1769886739 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1769886735} - serializedVersion: 2 - m_Mass: 0.75 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 2 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &1769886740 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1769886735} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1.0999, y: 0.36663333, z: 0.2} - m_Center: {x: 0.54995, y: 0, z: 0} diff --git a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Animated Physics.unity.meta b/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Animated Physics.unity.meta deleted file mode 100644 index 467005e..0000000 --- a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Animated Physics.unity.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: a0deee17ee93fb047a1b70bc302c4dd6 -DefaultImporter: - userData: diff --git a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Eyes.unity b/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Eyes.unity deleted file mode 100644 index 625b43a..0000000 --- a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Eyes.unity +++ /dev/null @@ -1,4073 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 8 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 11 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 9 - m_Resolution: 1 - m_BakeResolution: 50 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 0 - m_CompAOExponentDirect: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_MixedBakeMode: 1 - m_BakeBackend: 0 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 500 - m_PVRBounces: 2 - m_PVRFiltering: 0 - m_PVRFilteringMode: 1 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousColorSigma: 1 - m_PVRFilteringAtrousNormalSigma: 1 - m_PVRFilteringAtrousPositionSigma: 1 - m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666666 - manualTileSize: 0 - tileSize: 256 - accuratePlacement: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &32415399 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 32415402} - - component: {fileID: 32415401} - - component: {fileID: 32415400} - - component: {fileID: 32415403} - - component: {fileID: 32415404} - - component: {fileID: 32415405} - m_Layer: 0 - m_Name: Eye Target - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!23 &32415400 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 32415399} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 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_PreserveUVs: 1 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &32415401 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 32415399} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &32415402 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 32415399} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 5.82, y: 3.59, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1003754206} - - {fileID: 148233142} - m_Father: {fileID: 0} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &32415403 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 32415399} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ac0a69923492d1b4aa7ca656033ec6a3, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!61 &32415404 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 32415399} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0, y: 0} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0, y: 0} - oldSize: {x: 0, y: 0} - newSize: {x: 0, y: 0} - adaptiveTilingThreshold: 0 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - serializedVersion: 2 - m_Size: {x: 1, y: 1} - m_EdgeRadius: 0 ---- !u!50 &32415405 -Rigidbody2D: - serializedVersion: 4 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 32415399} - m_BodyType: 1 - m_Simulated: 1 - m_UseFullKinematicContacts: 0 - m_UseAutoMass: 0 - m_Mass: 1 - m_LinearDrag: 0 - m_AngularDrag: 0.05 - m_GravityScale: 1 - m_Material: {fileID: 0} - m_Interpolate: 0 - m_SleepingMode: 1 - m_CollisionDetection: 0 - m_Constraints: 0 ---- !u!1 &122140872 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 122140873} - - component: {fileID: 122140875} - - component: {fileID: 122140874} - m_Layer: 0 - m_Name: Description - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &122140873 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 122140872} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: -3.1, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 693495377} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!102 &122140874 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 122140872} - m_Text: 'This is a demonstration of SkeletonUtilityEyeConstraint - - Enter PLAY MODE in Unity editor for this to work.' - m_OffsetZ: 0 - m_CharacterSize: 0.12 - m_LineSpacing: 1 - m_Anchor: 4 - m_Alignment: 1 - m_TabSize: 4 - m_FontSize: 24 - m_FontStyle: 0 - m_RichText: 1 - m_Font: {fileID: 0} - m_Color: - serializedVersion: 2 - rgba: 4294967295 ---- !u!23 &122140875 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 122140872} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!1 &136651047 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 136651048} - - component: {fileID: 136651049} - m_Layer: 0 - m_Name: R_Eye - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: d1de1604dfe4cb64c9d31246a8e43c78, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &136651048 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 136651047} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 2.3732, y: 0.064, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1960622790} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &136651049 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 136651047} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: R_Eye - parentReference: {fileID: 0} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 554350589} ---- !u!1 &148233141 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 148233142} - - component: {fileID: 148233144} - - component: {fileID: 148233143} - m_Layer: 0 - m_Name: Particle System - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &148233142 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 148233141} - 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_Children: [] - m_Father: {fileID: 32415402} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!199 &148233143 -ParticleSystemRenderer: - serializedVersion: 4 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 148233141} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_SelectedEditorRenderState: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 14 - m_RenderMode: 0 - m_SortMode: 0 - m_MinParticleSize: 0 - m_MaxParticleSize: 0.5 - m_CameraVelocityScale: 0 - m_VelocityScale: 0 - m_LengthScale: 2 - m_SortingFudge: 0 - m_NormalDirection: 1 - m_RenderAlignment: 0 - m_Pivot: {x: 0, y: 0, z: 0} - m_UseCustomVertexStreams: 0 - m_VertexStreams: 0001030405 - m_Mesh: {fileID: 0} - m_Mesh1: {fileID: 0} - m_Mesh2: {fileID: 0} - m_Mesh3: {fileID: 0} - m_MaskInteraction: 0 ---- !u!198 &148233144 -ParticleSystem: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 148233141} - serializedVersion: 5 - lengthInSec: 5 - simulationSpeed: 1 - looping: 1 - prewarm: 1 - playOnAwake: 1 - useUnscaledTime: 0 - autoRandomSeed: 1 - useRigidbodyForVelocity: 1 - startDelay: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - moveWithTransform: 1 - moveWithCustomTransform: {fileID: 0} - scalingMode: 1 - randomSeed: 1259711172 - InitialModule: - serializedVersion: 3 - enabled: 1 - startLifetime: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.5 - minScalar: 5 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSpeed: - serializedVersion: 2 - minMaxState: 0 - scalar: 5 - minScalar: 5 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startColor: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - startSize: - serializedVersion: 2 - minMaxState: 3 - scalar: 0.1 - minScalar: 0.05 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0.5 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - startSizeY: - serializedVersion: 2 - minMaxState: 3 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - startSizeZ: - serializedVersion: 2 - minMaxState: 3 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - startRotationX: - serializedVersion: 2 - minMaxState: 3 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - startRotationY: - serializedVersion: 2 - minMaxState: 3 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - startRotation: - serializedVersion: 2 - minMaxState: 3 - scalar: 0.87266463 - minScalar: -0.87266463 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: -1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - randomizeRotationDirection: 0 - maxNumParticles: 1000 - size3D: 0 - rotation3D: 0 - gravityModifier: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - ShapeModule: - serializedVersion: 5 - enabled: 1 - type: 10 - angle: 25 - length: 5 - boxThickness: {x: 0, y: 0, z: 0} - radiusThickness: 0 - donutRadius: 0.2 - m_Position: {x: 0, y: 0, z: 0} - m_Rotation: {x: 0, y: 0, z: 0} - m_Scale: {x: 1, y: 1, z: 1} - placementMode: 0 - m_Mesh: {fileID: 0} - m_MeshRenderer: {fileID: 0} - m_SkinnedMeshRenderer: {fileID: 0} - m_MeshMaterialIndex: 0 - m_MeshNormalOffset: 0 - m_UseMeshMaterialIndex: 0 - m_UseMeshColors: 1 - alignToDirection: 0 - randomDirectionAmount: 0 - sphericalDirectionAmount: 0 - randomPositionAmount: 0 - radius: - value: 0.444762 - mode: 0 - spread: 0 - speed: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - arc: - value: 360 - mode: 0 - spread: 0 - speed: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - EmissionModule: - enabled: 1 - serializedVersion: 4 - rateOverTime: - serializedVersion: 2 - minMaxState: 0 - scalar: 20 - minScalar: 10 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - rateOverDistance: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BurstCount: 0 - m_Bursts: [] - SizeModule: - enabled: 0 - curve: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - RotationModule: - enabled: 1 - x: - serializedVersion: 2 - minMaxState: 3 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - y: - serializedVersion: 2 - minMaxState: 3 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - curve: - serializedVersion: 2 - minMaxState: 3 - scalar: 5.2359877 - minScalar: -5.2359877 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: -1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - separateAxes: 0 - ColorModule: - enabled: 1 - gradient: - serializedVersion: 2 - minMaxState: 1 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 0} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - UVModule: - enabled: 0 - mode: 0 - frameOverTime: - serializedVersion: 2 - minMaxState: 1 - scalar: 0.9999 - minScalar: 0.9999 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startFrame: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - tilesX: 1 - tilesY: 1 - animationType: 0 - rowIndex: 0 - cycles: 1 - uvChannelMask: -1 - flipU: 0 - flipV: 0 - randomRow: 1 - sprites: - - sprite: {fileID: 0} - VelocityModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - inWorldSpace: 0 - InheritVelocityModule: - enabled: 0 - m_Mode: 0 - m_Curve: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - ForceModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - inWorldSpace: 0 - randomizePerFrame: 0 - ExternalForcesModule: - enabled: 0 - multiplier: 1 - ClampVelocityModule: - enabled: 1 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - magnitude: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxis: 0 - inWorldSpace: 0 - dampen: 1 - NoiseModule: - enabled: 0 - strength: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - strengthY: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - strengthZ: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - frequency: 0.5 - damping: 1 - octaves: 1 - octaveMultiplier: 0.5 - octaveScale: 2 - quality: 2 - scrollSpeed: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remap: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: -1 - inSlope: 0 - outSlope: 2 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 2 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapY: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: -1 - inSlope: 0 - outSlope: 2 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 2 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapZ: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: -1 - inSlope: 0 - outSlope: 2 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 2 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapEnabled: 0 - positionAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - rotationAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - sizeAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - SizeBySpeedModule: - enabled: 0 - curve: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - range: {x: 0, y: 1} - separateAxes: 0 - RotationBySpeedModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - curve: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.7853981 - minScalar: 0.7853982 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - range: {x: 0, y: 1} - ColorBySpeedModule: - enabled: 0 - gradient: - serializedVersion: 2 - minMaxState: 1 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - range: {x: 0, y: 1} - CollisionModule: - enabled: 0 - serializedVersion: 3 - type: 0 - collisionMode: 0 - colliderForce: 0 - multiplyColliderForceByParticleSize: 0 - multiplyColliderForceByParticleSpeed: 0 - multiplyColliderForceByCollisionAngle: 1 - plane0: {fileID: 0} - plane1: {fileID: 0} - plane2: {fileID: 0} - plane3: {fileID: 0} - plane4: {fileID: 0} - plane5: {fileID: 0} - m_Dampen: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Bounce: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_EnergyLossOnCollision: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minKillSpeed: 0 - maxKillSpeed: 10000 - radiusScale: 1 - collidesWith: - serializedVersion: 2 - m_Bits: 4294967295 - maxCollisionShapes: 256 - quality: 0 - voxelSize: 0.5 - collisionMessages: 0 - collidesWithDynamic: 1 - interiorCollisions: 1 - TriggerModule: - enabled: 0 - collisionShape0: {fileID: 0} - collisionShape1: {fileID: 0} - collisionShape2: {fileID: 0} - collisionShape3: {fileID: 0} - collisionShape4: {fileID: 0} - collisionShape5: {fileID: 0} - inside: 1 - outside: 0 - enter: 0 - exit: 0 - radiusScale: 1 - SubModule: - serializedVersion: 2 - enabled: 0 - subEmitters: - - emitter: {fileID: 0} - type: 0 - properties: 0 - LightsModule: - enabled: 0 - ratio: 0 - light: {fileID: 0} - randomDistribution: 1 - color: 1 - range: 1 - intensity: 1 - rangeCurve: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - intensityCurve: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - maxLights: 20 - TrailModule: - enabled: 0 - ratio: 1 - lifetime: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minVertexDistance: 0.2 - textureMode: 0 - worldSpace: 0 - dieWithParticles: 1 - sizeAffectsWidth: 1 - sizeAffectsLifetime: 0 - inheritParticleColor: 1 - generateLightingData: 0 - colorOverLifetime: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - widthOverTrail: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - colorOverTrail: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - CustomDataModule: - enabled: 0 - mode0: 0 - vectorComponentCount0: 4 - color0: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - vector0_0: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector0_1: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector0_2: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector0_3: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - mode1: 0 - vectorComponentCount1: 4 - color1: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - vector1_0: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector1_1: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector1_2: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector1_3: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!1 &376564975 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 376564976} - m_Layer: 0 - m_Name: SkeletonUtility-Root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &376564976 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 376564975} - 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_Children: - - {fileID: 1960622790} - m_Father: {fileID: 554350588} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &554350587 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 554350588} - - component: {fileID: 554350592} - - component: {fileID: 554350591} - - component: {fileID: 554350590} - - component: {fileID: 554350589} - m_Layer: 0 - m_Name: eyes - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &554350588 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 554350587} - 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_Children: - - {fileID: 376564976} - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &554350589 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 554350587} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7f726fb798ad621458c431cb9966d91d, type: 3} - m_Name: - m_EditorClassIdentifier: - boneRoot: {fileID: 376564976} - flipBy180DegreeRotation: 0 - skeletonRenderer: {fileID: 554350590} ---- !u!114 &554350590 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 554350587} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: ef2f009a37ff7ff42bc2a2f407ca9483, type: 2} - initialSkinName: default - initialFlipX: 0 - initialFlipY: 0 - separatorSlotNames: [] - zSpacing: 0 - useClipping: 1 - immutableTriangles: 0 - pmaVertexColors: 1 - clearStateOnDisable: 0 - tintBlack: 0 - singleSubmesh: 0 - addNormals: 0 - calculateTangents: 0 - maskInteraction: 0 - maskMaterials: - materialsMaskDisabled: [] - materialsInsideMask: [] - materialsOutsideMask: [] - disableRenderingOnOverride: 1 - _animationName: - loop: 0 - timeScale: 1 ---- !u!23 &554350591 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 554350587} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 4f9d106a1e4d45b468b980311947a225, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &554350592 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 554350587} - m_Mesh: {fileID: 0} ---- !u!1 &693495376 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 693495377} - m_Layer: 0 - m_Name: LABELS - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &693495377 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 693495376} - 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_Children: - - {fileID: 122140873} - m_Father: {fileID: 0} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1003754205 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1003754206} - - component: {fileID: 1003754208} - - component: {fileID: 1003754207} - m_Layer: 0 - m_Name: Cube Label - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1003754206 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1003754205} - 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_Children: [] - m_Father: {fileID: 32415402} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!102 &1003754207 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1003754205} - m_Text: 'EYE - - TARGET' - m_OffsetZ: 0 - m_CharacterSize: 0.1 - m_LineSpacing: 1 - m_Anchor: 4 - m_Alignment: 1 - m_TabSize: 4 - m_FontSize: 20 - m_FontStyle: 0 - m_RichText: 1 - m_Font: {fileID: 0} - m_Color: - serializedVersion: 2 - rgba: 4294967295 ---- !u!23 &1003754208 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1003754205} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!1 &1145190453 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1145190454} - - component: {fileID: 1145190455} - m_Layer: 0 - m_Name: L_Eye - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: d1de1604dfe4cb64c9d31246a8e43c78, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1145190454 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1145190453} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -2.2317998, y: 0.0299, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1960622790} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1145190455 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1145190453} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: L_Eye - parentReference: {fileID: 0} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 554350589} ---- !u!1 &1842554116 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1842554121} - - component: {fileID: 1842554120} - - component: {fileID: 1842554118} - - component: {fileID: 1842554117} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &1842554117 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1842554116} - m_Enabled: 1 ---- !u!124 &1842554118 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1842554116} - m_Enabled: 1 ---- !u!20 &1842554120 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1842554116} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_AllowMSAA: 1 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 - m_StereoMirrorMode: 0 ---- !u!4 &1842554121 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1842554116} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1960622789 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1960622790} - - component: {fileID: 1960622792} - - component: {fileID: 1960622791} - m_Layer: 0 - m_Name: root - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: d1de1604dfe4cb64c9d31246a8e43c78, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1960622790 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1960622789} - 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_Children: - - {fileID: 1145190454} - - {fileID: 136651048} - m_Father: {fileID: 376564976} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1960622791 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1960622789} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0d994c65b6daec64f80ae2ae04e9d999, type: 3} - m_Name: - m_EditorClassIdentifier: - eyes: - - {fileID: 1145190454} - - {fileID: 136651048} - radius: 0.5 - target: {fileID: 32415402} - targetPosition: {x: 0, y: 0, z: 0} - speed: 10 ---- !u!114 &1960622792 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1960622789} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: root - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 554350589} diff --git a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Eyes.unity.meta b/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Eyes.unity.meta deleted file mode 100644 index 8109683..0000000 --- a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Eyes.unity.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: 51036c61bd222d9469b4e94cc89cceae -DefaultImporter: - userData: diff --git a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility GroundConstraint.unity b/unity/Assets/Spine Examples/Other Examples/SkeletonUtility GroundConstraint.unity deleted file mode 100644 index d641502..0000000 --- a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility GroundConstraint.unity +++ /dev/null @@ -1,653 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 8 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 11 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 9 - m_Resolution: 1 - m_BakeResolution: 50 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 0 - m_CompAOExponentDirect: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_MixedBakeMode: 1 - m_BakeBackend: 0 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 500 - m_PVRBounces: 2 - m_PVRFiltering: 0 - m_PVRFilteringMode: 1 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousColorSigma: 1 - m_PVRFilteringAtrousNormalSigma: 1 - m_PVRFilteringAtrousPositionSigma: 1 - m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666666 - manualTileSize: 0 - tileSize: 256 - accuratePlacement: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &36219066 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 36219067} - - component: {fileID: 36219069} - - component: {fileID: 36219068} - m_Layer: 0 - m_Name: rear_foot_goal - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: de1a4f5ad4bdf1a4ea072c4d59ba87d8, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &36219067 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 36219066} - m_LocalRotation: {x: 0, y: 0, z: -0.52048814, w: 0.8538689} - m_LocalPosition: {x: -2.3326, y: 1.2458897, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 973814792} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &36219068 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 36219066} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3662334b99de5fe4396ab24e30c4fd12, type: 3} - m_Name: - m_EditorClassIdentifier: - groundMask: - serializedVersion: 2 - m_Bits: 4294967295 - use2D: 0 - useRadius: 0 - castRadius: 0.1 - castDistance: 3.5 - castOffset: 0 - groundOffset: 0 - adjustSpeed: 5 ---- !u!114 &36219069 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 36219066} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: rear_foot_goal - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!1 &44654812 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 44654813} - m_Layer: 0 - m_Name: SkeletonUtility-Root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &44654813 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 44654812} - 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_Children: - - {fileID: 973814792} - m_Father: {fileID: 120294521} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &120294520 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 120294521} - - component: {fileID: 120294525} - - component: {fileID: 120294524} - - component: {fileID: 120294523} - - component: {fileID: 120294522} - - component: {fileID: 120294527} - - component: {fileID: 120294526} - m_Layer: 0 - m_Name: raptor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &120294521 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 120294520} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: -0.15, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 44654813} - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &120294522 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 120294520} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7f726fb798ad621458c431cb9966d91d, type: 3} - m_Name: - m_EditorClassIdentifier: - boneRoot: {fileID: 44654813} - flipBy180DegreeRotation: 0 - skeletonRenderer: {fileID: 120294523} ---- !u!114 &120294523 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 120294520} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: 22c4b5e5a0fd9484d83b1aa705b9a54c, type: 2} - initialSkinName: default - initialFlipX: 0 - initialFlipY: 0 - separatorSlotNames: [] - zSpacing: 0 - useClipping: 1 - immutableTriangles: 0 - pmaVertexColors: 1 - clearStateOnDisable: 0 - tintBlack: 0 - singleSubmesh: 0 - addNormals: 0 - calculateTangents: 0 - maskInteraction: 0 - maskMaterials: - materialsMaskDisabled: [] - materialsInsideMask: [] - materialsOutsideMask: [] - disableRenderingOnOverride: 1 - _animationName: walk - loop: 1 - timeScale: 0.5 ---- !u!23 &120294524 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 120294520} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 4e2feebfcaa26a54ab19f1ff3e0eae35, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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: 2 ---- !u!33 &120294525 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 120294520} - m_Mesh: {fileID: 0} ---- !u!61 &120294526 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 120294520} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 1.1056857, y: 5.518404} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0, y: 0} - oldSize: {x: 0, y: 0} - newSize: {x: 0, y: 0} - adaptiveTilingThreshold: 0 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - serializedVersion: 2 - m_Size: {x: 8.798928, y: 7.601362} - m_EdgeRadius: 0 ---- !u!114 &120294527 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 120294520} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ac0a69923492d1b4aa7ca656033ec6a3, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1 &973814791 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 973814792} - - component: {fileID: 973814793} - m_Layer: 0 - m_Name: root - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: d1de1604dfe4cb64c9d31246a8e43c78, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &973814792 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 973814791} - 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_Children: - - {fileID: 1984548219} - - {fileID: 36219067} - m_Father: {fileID: 44654813} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &973814793 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 973814791} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: root - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!1 &976394122 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 976394127} - - component: {fileID: 976394126} - - component: {fileID: 976394124} - - component: {fileID: 976394123} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &976394123 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 976394122} - m_Enabled: 1 ---- !u!124 &976394124 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 976394122} - m_Enabled: 1 ---- !u!20 &976394126 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 976394122} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 1 - orthographic size: 7 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_AllowMSAA: 1 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 - m_StereoMirrorMode: 0 ---- !u!4 &976394127 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 976394122} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -12} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1497001935 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1497001939} - - component: {fileID: 1497001938} - - component: {fileID: 1497001937} - - component: {fileID: 1497001936} - m_Layer: 0 - m_Name: Ground - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!23 &1497001936 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1497001935} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &1497001937 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1497001935} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 2} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1497001938 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1497001935} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1497001939 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1497001935} - m_LocalRotation: {x: 0, y: 0, z: -0.08522272, w: 0.996362} - m_LocalPosition: {x: 0.29366082, y: 0.13593975, z: 2} - m_LocalScale: {x: 13, y: 1, z: 2.6603487} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1984548216 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1984548219} - - component: {fileID: 1984548218} - - component: {fileID: 1984548217} - m_Layer: 0 - m_Name: front_foot_goal - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: de1a4f5ad4bdf1a4ea072c4d59ba87d8, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1984548217 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1984548216} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3662334b99de5fe4396ab24e30c4fd12, type: 3} - m_Name: - m_EditorClassIdentifier: - groundMask: - serializedVersion: 2 - m_Bits: 4294967295 - use2D: 0 - useRadius: 0 - castRadius: 0.1 - castDistance: 3.5 - castOffset: 0 - groundOffset: 0 - adjustSpeed: 5 ---- !u!114 &1984548218 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1984548216} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: front_foot_goal - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 120294522} ---- !u!4 &1984548219 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1984548216} - m_LocalRotation: {x: 0, y: 0, z: -0.00829022, w: 0.99996567} - m_LocalPosition: {x: 2.9747999, y: 0.33127284, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 973814792} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility GroundConstraint.unity.meta b/unity/Assets/Spine Examples/Other Examples/SkeletonUtility GroundConstraint.unity.meta deleted file mode 100644 index d7a95cf..0000000 --- a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility GroundConstraint.unity.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: c7f661c0d47f631438d4608f740c4922 -DefaultImporter: - userData: diff --git a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Platformer HingeChain Physics.unity b/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Platformer HingeChain Physics.unity deleted file mode 100644 index cd97cdc..0000000 --- a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Platformer HingeChain Physics.unity +++ /dev/null @@ -1,9044 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 8 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.10110295, g: 0.18838742, b: 0.25, a: 1} - m_AmbientEquatorColor: {r: 0.07352942, g: 0.07352942, b: 0.07352942, a: 1} - m_AmbientGroundColor: {r: 0.07352942, g: 0.07352942, b: 0.07352942, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 11 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 9 - m_Resolution: 1 - m_BakeResolution: 10 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 0 - m_CompAOExponentDirect: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_MixedBakeMode: 1 - m_BakeBackend: 0 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 500 - m_PVRBounces: 2 - m_PVRFiltering: 0 - m_PVRFilteringMode: 2 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousColorSigma: 1 - m_PVRFilteringAtrousNormalSigma: 1 - m_PVRFilteringAtrousPositionSigma: 1 - m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 0 ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666666 - manualTileSize: 0 - tileSize: 256 - accuratePlacement: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &16304516 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 16304517} - - component: {fileID: 16304519} - - component: {fileID: 16304518} - m_Layer: 0 - m_Name: Description 2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &16304517 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 16304516} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 8.05, y: 8.38, z: 3.64} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1381317420} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!102 &16304518 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 16304516} - m_Text: 'The physics rig was created via - - SkeletonUtilityBone Inspector - button "Create 3D Hinge Chain".' - m_OffsetZ: 0 - m_CharacterSize: 0.16 - m_LineSpacing: 1 - m_Anchor: 0 - m_Alignment: 0 - m_TabSize: 4 - m_FontSize: 24 - m_FontStyle: 0 - m_RichText: 1 - m_Font: {fileID: 0} - m_Color: - serializedVersion: 2 - rgba: 4294967295 ---- !u!23 &16304519 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 16304516} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_Materials: - - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!1 &31046007 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 31046008} - - component: {fileID: 31046009} - m_Layer: 0 - m_Name: forearm2 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &31046008 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 31046007} - m_LocalRotation: {x: 0, y: 0, z: 0.059306376, w: 0.9982398} - m_LocalPosition: {x: 0.28739998, y: -0.009, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 927506454} - m_Father: {fileID: 1528230946} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &31046009 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 31046007} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: forearm2 - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!1 &47250610 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 47250615} - - component: {fileID: 47250614} - - component: {fileID: 47250613} - - component: {fileID: 47250611} - - component: {fileID: 47250612} - m_Layer: 0 - m_Name: cape3 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!54 &47250611 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 47250610} - serializedVersion: 2 - m_Mass: 3.164062 - m_Drag: 10 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!59 &47250612 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 47250610} - m_ConnectedBody: {fileID: 1652966881} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 0.30140004, y: 0.002299994, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -34.64981 - max: 38.16785 - bounciness: 0 - bounceMinVelocity: 0 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!65 &47250613 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 47250610} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 0 - serializedVersion: 2 - m_Size: {x: 0.32509997, y: 0.10836666, z: 0.2} - m_Center: {x: 0.16254999, y: 0, z: 0} ---- !u!114 &47250614 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 47250610} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: cape3 - parentReference: {fileID: 1652966885} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!4 &47250615 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 47250610} - m_LocalRotation: {x: -0, y: -0, z: -0.73845536, w: 0.6743024} - m_LocalPosition: {x: 0.041243985, y: 2.800906, z: 0} - m_LocalScale: {x: 1.0000007, y: 1.0000007, z: 1} - m_Children: [] - m_Father: {fileID: 1299870864} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &74654461 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 74654462} - - component: {fileID: 74654464} - - component: {fileID: 74654463} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &74654462 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 74654461} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 3.1562753, y: 0.965824, z: 25.893574} - m_LocalScale: {x: 5.713549, y: 12.454684, z: 1.502821} - m_Children: [] - m_Father: {fileID: 1338487226} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &74654463 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 74654461} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &74654464 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 74654461} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &84997713 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 84997714} - - component: {fileID: 84997717} - - component: {fileID: 84997716} - - component: {fileID: 84997715} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &84997714 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 84997713} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.44340086, y: 0.681952, z: 3.4441857} - m_LocalScale: {x: 3.0284111, y: 1, z: 7.9300027} - m_Children: [] - m_Father: {fileID: 854723183} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &84997715 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 84997713} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &84997716 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 84997713} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &84997717 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 84997713} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &155019144 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 155019145} - - component: {fileID: 155019146} - m_Layer: 0 - m_Name: weapon-morningstar - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &155019145 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 155019144} - m_LocalRotation: {x: 0, y: 0, z: 0.62870985, w: 0.77764} - m_LocalPosition: {x: 0.1598, y: 0.014299999, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 927506454} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &155019146 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 155019144} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: weapon-morningstar - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!1 &176283719 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 176283722} - - component: {fileID: 176283720} - - component: {fileID: 176283721} - m_Layer: 0 - m_Name: weapon-morningstar Follower - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!54 &176283720 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 176283719} - serializedVersion: 2 - m_Mass: 10 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!114 &176283721 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 176283719} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9fc20d5e917562341a5007777a9d0db2, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: {fileID: 155019145} ---- !u!4 &176283722 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 176283719} - m_LocalRotation: {x: -0, y: -0, z: -0.000000059604645, w: 1} - m_LocalPosition: {x: 0.7222332, y: 2.822155, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1818813015} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &217488462 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 217488463} - - component: {fileID: 217488466} - - component: {fileID: 217488465} - - component: {fileID: 217488464} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &217488463 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 217488462} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -12.245578, y: 4.449075, z: 4.621375} - m_LocalScale: {x: 3.375706, y: 11.224084, z: 2.711687} - m_Children: [] - m_Father: {fileID: 1436083682} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &217488464 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 217488462} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &217488465 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 217488462} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 2.444072} - m_Center: {x: 0, y: 0, z: -0.72203606} ---- !u!33 &217488466 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 217488462} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &271085428 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 271085429} - - component: {fileID: 271085432} - - component: {fileID: 271085431} - - component: {fileID: 271085430} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &271085429 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 271085428} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -2.6333709, y: 1.3243577, z: 3.4441857} - m_LocalScale: {x: 3.0284111, y: 1, z: 7.9300027} - m_Children: [] - m_Father: {fileID: 854723183} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &271085430 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 271085428} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &271085431 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 271085428} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &271085432 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 271085428} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &275930195 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 275930200} - - component: {fileID: 275930199} - - component: {fileID: 275930198} - - component: {fileID: 275930196} - - component: {fileID: 275930197} - m_Layer: 0 - m_Name: weapon-morningstar-physics3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!54 &275930196 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 275930195} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!59 &275930197 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 275930195} - m_ConnectedBody: {fileID: 957934625} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 0.16000009, y: 0.000000019073497, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -48.118908 - max: 49.61374 - bounciness: 0 - bounceMinVelocity: 0 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!65 &275930198 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 275930195} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 0 - serializedVersion: 2 - m_Size: {x: 0.16, y: 0.05333333, z: 0.2} - m_Center: {x: 0.08, y: 0, z: 0} ---- !u!114 &275930199 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 275930195} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: weapon-morningstar-physics3 - parentReference: {fileID: 957934629} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!4 &275930200 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 275930195} - m_LocalRotation: {x: -0, y: -0, z: -0.000000059604645, w: 1} - m_LocalPosition: {x: 2.0179334, y: 2.822155, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1818813015} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &300192067 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 300192068} - m_Layer: 9 - m_Name: Audio - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &300192068 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 300192067} - 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_Children: - - {fileID: 1845666708} - - {fileID: 443343504} - - {fileID: 666622920} - m_Father: {fileID: 1204355831} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &308770407 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 308770408} - - component: {fileID: 308770411} - - component: {fileID: 308770410} - - component: {fileID: 308770409} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &308770408 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 308770407} - m_LocalRotation: {x: 0, y: 0, z: 0.11056515, w: 0.99386895} - m_LocalPosition: {x: 16.480234, y: 2.3535123, z: -0.50590897} - m_LocalScale: {x: 4.759716, y: 2.311941, z: 3.927896} - m_Children: [] - m_Father: {fileID: 1436083682} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &308770409 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 308770407} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &308770410 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 308770407} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &308770411 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 308770407} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &380101352 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 380101355} - - component: {fileID: 380101354} - - component: {fileID: 380101353} - m_Layer: 0 - m_Name: R_Ground - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: d1de1604dfe4cb64c9d31246a8e43c78, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &380101353 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 380101352} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3662334b99de5fe4396ab24e30c4fd12, type: 3} - m_Name: - m_EditorClassIdentifier: - groundMask: - serializedVersion: 2 - m_Bits: 1025 - use2D: 0 - useRadius: 1 - castRadius: 0.22 - castDistance: 0.88 - castOffset: 0 - groundOffset: -0.06 - adjustSpeed: 30 ---- !u!114 &380101354 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 380101352} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: right-ground - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!4 &380101355 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 380101352} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.28119996, y: 0.002600003, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 985424158} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &419174876 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 419174877} - - component: {fileID: 419174878} - m_Layer: 0 - m_Name: body - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &419174877 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 419174876} - m_LocalRotation: {x: 0, y: 0, z: 0.74541783, w: 0.66659755} - m_LocalPosition: {x: 0.0409, y: 0.031799998, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1701901933} - - {fileID: 1528230946} - m_Father: {fileID: 1194274638} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &419174878 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 419174876} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: body - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!1 &443343503 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 443343504} - - component: {fileID: 443343505} - m_Layer: 9 - m_Name: Hardfall - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &443343504 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 443343503} - 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_Children: [] - m_Father: {fileID: 300192068} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!82 &443343505 -AudioSource: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 443343503} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: 532e417ffa3f95747908419a00be3780, type: 3} - m_PlayOnAwake: 0 - m_Volume: 0.9 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 0 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 ---- !u!1 &466644271 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 466644276} - - component: {fileID: 466644275} - - component: {fileID: 466644274} - - component: {fileID: 466644272} - - component: {fileID: 466644273} - m_Layer: 0 - m_Name: weapon-morningstar-physics1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!54 &466644272 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 466644271} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!59 &466644273 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 466644271} - m_ConnectedBody: {fileID: 176283720} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 0.97570014, y: 0.00000011631252, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -146 - max: -28.80203 - bounciness: 0 - bounceMinVelocity: 0 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!65 &466644274 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 466644271} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 0 - serializedVersion: 2 - m_Size: {x: 0.16, y: 0.05333333, z: 0.2} - m_Center: {x: 0.08, y: 0, z: 0} ---- !u!114 &466644275 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 466644271} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: weapon-morningstar-physics1 - parentReference: {fileID: 176283722} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!4 &466644276 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 466644271} - m_LocalRotation: {x: -0, y: -0, z: -0.000000059604645, w: 1} - m_LocalPosition: {x: 1.6979333, y: 2.822155, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1818813015} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &486867433 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 486867434} - m_Layer: 10 - m_Name: FOREGROUND - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &486867434 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 486867433} - 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_Children: - - {fileID: 1437394976} - - {fileID: 1239889110} - - {fileID: 762163187} - - {fileID: 1728612031} - - {fileID: 1900333426} - m_Father: {fileID: 1436083682} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &522034802 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 522034803} - - component: {fileID: 522034805} - - component: {fileID: 522034804} - m_Layer: 0 - m_Name: Play Mode - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &522034803 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 522034802} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0.37, z: -2.84} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1381317420} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!102 &522034804 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 522034802} - m_Text: 'Enter PLAY MODE in Unity to see the cape and morning star - - animated via physics. - - Try moving and jumping. (WASD+Spacebar, or XBOX Controller)' - m_OffsetZ: 0 - m_CharacterSize: 0.1 - m_LineSpacing: 1 - m_Anchor: 4 - m_Alignment: 1 - m_TabSize: 4 - m_FontSize: 24 - m_FontStyle: 0 - m_RichText: 1 - m_Font: {fileID: 0} - m_Color: - serializedVersion: 2 - rgba: 4294967295 ---- !u!23 &522034805 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 522034802} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_Materials: - - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!1 &529901551 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 529901552} - - component: {fileID: 529901554} - - component: {fileID: 529901553} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &529901552 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 529901551} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.52838707, y: 0.965824, z: 12.03045} - m_LocalScale: {x: 5.713549, y: 12.454684, z: 1.502821} - m_Children: [] - m_Father: {fileID: 1338487226} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &529901553 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 529901551} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &529901554 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 529901551} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &542594152 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 542594153} - - component: {fileID: 542594156} - - component: {fileID: 542594155} - - component: {fileID: 542594154} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &542594153 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 542594152} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 3.718987, y: 0.047967613, z: 3.4441857} - m_LocalScale: {x: 3.0284111, y: 1, z: 7.9300027} - m_Children: [] - m_Father: {fileID: 854723183} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &542594154 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 542594152} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &542594155 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 542594152} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &542594156 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 542594152} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &593931653 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 593931657} - - component: {fileID: 593931656} - - component: {fileID: 593931655} - - component: {fileID: 593931654} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!23 &593931654 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 593931653} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &593931655 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 593931653} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &593931656 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 593931653} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &593931657 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 593931653} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.44340086, y: 0.681952, z: 3.4441857} - m_LocalScale: {x: 3.0284111, y: 1, z: 7.9300027} - m_Children: [] - m_Father: {fileID: 939146564} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &645096665 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 645096669} - - component: {fileID: 645096668} - - component: {fileID: 645096667} - - component: {fileID: 645096666} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!23 &645096666 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 645096665} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &645096667 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 645096665} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &645096668 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 645096665} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &645096669 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 645096665} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -1.0358958, y: 1.020077, z: 3.4441857} - m_LocalScale: {x: 3.0284111, y: 1, z: 7.9300027} - m_Children: [] - m_Father: {fileID: 939146564} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &658011008 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 658011009} - - component: {fileID: 658011013} - - component: {fileID: 658011012} - - component: {fileID: 658011011} - - component: {fileID: 658011010} - - component: {fileID: 658011014} - m_Layer: 0 - m_Name: Hero - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &658011009 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 658011008} - 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_Children: - - {fileID: 1776464689} - m_Father: {fileID: 1621947181} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &658011010 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 658011008} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7f726fb798ad621458c431cb9966d91d, type: 3} - m_Name: - m_EditorClassIdentifier: - boneRoot: {fileID: 1776464689} - flipBy180DegreeRotation: 1 - skeletonRenderer: {fileID: 658011011} ---- !u!114 &658011011 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 658011008} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: 2f899e95232e6144786de8fb99678a8d, type: 2} - initialSkinName: weapon/morningstar - initialFlipX: 0 - initialFlipY: 0 - separatorSlotNames: [] - zSpacing: 0 - useClipping: 1 - immutableTriangles: 0 - pmaVertexColors: 1 - clearStateOnDisable: 0 - tintBlack: 0 - singleSubmesh: 0 - addNormals: 0 - calculateTangents: 0 - maskInteraction: 0 - maskMaterials: - materialsMaskDisabled: [] - materialsInsideMask: [] - materialsOutsideMask: [] - disableRenderingOnOverride: 1 - _animationName: Idle - loop: 1 - timeScale: 1 ---- !u!23 &658011012 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 658011008} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 9aa2023c2c91b254f9cb0a4fba19af00, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &658011013 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 658011008} - m_Mesh: {fileID: 0} ---- !u!114 &658011014 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 658011008} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0710ab226a06cfa4689c784fbd9d1753, type: 3} - m_Name: - m_EditorClassIdentifier: - solverIterations: 30 ---- !u!1 &666622919 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 666622920} - - component: {fileID: 666622921} - m_Layer: 9 - m_Name: Footstep - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &666622920 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 666622919} - 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_Children: [] - m_Father: {fileID: 300192068} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!82 &666622921 -AudioSource: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 666622919} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: e885484e1bc99fb47a0ac3f6bfa586b1, type: 3} - m_PlayOnAwake: 0 - m_Volume: 0.25 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 0 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 ---- !u!1 &697686539 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 697686540} - - component: {fileID: 697686544} - - component: {fileID: 697686543} - - component: {fileID: 697686542} - - component: {fileID: 697686541} - m_Layer: 0 - m_Name: weapon-morningstar-physics4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &697686540 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 697686539} - m_LocalRotation: {x: -0, y: -0, z: -0.000000059604645, w: 1} - m_LocalPosition: {x: 2.1779335, y: 2.822155, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1818813015} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!59 &697686541 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 697686539} - m_ConnectedBody: {fileID: 275930196} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 0.16000009, y: 0.000000019073497, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -40.112328 - max: 31.608757 - bounciness: 0 - bounceMinVelocity: 0 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!54 &697686542 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 697686539} - serializedVersion: 2 - m_Mass: 20 - m_Drag: 2 - m_AngularDrag: 0.25 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &697686543 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 697686539} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.36766312, y: 0.40260863, z: 0.2} - m_Center: {x: 0.40143085, y: -0.021408617, z: 0} ---- !u!114 &697686544 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 697686539} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: weapon-morningstar-physics4 - parentReference: {fileID: 275930200} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!1 &762163186 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 762163187} - - component: {fileID: 762163190} - - component: {fileID: 762163189} - - component: {fileID: 762163188} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &762163187 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 762163186} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 6.03, y: 4.7, z: -4} - m_LocalScale: {x: 0.7, y: 14, z: 0.7} - m_Children: [] - m_Father: {fileID: 486867434} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &762163188 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 762163186} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &762163189 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 762163186} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &762163190 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 762163186} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &790644140 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 790644141} - - component: {fileID: 790644143} - - component: {fileID: 790644142} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &790644141 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 790644140} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 29.054758, y: 0.965824, z: 25.893574} - m_LocalScale: {x: 5.713549, y: 12.454684, z: 1.502821} - m_Children: [] - m_Father: {fileID: 1338487226} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &790644142 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 790644140} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &790644143 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 790644140} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &810733599 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 810733600} - - component: {fileID: 810733603} - - component: {fileID: 810733602} - - component: {fileID: 810733601} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &810733600 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 810733599} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -1.0358958, y: 1.020077, z: 3.4441857} - m_LocalScale: {x: 3.0284111, y: 1, z: 7.9300027} - m_Children: [] - m_Father: {fileID: 854723183} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &810733601 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 810733599} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &810733602 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 810733599} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &810733603 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 810733599} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &854723182 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 854723183} - m_Layer: 10 - m_Name: Stairs - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &854723183 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 854723182} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -9.255289, y: 0.5295806, z: -2.076828} - m_LocalScale: {x: 0.31250006, y: 0.53749996, z: 1} - m_Children: - - {fileID: 542594153} - - {fileID: 1943525034} - - {fileID: 84997714} - - {fileID: 810733600} - - {fileID: 271085429} - m_Father: {fileID: 1436083682} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &927506453 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 927506454} - - component: {fileID: 927506455} - m_Layer: 0 - m_Name: hand2 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &927506454 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 927506453} - m_LocalRotation: {x: 0, y: 0, z: 0.0117807, w: 0.9999306} - m_LocalPosition: {x: 0.22799999, y: -0.0022, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 155019145} - m_Father: {fileID: 31046008} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &927506455 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 927506453} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: hand2 - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!1 &939146563 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 939146564} - m_Layer: 10 - m_Name: Stairs - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &939146564 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 939146563} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -6.7203946, y: -0.2877984, z: -2.076828} - m_LocalScale: {x: 0.31250006, y: 0.53749996, z: 1} - m_Children: - - {fileID: 1217440898} - - {fileID: 1791832841} - - {fileID: 593931657} - - {fileID: 645096669} - - {fileID: 1545825323} - m_Father: {fileID: 1436083682} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &957934624 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 957934629} - - component: {fileID: 957934628} - - component: {fileID: 957934627} - - component: {fileID: 957934625} - - component: {fileID: 957934626} - m_Layer: 0 - m_Name: weapon-morningstar-physics2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!54 &957934625 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 957934624} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!59 &957934626 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 957934624} - m_ConnectedBody: {fileID: 466644272} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 0.15999997, y: 0.000000019073482, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -40.5304 - max: 25.922642 - bounciness: 0 - bounceMinVelocity: 0 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!65 &957934627 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 957934624} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 0 - serializedVersion: 2 - m_Size: {x: 0.16, y: 0.05333333, z: 0.2} - m_Center: {x: 0.08, y: 0, z: 0} ---- !u!114 &957934628 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 957934624} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: weapon-morningstar-physics2 - parentReference: {fileID: 466644276} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!4 &957934629 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 957934624} - m_LocalRotation: {x: -0, y: -0, z: -0.000000059604645, w: 1} - m_LocalPosition: {x: 1.8579333, y: 2.822155, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1818813015} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &985424157 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 985424158} - - component: {fileID: 985424159} - m_Layer: 0 - m_Name: root - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: d1de1604dfe4cb64c9d31246a8e43c78, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &985424158 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 985424157} - 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_Children: - - {fileID: 1018673311} - - {fileID: 380101355} - - {fileID: 1194274638} - m_Father: {fileID: 1776464689} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &985424159 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 985424157} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: root - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!1 &1018673310 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1018673311} - - component: {fileID: 1018673313} - - component: {fileID: 1018673312} - m_Layer: 0 - m_Name: L_Ground - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: d1de1604dfe4cb64c9d31246a8e43c78, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1018673311 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1018673310} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0.3129, y: 0.002600003, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 985424158} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1018673312 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1018673310} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3662334b99de5fe4396ab24e30c4fd12, type: 3} - m_Name: - m_EditorClassIdentifier: - groundMask: - serializedVersion: 2 - m_Bits: 1025 - use2D: 0 - useRadius: 1 - castRadius: 0.22 - castDistance: 0.88 - castOffset: 0 - groundOffset: 0 - adjustSpeed: 30 ---- !u!114 &1018673313 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1018673310} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: left-ground - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!1 &1074999553 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1074999555} - - component: {fileID: 1074999554} - m_Layer: 0 - m_Name: Directional light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!108 &1074999554 -Light: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1074999553} - m_Enabled: 1 - serializedVersion: 8 - m_Type: 1 - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_Intensity: 1 - m_Range: 10 - m_SpotAngle: 30 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 0.172 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_Lightmapping: 1 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_FalloffTable: - m_Table[0]: 0 - m_Table[1]: 0 - m_Table[2]: 0 - m_Table[3]: 0 - m_Table[4]: 0 - m_Table[5]: 0 - m_Table[6]: 0 - m_Table[7]: 0 - m_Table[8]: 0 - m_Table[9]: 0 - m_Table[10]: 0 - m_Table[11]: 0 - m_Table[12]: 0 - m_ColorTemperature: 6570 - m_UseColorTemperature: 0 - m_ShadowRadius: 0 - m_ShadowAngle: 0 ---- !u!4 &1074999555 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1074999553} - m_LocalRotation: {x: 0.24307778, y: -0.26244068, z: 0.017895289, w: 0.9336583} - m_LocalPosition: {x: 0.068354905, y: 1.5686042, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1081850950 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1081850954} - - component: {fileID: 1081850953} - - component: {fileID: 1081850952} - - component: {fileID: 1081850951} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!23 &1081850951 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1081850950} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &1081850952 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1081850950} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1081850953 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1081850950} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1081850954 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1081850950} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.0030181557, y: -0.68581307, z: 1.3673577} - m_LocalScale: {x: 28.419054, y: 1, z: 7.9300027} - m_Children: [] - m_Father: {fileID: 1436083682} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1112695302 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1112695306} - - component: {fileID: 1112695305} - - component: {fileID: 1112695304} - - component: {fileID: 1112695303} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!23 &1112695303 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1112695302} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &1112695304 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1112695302} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1112695305 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1112695302} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1112695306 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1112695302} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 10.9179, y: 1.9313622, z: -0.50590897} - m_LocalScale: {x: 7.815224, y: 2.3119407, z: 3.9278955} - m_Children: [] - m_Father: {fileID: 1436083682} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1152613752 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1152613753} - - component: {fileID: 1152613755} - - component: {fileID: 1152613754} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &1152613753 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1152613752} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 26.426872, y: 0.965824, z: 12.03045} - m_LocalScale: {x: 5.713549, y: 12.454684, z: 1.502821} - m_Children: [] - m_Father: {fileID: 1338487226} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1152613754 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1152613752} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &1152613755 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1152613752} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1178284505 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1178284506} - - component: {fileID: 1178284510} - - component: {fileID: 1178284508} - - component: {fileID: 1178284507} - - component: {fileID: 1178284511} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1178284506 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1178284505} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 2.7640486, z: -9.16144} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!81 &1178284507 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1178284505} - m_Enabled: 1 ---- !u!124 &1178284508 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1178284505} - m_Enabled: 1 ---- !u!20 &1178284510 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1178284505} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.31617647, g: 0.75188464, b: 1, a: 0.019607844} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: 1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_AllowMSAA: 1 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 - m_StereoMirrorMode: 0 ---- !u!114 &1178284511 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1178284505} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6df2d8b571e22504284108b691b4a3cd, type: 3} - m_Name: - m_EditorClassIdentifier: - target: {fileID: 1204355831} - offset: {x: 0, y: 2.75, z: -9.15} - min: {x: -4.7, y: 2.75, z: -100} - max: {x: 21, y: 6.4, z: 100} - smoothing: 5 ---- !u!1 &1189703947 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1189703948} - - component: {fileID: 1189703950} - - component: {fileID: 1189703949} - m_Layer: 0 - m_Name: Land particles - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1189703948 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1189703947} - m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1621947181} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} ---- !u!199 &1189703949 -ParticleSystemRenderer: - serializedVersion: 4 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1189703947} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_SelectedEditorRenderState: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 12 - m_RenderMode: 0 - m_SortMode: 0 - m_MinParticleSize: 0 - m_MaxParticleSize: 0.5 - m_CameraVelocityScale: 0 - m_VelocityScale: 0 - m_LengthScale: 2 - m_SortingFudge: 0 - m_NormalDirection: 1 - m_RenderAlignment: 0 - m_Pivot: {x: 0, y: 0, z: 0} - m_UseCustomVertexStreams: 0 - m_VertexStreams: 00010304 - m_Mesh: {fileID: 0} - m_Mesh1: {fileID: 0} - m_Mesh2: {fileID: 0} - m_Mesh3: {fileID: 0} - m_MaskInteraction: 0 ---- !u!198 &1189703950 -ParticleSystem: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1189703947} - serializedVersion: 5 - lengthInSec: 2 - simulationSpeed: 1 - looping: 0 - prewarm: 0 - playOnAwake: 0 - useUnscaledTime: 0 - autoRandomSeed: 1 - useRigidbodyForVelocity: 1 - startDelay: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - moveWithTransform: 1 - moveWithCustomTransform: {fileID: 0} - scalingMode: 1 - randomSeed: 0 - InitialModule: - serializedVersion: 3 - enabled: 1 - startLifetime: - serializedVersion: 2 - minMaxState: 3 - scalar: 0.7 - minScalar: 0.3 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSpeed: - serializedVersion: 2 - minMaxState: 3 - scalar: 10 - minScalar: 6 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startColor: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 0.9207657, g: 0.95776343, b: 0.99264705, a: 0.709} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - startSize: - serializedVersion: 2 - minMaxState: 3 - scalar: 0.8 - minScalar: 0.3 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSizeY: - serializedVersion: 2 - minMaxState: 3 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSizeZ: - serializedVersion: 2 - minMaxState: 3 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotationX: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotationY: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotation: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - randomizeRotationDirection: 0 - maxNumParticles: 1000 - size3D: 0 - rotation3D: 0 - gravityModifier: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - ShapeModule: - serializedVersion: 5 - enabled: 1 - type: 4 - angle: 70.14339 - length: 5 - boxThickness: {x: 0, y: 0, z: 0} - radiusThickness: 1 - donutRadius: 0.2 - m_Position: {x: 0, y: 0, z: 0} - m_Rotation: {x: 0, y: 0, z: 0} - m_Scale: {x: 1, y: 1, z: 1} - placementMode: 0 - m_Mesh: {fileID: 0} - m_MeshRenderer: {fileID: 0} - m_SkinnedMeshRenderer: {fileID: 0} - m_MeshMaterialIndex: 0 - m_MeshNormalOffset: 0 - m_UseMeshMaterialIndex: 0 - m_UseMeshColors: 1 - alignToDirection: 0 - randomDirectionAmount: 1 - sphericalDirectionAmount: 0 - randomPositionAmount: 0 - radius: - value: 1 - mode: 0 - spread: 0 - speed: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - arc: - value: 360 - mode: 0 - spread: 0 - speed: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - EmissionModule: - enabled: 1 - serializedVersion: 4 - rateOverTime: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - rateOverDistance: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BurstCount: 1 - m_Bursts: - - time: 0 - minCount: 30 - maxCount: 30 - cycleCount: 1 - repeatInterval: 0.01 - SizeModule: - enabled: 1 - curve: - serializedVersion: 2 - minMaxState: 1 - scalar: 1.25 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0.5047302 - inSlope: 2.1462991 - outSlope: 2.1462991 - tangentMode: 0 - - serializedVersion: 2 - time: 0.5 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - RotationModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - curve: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.7853982 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - ColorModule: - enabled: 1 - gradient: - serializedVersion: 2 - minMaxState: 1 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 0} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 54934 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - UVModule: - enabled: 0 - mode: 0 - frameOverTime: - serializedVersion: 2 - minMaxState: 1 - scalar: 0.9999 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startFrame: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - tilesX: 1 - tilesY: 1 - animationType: 0 - rowIndex: 0 - cycles: 1 - uvChannelMask: -1 - flipU: 0 - flipV: 0 - randomRow: 1 - sprites: - - sprite: {fileID: 0} - VelocityModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - inWorldSpace: 0 - InheritVelocityModule: - enabled: 0 - m_Mode: 0 - m_Curve: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - ForceModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - inWorldSpace: 0 - randomizePerFrame: 0 - ExternalForcesModule: - enabled: 0 - multiplier: 1 - ClampVelocityModule: - enabled: 1 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - magnitude: - serializedVersion: 2 - minMaxState: 1 - scalar: 8 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: -2.8836133 - outSlope: -2.8836133 - tangentMode: 0 - - serializedVersion: 2 - time: 0.49698865 - value: 0.11355485 - inSlope: -0.2836929 - outSlope: -0.2836929 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.02838029 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxis: 0 - inWorldSpace: 0 - dampen: 0.7 - NoiseModule: - enabled: 0 - strength: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - strengthY: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - strengthZ: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - frequency: 0.5 - damping: 1 - octaves: 1 - octaveMultiplier: 0.5 - octaveScale: 2 - quality: 2 - scrollSpeed: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remap: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: -1 - inSlope: 0 - outSlope: 2 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 2 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapY: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: -1 - inSlope: 0 - outSlope: 2 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 2 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapZ: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: -1 - inSlope: 0 - outSlope: 2 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 2 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapEnabled: 0 - positionAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - rotationAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - sizeAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - SizeBySpeedModule: - enabled: 0 - curve: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: [] - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - range: {x: 0, y: 1} - separateAxes: 0 - RotationBySpeedModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - curve: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.7853982 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - range: {x: 0, y: 1} - ColorBySpeedModule: - enabled: 0 - gradient: - serializedVersion: 2 - minMaxState: 1 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - range: {x: 0, y: 1} - CollisionModule: - enabled: 0 - serializedVersion: 3 - type: 0 - collisionMode: 0 - colliderForce: 0 - multiplyColliderForceByParticleSize: 0 - multiplyColliderForceByParticleSpeed: 0 - multiplyColliderForceByCollisionAngle: 1 - plane0: {fileID: 0} - plane1: {fileID: 0} - plane2: {fileID: 0} - plane3: {fileID: 0} - plane4: {fileID: 0} - plane5: {fileID: 0} - m_Dampen: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Bounce: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_EnergyLossOnCollision: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minKillSpeed: 0 - maxKillSpeed: 10000 - radiusScale: 1 - collidesWith: - serializedVersion: 2 - m_Bits: 4294967295 - maxCollisionShapes: 256 - quality: 0 - voxelSize: 0.5 - collisionMessages: 0 - collidesWithDynamic: 1 - interiorCollisions: 1 - TriggerModule: - enabled: 0 - collisionShape0: {fileID: 0} - collisionShape1: {fileID: 0} - collisionShape2: {fileID: 0} - collisionShape3: {fileID: 0} - collisionShape4: {fileID: 0} - collisionShape5: {fileID: 0} - inside: 1 - outside: 0 - enter: 0 - exit: 0 - radiusScale: 1 - SubModule: - serializedVersion: 2 - enabled: 0 - subEmitters: - - emitter: {fileID: 0} - type: 0 - properties: 0 - LightsModule: - enabled: 0 - ratio: 0 - light: {fileID: 0} - randomDistribution: 1 - color: 1 - range: 1 - intensity: 1 - rangeCurve: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - intensityCurve: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - maxLights: 20 - TrailModule: - enabled: 0 - ratio: 1 - lifetime: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minVertexDistance: 0.2 - textureMode: 0 - worldSpace: 0 - dieWithParticles: 1 - sizeAffectsWidth: 1 - sizeAffectsLifetime: 0 - inheritParticleColor: 1 - generateLightingData: 0 - colorOverLifetime: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - widthOverTrail: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - colorOverTrail: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - CustomDataModule: - enabled: 0 - mode0: 0 - vectorComponentCount0: 4 - color0: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - vector0_0: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector0_1: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector0_2: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector0_3: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - mode1: 0 - vectorComponentCount1: 4 - color1: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - vector1_0: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector1_1: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector1_2: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vector1_3: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0.5 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0.5 - inSlope: 0.5 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!1 &1194274637 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1194274638} - - component: {fileID: 1194274639} - m_Layer: 0 - m_Name: hip - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: d1de1604dfe4cb64c9d31246a8e43c78, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1194274638 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1194274637} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0.9489, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 419174877} - m_Father: {fileID: 985424158} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1194274639 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1194274637} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: hip - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!1 &1195242618 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1195242619} - - component: {fileID: 1195242621} - - component: {fileID: 1195242620} - m_Layer: 0 - m_Name: Description 4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1195242619 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1195242618} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 18.85, y: 2.75, z: -2.45} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1381317420} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!102 &1195242620 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1195242618} - m_Text: 'Try changing "Joint Angular Limit" values - - at HingeJoints. - - - Note that the chain setup will behave - - less predictable and is more error-prone - - when angular limits are too wide.' - m_OffsetZ: 0 - m_CharacterSize: 0.11 - m_LineSpacing: 1 - m_Anchor: 6 - m_Alignment: 0 - m_TabSize: 4 - m_FontSize: 18 - m_FontStyle: 0 - m_RichText: 1 - m_Font: {fileID: 0} - m_Color: - serializedVersion: 2 - rgba: 4285953654 ---- !u!23 &1195242621 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1195242618} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_Materials: - - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!1 &1204355830 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1204355831} - - component: {fileID: 1204355832} - - component: {fileID: 1204355833} - - component: {fileID: 1204355834} - - component: {fileID: 1204355835} - - component: {fileID: 1204355836} - m_Layer: 9 - m_Name: Player - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1204355831 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1204355830} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.22, y: 1.93, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1621947181} - - {fileID: 300192068} - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!143 &1204355832 -CharacterController: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1204355830} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Height: 3 - m_Radius: 0.2 - m_SlopeLimit: 45 - m_StepOffset: 0.4 - m_SkinWidth: 0.08 - m_MinMoveDistance: 0 - m_Center: {x: 0, y: 1.5, z: 0} ---- !u!114 &1204355833 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1204355830} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 27b3e3370f55c0a438ef0a10c2eba510, type: 3} - m_Name: - m_EditorClassIdentifier: - controller: {fileID: 1204355832} - XAxis: Horizontal - YAxis: Vertical - JumpButton: Jump - walkSpeed: 1.5 - runSpeed: 7 - gravityScale: 6.6 - jumpSpeed: 25 - minimumJumpDuration: 0.5 - jumpInterruptFactor: 0.5 - forceCrouchVelocity: 30 - forceCrouchDuration: 0.4 - animationHandle: {fileID: 1204355835} ---- !u!114 &1204355834 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1204355830} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1d55a3bd6ac81af44b2f9a4447f2ae72, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonAnimation: {fileID: 658011011} - eventName: footstep - audioSource: {fileID: 666622921} - audioClip: {fileID: 8300000, guid: e885484e1bc99fb47a0ac3f6bfa586b1, type: 3} - basePitch: 1 - randomPitchOffset: 0.2 - logDebugMessage: 0 ---- !u!114 &1204355835 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1204355830} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dd8d49de34fd0724ca8c1ae3c44afe59, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonAnimation: {fileID: 658011011} - statesAndAnimations: - - stateName: walk - animation: {fileID: 11400000, guid: 096b05b71bb32cb409c1c8fd233b7ac3, type: 2} - - stateName: run - animation: {fileID: 11400000, guid: cc83238c61de380499565292bef7ada4, type: 2} - - stateName: idle - animation: {fileID: 11400000, guid: 8e32f0310bb5c02488c5c002dd41e7cb, type: 2} - - stateName: crouch - animation: {fileID: 11400000, guid: 25961ff211f6f3947be85f8aab3f2630, type: 2} - - stateName: rise - animation: {fileID: 11400000, guid: 9fc9ad17b39175242a17dedc100251e5, type: 2} - - stateName: fall - animation: {fileID: 11400000, guid: 29c1381a00cfb2c4d996f2a02fcc4506, type: 2} - - stateName: attack - animation: {fileID: 11400000, guid: a7f08ab57415c7548a57933fe9332cf0, type: 2} - transitions: - - from: {fileID: 11400000, guid: 29c1381a00cfb2c4d996f2a02fcc4506, type: 2} - to: {fileID: 11400000, guid: 25961ff211f6f3947be85f8aab3f2630, type: 2} - transition: {fileID: 11400000, guid: 6c587772a6f7df94b934b353291c008c, type: 2} - - from: {fileID: 11400000, guid: 29c1381a00cfb2c4d996f2a02fcc4506, type: 2} - to: {fileID: 11400000, guid: cc83238c61de380499565292bef7ada4, type: 2} - transition: {fileID: 11400000, guid: fcca5e996ae24ba43baaaadef1fb6ad9, type: 2} - - from: {fileID: 11400000, guid: 29c1381a00cfb2c4d996f2a02fcc4506, type: 2} - to: {fileID: 11400000, guid: 8e32f0310bb5c02488c5c002dd41e7cb, type: 2} - transition: {fileID: 11400000, guid: 714e39dce7285c145bdf142c38ef9a9b, type: 2} ---- !u!114 &1204355836 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1204355830} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8a0f8a82c5d8a334db6996478778b892, type: 3} - m_Name: - m_EditorClassIdentifier: - eventSource: {fileID: 1204355833} - OnJump: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1204355834} - m_MethodName: Play - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - OnLand: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1204355834} - m_MethodName: Play - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - - m_Target: {fileID: 1189703950} - m_MethodName: Emit - m_Mode: 3 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 4 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null - OnHardLand: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 443343505} - m_MethodName: Play - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - - m_Target: {fileID: 1189703950} - m_MethodName: Emit - m_Mode: 3 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 10 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine, Version=0.0.0.0, Culture=neutral, - PublicKeyToken=null ---- !u!1 &1217440894 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1217440898} - - component: {fileID: 1217440897} - - component: {fileID: 1217440896} - - component: {fileID: 1217440895} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!23 &1217440895 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1217440894} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &1217440896 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1217440894} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1217440897 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1217440894} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1217440898 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1217440894} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 3.718987, y: 0.047967613, z: 3.4441857} - m_LocalScale: {x: 3.0284111, y: 1, z: 7.9300027} - m_Children: [] - m_Father: {fileID: 939146564} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1239889109 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1239889110} - - component: {fileID: 1239889113} - - component: {fileID: 1239889112} - - component: {fileID: 1239889111} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &1239889110 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1239889109} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -12.245578, y: 4.4490747, z: -1.8732238} - m_LocalScale: {x: 3.3757064, y: 11.224084, z: 2.7116873} - m_Children: [] - m_Father: {fileID: 486867434} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1239889111 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1239889109} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &1239889112 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1239889109} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1239889113 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1239889109} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1299870862 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1299870864} - - component: {fileID: 1299870863} - m_Layer: 0 - m_Name: Hero HingeChain Parent cape-root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1299870863 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1299870862} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 456a736ebb92ebf4b959fa9c4b704427, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: {fileID: 1776464689} ---- !u!4 &1299870864 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1299870862} - 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_Children: - - {fileID: 1640523867} - - {fileID: 1716446861} - - {fileID: 2048280410} - - {fileID: 1652966885} - - {fileID: 47250615} - - {fileID: 1721407905} - m_Father: {fileID: 0} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1338487225 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1338487226} - m_Layer: 10 - m_Name: BACKGROUND - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1338487226 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1338487225} - 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_Children: - - {fileID: 2019593955} - - {fileID: 529901552} - - {fileID: 1982529759} - - {fileID: 1152613753} - - {fileID: 790644141} - - {fileID: 1506465911} - - {fileID: 74654462} - - {fileID: 1527457427} - - {fileID: 1803534917} - m_Father: {fileID: 1436083682} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1381317419 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1381317420} - m_Layer: 0 - m_Name: LABELS - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1381317420 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1381317419} - 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_Children: - - {fileID: 522034803} - - {fileID: 16304517} - - {fileID: 1512255394} - - {fileID: 1195242619} - m_Father: {fileID: 0} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1436083681 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1436083682} - m_Layer: 10 - m_Name: Environment - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &1436083682 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1436083681} - 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_Children: - - {fileID: 1081850954} - - {fileID: 1112695306} - - {fileID: 939146564} - - {fileID: 854723183} - - {fileID: 308770408} - - {fileID: 2038851861} - - {fileID: 1615467379} - - {fileID: 217488463} - - {fileID: 486867434} - - {fileID: 1338487226} - m_Father: {fileID: 0} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1437394975 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1437394976} - - component: {fileID: 1437394979} - - component: {fileID: 1437394978} - - component: {fileID: 1437394977} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &1437394976 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1437394975} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 28.995129, y: 4.449075, z: -3.6664026} - m_LocalScale: {x: 3.375706, y: 11.224084, z: 2.711687} - m_Children: [] - m_Father: {fileID: 486867434} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1437394977 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1437394975} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &1437394978 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1437394975} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1437394979 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1437394975} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1506465910 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1506465911} - - component: {fileID: 1506465913} - - component: {fileID: 1506465912} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &1506465911 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1506465910} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 14.239922, y: 0.965824, z: 25.893574} - m_LocalScale: {x: 5.713549, y: 12.454684, z: 1.502821} - m_Children: [] - m_Father: {fileID: 1338487226} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1506465912 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1506465910} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &1506465913 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1506465910} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1512255393 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1512255394} - - component: {fileID: 1512255396} - - component: {fileID: 1512255395} - m_Layer: 0 - m_Name: Description 3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1512255394 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1512255393} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 18.78, y: 7.6, z: -0.1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1381317420} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!102 &1512255395 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1512255393} - m_Text: 'Examine Rigidbody settings at "cape1" - "cape4" - - and "weapon-morningstar-physics1-4". - - (They can be found below - - "Hero HingeChain Parent cape-root" and - - "Hero HingeChain Parent morningstar") - - - Try out different Rigidbody drag settings. - - Proper drag values are crucial to achieve - - the desired weight effect, it has more impact - - than the mass parameter. - - - Do not increase mass too much, - - or the physics rig will become unstable.' - m_OffsetZ: 0 - m_CharacterSize: 0.11 - m_LineSpacing: 1 - m_Anchor: 6 - m_Alignment: 0 - m_TabSize: 4 - m_FontSize: 24 - m_FontStyle: 0 - m_RichText: 1 - m_Font: {fileID: 0} - m_Color: - serializedVersion: 2 - rgba: 4294967295 ---- !u!23 &1512255396 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1512255393} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_Materials: - - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!1 &1527457426 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1527457427} - - component: {fileID: 1527457429} - - component: {fileID: 1527457428} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &1527457427 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1527457426} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -4.538345, y: 0.965824, z: 25.893574} - m_LocalScale: {x: 5.713549, y: 12.454684, z: 1.502821} - m_Children: [] - m_Father: {fileID: 1338487226} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1527457428 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1527457426} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &1527457429 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1527457426} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1528230945 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1528230946} - - component: {fileID: 1528230947} - m_Layer: 0 - m_Name: upper-arm2 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1528230946 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1528230945} - m_LocalRotation: {x: 0, y: 0, z: -0.9999588, w: 0.009075592} - m_LocalPosition: {x: 0.5795, y: -0.38939998, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 31046008} - m_Father: {fileID: 419174877} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1528230947 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1528230945} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: upper-arm2 - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!1 &1545825322 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1545825323} - - component: {fileID: 1545825326} - - component: {fileID: 1545825325} - - component: {fileID: 1545825324} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &1545825323 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1545825322} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -2.6333709, y: 1.3243577, z: 3.4441857} - m_LocalScale: {x: 3.0284111, y: 1, z: 7.9300027} - m_Children: [] - m_Father: {fileID: 939146564} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1545825324 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1545825322} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &1545825325 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1545825322} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1545825326 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1545825322} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1615467378 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1615467379} - - component: {fileID: 1615467382} - - component: {fileID: 1615467381} - - component: {fileID: 1615467380} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &1615467379 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1615467378} - m_LocalRotation: {x: 0, y: 0, z: 0.02269601, w: 0.99974245} - m_LocalPosition: {x: 25.403107, y: 1.6144753, z: -0.50590897} - m_LocalScale: {x: 4.7597165, y: 2.311941, z: 3.927896} - m_Children: [] - m_Father: {fileID: 1436083682} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1615467380 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1615467378} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &1615467381 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1615467378} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1615467382 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1615467378} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1621947180 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1621947181} - m_Layer: 0 - m_Name: Visuals - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1621947181 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1621947180} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: -0.05, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 658011009} - - {fileID: 1189703948} - m_Father: {fileID: 1204355831} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1640523864 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1640523867} - - component: {fileID: 1640523865} - - component: {fileID: 1640523866} - m_Layer: 0 - m_Name: mantles Follower - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!54 &1640523865 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1640523864} - serializedVersion: 2 - m_Mass: 10 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!114 &1640523866 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1640523864} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9fc20d5e917562341a5007777a9d0db2, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: {fileID: 1701901933} ---- !u!4 &1640523867 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1640523864} - m_LocalRotation: {x: -0, y: -0, z: 0.7321864, w: 0.68110436} - m_LocalPosition: {x: 0.2963848, y: 3.3525047, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1299870864} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1652966880 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1652966885} - - component: {fileID: 1652966884} - - component: {fileID: 1652966883} - - component: {fileID: 1652966881} - - component: {fileID: 1652966882} - m_Layer: 0 - m_Name: cape2 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!54 &1652966881 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1652966880} - serializedVersion: 2 - m_Mass: 4.2187495 - m_Drag: 10 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!59 &1652966882 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1652966880} - m_ConnectedBody: {fileID: 2048280406} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 0.29180005, y: -0.0005999803, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -27.078552 - max: 30.452648 - bounciness: 0 - bounceMinVelocity: 0 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!65 &1652966883 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1652966880} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 0 - serializedVersion: 2 - m_Size: {x: 0.30139998, y: 0.10046666, z: 0.2} - m_Center: {x: 0.15069999, y: 0, z: 0} ---- !u!114 &1652966884 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1652966880} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: cape2 - parentReference: {fileID: 2048280410} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!4 &1652966885 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1652966880} - m_LocalRotation: {x: -0, y: -0, z: -0.7489558, w: 0.66262007} - m_LocalPosition: {x: 0.07569261, y: 3.1003397, z: 0} - m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1} - m_Children: [] - m_Father: {fileID: 1299870864} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1701901932 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1701901933} - - component: {fileID: 1701901934} - m_Layer: 0 - m_Name: mantles - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: d1de1604dfe4cb64c9d31246a8e43c78, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1701901933 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1701901932} - m_LocalRotation: {x: 0, y: 0, z: -0.019633694, w: 0.99980724} - m_LocalPosition: {x: 0.48479998, y: -0.089999996, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 419174877} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1701901934 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1701901932} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: mantles - parentReference: {fileID: 0} - mode: 0 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!1 &1716446856 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1716446861} - - component: {fileID: 1716446860} - - component: {fileID: 1716446859} - - component: {fileID: 1716446857} - - component: {fileID: 1716446858} - m_Layer: 0 - m_Name: cape-root - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: d1de1604dfe4cb64c9d31246a8e43c78, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!54 &1716446857 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1716446856} - serializedVersion: 2 - m_Mass: 7.5 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!59 &1716446858 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1716446856} - m_ConnectedBody: {fileID: 1640523865} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 0.1961999, y: 0.14009997, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -20 - max: 20 - bounciness: 0 - bounceMinVelocity: 0 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!135 &1716446859 -SphereCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1716446856} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 0 - serializedVersion: 2 - m_Radius: 0.1 - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &1716446860 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1716446856} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: cape-root - parentReference: {fileID: 1640523867} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!4 &1716446861 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1716446856} - m_LocalRotation: {x: -0, y: -0, z: 0.032195743, w: 0.99948156} - m_LocalPosition: {x: 0.142486, y: 3.5380783, z: 0} - m_LocalScale: {x: 1.0000002, y: 1.0000002, z: 1} - m_Children: [] - m_Father: {fileID: 1299870864} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1721407904 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1721407905} - - component: {fileID: 1721407909} - - component: {fileID: 1721407908} - - component: {fileID: 1721407907} - - component: {fileID: 1721407906} - m_Layer: 0 - m_Name: cape4 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1721407905 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1721407904} - m_LocalRotation: {x: -0, y: -0, z: -0.7086478, w: 0.7055625} - m_LocalPosition: {x: 0.012476413, y: 2.4770803, z: 0} - m_LocalScale: {x: 1.0000011, y: 1.0000011, z: 1} - m_Children: [] - m_Father: {fileID: 1299870864} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!59 &1721407906 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1721407904} - m_ConnectedBody: {fileID: 47250611} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: 0.32509995, y: 0.0006999965, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -20 - max: 20 - bounciness: 0 - bounceMinVelocity: 0 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!54 &1721407907 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1721407904} - serializedVersion: 2 - m_Mass: 10 - m_Drag: 10 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &1721407908 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1721407904} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 0 - serializedVersion: 2 - m_Size: {x: 0.3302, y: 0.11006666, z: 0.2} - m_Center: {x: 0.1651, y: 0, z: 0} ---- !u!114 &1721407909 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1721407904} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: cape4 - parentReference: {fileID: 47250615} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!1 &1728612030 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1728612031} - - component: {fileID: 1728612034} - - component: {fileID: 1728612033} - - component: {fileID: 1728612032} - m_Layer: 10 - m_Name: Cube (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &1728612031 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1728612030} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 22.74, y: -3.07, z: -3.5} - m_LocalScale: {x: 0.7, y: 14, z: 0.7} - m_Children: [] - m_Father: {fileID: 486867434} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1728612032 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1728612030} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &1728612033 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1728612030} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1728612034 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1728612030} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1776464688 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1776464689} - m_Layer: 0 - m_Name: SkeletonUtility-Root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1776464689 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1776464688} - 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_Children: - - {fileID: 985424158} - m_Father: {fileID: 658011009} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1791832837 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1791832841} - - component: {fileID: 1791832840} - - component: {fileID: 1791832839} - - component: {fileID: 1791832838} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!23 &1791832838 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1791832837} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &1791832839 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1791832837} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1791832840 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1791832837} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1791832841 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1791832837} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 2.0283618, y: 0.3649598, z: 3.4441857} - m_LocalScale: {x: 3.0284111, y: 1, z: 7.9300027} - m_Children: [] - m_Father: {fileID: 939146564} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1803534916 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1803534917} - - component: {fileID: 1803534920} - - component: {fileID: 1803534919} - - component: {fileID: 1803534918} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &1803534917 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1803534916} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 28.995129, y: 4.449075, z: 2.8281965} - m_LocalScale: {x: 3.375706, y: 11.224084, z: 2.711687} - m_Children: [] - m_Father: {fileID: 1338487226} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1803534918 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1803534916} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &1803534919 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1803534916} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 2.444072} - m_Center: {x: 0, y: 0, z: -0.72203606} ---- !u!33 &1803534920 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1803534916} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1818813013 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1818813015} - - component: {fileID: 1818813014} - - component: {fileID: 1818813016} - m_Layer: 0 - m_Name: Hero HingeChain Parent morningstar - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1818813014 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1818813013} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 456a736ebb92ebf4b959fa9c4b704427, type: 3} - m_Name: - m_EditorClassIdentifier: - reference: {fileID: 1776464689} ---- !u!4 &1818813015 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1818813013} - 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_Children: - - {fileID: 176283722} - - {fileID: 466644276} - - {fileID: 957934629} - - {fileID: 275930200} - - {fileID: 697686540} - m_Father: {fileID: 0} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1818813016 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1818813013} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0710ab226a06cfa4689c784fbd9d1753, type: 3} - m_Name: - m_EditorClassIdentifier: - solverIterations: 30 ---- !u!1 &1845666707 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1845666708} - - component: {fileID: 1845666709} - m_Layer: 9 - m_Name: Jump - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1845666708 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1845666707} - 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_Children: [] - m_Father: {fileID: 300192068} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!82 &1845666709 -AudioSource: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1845666707} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: 51f0c54706b53c14c9c24bbd63bb18a6, type: 3} - m_PlayOnAwake: 0 - m_Volume: 0.6 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 0 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - - serializedVersion: 2 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 2 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 0 ---- !u!1 &1900333425 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1900333426} - - component: {fileID: 1900333429} - - component: {fileID: 1900333428} - - component: {fileID: 1900333427} - m_Layer: 10 - m_Name: Cube (2) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &1900333426 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1900333425} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 13.43, y: -1.96, z: -3.5} - m_LocalScale: {x: 0.7, y: 14, z: 0.7} - m_Children: [] - m_Father: {fileID: 486867434} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1900333427 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1900333425} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &1900333428 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1900333425} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1900333429 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1900333425} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1943525033 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1943525034} - - component: {fileID: 1943525037} - - component: {fileID: 1943525036} - - component: {fileID: 1943525035} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &1943525034 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1943525033} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 2.0283618, y: 0.3649598, z: 3.4441857} - m_LocalScale: {x: 3.0284111, y: 1, z: 7.9300027} - m_Children: [] - m_Father: {fileID: 854723183} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1943525035 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1943525033} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &1943525036 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1943525033} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &1943525037 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1943525033} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1982529758 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1982529759} - - component: {fileID: 1982529761} - - component: {fileID: 1982529760} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &1982529759 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1982529758} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 12.23, y: 0.965824, z: 4.35} - m_LocalScale: {x: 8.47, y: 12.454684, z: 1.502821} - m_Children: [] - m_Father: {fileID: 1338487226} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1982529760 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1982529758} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &1982529761 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1982529758} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &2019593954 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 2019593955} - - component: {fileID: 2019593957} - - component: {fileID: 2019593956} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &2019593955 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2019593954} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -7.166233, y: 0.9658241, z: 12.03045} - m_LocalScale: {x: 5.713549, y: 12.454684, z: 1.5028212} - m_Children: [] - m_Father: {fileID: 1338487226} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &2019593956 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2019593954} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &2019593957 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2019593954} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &2038851860 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 2038851861} - - component: {fileID: 2038851864} - - component: {fileID: 2038851863} - - component: {fileID: 2038851862} - m_Layer: 10 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 4294967295 - m_IsActive: 1 ---- !u!4 &2038851861 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2038851860} - m_LocalRotation: {x: 0, y: 0, z: 0.022696279, w: 0.99974245} - m_LocalPosition: {x: 20.960455, y: 3.2521164, z: -0.50590897} - m_LocalScale: {x: 4.7597165, y: 2.311941, z: 3.927896} - m_Children: [] - m_Father: {fileID: 1436083682} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &2038851862 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2038851860} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!65 &2038851863 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2038851860} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!33 &2038851864 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2038851860} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &2048280405 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 2048280410} - - component: {fileID: 2048280409} - - component: {fileID: 2048280408} - - component: {fileID: 2048280406} - - component: {fileID: 2048280407} - m_Layer: 0 - m_Name: cape1 - m_TagString: Untagged - m_Icon: {fileID: 2800000, guid: 97a43f11e00735147a9dc3dff6d68191, type: 3} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!54 &2048280406 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2048280405} - serializedVersion: 2 - m_Mass: 5.6249995 - m_Drag: 10 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!59 &2048280407 -HingeJoint: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2048280405} - m_ConnectedBody: {fileID: 1716446857} - m_Anchor: {x: 0, y: 0, z: 0} - m_Axis: {x: 0, y: 0, z: 1} - m_AutoConfigureConnectedAnchor: 1 - m_ConnectedAnchor: {x: -0.028800003, y: -0.14829999, z: 0} - m_UseSpring: 0 - m_Spring: - spring: 0 - damper: 0 - targetPosition: 0 - m_UseMotor: 0 - m_Motor: - targetVelocity: 0 - force: 0 - freeSpin: 0 - m_UseLimits: 1 - m_Limits: - min: -28.951447 - max: 34.103077 - bounciness: 0 - bounceMinVelocity: 0 - contactDistance: 0 - m_BreakForce: Infinity - m_BreakTorque: Infinity - m_EnableCollision: 0 - m_EnablePreprocessing: 1 - m_MassScale: 1 - m_ConnectedMassScale: 1 ---- !u!65 &2048280408 -BoxCollider: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2048280405} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 0 - serializedVersion: 2 - m_Size: {x: 0.2918, y: 0.09726667, z: 0.2} - m_Center: {x: 0.1459, y: 0, z: 0} ---- !u!114 &2048280409 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2048280405} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} - m_Name: - m_EditorClassIdentifier: - boneName: cape1 - parentReference: {fileID: 1716446861} - mode: 1 - position: 1 - rotation: 1 - scale: 1 - zPosition: 1 - overrideAlpha: 1 - hierarchy: {fileID: 658011010} ---- !u!4 &2048280410 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2048280405} - m_LocalRotation: {x: -0, y: -0, z: -0.7619341, w: 0.64765453} - m_LocalPosition: {x: 0.12329001, y: 3.3882322, z: 0} - m_LocalScale: {x: 1.0000001, y: 1.0000001, z: 1} - m_Children: [] - m_Father: {fileID: 1299870864} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Platformer HingeChain Physics.unity.meta b/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Platformer HingeChain Physics.unity.meta deleted file mode 100644 index 056adc3..0000000 --- a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Platformer HingeChain Physics.unity.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 215ee35c3c4c6f24a918378a3eb209e2 -timeCreated: 1574255533 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Ragdoll.unity b/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Ragdoll.unity deleted file mode 100644 index 71296e6..0000000 --- a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Ragdoll.unity +++ /dev/null @@ -1,1895 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 8 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 11 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_TemporalCoherenceThreshold: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 9 - m_Resolution: 1 - m_BakeResolution: 50 - m_TextureWidth: 1024 - m_TextureHeight: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 0 - m_CompAOExponentDirect: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_MixedBakeMode: 1 - m_BakeBackend: 0 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 500 - m_PVRBounces: 2 - m_PVRFiltering: 0 - m_PVRFilteringMode: 2 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousColorSigma: 1 - m_PVRFilteringAtrousNormalSigma: 1 - m_PVRFilteringAtrousPositionSigma: 1 - m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 0 ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666666 - manualTileSize: 0 - tileSize: 256 - accuratePlacement: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &92814982 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 92814989} - - component: {fileID: 92814988} - - component: {fileID: 92814987} - - component: {fileID: 92814986} - - component: {fileID: 92814985} - - component: {fileID: 92814984} - - component: {fileID: 92814983} - m_Layer: 0 - m_Name: Raggedy Spineboy - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!60 &92814983 -PolygonCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 92814982} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0, y: 0} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0, y: 0} - oldSize: {x: 0, y: 0} - newSize: {x: 0, y: 0} - adaptiveTilingThreshold: 0 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - m_Points: - m_Paths: - - - {x: -0.25825587, y: 3.1820273} - - {x: 0.31586242, y: 3.1818907} - - {x: 0.55882263, y: 2.040349} - - {x: 0.434707, y: 0.0013669459} - - {x: -0.45539615, y: 0.0013672132} - - {x: -0.61691463, y: 2.0021477} ---- !u!114 &92814984 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 92814982} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 849a7739a7df0754882fcb34c09df4c1, type: 3} - m_Name: - m_EditorClassIdentifier: - groundMask: - serializedVersion: 2 - m_Bits: 4294967295 - restoreDuration: 0.5 - launchVelocity: {x: 40, y: 85} ---- !u!114 &92814985 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 92814982} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e74a49a26242a214d9084fde00bfe3ab, type: 3} - m_Name: - m_EditorClassIdentifier: - startingBoneName: hip - stopBoneNames: [] - applyOnStart: 0 - disableIK: 1 - disableOtherConstraints: 0 - pinStartBone: 0 - gravityScale: 3 - thickness: 0.125 - rotationLimit: 20 - rootMass: 40 - massFalloffFactor: 0.504 - colliderLayer: 0 - mix: 1 ---- !u!114 &92814986 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 92814982} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: 57484171e9b9c7243aa3117bc663e7b9, type: 2} - initialSkinName: - initialFlipX: 0 - initialFlipY: 0 - separatorSlotNames: [] - zSpacing: 0 - useClipping: 1 - immutableTriangles: 0 - pmaVertexColors: 1 - clearStateOnDisable: 0 - tintBlack: 0 - singleSubmesh: 0 - addNormals: 0 - calculateTangents: 0 - maskInteraction: 0 - maskMaterials: - materialsMaskDisabled: [] - materialsInsideMask: [] - materialsOutsideMask: [] - disableRenderingOnOverride: 1 - _animationName: animation - loop: 1 - timeScale: 1 ---- !u!23 &92814987 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 92814982} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 4ad4f7167d4983147ad870f93ebc9416, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &92814988 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 92814982} - m_Mesh: {fileID: 0} ---- !u!4 &92814989 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 92814982} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -2.55, y: -3.07, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &136357263 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 136357267} - - component: {fileID: 136357266} - - component: {fileID: 136357265} - - component: {fileID: 136357264} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &136357264 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 136357263} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &136357265 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 136357263} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 800, y: 600} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &136357266 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 136357263} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_AdditionalShaderChannelsFlag: 25 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!224 &136357267 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 136357263} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 2122594306} - m_Father: {fileID: 0} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!1 &279948894 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 279948898} - - component: {fileID: 279948897} - - component: {fileID: 279948896} - - component: {fileID: 279948895} - m_Layer: 0 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!61 &279948895 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 279948894} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0, y: 0} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0, y: 0} - oldSize: {x: 0, y: 0} - newSize: {x: 0, y: 0} - adaptiveTilingThreshold: 0 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - serializedVersion: 2 - m_Size: {x: 0.99999994, y: 1} - m_EdgeRadius: 0 ---- !u!23 &279948896 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 279948894} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &279948897 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 279948894} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &279948898 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 279948894} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 6.31, z: 0} - m_LocalScale: {x: 18.8858, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1241879115} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &281786970 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 281786971} - - component: {fileID: 281786974} - - component: {fileID: 281786973} - - component: {fileID: 281786972} - m_Layer: 8 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &281786971 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 281786970} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 4.96, y: 1.26, z: 0} - m_LocalScale: {x: 1.029391, y: 1.029391, z: 1.029391} - m_Children: [] - m_Father: {fileID: 1241879115} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!58 &281786972 -CircleCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 281786970} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0.000000059604645, y: 0} - serializedVersion: 2 - m_Radius: 0.50000006 ---- !u!23 &281786973 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 281786970} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &281786974 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 281786970} - m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &469940167 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 469940168} - - component: {fileID: 469940171} - - component: {fileID: 469940170} - - component: {fileID: 469940169} - m_Layer: 0 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &469940168 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 469940167} - m_LocalRotation: {x: 0, y: 0, z: 0.9480894, w: 0.31800398} - m_LocalPosition: {x: -7.15, y: -2.04, z: 0} - m_LocalScale: {x: 4.9774175, y: 1, z: 0.88} - m_Children: [] - m_Father: {fileID: 1241879115} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!61 &469940169 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 469940167} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0, y: 0} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0, y: 0} - oldSize: {x: 0, y: 0} - newSize: {x: 0, y: 0} - adaptiveTilingThreshold: 0 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - serializedVersion: 2 - m_Size: {x: 0.99999994, y: 1} - m_EdgeRadius: 0 ---- !u!23 &469940170 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 469940167} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &469940171 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 469940167} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &890899334 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 890899338} - - component: {fileID: 890899337} - - component: {fileID: 890899336} - - component: {fileID: 890899335} - m_Layer: 8 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!58 &890899335 -CircleCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 890899334} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0.000000059604645, y: 0} - serializedVersion: 2 - m_Radius: 0.50000006 ---- !u!23 &890899336 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 890899334} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &890899337 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 890899334} - m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &890899338 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 890899334} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.22, y: 1.26, z: 0} - m_LocalScale: {x: 2.2698941, y: 2.269894, z: 2.269894} - m_Children: [] - m_Father: {fileID: 1241879115} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1051615541 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1051615545} - - component: {fileID: 1051615544} - - component: {fileID: 1051615543} - - component: {fileID: 1051615542} - m_Layer: 8 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!61 &1051615542 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1051615541} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0, y: 0} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0, y: 0} - oldSize: {x: 0, y: 0} - newSize: {x: 0, y: 0} - adaptiveTilingThreshold: 0 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - serializedVersion: 2 - m_Size: {x: 0.99999994, y: 1} - m_EdgeRadius: 0 ---- !u!23 &1051615543 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1051615541} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &1051615544 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1051615541} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1051615545 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1051615541} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: -3.57, z: 0} - m_LocalScale: {x: 18.8858, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1241879115} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1063411338 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1063411345} - - component: {fileID: 1063411344} - - component: {fileID: 1063411343} - - component: {fileID: 1063411342} - - component: {fileID: 1063411341} - - component: {fileID: 1063411340} - - component: {fileID: 1063411339} - m_Layer: 0 - m_Name: Raggedy Spineboy (2) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!60 &1063411339 -PolygonCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1063411338} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0, y: 0} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0, y: 0} - oldSize: {x: 0, y: 0} - newSize: {x: 0, y: 0} - adaptiveTilingThreshold: 0 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - m_Points: - m_Paths: - - - {x: -0.25825587, y: 3.1820273} - - {x: 0.31586242, y: 3.1818907} - - {x: 0.55882263, y: 2.040349} - - {x: 0.434707, y: 0.0013669459} - - {x: -0.45539615, y: 0.0013672132} - - {x: -0.61691463, y: 2.0021477} ---- !u!114 &1063411340 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1063411338} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 849a7739a7df0754882fcb34c09df4c1, type: 3} - m_Name: - m_EditorClassIdentifier: - groundMask: - serializedVersion: 2 - m_Bits: 4294967295 - restoreDuration: 0.5 - launchVelocity: {x: 40, y: 85} ---- !u!114 &1063411341 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1063411338} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e74a49a26242a214d9084fde00bfe3ab, type: 3} - m_Name: - m_EditorClassIdentifier: - startingBoneName: hip - stopBoneNames: [] - applyOnStart: 0 - disableIK: 1 - disableOtherConstraints: 0 - pinStartBone: 0 - gravityScale: 3 - thickness: 0.125 - rotationLimit: 20 - rootMass: 40 - massFalloffFactor: 0.504 - colliderLayer: 0 - mix: 1 ---- !u!114 &1063411342 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1063411338} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: 57484171e9b9c7243aa3117bc663e7b9, type: 2} - initialSkinName: - initialFlipX: 0 - initialFlipY: 0 - separatorSlotNames: [] - zSpacing: 0 - useClipping: 1 - immutableTriangles: 0 - pmaVertexColors: 1 - clearStateOnDisable: 0 - tintBlack: 0 - singleSubmesh: 0 - addNormals: 0 - calculateTangents: 0 - maskInteraction: 0 - maskMaterials: - materialsMaskDisabled: [] - materialsInsideMask: [] - materialsOutsideMask: [] - disableRenderingOnOverride: 1 - _animationName: animation - loop: 1 - timeScale: 1 ---- !u!23 &1063411343 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1063411338} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 4ad4f7167d4983147ad870f93ebc9416, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &1063411344 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1063411338} - m_Mesh: {fileID: 0} ---- !u!4 &1063411345 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1063411338} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 4.67, y: -3.07, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1241879114 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1241879115} - m_Layer: 0 - m_Name: Room - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1241879115 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1241879114} - 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_Children: - - {fileID: 1051615545} - - {fileID: 1390715843} - - {fileID: 279948898} - - {fileID: 890899338} - - {fileID: 1442886943} - - {fileID: 1949578536} - - {fileID: 281786971} - - {fileID: 1446269955} - - {fileID: 469940168} - m_Father: {fileID: 0} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1332258640 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1332258645} - - component: {fileID: 1332258644} - - component: {fileID: 1332258642} - - component: {fileID: 1332258641} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &1332258641 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1332258640} - m_Enabled: 1 ---- !u!124 &1332258642 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1332258640} - m_Enabled: 1 ---- !u!20 &1332258644 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1332258640} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 1 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_AllowMSAA: 1 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 - m_StereoMirrorMode: 0 ---- !u!4 &1332258645 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1332258640} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1.36, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1390715839 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1390715843} - - component: {fileID: 1390715842} - - component: {fileID: 1390715841} - - component: {fileID: 1390715840} - m_Layer: 0 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!61 &1390715840 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1390715839} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0, y: 0} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0, y: 0} - oldSize: {x: 0, y: 0} - newSize: {x: 0, y: 0} - adaptiveTilingThreshold: 0 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - serializedVersion: 2 - m_Size: {x: 0.99999994, y: 1} - m_EdgeRadius: 0 ---- !u!23 &1390715841 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1390715839} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &1390715842 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1390715839} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1390715843 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1390715839} - m_LocalRotation: {x: 0, y: 0, z: -0.70710665, w: 0.70710695} - m_LocalPosition: {x: -9.04, y: 1.35, z: 0.24} - m_LocalScale: {x: 10.588444, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1241879115} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1442886939 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1442886943} - - component: {fileID: 1442886942} - - component: {fileID: 1442886941} - - component: {fileID: 1442886940} - m_Layer: 0 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!61 &1442886940 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1442886939} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0, y: 0} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0, y: 0} - oldSize: {x: 0, y: 0} - newSize: {x: 0, y: 0} - adaptiveTilingThreshold: 0 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - serializedVersion: 2 - m_Size: {x: 0.99999994, y: 1} - m_EdgeRadius: 0 ---- !u!23 &1442886941 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1442886939} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &1442886942 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1442886939} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1442886943 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1442886939} - m_LocalRotation: {x: 0, y: 0, z: 0.32487163, w: 0.94575816} - m_LocalPosition: {x: 7.22, y: -2.2, z: 0} - m_LocalScale: {x: 4.9774165, y: 1, z: 0.88} - m_Children: [] - m_Father: {fileID: 1241879115} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 37.9156} ---- !u!1 &1446269954 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1446269955} - - component: {fileID: 1446269958} - - component: {fileID: 1446269957} - - component: {fileID: 1446269956} - m_Layer: 8 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1446269955 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1446269954} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -4.5, y: 1.26, z: 0} - m_LocalScale: {x: 1.029391, y: 1.029391, z: 1.029391} - m_Children: [] - m_Father: {fileID: 1241879115} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!58 &1446269956 -CircleCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1446269954} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0.000000059604645, y: 0} - serializedVersion: 2 - m_Radius: 0.50000006 ---- !u!23 &1446269957 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1446269954} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &1446269958 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1446269954} - m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1686250041 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1686250048} - - component: {fileID: 1686250047} - - component: {fileID: 1686250046} - - component: {fileID: 1686250045} - - component: {fileID: 1686250044} - - component: {fileID: 1686250043} - - component: {fileID: 1686250042} - m_Layer: 0 - m_Name: Raggedy Spineboy (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!60 &1686250042 -PolygonCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1686250041} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0, y: 0} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0, y: 0} - oldSize: {x: 0, y: 0} - newSize: {x: 0, y: 0} - adaptiveTilingThreshold: 0 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - m_Points: - m_Paths: - - - {x: -0.25825587, y: 3.1820273} - - {x: 0.31586242, y: 3.1818907} - - {x: 0.55882263, y: 2.040349} - - {x: 0.434707, y: 0.0013669459} - - {x: -0.45539615, y: 0.0013672132} - - {x: -0.61691463, y: 2.0021477} ---- !u!114 &1686250043 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1686250041} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 849a7739a7df0754882fcb34c09df4c1, type: 3} - m_Name: - m_EditorClassIdentifier: - groundMask: - serializedVersion: 2 - m_Bits: 4294967295 - restoreDuration: 0.5 - launchVelocity: {x: 40, y: 85} ---- !u!114 &1686250044 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1686250041} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e74a49a26242a214d9084fde00bfe3ab, type: 3} - m_Name: - m_EditorClassIdentifier: - startingBoneName: hip - stopBoneNames: [] - applyOnStart: 0 - disableIK: 1 - disableOtherConstraints: 0 - pinStartBone: 0 - gravityScale: 3 - thickness: 0.125 - rotationLimit: 20 - rootMass: 40 - massFalloffFactor: 0.504 - colliderLayer: 0 - mix: 1 ---- !u!114 &1686250045 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1686250041} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: 57484171e9b9c7243aa3117bc663e7b9, type: 2} - initialSkinName: - initialFlipX: 1 - initialFlipY: 0 - separatorSlotNames: [] - zSpacing: 0 - useClipping: 1 - immutableTriangles: 0 - pmaVertexColors: 1 - clearStateOnDisable: 0 - tintBlack: 0 - singleSubmesh: 0 - addNormals: 0 - calculateTangents: 0 - maskInteraction: 0 - maskMaterials: - materialsMaskDisabled: [] - materialsInsideMask: [] - materialsOutsideMask: [] - disableRenderingOnOverride: 1 - _animationName: animation - loop: 1 - timeScale: 1 ---- !u!23 &1686250046 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1686250041} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 2100000, guid: 4ad4f7167d4983147ad870f93ebc9416, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &1686250047 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1686250041} - m_Mesh: {fileID: 0} ---- !u!4 &1686250048 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1686250041} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 2.5, y: -3.06, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1938155299 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1938155303} - - component: {fileID: 1938155302} - - component: {fileID: 1938155301} - - component: {fileID: 1938155300} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1938155300 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1938155299} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2d49b7c1bcd2e07499844da127be038d, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1938155301 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1938155299} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1938155302 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1938155299} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!4 &1938155303 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1938155299} - 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_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1949578535 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1949578536} - - component: {fileID: 1949578539} - - component: {fileID: 1949578538} - - component: {fileID: 1949578537} - m_Layer: 0 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1949578536 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1949578535} - m_LocalRotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068} - m_LocalPosition: {x: 9.04, y: 1.35, z: 0.24} - m_LocalScale: {x: 10.588444, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1241879115} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: -90} ---- !u!61 &1949578537 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1949578535} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0, y: 0} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0, y: 0} - oldSize: {x: 0, y: 0} - newSize: {x: 0, y: 0} - adaptiveTilingThreshold: 0 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - serializedVersion: 2 - m_Size: {x: 0.99999994, y: 1} - m_EdgeRadius: 0 ---- !u!23 &1949578538 -MeshRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1949578535} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10302, 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_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - 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 ---- !u!33 &1949578539 -MeshFilter: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1949578535} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &2122594305 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 2122594306} - - component: {fileID: 2122594308} - - component: {fileID: 2122594307} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2122594306 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2122594305} - 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_Children: [] - m_Father: {fileID: 136357267} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 1} - m_AnchorMax: {x: 0.5, y: 1} - m_AnchoredPosition: {x: 9, y: -63} - m_SizeDelta: {x: 257.3, y: 85} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &2122594307 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2122594305} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 30 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 3 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 1 - m_VerticalOverflow: 1 - m_LineSpacing: 1 - m_Text: Click on us! ---- !u!222 &2122594308 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2122594305} ---- !u!1 &2147465172 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 2147465174} - - component: {fileID: 2147465173} - m_Layer: 0 - m_Name: Point light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!108 &2147465173 -Light: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2147465172} - m_Enabled: 1 - serializedVersion: 8 - m_Type: 2 - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_Intensity: 2 - m_Range: 27.61 - m_SpotAngle: 30 - m_CookieSize: 10 - m_Shadows: - m_Type: 0 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_Lightmapping: 1 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_FalloffTable: - m_Table[0]: 0 - m_Table[1]: 0 - m_Table[2]: 0 - m_Table[3]: 0 - m_Table[4]: 0 - m_Table[5]: 0 - m_Table[6]: 0 - m_Table[7]: 0 - m_Table[8]: 0 - m_Table[9]: 0 - m_Table[10]: 0 - m_Table[11]: 0 - m_Table[12]: 0 - m_ColorTemperature: 6570 - m_UseColorTemperature: 0 - m_ShadowRadius: 0 - m_ShadowAngle: 0 ---- !u!4 &2147465174 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 2147465172} - m_LocalRotation: {x: 0.14303729, y: -0.30834645, z: 0.4673318, w: 0.8161273} - m_LocalPosition: {x: -0.69, y: 1.53, z: -4.53} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Ragdoll.unity.meta b/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Ragdoll.unity.meta deleted file mode 100644 index cd725ce..0000000 --- a/unity/Assets/Spine Examples/Other Examples/SkeletonUtility Ragdoll.unity.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: 031930e4cebf68345b71c664bfa622cf -DefaultImporter: - userData: diff --git a/unity/Assets/Spine Examples/Scripts.meta b/unity/Assets/Spine Examples/Scripts.meta deleted file mode 100644 index e685046..0000000 --- a/unity/Assets/Spine Examples/Scripts.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: faf8f756f527b6145aeb411ed90f6619 -folderAsset: yes -DefaultImporter: - userData: diff --git a/unity/Assets/Spine Examples/Scripts/Mecanim as Logic/SkeletonAnimationHandleExample.cs b/unity/Assets/Spine Examples/Scripts/Mecanim as Logic/SkeletonAnimationHandleExample.cs deleted file mode 100644 index ebfb7f4..0000000 --- a/unity/Assets/Spine Examples/Scripts/Mecanim as Logic/SkeletonAnimationHandleExample.cs +++ /dev/null @@ -1,164 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System.Collections.Generic; -using UnityEngine; - -namespace Spine.Unity.Examples { - - // This is an example of an animation handle. This is implemented with strings as state names. - // Strings can serve as the identifier when Mecanim is used as the state machine and state source. - // If you don't use Mecanim, using custom ScriptableObjects may be a more efficient way to store information about the state and its connection with specific Spine animations. - - // This animation handle implementation also comes with a dummy implementation of transition-handling. - public class SkeletonAnimationHandleExample : MonoBehaviour { - public SkeletonAnimation skeletonAnimation; - public List statesAndAnimations = new List(); - public List transitions = new List(); // Alternately, an AnimationPair-Animation Dictionary (commented out) can be used for more efficient lookups. - - [System.Serializable] - public class StateNameToAnimationReference { - public string stateName; - public AnimationReferenceAsset animation; - } - - [System.Serializable] - public class AnimationTransition { - public AnimationReferenceAsset from; - public AnimationReferenceAsset to; - public AnimationReferenceAsset transition; - } - - //readonly Dictionary transitionDictionary = new Dictionary(Spine.AnimationStateData.AnimationPairComparer.Instance); - - public Spine.Animation TargetAnimation { get; private set; } - - void Awake () { - // Initialize AnimationReferenceAssets - foreach (var entry in statesAndAnimations) { - entry.animation.Initialize(); - } - foreach (var entry in transitions) { - entry.from.Initialize(); - entry.to.Initialize(); - entry.transition.Initialize(); - } - - // Build Dictionary - //foreach (var entry in transitions) { - // transitionDictionary.Add(new AnimationStateData.AnimationPair(entry.from.Animation, entry.to.Animation), entry.transition.Animation); - //} - } - - /// Sets the horizontal flip state of the skeleton based on a nonzero float. If negative, the skeleton is flipped. If positive, the skeleton is not flipped. - public void SetFlip (float horizontal) { - if (horizontal != 0) { - skeletonAnimation.Skeleton.ScaleX = horizontal > 0 ? 1f : -1f; - } - } - - /// Plays an animation based on the state name. - public void PlayAnimationForState (string stateShortName, int layerIndex) { - PlayAnimationForState(StringToHash(stateShortName), layerIndex); - } - - /// Plays an animation based on the hash of the state name. - public void PlayAnimationForState (int shortNameHash, int layerIndex) { - var foundAnimation = GetAnimationForState(shortNameHash); - if (foundAnimation == null) - return; - - PlayNewAnimation(foundAnimation, layerIndex); - } - - /// Gets a Spine Animation based on the state name. - public Spine.Animation GetAnimationForState (string stateShortName) { - return GetAnimationForState(StringToHash(stateShortName)); - } - - /// Gets a Spine Animation based on the hash of the state name. - public Spine.Animation GetAnimationForState (int shortNameHash) { - var foundState = statesAndAnimations.Find(entry => StringToHash(entry.stateName) == shortNameHash); - return (foundState == null) ? null : foundState.animation; - } - - /// Play an animation. If a transition animation is defined, the transition is played before the target animation being passed. - public void PlayNewAnimation (Spine.Animation target, int layerIndex) { - Spine.Animation transition = null; - Spine.Animation current = null; - - current = GetCurrentAnimation(layerIndex); - if (current != null) - transition = TryGetTransition(current, target); - - if (transition != null) { - skeletonAnimation.AnimationState.SetAnimation(layerIndex, transition, false); - skeletonAnimation.AnimationState.AddAnimation(layerIndex, target, true, 0f); - } else { - skeletonAnimation.AnimationState.SetAnimation(layerIndex, target, true); - } - - this.TargetAnimation = target; - } - - /// Play a non-looping animation once then continue playing the state animation. - public void PlayOneShot (Spine.Animation oneShot, int layerIndex) { - var state = skeletonAnimation.AnimationState; - state.SetAnimation(0, oneShot, false); - - var transition = TryGetTransition(oneShot, TargetAnimation); - if (transition != null) - state.AddAnimation(0, transition, false, 0f); - - state.AddAnimation(0, this.TargetAnimation, true, 0f); - } - - Spine.Animation TryGetTransition (Spine.Animation from, Spine.Animation to) { - foreach (var transition in transitions) { - if (transition.from.Animation == from && transition.to.Animation == to) { - return transition.transition.Animation; - } - } - return null; - - //Spine.Animation foundTransition = null; - //transitionDictionary.TryGetValue(new AnimationStateData.AnimationPair(from, to), out foundTransition); - //return foundTransition; - } - - Spine.Animation GetCurrentAnimation (int layerIndex) { - var currentTrackEntry = skeletonAnimation.AnimationState.GetCurrent(layerIndex); - return (currentTrackEntry != null) ? currentTrackEntry.Animation : null; - } - - int StringToHash (string s) { - return Animator.StringToHash(s); - } - } -} diff --git a/unity/Assets/Spine Examples/Scripts/Mecanim as Logic/SkeletonAnimationHandleExample.cs.meta b/unity/Assets/Spine Examples/Scripts/Mecanim as Logic/SkeletonAnimationHandleExample.cs.meta deleted file mode 100644 index 4b2abe8..0000000 --- a/unity/Assets/Spine Examples/Scripts/Mecanim as Logic/SkeletonAnimationHandleExample.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: dd8d49de34fd0724ca8c1ae3c44afe59 -timeCreated: 1545230473 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components.meta b/unity/Assets/Spine Examples/Scripts/Sample Components.meta deleted file mode 100644 index bf8c08c..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 037ce88b9252fd241bd99d71721d9205 -folderAsset: yes -timeCreated: 1481879243 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/Ghost/Shaders.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/Ghost/Shaders.meta deleted file mode 100644 index 0e0bd21..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/Ghost/Shaders.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: a0cee0de78cef7440ae0b5aac39ae971 -folderAsset: yes -DefaultImporter: - userData: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/Ghost/SkeletonGhost.cs b/unity/Assets/Spine Examples/Scripts/Sample Components/Ghost/SkeletonGhost.cs deleted file mode 100644 index 2c81dd3..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/Ghost/SkeletonGhost.cs +++ /dev/null @@ -1,201 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -// Contributed by: Mitch Thompson - -using UnityEngine; -using System.Collections.Generic; - -namespace Spine.Unity.Examples { - - [RequireComponent(typeof(SkeletonRenderer))] - public class SkeletonGhost : MonoBehaviour { - // Internal Settings - const HideFlags GhostHideFlags = HideFlags.HideInHierarchy; - const string GhostingShaderName = "Spine/Special/SkeletonGhost"; - - [Header("Animation")] - public bool ghostingEnabled = true; - [Tooltip("The time between invididual ghost pieces being spawned.")] - [UnityEngine.Serialization.FormerlySerializedAs("spawnRate")] - public float spawnInterval = 1f/30f; - [Tooltip("Maximum number of ghosts that can exist at a time. If the fade speed is not fast enough, the oldest ghost will immediately disappear to enforce the maximum number.")] - public int maximumGhosts = 10; - public float fadeSpeed = 10; - - [Header("Rendering")] - public Shader ghostShader; - public Color32 color = new Color32(0xFF, 0xFF, 0xFF, 0x00); // default for additive. - [Tooltip("Remember to set color alpha to 0 if Additive is true")] - public bool additive = true; - [Tooltip("0 is Color and Alpha, 1 is Alpha only.")] - [Range(0, 1)] - public float textureFade = 1; - - [Header("Sorting")] - public bool sortWithDistanceOnly; - public float zOffset = 0f; - - float nextSpawnTime; - SkeletonGhostRenderer[] pool; - int poolIndex = 0; - SkeletonRenderer skeletonRenderer; - MeshRenderer meshRenderer; - MeshFilter meshFilter; - - readonly Dictionary materialTable = new Dictionary(); - - void Start () { - Initialize(false); - } - - public void Initialize (bool overwrite) { - if (pool == null || overwrite) { - if (ghostShader == null) - ghostShader = Shader.Find(GhostingShaderName); - - skeletonRenderer = GetComponent(); - meshFilter = GetComponent(); - meshRenderer = GetComponent(); - nextSpawnTime = Time.time + spawnInterval; - pool = new SkeletonGhostRenderer[maximumGhosts]; - for (int i = 0; i < maximumGhosts; i++) { - GameObject go = new GameObject(gameObject.name + " Ghost", typeof(SkeletonGhostRenderer)); - pool[i] = go.GetComponent(); - go.SetActive(false); - go.hideFlags = GhostHideFlags; - } - - var skeletonAnimation = skeletonRenderer as Spine.Unity.IAnimationStateComponent; - if (skeletonAnimation != null) - skeletonAnimation.AnimationState.Event += OnEvent; - } - } - - //SkeletonAnimation - /* - * Int Value: 0 sets ghostingEnabled to false, 1 sets ghostingEnabled to true - * Float Value: Values greater than 0 set the spawnRate equal the float value - * String Value: Pass RGBA hex color values in to set the color property. IE: "A0FF8BFF" - */ - void OnEvent (Spine.TrackEntry trackEntry, Spine.Event e) { - if (e.Data.Name.Equals("Ghosting", System.StringComparison.Ordinal)) { - ghostingEnabled = e.Int > 0; - if (e.Float > 0) - spawnInterval = e.Float; - - if (!string.IsNullOrEmpty(e.String)) - this.color = HexToColor(e.String); - } - } - - //SkeletonAnimator - //SkeletonAnimator or Mecanim based animations only support toggling ghostingEnabled. Be sure not to set anything other than the Int param in Spine or String will take priority. - void Ghosting (float val) { - ghostingEnabled = val > 0; - } - - void Update () { - if (!ghostingEnabled || poolIndex >= pool.Length) - return; - - if (Time.time >= nextSpawnTime) { - GameObject go = pool[poolIndex].gameObject; - - Material[] materials = meshRenderer.sharedMaterials; - for (int i = 0; i < materials.Length; i++) { - var originalMat = materials[i]; - Material ghostMat; - if (!materialTable.ContainsKey(originalMat)) { - ghostMat = new Material(originalMat) { - shader = ghostShader, - color = Color.white - }; - - if (ghostMat.HasProperty("_TextureFade")) - ghostMat.SetFloat("_TextureFade", textureFade); - - materialTable.Add(originalMat, ghostMat); - } else { - ghostMat = materialTable[originalMat]; - } - - materials[i] = ghostMat; - } - - var goTransform = go.transform; - goTransform.parent = transform; - - pool[poolIndex].Initialize(meshFilter.sharedMesh, materials, color, additive, fadeSpeed, meshRenderer.sortingLayerID, (sortWithDistanceOnly) ? meshRenderer.sortingOrder : meshRenderer.sortingOrder - 1); - - goTransform.localPosition = new Vector3(0f, 0f, zOffset); - goTransform.localRotation = Quaternion.identity; - goTransform.localScale = Vector3.one; - - goTransform.parent = null; - - poolIndex++; - - if (poolIndex == pool.Length) - poolIndex = 0; - - nextSpawnTime = Time.time + spawnInterval; - } - } - - void OnDestroy () { - if (pool != null) { - for (int i = 0; i < maximumGhosts; i++) - if (pool[i] != null) pool[i].Cleanup(); - } - - foreach (var mat in materialTable.Values) - Destroy(mat); - } - - // based on UnifyWiki http://wiki.unity3d.com/index.php?title=HexConverter - static Color32 HexToColor (string hex) { - const System.Globalization.NumberStyles HexNumber = System.Globalization.NumberStyles.HexNumber; - - if (hex.Length < 6) - return Color.magenta; - - hex = hex.Replace("#", ""); - byte r = byte.Parse(hex.Substring(0, 2), HexNumber); - byte g = byte.Parse(hex.Substring(2, 2), HexNumber); - byte b = byte.Parse(hex.Substring(4, 2), HexNumber); - byte a = 0xFF; - if (hex.Length == 8) - a = byte.Parse(hex.Substring(6, 2), HexNumber); - - return new Color32(r, g, b, a); - } - } - -} diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/Ghost/SkeletonGhost.cs.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/Ghost/SkeletonGhost.cs.meta deleted file mode 100644 index 32cd44c..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/Ghost/SkeletonGhost.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 02f2fa991881c6d419500ccc40ad443f -timeCreated: 1431858330 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: - - ghostShader: {fileID: 4800000, guid: 3873d4699ee8a4b4da8fa6b8c229b94d, type: 3} - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/Ghost/SkeletonGhostRenderer.cs b/unity/Assets/Spine Examples/Scripts/Sample Components/Ghost/SkeletonGhostRenderer.cs deleted file mode 100644 index c62faa9..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/Ghost/SkeletonGhostRenderer.cs +++ /dev/null @@ -1,128 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -// Contributed by: Mitch Thompson - -using UnityEngine; -using System.Collections; - -namespace Spine.Unity.Examples { - public class SkeletonGhostRenderer : MonoBehaviour { - static readonly Color32 TransparentBlack = new Color32(0, 0, 0, 0); - const string colorPropertyName = "_Color"; - - float fadeSpeed = 10; - Color32 startColor; - MeshFilter meshFilter; - MeshRenderer meshRenderer; - - MaterialPropertyBlock mpb; - int colorId; - - void Awake () { - meshRenderer = gameObject.AddComponent(); - meshFilter = gameObject.AddComponent(); - - colorId = Shader.PropertyToID(colorPropertyName); - mpb = new MaterialPropertyBlock(); - } - - public void Initialize (Mesh mesh, Material[] materials, Color32 color, bool additive, float speed, int sortingLayerID, int sortingOrder) { - StopAllCoroutines(); - - gameObject.SetActive(true); - meshRenderer.sharedMaterials = materials; - meshRenderer.sortingLayerID = sortingLayerID; - meshRenderer.sortingOrder = sortingOrder; - meshFilter.sharedMesh = Instantiate(mesh); - startColor = color; - mpb.SetColor(colorId, color); - meshRenderer.SetPropertyBlock(mpb); - - fadeSpeed = speed; - - if (additive) - StartCoroutine(FadeAdditive()); - else - StartCoroutine(Fade()); - } - - IEnumerator Fade () { - Color32 c = startColor; - Color32 black = SkeletonGhostRenderer.TransparentBlack; - - float t = 1f; - for (float hardTimeLimit = 5f; hardTimeLimit > 0; hardTimeLimit -= Time.deltaTime) { - c = Color32.Lerp(black, startColor, t); - mpb.SetColor(colorId, c); - meshRenderer.SetPropertyBlock(mpb); - - t = Mathf.Lerp(t, 0, Time.deltaTime * fadeSpeed); - if (t <= 0) - break; - - yield return null; - } - - Destroy(meshFilter.sharedMesh); - gameObject.SetActive(false); - } - - IEnumerator FadeAdditive () { - Color32 c = startColor; - Color32 black = SkeletonGhostRenderer.TransparentBlack; - - float t = 1f; - - for (float hardTimeLimit = 5f; hardTimeLimit > 0; hardTimeLimit -= Time.deltaTime) { - c = Color32.Lerp(black, startColor, t); - mpb.SetColor(colorId, c); - meshRenderer.SetPropertyBlock(mpb); - - t = Mathf.Lerp(t, 0, Time.deltaTime * fadeSpeed); - if (t <= 0) - break; - - yield return null; - } - - Destroy(meshFilter.sharedMesh); - - gameObject.SetActive(false); - } - - public void Cleanup () { - if (meshFilter != null && meshFilter.sharedMesh != null) - Destroy(meshFilter.sharedMesh); - - Destroy(gameObject); - } - } - -} diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/Ghost/SkeletonGhostRenderer.cs.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/Ghost/SkeletonGhostRenderer.cs.meta deleted file mode 100644 index 2f9fb1a..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/Ghost/SkeletonGhostRenderer.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 58e3a9b80754b7545a1dff4d8475b51f -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/Sample VertexEffects.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/Sample VertexEffects.meta deleted file mode 100644 index 61b92b3..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/Sample VertexEffects.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: a1a4a1f889c97e84db5e1ef512f77f3e -folderAsset: yes -timeCreated: 1498053541 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SetRigidbodySolverIterations.cs b/unity/Assets/Spine Examples/Scripts/Sample Components/SetRigidbodySolverIterations.cs deleted file mode 100644 index cf2faed..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SetRigidbodySolverIterations.cs +++ /dev/null @@ -1,54 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEngine; - -namespace Spine.Unity.Examples { - - /// - /// This component is intended to increase the physics solver iteration count - /// for Rigidbody Joint setups which would otherwise be too unstable. - /// - /// To use this example component, add it to a GameObject which is parent of - /// one or more Rigidbody instances. The physics setting "solver iteration count" - /// will be overwritten by the provided value. - /// - [DisallowMultipleComponent] - public class SetRigidbodySolverIterations : MonoBehaviour - { - public int solverIterations = 30; - - void Awake () { - var rigidbodies = this.GetComponentsInChildren(); - foreach (var rb in rigidbodies) { - rb.solverIterations = solverIterations; - } - } - } -} diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SetRigidbodySolverIterations.cs.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/SetRigidbodySolverIterations.cs.meta deleted file mode 100644 index 4cf2565..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SetRigidbodySolverIterations.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0710ab226a06cfa4689c784fbd9d1753 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonAnimationFixedTimestep.cs b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonAnimationFixedTimestep.cs deleted file mode 100644 index 640acdb..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonAnimationFixedTimestep.cs +++ /dev/null @@ -1,96 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEngine; - -namespace Spine.Unity { - - // To use this example component, add it to your SkeletonAnimation Spine GameObject. - // This component will disable that SkeletonAnimation component to prevent it from calling its own Update and LateUpdate methods. - - [DisallowMultipleComponent] - public sealed class SkeletonAnimationFixedTimestep : MonoBehaviour { - #region Inspector - public SkeletonAnimation skeletonAnimation; - - [Tooltip("The duration of each frame in seconds. For 12 fps: enter '1/12' in the Unity inspector.")] - public float frameDeltaTime = 1 / 15f; - - [Header("Advanced")] - [Tooltip("The maximum number of fixed timesteps. If the game framerate drops below the If the framerate is consistently faster than the limited frames, this does nothing.")] - public int maxFrameSkip = 4; - - [Tooltip("If enabled, the Skeleton mesh will be updated only on the same frame when the animation and skeleton are updated. Disable this or call SkeletonAnimation.LateUpdate yourself if you are modifying the Skeleton using other components that don't run in the same fixed timestep.")] - public bool frameskipMeshUpdate = true; - - [Tooltip("This is the amount the internal accumulator starts with. Set it to some fraction of your frame delta time if you want to stagger updates between multiple skeletons.")] - public float timeOffset; - #endregion - - float accumulatedTime = 0; - bool requiresNewMesh; - - void OnValidate () { - skeletonAnimation = GetComponent(); - if (frameDeltaTime <= 0) frameDeltaTime = 1 / 60f; - if (maxFrameSkip < 1) maxFrameSkip = 1; - } - - void Awake () { - requiresNewMesh = true; - accumulatedTime = timeOffset; - } - - void Update () { - if (skeletonAnimation.enabled) - skeletonAnimation.enabled = false; - - accumulatedTime += Time.deltaTime; - - float frames = 0; - while (accumulatedTime >= frameDeltaTime) { - frames++; - if (frames > maxFrameSkip) break; - accumulatedTime -= frameDeltaTime; - } - - if (frames > 0) { - skeletonAnimation.Update(frames * frameDeltaTime); - requiresNewMesh = true; - } - } - - void LateUpdate () { - if (frameskipMeshUpdate && !requiresNewMesh) return; - - skeletonAnimation.LateUpdate(); - requiresNewMesh = false; - } - } -} diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonAnimationFixedTimestep.cs.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonAnimationFixedTimestep.cs.meta deleted file mode 100644 index f437d4c..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonAnimationFixedTimestep.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: e1670ee04b19c794db301d734c71bdd6 -timeCreated: 1545031871 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonAnimationMulti.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonAnimationMulti.meta deleted file mode 100644 index ff01104..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonAnimationMulti.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 1258037ca4297c7428842419a266f7a4 -folderAsset: yes -timeCreated: 1502103133 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonAnimationMulti/SkeletonAnimationMulti.cs b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonAnimationMulti/SkeletonAnimationMulti.cs deleted file mode 100644 index 8658a4e..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonAnimationMulti/SkeletonAnimationMulti.cs +++ /dev/null @@ -1,163 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -using Spine; -using Spine.Unity; - -namespace Spine.Unity { - - using Animation = Spine.Animation; - using AnimationState = Spine.AnimationState; - - public class SkeletonAnimationMulti : MonoBehaviour { - const int MainTrackIndex = 0; - - public bool initialFlipX, initialFlipY; - public string initialAnimation; - public bool initialLoop; - [Space] - public List skeletonDataAssets = new List(); - [Header("Settings")] - public MeshGenerator.Settings meshGeneratorSettings = MeshGenerator.Settings.Default; - - readonly List skeletonAnimations = new List(); - readonly Dictionary animationNameTable = new Dictionary(); - readonly Dictionary animationSkeletonTable = new Dictionary(); - //Stateful - SkeletonAnimation currentSkeletonAnimation; - - void Clear () { - foreach (var s in skeletonAnimations) - Destroy(s.gameObject); - - skeletonAnimations.Clear(); - animationNameTable.Clear(); - animationSkeletonTable.Clear(); - } - - void SetActiveSkeleton (SkeletonAnimation skeletonAnimation) { - foreach (var sa in skeletonAnimations) - sa.gameObject.SetActive(sa == skeletonAnimation); - - currentSkeletonAnimation = skeletonAnimation; - } - - #region Lifecycle - void Awake () { - Initialize(false); - } - #endregion - - #region API - public Dictionary AnimationSkeletonTable { get { return this.animationSkeletonTable; } } - public Dictionary AnimationNameTable { get { return this.animationNameTable; } } - public SkeletonAnimation CurrentSkeletonAnimation { get { return this.currentSkeletonAnimation; } } - - public void Initialize (bool overwrite) { - if (skeletonAnimations.Count != 0 && !overwrite) return; - - Clear(); - - var settings = this.meshGeneratorSettings; - Transform thisTransform = this.transform; - foreach (var sda in skeletonDataAssets) { - var sa = SkeletonAnimation.NewSkeletonAnimationGameObject(sda); - sa.transform.SetParent(thisTransform, false); - - sa.SetMeshSettings(settings); - sa.initialFlipX = this.initialFlipX; - sa.initialFlipY = this.initialFlipY; - var skeleton = sa.skeleton; - skeleton.ScaleX = this.initialFlipX ? -1 : 1; - skeleton.ScaleY = this.initialFlipY ? -1 : 1; - - sa.Initialize(false); - skeletonAnimations.Add(sa); - } - - // Build cache - var animationNameTable = this.animationNameTable; - var animationSkeletonTable = this.animationSkeletonTable; - foreach (var skeletonAnimation in skeletonAnimations) { - foreach (var animationObject in skeletonAnimation.Skeleton.Data.Animations) { - animationNameTable[animationObject.Name] = animationObject; - animationSkeletonTable[animationObject] = skeletonAnimation; - } - } - - SetActiveSkeleton(skeletonAnimations[0]); - SetAnimation(initialAnimation, initialLoop); - } - - public Animation FindAnimation (string animationName) { - // Analysis disable once LocalVariableHidesMember - Animation animation; - animationNameTable.TryGetValue(animationName, out animation); - return animation; - } - - public TrackEntry SetAnimation (string animationName, bool loop) { - return SetAnimation(FindAnimation(animationName), loop); - } - - public TrackEntry SetAnimation (Animation animation, bool loop) { - if (animation == null) return null; - - SkeletonAnimation skeletonAnimation; - animationSkeletonTable.TryGetValue(animation, out skeletonAnimation); - - if (skeletonAnimation != null) { - SetActiveSkeleton(skeletonAnimation); - skeletonAnimation.skeleton.SetToSetupPose(); - var trackEntry = skeletonAnimation.state.SetAnimation(MainTrackIndex, animation, loop); - skeletonAnimation.Update(0); - return trackEntry; - } - - return null; - } - - public void SetEmptyAnimation (float mixDuration) { - currentSkeletonAnimation.state.SetEmptyAnimation(MainTrackIndex, mixDuration); - } - - public void ClearAnimation () { - currentSkeletonAnimation.state.ClearTrack(MainTrackIndex); - } - - public TrackEntry GetCurrent () { - return currentSkeletonAnimation.state.GetCurrent(MainTrackIndex); - } - #endregion - } -} diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonAnimationMulti/SkeletonAnimationMulti.cs.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonAnimationMulti/SkeletonAnimationMulti.cs.meta deleted file mode 100644 index ab5d78d..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonAnimationMulti/SkeletonAnimationMulti.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: a5ea35d82fb1b5d4583e89b4343976b6 -timeCreated: 1502103123 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonColorInitialize.cs b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonColorInitialize.cs deleted file mode 100644 index 7927010..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonColorInitialize.cs +++ /dev/null @@ -1,83 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System.Collections.Generic; -using UnityEngine; -using Spine; -using Spine.Unity; - -namespace Spine.Unity.Prototyping { - /// - /// Stores and serializes initial settings for a Spine Skeleton component. The settings only get applied on Start at runtime. - public class SkeletonColorInitialize : MonoBehaviour { - public Color skeletonColor = Color.white; - public List slotSettings = new List(); - - [System.Serializable] - public class SlotSettings { - [SpineSlot] - public string slot = string.Empty; - public Color color = Color.white; - } - - #if UNITY_EDITOR - void OnValidate () { - var skeletonComponent = GetComponent(); - if (skeletonComponent != null) { - skeletonComponent.Skeleton.SetSlotsToSetupPose(); - var animationStateComponent = GetComponent(); - if (animationStateComponent != null && animationStateComponent.AnimationState != null) { - animationStateComponent.AnimationState.Apply(skeletonComponent.Skeleton); - } - } - ApplySettings(); - } - #endif - - void Start () { - ApplySettings(); - } - - void ApplySettings () { - var skeletonComponent = GetComponent(); - if (skeletonComponent != null) { - var skeleton = skeletonComponent.Skeleton; - skeleton.SetColor(skeletonColor); - - foreach (var s in slotSettings) { - var slot = skeleton.FindSlot(s.slot); - if (slot != null) slot.SetColor(s.color); - } - - } - } - - } - -} diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonColorInitialize.cs.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonColorInitialize.cs.meta deleted file mode 100644 index d6ee51b..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonColorInitialize.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 7e3501002f468384b80d5853d04e19ca -timeCreated: 1494113429 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonGraphicMirror.cs b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonGraphicMirror.cs deleted file mode 100644 index 49293ca..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonGraphicMirror.cs +++ /dev/null @@ -1,104 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace Spine.Unity.Examples { - public class SkeletonGraphicMirror : MonoBehaviour { - - public SkeletonRenderer source; - public bool mirrorOnStart = true; - public bool restoreOnDisable = true; - SkeletonGraphic skeletonGraphic; - - Skeleton originalSkeleton; - bool originalFreeze; - Texture2D overrideTexture; - - private void Awake () { - skeletonGraphic = GetComponent(); - } - - void Start () { - if (mirrorOnStart) - StartMirroring(); - } - - void LateUpdate () { - skeletonGraphic.UpdateMesh(); - } - - void OnDisable () { - if (restoreOnDisable) - RestoreIndependentSkeleton(); - } - - /// Freeze the SkeletonGraphic on this GameObject, and use the source as the Skeleton to be rendered by the SkeletonGraphic. - public void StartMirroring () { - if (source == null) - return; - if (skeletonGraphic == null) - return; - - skeletonGraphic.startingAnimation = string.Empty; - - if (originalSkeleton == null) { - originalSkeleton = skeletonGraphic.Skeleton; - originalFreeze = skeletonGraphic.freeze; - } - - skeletonGraphic.Skeleton = source.skeleton; - skeletonGraphic.freeze = true; - if (overrideTexture != null) - skeletonGraphic.OverrideTexture = overrideTexture; - } - - /// Use a new texture for the SkeletonGraphic. Use this if your source skeleton uses a repacked atlas. - public void UpdateTexture (Texture2D newOverrideTexture) { - overrideTexture = newOverrideTexture; - if (newOverrideTexture != null) - skeletonGraphic.OverrideTexture = overrideTexture; - } - - /// Stops mirroring the source SkeletonRenderer and allows the SkeletonGraphic to become an independent Skeleton component again. - public void RestoreIndependentSkeleton () { - if (originalSkeleton == null) - return; - - skeletonGraphic.Skeleton = originalSkeleton; - skeletonGraphic.freeze = originalFreeze; - skeletonGraphic.OverrideTexture = null; - - originalSkeleton = null; - } - } - -} diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonGraphicMirror.cs.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonGraphicMirror.cs.meta deleted file mode 100644 index 3e0f6bc..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonGraphicMirror.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: dbeb0b9949e46754eb0e0b61021b4f1c -timeCreated: 1532024358 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonGraphicPlayAnimationAtEvent.cs b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonGraphicPlayAnimationAtEvent.cs deleted file mode 100644 index 486b5a3..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonGraphicPlayAnimationAtEvent.cs +++ /dev/null @@ -1,52 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEngine; -using Spine.Unity; - -public class SkeletonGraphicPlayAnimationAtEvent : MonoBehaviour { - - public SkeletonGraphic skeletonGraphic; - public int trackIndex = 0; - public float playbackSpeed = 1.0f; - - public void PlayAnimationLooping (string animation) { - var entry = skeletonGraphic.AnimationState.SetAnimation(trackIndex, animation, true); - entry.TimeScale = playbackSpeed; - } - - public void PlayAnimationOnce (string animation) { - var entry = skeletonGraphic.AnimationState.SetAnimation(trackIndex, animation, false); - entry.TimeScale = playbackSpeed; - } - - public void ClearTrack () { - skeletonGraphic.AnimationState.ClearTrack(trackIndex); - } -} diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonGraphicPlayAnimationAtEvent.cs.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonGraphicPlayAnimationAtEvent.cs.meta deleted file mode 100644 index f835090..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonGraphicPlayAnimationAtEvent.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 243a062ac84ddf2468989143c0500a95 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules.meta deleted file mode 100644 index 4f84211..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: d81fbd54cb5cab844900eaa11c48a907 -folderAsset: yes -timeCreated: 1455489575 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/Editor/SkeletonRagdoll2DInspector.cs b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/Editor/SkeletonRagdoll2DInspector.cs deleted file mode 100644 index ec288a2..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/Editor/SkeletonRagdoll2DInspector.cs +++ /dev/null @@ -1,37 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -// Contributed by: Mitch Thompson - -using UnityEngine; -using UnityEditor; - -namespace Spine.Unity.Examples { - public class SkeletonRagdoll2DInspector {} -} diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/Editor/SkeletonRagdoll2DInspector.cs.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/Editor/SkeletonRagdoll2DInspector.cs.meta deleted file mode 100644 index 0848020..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/Editor/SkeletonRagdoll2DInspector.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: b6dd0b99faf3aeb4d803eb9989cb369c -timeCreated: 1431741936 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/Editor/SkeletonRagdollInspector.cs b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/Editor/SkeletonRagdollInspector.cs deleted file mode 100644 index 8deef19..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/Editor/SkeletonRagdollInspector.cs +++ /dev/null @@ -1,46 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -// Contributed by: Mitch Thompson - -using UnityEngine; -using UnityEditor; - -namespace Spine.Unity.Examples { - - public class SkeletonRagdollInspector : UnityEditor.Editor { - [CustomPropertyDrawer(typeof(SkeletonRagdoll.LayerFieldAttribute))] - public class LayerFieldPropertyDrawer : PropertyDrawer { - public override void OnGUI (Rect position, SerializedProperty property, GUIContent label) { - property.intValue = EditorGUI.LayerField(position, label, property.intValue); - } - } - } - -} diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/Editor/SkeletonRagdollInspector.cs.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/Editor/SkeletonRagdollInspector.cs.meta deleted file mode 100644 index 7c478ae..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/Editor/SkeletonRagdollInspector.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: c95a670c56447c644a0f062e4cdd448e -timeCreated: 1431740230 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonRagdoll.cs b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonRagdoll.cs deleted file mode 100644 index bc5b3a8..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonRagdoll.cs +++ /dev/null @@ -1,412 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -// Contributed by: Mitch Thompson - -using UnityEngine; -using System.Collections; -using System.Collections.Generic; - -namespace Spine.Unity.Examples { - [RequireComponent(typeof(SkeletonRenderer))] - public class SkeletonRagdoll : MonoBehaviour { - static Transform parentSpaceHelper; - - #region Inspector - [Header("Hierarchy")] - [SpineBone] - public string startingBoneName = ""; - [SpineBone] - public List stopBoneNames = new List(); - - [Header("Parameters")] - public bool applyOnStart; - [Tooltip("Warning! You will have to re-enable and tune mix values manually if attempting to remove the ragdoll system.")] - public bool disableIK = true; - public bool disableOtherConstraints = false; - [Space(18)] - [Tooltip("Set RootRigidbody IsKinematic to true when Apply is called.")] - public bool pinStartBone; - [Tooltip("Enable Collision between adjacent ragdoll elements (IE: Neck and Head)")] - public bool enableJointCollision; - public bool useGravity = true; - [Tooltip("If no BoundingBox Attachment is attached to a bone, this becomes the default Width or Radius of a Bone's ragdoll Rigidbody")] - public float thickness = 0.125f; - [Tooltip("Default rotational limit value. Min is negative this value, Max is this value.")] - public float rotationLimit = 20; - public float rootMass = 20; - [Tooltip("If your ragdoll seems unstable or uneffected by limits, try lowering this value.")] - [Range(0.01f, 1f)] - public float massFalloffFactor = 0.4f; - [Tooltip("The layer assigned to all of the rigidbody parts.")] - public int colliderLayer = 0; - [Range(0, 1)] - public float mix = 1; - public bool oldRagdollBehaviour = true; - #endregion - - ISkeletonAnimation targetSkeletonComponent; - Skeleton skeleton; - Dictionary boneTable = new Dictionary(); - Transform ragdollRoot; - public Rigidbody RootRigidbody { get; private set; } - public Bone StartingBone { get; private set; } - Vector3 rootOffset; - public Vector3 RootOffset { get { return this.rootOffset; } } - bool isActive; - public bool IsActive { get { return this.isActive; } } - - IEnumerator Start () { - if (parentSpaceHelper == null) { - parentSpaceHelper = (new GameObject("Parent Space Helper")).transform; - parentSpaceHelper.hideFlags = HideFlags.HideInHierarchy; - } - - targetSkeletonComponent = GetComponent() as ISkeletonAnimation; - if (targetSkeletonComponent == null) Debug.LogError("Attached Spine component does not implement ISkeletonAnimation. This script is not compatible."); - skeleton = targetSkeletonComponent.Skeleton; - - if (applyOnStart) { - yield return null; - Apply(); - } - } - - #region API - public Rigidbody[] RigidbodyArray { - get { - if (!isActive) - return new Rigidbody[0]; - - var rigidBodies = new Rigidbody[boneTable.Count]; - int i = 0; - foreach (Transform t in boneTable.Values) { - rigidBodies[i] = t.GetComponent(); - i++; - } - - return rigidBodies; - } - } - - public Vector3 EstimatedSkeletonPosition { - get { return RootRigidbody.position - rootOffset; } - } - - /// Instantiates the ragdoll simulation and applies its transforms to the skeleton. - public void Apply () { - isActive = true; - mix = 1; - - StartingBone = skeleton.FindBone(startingBoneName); - RecursivelyCreateBoneProxies(StartingBone); - - RootRigidbody = boneTable[StartingBone].GetComponent(); - RootRigidbody.isKinematic = pinStartBone; - RootRigidbody.mass = rootMass; - var boneColliders = new List(); - foreach (var pair in boneTable) { - var b = pair.Key; - var t = pair.Value; - Transform parentTransform; - boneColliders.Add(t.GetComponent()); - if (b == StartingBone) { - ragdollRoot = new GameObject("RagdollRoot").transform; - ragdollRoot.SetParent(transform, false); - if (b == skeleton.RootBone) { // RagdollRoot is skeleton root. - ragdollRoot.localPosition = new Vector3(b.WorldX, b.WorldY, 0); - ragdollRoot.localRotation = Quaternion.Euler(0, 0, GetPropagatedRotation(b)); - } else { - ragdollRoot.localPosition = new Vector3(b.Parent.WorldX, b.Parent.WorldY, 0); - ragdollRoot.localRotation = Quaternion.Euler(0, 0, GetPropagatedRotation(b.Parent)); - } - parentTransform = ragdollRoot; - rootOffset = t.position - transform.position; - } else { - parentTransform = boneTable[b.Parent]; - } - - // Add joint and attach to parent. - var rbParent = parentTransform.GetComponent(); - if (rbParent != null) { - var joint = t.gameObject.AddComponent(); - joint.connectedBody = rbParent; - Vector3 localPos = parentTransform.InverseTransformPoint(t.position); - localPos.x *= 1; - joint.connectedAnchor = localPos; - joint.axis = Vector3.forward; - - joint.GetComponent().mass = joint.connectedBody.mass * massFalloffFactor; - joint.limits = new JointLimits { - min = -rotationLimit, - max = rotationLimit, - }; - joint.useLimits = true; - joint.enableCollision = enableJointCollision; - } - } - - // Ignore collisions among bones. - for (int x = 0; x < boneColliders.Count; x++) { - for (int y = 0; y < boneColliders.Count; y++) { - if (x == y) continue; - Physics.IgnoreCollision(boneColliders[x], boneColliders[y]); - } - } - - // Destroy existing override-mode SkeletonUtilityBones. - var utilityBones = GetComponentsInChildren(); - if (utilityBones.Length > 0) { - var destroyedUtilityBoneNames = new List(); - foreach (var ub in utilityBones) { - if (ub.mode == SkeletonUtilityBone.Mode.Override) { - destroyedUtilityBoneNames.Add(ub.gameObject.name); - Destroy(ub.gameObject); - } - } - if (destroyedUtilityBoneNames.Count > 0) { - string msg = "Destroyed Utility Bones: "; - for (int i = 0; i < destroyedUtilityBoneNames.Count; i++) { - msg += destroyedUtilityBoneNames[i]; - if (i != destroyedUtilityBoneNames.Count - 1) { - msg += ","; - } - } - Debug.LogWarning(msg); - } - } - - // Disable skeleton constraints. - if (disableIK) { - var ikConstraints = skeleton.IkConstraints; - for (int i = 0, n = ikConstraints.Count; i < n; i++) - ikConstraints.Items[i].Mix = 0; - } - - if (disableOtherConstraints) { - var transformConstraints = skeleton.TransformConstraints; - for (int i = 0, n = transformConstraints.Count; i < n; i++) { - transformConstraints.Items[i].RotateMix = 0; - transformConstraints.Items[i].ScaleMix = 0; - transformConstraints.Items[i].ShearMix = 0; - transformConstraints.Items[i].TranslateMix = 0; - } - - var pathConstraints = skeleton.PathConstraints; - for (int i = 0, n = pathConstraints.Count; i < n; i++) { - pathConstraints.Items[i].RotateMix = 0; - pathConstraints.Items[i].TranslateMix = 0; - } - } - - targetSkeletonComponent.UpdateWorld += UpdateSpineSkeleton; - } - - /// Transitions the mix value from the current value to a target value. - public Coroutine SmoothMix (float target, float duration) { - return StartCoroutine(SmoothMixCoroutine(target, duration)); - } - - IEnumerator SmoothMixCoroutine (float target, float duration) { - float startTime = Time.time; - float startMix = mix; - while (mix > 0) { - skeleton.SetBonesToSetupPose(); - mix = Mathf.SmoothStep(startMix, target, (Time.time - startTime) / duration); - yield return null; - } - } - - /// Set the transform world position while preserving the ragdoll parts world position. - public void SetSkeletonPosition (Vector3 worldPosition) { - if (!isActive) { - Debug.LogWarning("Can't call SetSkeletonPosition while Ragdoll is not active!"); - return; - } - - Vector3 offset = worldPosition - transform.position; - transform.position = worldPosition; - foreach (Transform t in boneTable.Values) - t.position -= offset; - - UpdateSpineSkeleton(null); - skeleton.UpdateWorldTransform(); - } - - /// Removes the ragdoll instance and effect from the animated skeleton. - public void Remove () { - isActive = false; - foreach (var t in boneTable.Values) - Destroy(t.gameObject); - - Destroy(ragdollRoot.gameObject); - - boneTable.Clear(); - targetSkeletonComponent.UpdateWorld -= UpdateSpineSkeleton; - } - - public Rigidbody GetRigidbody (string boneName) { - var bone = skeleton.FindBone(boneName); - return (bone != null && boneTable.ContainsKey(bone)) ? boneTable[bone].GetComponent() : null; - } - #endregion - - void RecursivelyCreateBoneProxies (Bone b) { - string boneName = b.Data.Name; - if (stopBoneNames.Contains(boneName)) - return; - - var boneGameObject = new GameObject(boneName); - boneGameObject.layer = colliderLayer; - Transform t = boneGameObject.transform; - boneTable.Add(b, t); - - t.parent = transform; - t.localPosition = new Vector3(b.WorldX, b.WorldY, 0); - t.localRotation = Quaternion.Euler(0, 0, b.WorldRotationX - b.ShearX); - t.localScale = new Vector3(b.WorldScaleX, b.WorldScaleY, 1); - - // MITCH: You left "todo: proper ragdoll branching" - var colliders = AttachBoundingBoxRagdollColliders(b); - if (colliders.Count == 0) { - float length = b.Data.Length; - if (length == 0) { - var ball = boneGameObject.AddComponent(); - ball.radius = thickness * 0.5f; - } else { - var box = boneGameObject.AddComponent(); - box.size = new Vector3(length, thickness, thickness); - box.center = new Vector3(length * 0.5f, 0); - } - } - var rb = boneGameObject.AddComponent(); - rb.constraints = RigidbodyConstraints.FreezePositionZ; - - foreach (Bone child in b.Children) - RecursivelyCreateBoneProxies(child); - } - - void UpdateSpineSkeleton (ISkeletonAnimation skeletonRenderer) { - bool flipX = skeleton.ScaleX < 0; - bool flipY = skeleton.ScaleY < 0; - bool flipXOR = flipX ^ flipY; - bool flipOR = flipX || flipY; - - foreach (var pair in boneTable) { - var b = pair.Key; - var t = pair.Value; - bool isStartingBone = b == StartingBone; - Transform parentTransform = isStartingBone ? ragdollRoot : boneTable[b.Parent]; - if (!oldRagdollBehaviour && isStartingBone) { - if (b != skeleton.RootBone) { // RagdollRoot is not skeleton root. - ragdollRoot.localPosition = new Vector3(b.Parent.WorldX, b.Parent.WorldY, 0); - ragdollRoot.localRotation = Quaternion.Euler(0, 0, GetPropagatedRotation(b.Parent)); - } - } - Vector3 parentTransformWorldPosition = parentTransform.position; - Quaternion parentTransformWorldRotation = parentTransform.rotation; - - parentSpaceHelper.position = parentTransformWorldPosition; - parentSpaceHelper.rotation = parentTransformWorldRotation; - parentSpaceHelper.localScale = parentTransform.lossyScale; - - Vector3 boneWorldPosition = t.position; - Vector3 right = parentSpaceHelper.InverseTransformDirection(t.right); - - Vector3 boneLocalPosition = parentSpaceHelper.InverseTransformPoint(boneWorldPosition); - float boneLocalRotation = Mathf.Atan2(right.y, right.x) * Mathf.Rad2Deg; - - if (flipOR) { - if (isStartingBone) { - if (flipX) boneLocalPosition.x *= -1f; - if (flipY) boneLocalPosition.y *= -1f; - - boneLocalRotation = boneLocalRotation * (flipXOR ? -1f : 1f); - if (flipX) boneLocalRotation += 180; - } else { - if (flipXOR) { - boneLocalRotation *= -1f; - boneLocalPosition.y *= -1f; // wtf?? - } - } - } - - b.X = Mathf.Lerp(b.X, boneLocalPosition.x, mix); - b.Y = Mathf.Lerp(b.Y, boneLocalPosition.y, mix); - b.Rotation = Mathf.Lerp(b.Rotation, boneLocalRotation, mix); - //b.AppliedRotation = Mathf.Lerp(b.AppliedRotation, boneLocalRotation, mix); - } - } - - List AttachBoundingBoxRagdollColliders (Bone b) { - const string AttachmentNameMarker = "ragdoll"; - var colliders = new List(); - - Transform t = boneTable[b]; - GameObject go = t.gameObject; - var skin = skeleton.Skin ?? skeleton.Data.DefaultSkin; - - var skinEntries = new List(); - foreach (Slot s in skeleton.Slots) { - if (s.Bone == b) { - skin.GetAttachments(skeleton.Slots.IndexOf(s), skinEntries); - - foreach (var entry in skinEntries) { - var bbAttachment = entry.Attachment as BoundingBoxAttachment; - if (bbAttachment != null) { - if (!entry.Name.ToLower().Contains(AttachmentNameMarker)) - continue; - - var bbCollider = go.AddComponent(); - var bounds = SkeletonUtility.GetBoundingBoxBounds(bbAttachment, thickness); - bbCollider.center = bounds.center; - bbCollider.size = bounds.size; - colliders.Add(bbCollider); - } - } - } - } - - return colliders; - } - - static float GetPropagatedRotation (Bone b) { - Bone parent = b.Parent; - float a = b.AppliedRotation; - while (parent != null) { - a += parent.AppliedRotation; - parent = parent.Parent; - } - return a; - } - - public class LayerFieldAttribute : PropertyAttribute {} - } - -} diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonRagdoll.cs.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonRagdoll.cs.meta deleted file mode 100644 index f19d680..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonRagdoll.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 373527d2bf3351348b9fcc499ce9ea23 -timeCreated: 1430552693 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonRagdoll2D.cs b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonRagdoll2D.cs deleted file mode 100644 index b985f85..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonRagdoll2D.cs +++ /dev/null @@ -1,440 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -// Contributed by: Mitch Thompson - -#if UNITY_2019_2_OR_NEWER -#define HINGE_JOINT_NEW_BEHAVIOUR -#endif - -using UnityEngine; -using System.Collections; -using System.Collections.Generic; - -namespace Spine.Unity.Examples { - [RequireComponent(typeof(SkeletonRenderer))] - public class SkeletonRagdoll2D : MonoBehaviour { - static Transform parentSpaceHelper; - - #region Inspector - [Header("Hierarchy")] - [SpineBone] - public string startingBoneName = ""; - [SpineBone] - public List stopBoneNames = new List(); - - [Header("Parameters")] - public bool applyOnStart; - [Tooltip("Warning! You will have to re-enable and tune mix values manually if attempting to remove the ragdoll system.")] - public bool disableIK = true; - public bool disableOtherConstraints = false; - [Space] - [Tooltip("Set RootRigidbody IsKinematic to true when Apply is called.")] - public bool pinStartBone; - public float gravityScale = 1; - [Tooltip("If no BoundingBox Attachment is attached to a bone, this becomes the default Width or Radius of a Bone's ragdoll Rigidbody")] - public float thickness = 0.125f; - [Tooltip("Default rotational limit value. Min is negative this value, Max is this value.")] - public float rotationLimit = 20; - public float rootMass = 20; - [Tooltip("If your ragdoll seems unstable or uneffected by limits, try lowering this value.")] - [Range(0.01f, 1f)] - public float massFalloffFactor = 0.4f; - [Tooltip("The layer assigned to all of the rigidbody parts.")] - [SkeletonRagdoll.LayerField] - public int colliderLayer = 0; - [Range(0, 1)] - public float mix = 1; - public bool oldRagdollBehaviour = true; - #endregion - - ISkeletonAnimation targetSkeletonComponent; - Skeleton skeleton; - Dictionary boneTable = new Dictionary(); - Transform ragdollRoot; - public Rigidbody2D RootRigidbody { get; private set; } - public Bone StartingBone { get; private set; } - Vector2 rootOffset; - public Vector3 RootOffset { get { return this.rootOffset; } } - bool isActive; - public bool IsActive { get { return this.isActive; } } - - IEnumerator Start () { - if (parentSpaceHelper == null) { - parentSpaceHelper = (new GameObject("Parent Space Helper")).transform; - } - - targetSkeletonComponent = GetComponent() as ISkeletonAnimation; - if (targetSkeletonComponent == null) Debug.LogError("Attached Spine component does not implement ISkeletonAnimation. This script is not compatible."); - skeleton = targetSkeletonComponent.Skeleton; - - if (applyOnStart) { - yield return null; - Apply(); - } - } - - #region API - public Rigidbody2D[] RigidbodyArray { - get { - if (!isActive) - return new Rigidbody2D[0]; - - var rigidBodies = new Rigidbody2D[boneTable.Count]; - int i = 0; - foreach (Transform t in boneTable.Values) { - rigidBodies[i] = t.GetComponent(); - i++; - } - - return rigidBodies; - } - } - - public Vector3 EstimatedSkeletonPosition { - get { return this.RootRigidbody.position - rootOffset; } - } - - /// Instantiates the ragdoll simulation and applies its transforms to the skeleton. - public void Apply () { - isActive = true; - mix = 1; - - Bone startingBone = this.StartingBone = skeleton.FindBone(startingBoneName); - RecursivelyCreateBoneProxies(startingBone); - - RootRigidbody = boneTable[startingBone].GetComponent(); - RootRigidbody.isKinematic = pinStartBone; - RootRigidbody.mass = rootMass; - var boneColliders = new List(); - foreach (var pair in boneTable) { - var b = pair.Key; - var t = pair.Value; - Transform parentTransform; - boneColliders.Add(t.GetComponent()); - if (b == startingBone) { - ragdollRoot = new GameObject("RagdollRoot").transform; - ragdollRoot.SetParent(transform, false); - if (b == skeleton.RootBone) { // RagdollRoot is skeleton root. - ragdollRoot.localPosition = new Vector3(b.WorldX, b.WorldY, 0); - ragdollRoot.localRotation = Quaternion.Euler(0, 0, GetPropagatedRotation(b)); - } else { - ragdollRoot.localPosition = new Vector3(b.Parent.WorldX, b.Parent.WorldY, 0); - ragdollRoot.localRotation = Quaternion.Euler(0, 0, GetPropagatedRotation(b.Parent)); - } - parentTransform = ragdollRoot; - rootOffset = t.position - transform.position; - } else { - parentTransform = boneTable[b.Parent]; - } - - // Add joint and attach to parent. - var rbParent = parentTransform.GetComponent(); - if (rbParent != null) { - var joint = t.gameObject.AddComponent(); - joint.connectedBody = rbParent; - Vector3 localPos = parentTransform.InverseTransformPoint(t.position); - joint.connectedAnchor = localPos; - - joint.GetComponent().mass = joint.connectedBody.mass * massFalloffFactor; - - #if HINGE_JOINT_NEW_BEHAVIOUR - float referenceAngle = (rbParent.transform.eulerAngles.z - t.eulerAngles.z + 360f) % 360f; - float minAngle = referenceAngle - rotationLimit; - float maxAngle = referenceAngle + rotationLimit; - if (maxAngle > 180f) { - minAngle -= 360f; - maxAngle -= 360f; - } - #else - float minAngle = - rotationLimit; - float maxAngle = rotationLimit; - #endif - joint.limits = new JointAngleLimits2D { - min = minAngle, - max = maxAngle - }; - joint.useLimits = true; - } - } - - // Ignore collisions among bones. - for (int x = 0; x < boneColliders.Count; x++) { - for (int y = 0; y < boneColliders.Count; y++) { - if (x == y) continue; - Physics2D.IgnoreCollision(boneColliders[x], boneColliders[y]); - } - } - - // Destroy existing override-mode SkeletonUtility bones. - var utilityBones = GetComponentsInChildren(); - if (utilityBones.Length > 0) { - var destroyedUtilityBoneNames = new List(); - foreach (var ub in utilityBones) { - if (ub.mode == SkeletonUtilityBone.Mode.Override) { - destroyedUtilityBoneNames.Add(ub.gameObject.name); - Destroy(ub.gameObject); - } - } - if (destroyedUtilityBoneNames.Count > 0) { - string msg = "Destroyed Utility Bones: "; - for (int i = 0; i < destroyedUtilityBoneNames.Count; i++) { - msg += destroyedUtilityBoneNames[i]; - if (i != destroyedUtilityBoneNames.Count - 1) { - msg += ","; - } - } - Debug.LogWarning(msg); - } - } - - // Disable skeleton constraints. - if (disableIK) { - var ikConstraints = skeleton.IkConstraints; - for (int i = 0, n = ikConstraints.Count; i < n; i++) - ikConstraints.Items[i].Mix = 0; - } - - if (disableOtherConstraints) { - var transformConstraints = skeleton.TransformConstraints; - for (int i = 0, n = transformConstraints.Count; i < n; i++) { - transformConstraints.Items[i].RotateMix = 0; - transformConstraints.Items[i].ScaleMix = 0; - transformConstraints.Items[i].ShearMix = 0; - transformConstraints.Items[i].TranslateMix = 0; - } - - var pathConstraints = skeleton.PathConstraints; - for (int i = 0, n = pathConstraints.Count; i < n; i++) { - pathConstraints.Items[i].RotateMix = 0; - pathConstraints.Items[i].TranslateMix = 0; - } - } - - targetSkeletonComponent.UpdateWorld += UpdateSpineSkeleton; - } - - /// Transitions the mix value from the current value to a target value. - public Coroutine SmoothMix (float target, float duration) { - return StartCoroutine(SmoothMixCoroutine(target, duration)); - } - - IEnumerator SmoothMixCoroutine (float target, float duration) { - float startTime = Time.time; - float startMix = mix; - while (mix > 0) { - skeleton.SetBonesToSetupPose(); - mix = Mathf.SmoothStep(startMix, target, (Time.time - startTime) / duration); - yield return null; - } - } - - /// Set the transform world position while preserving the ragdoll parts world position. - public void SetSkeletonPosition (Vector3 worldPosition) { - if (!isActive) { - Debug.LogWarning("Can't call SetSkeletonPosition while Ragdoll is not active!"); - return; - } - - Vector3 offset = worldPosition - transform.position; - transform.position = worldPosition; - foreach (Transform t in boneTable.Values) - t.position -= offset; - - UpdateSpineSkeleton(null); - skeleton.UpdateWorldTransform(); - } - - /// Removes the ragdoll instance and effect from the animated skeleton. - public void Remove () { - isActive = false; - foreach (var t in boneTable.Values) - Destroy(t.gameObject); - - Destroy(ragdollRoot.gameObject); - boneTable.Clear(); - targetSkeletonComponent.UpdateWorld -= UpdateSpineSkeleton; - } - - public Rigidbody2D GetRigidbody (string boneName) { - var bone = skeleton.FindBone(boneName); - return (bone != null && boneTable.ContainsKey(bone)) ? boneTable[bone].GetComponent() : null; - } - #endregion - - /// Generates the ragdoll simulation's Transform and joint setup. - void RecursivelyCreateBoneProxies (Bone b) { - string boneName = b.Data.Name; - if (stopBoneNames.Contains(boneName)) - return; - - var boneGameObject = new GameObject(boneName); - boneGameObject.layer = this.colliderLayer; - Transform t = boneGameObject.transform; - boneTable.Add(b, t); - - t.parent = transform; - t.localPosition = new Vector3(b.WorldX, b.WorldY, 0); - t.localRotation = Quaternion.Euler(0, 0, b.WorldRotationX - b.ShearX); - t.localScale = new Vector3(b.WorldScaleX, b.WorldScaleY, 1); - - // MITCH: You left "todo: proper ragdoll branching" - var colliders = AttachBoundingBoxRagdollColliders(b, boneGameObject, skeleton, this.gravityScale); - if (colliders.Count == 0) { - float length = b.Data.Length; - if (length == 0) { - var circle = boneGameObject.AddComponent(); - circle.radius = thickness * 0.5f; - } else { - var box = boneGameObject.AddComponent(); - box.size = new Vector2(length, thickness); - box.offset = new Vector2(length * 0.5f, 0); // box.center in UNITY_4 - } - } - - var rb = boneGameObject.GetComponent(); - if (rb == null) rb = boneGameObject.AddComponent(); - rb.gravityScale = this.gravityScale; - - foreach (Bone child in b.Children) - RecursivelyCreateBoneProxies(child); - } - - /// Performed every skeleton animation update to translate Unity Transforms positions into Spine bone transforms. - void UpdateSpineSkeleton (ISkeletonAnimation animatedSkeleton) { - bool flipX = skeleton.ScaleX < 0; - bool flipY = skeleton.ScaleY < 0; - bool flipXOR = flipX ^ flipY; - bool flipOR = flipX || flipY; - var startingBone = this.StartingBone; - - foreach (var pair in boneTable) { - var b = pair.Key; - var t = pair.Value; - bool isStartingBone = (b == startingBone); - Transform parentTransform = isStartingBone ? ragdollRoot : boneTable[b.Parent]; - if (!oldRagdollBehaviour && isStartingBone) { - if (b != skeleton.RootBone) { // RagdollRoot is not skeleton root. - ragdollRoot.localPosition = new Vector3(b.Parent.WorldX, b.Parent.WorldY, 0); - ragdollRoot.localRotation = Quaternion.Euler(0, 0, GetPropagatedRotation(b.Parent)); - } - } - - Vector3 parentTransformWorldPosition = parentTransform.position; - Quaternion parentTransformWorldRotation = parentTransform.rotation; - - parentSpaceHelper.position = parentTransformWorldPosition; - parentSpaceHelper.rotation = parentTransformWorldRotation; - parentSpaceHelper.localScale = parentTransform.lossyScale; - - Vector3 boneWorldPosition = t.position; - Vector3 right = parentSpaceHelper.InverseTransformDirection(t.right); - - Vector3 boneLocalPosition = parentSpaceHelper.InverseTransformPoint(boneWorldPosition); - float boneLocalRotation = Mathf.Atan2(right.y, right.x) * Mathf.Rad2Deg; - if (flipOR) { - if (isStartingBone) { - if (flipX) boneLocalPosition.x *= -1f; - if (flipY) boneLocalPosition.y *= -1f; - - boneLocalRotation = boneLocalRotation * (flipXOR ? -1f : 1f); - if (flipX) boneLocalRotation += 180; - } else { - if (flipXOR) { - boneLocalRotation *= -1f; - boneLocalPosition.y *= -1f; // wtf?? - } - } - } - - b.X = Mathf.Lerp(b.X, boneLocalPosition.x, mix); - b.Y = Mathf.Lerp(b.Y, boneLocalPosition.y, mix); - b.Rotation = Mathf.Lerp(b.Rotation, boneLocalRotation, mix); - //b.AppliedRotation = Mathf.Lerp(b.AppliedRotation, boneLocalRotation, mix); - } - } - - static List AttachBoundingBoxRagdollColliders (Bone b, GameObject go, Skeleton skeleton, float gravityScale) { - const string AttachmentNameMarker = "ragdoll"; - var colliders = new List(); - var skin = skeleton.Skin ?? skeleton.Data.DefaultSkin; - - var skinEntries = new List(); - foreach (Slot slot in skeleton.Slots) { - if (slot.Bone == b) { - skin.GetAttachments(skeleton.Slots.IndexOf(slot), skinEntries); - - bool bbAttachmentAdded = false; - foreach (var entry in skinEntries) { - var bbAttachment = entry.Attachment as BoundingBoxAttachment; - if (bbAttachment != null) { - if (!entry.Name.ToLower().Contains(AttachmentNameMarker)) - continue; - - bbAttachmentAdded = true; - var bbCollider = SkeletonUtility.AddBoundingBoxAsComponent(bbAttachment, slot, go, isTrigger: false); - colliders.Add(bbCollider); - } - } - - if (bbAttachmentAdded) - SkeletonUtility.AddBoneRigidbody2D(go, isKinematic: false, gravityScale: gravityScale); - } - } - - return colliders; - } - - static float GetPropagatedRotation (Bone b) { - Bone parent = b.Parent; - float a = b.AppliedRotation; - while (parent != null) { - a += parent.AppliedRotation; - parent = parent.Parent; - } - return a; - } - - static Vector3 FlipScale (bool flipX, bool flipY) { - return new Vector3(flipX ? -1f : 1f, flipY ? -1f : 1f, 1f); - } - - #if UNITY_EDITOR - void OnDrawGizmosSelected () { - if (isActive) { - Gizmos.DrawWireSphere(transform.position, thickness * 1.2f); - Vector3 newTransformPos = RootRigidbody.position - rootOffset; - Gizmos.DrawLine(transform.position, newTransformPos); - Gizmos.DrawWireSphere(newTransformPos, thickness * 1.2f); - } - } - #endif - } - -} diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonRagdoll2D.cs.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonRagdoll2D.cs.meta deleted file mode 100644 index ed29795..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonRagdoll2D.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: e74a49a26242a214d9084fde00bfe3ab -timeCreated: 1431497383 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityEyeConstraint.cs b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityEyeConstraint.cs deleted file mode 100644 index ab481fc..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityEyeConstraint.cs +++ /dev/null @@ -1,84 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEngine; -using System.Collections; - -namespace Spine.Unity.Examples { - public class SkeletonUtilityEyeConstraint : SkeletonUtilityConstraint { - public Transform[] eyes; - public float radius = 0.5f; - public Transform target; - public Vector3 targetPosition; - public float speed = 10; - Vector3[] origins; - Vector3 centerPoint; - - protected override void OnEnable () { - if (!Application.isPlaying) return; - base.OnEnable(); - - Bounds centerBounds = new Bounds(eyes[0].localPosition, Vector3.zero); - origins = new Vector3[eyes.Length]; - for (int i = 0; i < eyes.Length; i++) { - origins[i] = eyes[i].localPosition; - centerBounds.Encapsulate(origins[i]); - } - - centerPoint = centerBounds.center; - } - - protected override void OnDisable () { - if (!Application.isPlaying) return; - - for (int i = 0; i < eyes.Length; i++) { - eyes[i].localPosition = origins[i]; - } - base.OnDisable(); - } - - public override void DoUpdate () { - if (target != null) targetPosition = target.position; - - Vector3 goal = targetPosition; - Vector3 center = transform.TransformPoint(centerPoint); - Vector3 dir = goal - center; - - if (dir.magnitude > 1) - dir.Normalize(); - - for (int i = 0; i < eyes.Length; i++) { - center = transform.TransformPoint(origins[i]); - eyes[i].position = Vector3.MoveTowards(eyes[i].position, center + (dir * radius * hierarchy.PositionScale), - speed * hierarchy.PositionScale * Time.deltaTime); - } - - } - } -} diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityEyeConstraint.cs.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityEyeConstraint.cs.meta deleted file mode 100644 index 18e153c..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityEyeConstraint.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 0d994c65b6daec64f80ae2ae04e9d999 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityGroundConstraint.cs b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityGroundConstraint.cs deleted file mode 100644 index 3a01934..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityGroundConstraint.cs +++ /dev/null @@ -1,140 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#if UNITY_2018_3 || UNITY_2019 || UNITY_2018_3_OR_NEWER -#define NEW_PREFAB_SYSTEM -#endif - -using UnityEngine; - -namespace Spine.Unity.Examples { - - #if NEW_PREFAB_SYSTEM - [ExecuteAlways] - #else - [ExecuteInEditMode] - #endif - [RequireComponent(typeof(SkeletonUtilityBone))] - public class SkeletonUtilityGroundConstraint : SkeletonUtilityConstraint { - - [Tooltip("LayerMask for what objects to raycast against")] - public LayerMask groundMask; - [Tooltip("Use 2D")] - public bool use2D = false; - [Tooltip("Uses SphereCast for 3D mode and CircleCast for 2D mode")] - public bool useRadius = false; - [Tooltip("The Radius")] - public float castRadius = 0.1f; - [Tooltip("How high above the target bone to begin casting from")] - public float castDistance = 5f; - [Tooltip("X-Axis adjustment")] - public float castOffset = 0; - [Tooltip("Y-Axis adjustment")] - public float groundOffset = 0; - [Tooltip("How fast the target IK position adjusts to the ground. Use smaller values to prevent snapping")] - public float adjustSpeed = 5; - - Vector3 rayOrigin; - Vector3 rayDir = new Vector3(0, -1, 0); - float hitY; - float lastHitY; - - protected override void OnEnable () { - base.OnEnable(); - lastHitY = transform.position.y; - } - - public override void DoUpdate () { - rayOrigin = transform.position + new Vector3(castOffset, castDistance, 0); - - float positionScale = hierarchy.PositionScale; - float adjustDistanceThisFrame = adjustSpeed * positionScale * Time.deltaTime; - hitY = float.MinValue; - if (use2D) { - RaycastHit2D hit; - - if (useRadius) - hit = Physics2D.CircleCast(rayOrigin, castRadius, rayDir, castDistance + groundOffset, groundMask); - else - hit = Physics2D.Raycast(rayOrigin, rayDir, castDistance + groundOffset, groundMask); - - if (hit.collider != null) { - hitY = hit.point.y + groundOffset; - if (Application.isPlaying) - hitY = Mathf.MoveTowards(lastHitY, hitY, adjustDistanceThisFrame); - } else { - if (Application.isPlaying) - hitY = Mathf.MoveTowards(lastHitY, transform.position.y, adjustDistanceThisFrame); - } - } else { - RaycastHit hit; - bool validHit = false; - - if (useRadius) - validHit = Physics.SphereCast(rayOrigin, castRadius, rayDir, out hit, castDistance + groundOffset, groundMask); - else - validHit = Physics.Raycast(rayOrigin, rayDir, out hit, castDistance + groundOffset, groundMask); - - if (validHit) { - hitY = hit.point.y + groundOffset; - if (Application.isPlaying) - hitY = Mathf.MoveTowards(lastHitY, hitY, adjustDistanceThisFrame); - - } else { - if (Application.isPlaying) - hitY = Mathf.MoveTowards(lastHitY, transform.position.y, adjustDistanceThisFrame); - } - } - - Vector3 v = transform.position; - v.y = Mathf.Clamp(v.y, Mathf.Min(lastHitY, hitY), float.MaxValue); - transform.position = v; - - bone.bone.X = transform.localPosition.x / hierarchy.PositionScale; - bone.bone.Y = transform.localPosition.y / hierarchy.PositionScale; - - lastHitY = hitY; - } - - void OnDrawGizmos () { - Vector3 hitEnd = rayOrigin + (rayDir * Mathf.Min(castDistance, rayOrigin.y - hitY)); - Vector3 clearEnd = rayOrigin + (rayDir * castDistance); - Gizmos.DrawLine(rayOrigin, hitEnd); - - if (useRadius) { - Gizmos.DrawLine(new Vector3(hitEnd.x - castRadius, hitEnd.y - groundOffset, hitEnd.z), new Vector3(hitEnd.x + castRadius, hitEnd.y - groundOffset, hitEnd.z)); - Gizmos.DrawLine(new Vector3(clearEnd.x - castRadius, clearEnd.y, clearEnd.z), new Vector3(clearEnd.x + castRadius, clearEnd.y, clearEnd.z)); - } - - Gizmos.color = Color.red; - Gizmos.DrawLine(hitEnd, clearEnd); - } - } - -} diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityGroundConstraint.cs.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityGroundConstraint.cs.meta deleted file mode 100644 index e5474ed..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityGroundConstraint.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 3662334b99de5fe4396ab24e30c4fd12 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityKinematicShadow.cs b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityKinematicShadow.cs deleted file mode 100644 index cf19a90..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityKinematicShadow.cs +++ /dev/null @@ -1,137 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEngine; -using System.Collections.Generic; - -namespace Spine.Unity.Examples { - - // SkeletonUtilityKinematicShadow allows hinge chains to inherit a velocity interpreted from changes in parent transform position or from unrelated rigidbodies. - // Note: Uncheck "useRootTransformIfNull - public class SkeletonUtilityKinematicShadow : MonoBehaviour { - #region Inspector - [Tooltip("If checked, the hinge chain can inherit your root transform's velocity or position/rotation changes.")] - public bool detachedShadow = false; - public Transform parent; - public bool hideShadow = true; - public PhysicsSystem physicsSystem = PhysicsSystem.Physics3D; - #endregion - - GameObject shadowRoot; - readonly List shadowTable = new List(); - struct TransformPair { - public Transform dest, src; - } - - public enum PhysicsSystem { - Physics2D, - Physics3D - }; - - void Start () { - // Duplicate this gameObject as the "shadow" with a different parent. - shadowRoot = Instantiate(this.gameObject); - Destroy(shadowRoot.GetComponent()); - - // Prepare shadow gameObject's properties. - var shadowRootTransform = shadowRoot.transform; - shadowRootTransform.position = transform.position; - shadowRootTransform.rotation = transform.rotation; - - Vector3 scaleRef = transform.TransformPoint(Vector3.right); - float scale = Vector3.Distance(transform.position, scaleRef); - shadowRootTransform.localScale = Vector3.one; - - if (!detachedShadow) { - // Do not change to null coalescing operator (??). Unity overloads null checks for UnityEngine.Objects but not the ?? operator. - if (parent == null) - shadowRootTransform.parent = transform.root; - else - shadowRootTransform.parent = parent; - } - - if (hideShadow) - shadowRoot.hideFlags = HideFlags.HideInHierarchy; - - var shadowJoints = shadowRoot.GetComponentsInChildren(); - foreach (Joint j in shadowJoints) - j.connectedAnchor *= scale; - - // Build list of bone pairs (matches shadow transforms with bone transforms) - var bones = GetComponentsInChildren(); - var shadowBones = shadowRoot.GetComponentsInChildren(); - foreach (var b in bones) { - if (b.gameObject == this.gameObject) - continue; - - System.Type checkType = (physicsSystem == PhysicsSystem.Physics2D) ? typeof(Rigidbody2D) : typeof(Rigidbody); - foreach (var sb in shadowBones) { - if (sb.GetComponent(checkType) != null && sb.boneName == b.boneName) { - shadowTable.Add(new TransformPair { - dest = b.transform, - src = sb.transform - }); - break; - } - } - - } - - // Destroy conflicting and unneeded components - DestroyComponents(shadowBones); - - DestroyComponents(GetComponentsInChildren()); - DestroyComponents(GetComponentsInChildren()); - DestroyComponents(GetComponentsInChildren()); - } - - static void DestroyComponents (Component[] components) { - for (int i = 0, n = components.Length; i < n; i++) - Destroy(components[i]); - } - - void FixedUpdate () { - if (physicsSystem == PhysicsSystem.Physics2D) { - var shadowRootRigidbody = shadowRoot.GetComponent(); - shadowRootRigidbody.MovePosition(transform.position); - shadowRootRigidbody.MoveRotation(transform.rotation.eulerAngles.z); - } else { - var shadowRootRigidbody = shadowRoot.GetComponent(); - shadowRootRigidbody.MovePosition(transform.position); - shadowRootRigidbody.MoveRotation(transform.rotation); - } - - for (int i = 0, n = shadowTable.Count; i < n; i++) { - var pair = shadowTable[i]; - pair.dest.localPosition = pair.src.localPosition; - pair.dest.localRotation = pair.src.localRotation; - } - } - } -} diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityKinematicShadow.cs.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityKinematicShadow.cs.meta deleted file mode 100644 index 2b071f3..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SkeletonUtility Modules/SkeletonUtilityKinematicShadow.cs.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: cfeac06b8a6aa1645813700e3e4c0863 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SlotTintBlackFollower.cs b/unity/Assets/Spine Examples/Scripts/Sample Components/SlotTintBlackFollower.cs deleted file mode 100644 index 98feb0f..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SlotTintBlackFollower.cs +++ /dev/null @@ -1,88 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEngine; -using Spine.Unity; - -namespace Spine.Unity.Examples { - - /// - /// Add this component to a Spine GameObject to apply a specific slot's Colors as MaterialProperties. - /// This allows you to apply the two color tint to the whole skeleton and not require the overhead of an extra vertex stream on the mesh. - /// - public class SlotTintBlackFollower : MonoBehaviour { - #region Inspector - /// - /// Serialized name of the slot loaded at runtime. Change the slot field instead of this if you want to change the followed slot at runtime. - [SpineSlot] - [SerializeField] - protected string slotName; - - [SerializeField] - protected string colorPropertyName = "_Color"; - [SerializeField] - protected string blackPropertyName = "_Black"; - #endregion - - public Slot slot; - MeshRenderer mr; - MaterialPropertyBlock mb; - int colorPropertyId, blackPropertyId; - - void Start () { - Initialize(false); - } - - public void Initialize (bool overwrite) { - if (overwrite || mb == null) { - mb = new MaterialPropertyBlock(); - mr = GetComponent(); - slot = GetComponent().Skeleton.FindSlot(slotName); - - colorPropertyId = Shader.PropertyToID(colorPropertyName); - blackPropertyId = Shader.PropertyToID(blackPropertyName); - } - } - - public void Update () { - Slot s = slot; - if (s == null) return; - - mb.SetColor(colorPropertyId, s.GetColor()); - mb.SetColor(blackPropertyId, s.GetColorTintBlack()); - - mr.SetPropertyBlock(mb); - } - - void OnDisable () { - mb.Clear(); - mr.SetPropertyBlock(mb); - } - } -} diff --git a/unity/Assets/Spine Examples/Scripts/Sample Components/SlotTintBlackFollower.cs.meta b/unity/Assets/Spine Examples/Scripts/Sample Components/SlotTintBlackFollower.cs.meta deleted file mode 100644 index 616535b..0000000 --- a/unity/Assets/Spine Examples/Scripts/Sample Components/SlotTintBlackFollower.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 49a62759c814e7a458b9026d504e0898 -timeCreated: 1489227143 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/SpawnFromSkeletonDataExample.cs b/unity/Assets/Spine Examples/Scripts/SpawnFromSkeletonDataExample.cs deleted file mode 100644 index 0887bbc..0000000 --- a/unity/Assets/Spine Examples/Scripts/SpawnFromSkeletonDataExample.cs +++ /dev/null @@ -1,71 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace Spine.Unity.Examples { - public class SpawnFromSkeletonDataExample : MonoBehaviour { - - public SkeletonDataAsset skeletonDataAsset; - [Range(0, 100)] - public int count = 20; - - [SpineAnimation(dataField:"skeletonDataAsset")] - public string startingAnimation; - - IEnumerator Start () { - if (skeletonDataAsset == null) yield break; - skeletonDataAsset.GetSkeletonData(false); // Preload SkeletonDataAsset. - yield return new WaitForSeconds(1f); // Pretend stuff is happening. - - var spineAnimation = skeletonDataAsset.GetSkeletonData(false).FindAnimation(startingAnimation); - for (int i = 0; i < count; i++) { - var sa = SkeletonAnimation.NewSkeletonAnimationGameObject(skeletonDataAsset); // Spawn a new SkeletonAnimation GameObject. - DoExtraStuff(sa, spineAnimation); // optional stuff for fun. - sa.gameObject.name = i.ToString(); - yield return new WaitForSeconds(1f/8f); - } - - } - - void DoExtraStuff (SkeletonAnimation sa, Spine.Animation spineAnimation) { - sa.transform.localPosition = Random.insideUnitCircle * 6f; - sa.transform.SetParent(this.transform, false); - - if (spineAnimation != null) { - sa.Initialize(false); - sa.AnimationState.SetAnimation(0, spineAnimation, true); - } - } - - } - -} diff --git a/unity/Assets/Spine Examples/Scripts/SpawnFromSkeletonDataExample.cs.meta b/unity/Assets/Spine Examples/Scripts/SpawnFromSkeletonDataExample.cs.meta deleted file mode 100644 index 2bcff9b..0000000 --- a/unity/Assets/Spine Examples/Scripts/SpawnFromSkeletonDataExample.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: 7193e2e00836b124191dcae19e6c9741 -timeCreated: 1500249330 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Scripts/SpawnSkeletonGraphicExample.cs b/unity/Assets/Spine Examples/Scripts/SpawnSkeletonGraphicExample.cs deleted file mode 100644 index 69d19e1..0000000 --- a/unity/Assets/Spine Examples/Scripts/SpawnSkeletonGraphicExample.cs +++ /dev/null @@ -1,62 +0,0 @@ -/****************************************************************************** - * Spine Runtimes License Agreement - * Last updated January 1, 2020. Replaces all prior versions. - * - * Copyright (c) 2013-2020, Esoteric Software LLC - * - * Integration of the Spine Runtimes into software or otherwise creating - * derivative works of the Spine Runtimes is permitted under the terms and - * conditions of Section 2 of the Spine Editor License Agreement: - * http://esotericsoftware.com/spine-editor-license - * - * Otherwise, it is permitted to integrate the Spine Runtimes into software - * or otherwise create derivative works of the Spine Runtimes (collectively, - * "Products"), provided that each user of the Products must obtain their own - * Spine Editor license and redistribution of the Products in any form must - * include this license and copyright notice. - * - * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, - * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace Spine.Unity.Examples { - public class SpawnSkeletonGraphicExample : MonoBehaviour { - - public SkeletonDataAsset skeletonDataAsset; - - [SpineAnimation(dataField: "skeletonDataAsset")] - public string startingAnimation; - - [SpineSkin(dataField: "skeletonDataAsset")] - public string startingSkin = "base"; - public Material skeletonGraphicMaterial; - - IEnumerator Start () { - if (skeletonDataAsset == null) yield break; - skeletonDataAsset.GetSkeletonData(false); // Preload SkeletonDataAsset. - yield return new WaitForSeconds(1f); // Pretend stuff is happening. - - var sg = SkeletonGraphic.NewSkeletonGraphicGameObject(skeletonDataAsset, this.transform, skeletonGraphicMaterial); // Spawn a new SkeletonGraphic GameObject. - sg.gameObject.name = "SkeletonGraphic Instance"; - - // Extra Stuff - sg.Initialize(false); - sg.Skeleton.SetSkin(startingSkin); - sg.Skeleton.SetSlotsToSetupPose(); - sg.AnimationState.SetAnimation(0, startingAnimation, true); - } - } - -} diff --git a/unity/Assets/Spine Examples/Scripts/SpawnSkeletonGraphicExample.cs.meta b/unity/Assets/Spine Examples/Scripts/SpawnSkeletonGraphicExample.cs.meta deleted file mode 100644 index 987626d..0000000 --- a/unity/Assets/Spine Examples/Scripts/SpawnSkeletonGraphicExample.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: dd4ba29b300e5cc408471ea14fa3551a -timeCreated: 1547045161 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Sound.meta b/unity/Assets/Spine Examples/Sound.meta deleted file mode 100644 index f57fc03..0000000 --- a/unity/Assets/Spine Examples/Sound.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: ab51e7c76aeecdb4cab94e4cad31b50f -folderAsset: yes -DefaultImporter: - userData: diff --git a/unity/Assets/Spine Examples/Spine Skeletons.meta b/unity/Assets/Spine Examples/Spine Skeletons.meta deleted file mode 100644 index 830ab7a..0000000 --- a/unity/Assets/Spine Examples/Spine Skeletons.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: 953a9308be1797d43b7a6863ba2242d8 -folderAsset: yes -DefaultImporter: - userData: diff --git a/unity/Assets/Spine Examples/Spine Skeletons/spineboy-pro/ReferenceAssets/shoot.asset b/unity/Assets/Spine Examples/Spine Skeletons/spineboy-pro/ReferenceAssets/shoot.asset deleted file mode 100644 index 18b2256..0000000 --- a/unity/Assets/Spine Examples/Spine Skeletons/spineboy-pro/ReferenceAssets/shoot.asset +++ /dev/null @@ -1,15 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6e3e95a05e4c9774397eeeb7bdee8ccb, type: 3} - m_Name: shoot - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: af38a3de26ed9b84abc2fe7c7f3b209d, type: 2} - animationName: shoot diff --git a/unity/Assets/Spine Examples/Spine Skeletons/spineboy-pro/ReferenceAssets/shoot.asset.meta b/unity/Assets/Spine Examples/Spine Skeletons/spineboy-pro/ReferenceAssets/shoot.asset.meta deleted file mode 100644 index 9ec1ace..0000000 --- a/unity/Assets/Spine Examples/Spine Skeletons/spineboy-pro/ReferenceAssets/shoot.asset.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 29de7da3aa10f4047bb89d253e6cf3af -timeCreated: 1583837496 -licenseType: Pro -NativeFormatImporter: - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Spine Examples/Spine Skeletons/spineboy-unity/ReferenceAssets/shoot.asset b/unity/Assets/Spine Examples/Spine Skeletons/spineboy-unity/ReferenceAssets/shoot.asset deleted file mode 100644 index 024af55..0000000 --- a/unity/Assets/Spine Examples/Spine Skeletons/spineboy-unity/ReferenceAssets/shoot.asset +++ /dev/null @@ -1,15 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6e3e95a05e4c9774397eeeb7bdee8ccb, type: 3} - m_Name: shoot - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: a467507a4ffb1d542a558739b2fede77, type: 2} - animationName: shoot diff --git a/unity/Assets/Spine Examples/Spine Skeletons/spineboy-unity/ReferenceAssets/shoot.asset.meta b/unity/Assets/Spine Examples/Spine Skeletons/spineboy-unity/ReferenceAssets/shoot.asset.meta deleted file mode 100644 index c7eb234..0000000 --- a/unity/Assets/Spine Examples/Spine Skeletons/spineboy-unity/ReferenceAssets/shoot.asset.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 6d4c548ed1818024bb6ed2ee16dbfc40 -timeCreated: 1523317353 -licenseType: Free -NativeFormatImporter: - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/unity/Assets/Resources/Sound.meta b/unity/Assets/TextMesh Pro/Shaders.meta similarity index 77% rename from unity/Assets/Resources/Sound.meta rename to unity/Assets/TextMesh Pro/Shaders.meta index f65bd1e..29a90a6 100644 --- a/unity/Assets/Resources/Sound.meta +++ b/unity/Assets/TextMesh Pro/Shaders.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7d24c25796f7d5b46bf2e1d23db91c25 +guid: e9f693669af91aa45ad615fc681ed29f folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/unity/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json b/unity/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json new file mode 100644 index 0000000..3c7b4c1 --- /dev/null +++ b/unity/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json @@ -0,0 +1,5 @@ +{ + "m_Dictionary": { + "m_DictionaryValues": [] + } +} \ No newline at end of file diff --git a/unity/ProjectSettings/SceneTemplateSettings.json b/unity/ProjectSettings/SceneTemplateSettings.json index 6f3e60f..5e97f83 100644 --- a/unity/ProjectSettings/SceneTemplateSettings.json +++ b/unity/ProjectSettings/SceneTemplateSettings.json @@ -4,164 +4,118 @@ { "userAdded": false, "type": "UnityEngine.AnimationClip", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true + "defaultInstantiationMode": 0 }, { "userAdded": false, "type": "UnityEditor.Animations.AnimatorController", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true + "defaultInstantiationMode": 0 }, { "userAdded": false, "type": "UnityEngine.AnimatorOverrideController", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true + "defaultInstantiationMode": 0 }, { "userAdded": false, "type": "UnityEditor.Audio.AudioMixerController", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true + "defaultInstantiationMode": 0 }, { "userAdded": false, "type": "UnityEngine.ComputeShader", - "ignore": true, - "defaultInstantiationMode": 1, - "supportsModification": true + "defaultInstantiationMode": 1 }, { "userAdded": false, "type": "UnityEngine.Cubemap", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true + "defaultInstantiationMode": 0 }, { "userAdded": false, "type": "UnityEngine.GameObject", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true + "defaultInstantiationMode": 0 }, { "userAdded": false, "type": "UnityEditor.LightingDataAsset", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": false + "defaultInstantiationMode": 0 }, { "userAdded": false, "type": "UnityEngine.LightingSettings", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true + "defaultInstantiationMode": 0 }, { "userAdded": false, "type": "UnityEngine.Material", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true + "defaultInstantiationMode": 0 }, { "userAdded": false, "type": "UnityEditor.MonoScript", - "ignore": true, - "defaultInstantiationMode": 1, - "supportsModification": true + "defaultInstantiationMode": 1 }, { "userAdded": false, "type": "UnityEngine.PhysicMaterial", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true + "defaultInstantiationMode": 0 }, { "userAdded": false, "type": "UnityEngine.PhysicsMaterial2D", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true + "defaultInstantiationMode": 0 }, { "userAdded": false, "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true + "defaultInstantiationMode": 0 }, { "userAdded": false, "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true + "defaultInstantiationMode": 0 }, { "userAdded": false, "type": "UnityEngine.Rendering.VolumeProfile", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true + "defaultInstantiationMode": 0 }, { "userAdded": false, "type": "UnityEditor.SceneAsset", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": false + "defaultInstantiationMode": 1 }, { "userAdded": false, "type": "UnityEngine.Shader", - "ignore": true, - "defaultInstantiationMode": 1, - "supportsModification": true + "defaultInstantiationMode": 1 }, { "userAdded": false, "type": "UnityEngine.ShaderVariantCollection", - "ignore": true, - "defaultInstantiationMode": 1, - "supportsModification": true + "defaultInstantiationMode": 1 }, { "userAdded": false, "type": "UnityEngine.Texture", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true + "defaultInstantiationMode": 0 }, { "userAdded": false, "type": "UnityEngine.Texture2D", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true + "defaultInstantiationMode": 0 }, { "userAdded": false, "type": "UnityEngine.Timeline.TimelineAsset", - "ignore": false, - "defaultInstantiationMode": 0, - "supportsModification": true + "defaultInstantiationMode": 0 } ], "defaultDependencyTypeInfo": { "userAdded": false, "type": "", - "ignore": false, - "defaultInstantiationMode": 1, - "supportsModification": true + "defaultInstantiationMode": 1 }, "newSceneOverride": 0 } \ No newline at end of file diff --git a/unity/ProjectSettings/ShaderGraphSettings.asset b/unity/ProjectSettings/ShaderGraphSettings.asset index 72599e1..960cfd2 100644 --- a/unity/ProjectSettings/ShaderGraphSettings.asset +++ b/unity/ProjectSettings/ShaderGraphSettings.asset @@ -2,7 +2,7 @@ %TAG !u! tag:yousandi.cn,2023: --- !u!114 &1 MonoBehaviour: - m_ObjectHideFlags: 61 + m_ObjectHideFlags: 53 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} diff --git a/unity/UserSettings/Search.index b/unity/UserSettings/Search.index deleted file mode 100644 index 4b70da6..0000000 --- a/unity/UserSettings/Search.index +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "Assets", - "roots": ["Assets"], - "includes": [], - "excludes": ["Assets/Temp/", "Assets/External/"], - "options": { - "types": true, - "properties": true, - "extended": false, - "dependencies": false - }, - "baseScore": 999 -} \ No newline at end of file diff --git a/unity/UserSettings/Search.settings b/unity/UserSettings/Search.settings index b0d87b2..9e26dfe 100644 --- a/unity/UserSettings/Search.settings +++ b/unity/UserSettings/Search.settings @@ -1,76 +1 @@ -trackSelection = true -refreshSearchWindowsInPlayMode = false -pickerAdvancedUI = false -fetchPreview = true -defaultFlags = 0 -keepOpen = true -queryFolder = "Assets" -onBoardingDoNotAskAgain = true -showPackageIndexes = false -showStatusBar = false -scopes = { -} -providers = { - asset = { - active = true - priority = 25 - defaultAction = null - } - scene = { - active = true - priority = 50 - defaultAction = null - } - adb = { - active = false - priority = 2500 - defaultAction = null - } - find = { - active = true - priority = 25 - defaultAction = null - } - packages = { - active = false - priority = 90 - defaultAction = null - } - store = { - active = false - priority = 100 - defaultAction = null - } - performance = { - active = false - priority = 100 - defaultAction = null - } - profilermarkers = { - active = false - priority = 100 - defaultAction = null - } - log = { - active = false - priority = 210 - defaultAction = null - } -} -objectSelectors = { -} -recentSearches = [ -] -searchItemFavorites = [ -] -savedSearchesSortOrder = 0 -showSavedSearchPanel = false -hideTabs = false -expandedQueries = [ -] -queryBuilder = true -ignoredProperties = "id;name;classname;imagecontentshash" -helperWidgetCurrentArea = "all" -disabledIndexers = "" -minIndexVariations = 2 -findProviderIndexHelper = true \ No newline at end of file +{} \ No newline at end of file