From 1ddaa812727b64a693aca0c2c772b839d8617c5d Mon Sep 17 00:00:00 2001 From: John Date: Thu, 20 Jul 2017 13:54:17 +0800 Subject: [PATCH 01/13] [unity] Minor rename of local. --- .../Assets/spine-unity/Mesh Generation/SpineMesh.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/spine-unity/Assets/spine-unity/Mesh Generation/SpineMesh.cs b/spine-unity/Assets/spine-unity/Mesh Generation/SpineMesh.cs index f910885af..16060da32 100644 --- a/spine-unity/Assets/spine-unity/Mesh Generation/SpineMesh.cs +++ b/spine-unity/Assets/spine-unity/Mesh Generation/SpineMesh.cs @@ -502,16 +502,16 @@ namespace Spine.Unity { } else { var mesh = attachment as MeshAttachment; if (mesh != null) { - int meshVertexCount = mesh.worldVerticesLength; - if (workingVerts.Length < meshVertexCount) { - workingVerts = new float[meshVertexCount]; + int meshVerticesLength = mesh.worldVerticesLength; + if (workingVerts.Length < meshVerticesLength) { + workingVerts = new float[meshVerticesLength]; this.tempVerts = workingVerts; } - mesh.ComputeWorldVertices(slot, 0, meshVertexCount, workingVerts, 0); //meshAttachment.ComputeWorldVertices(slot, tempVerts); + mesh.ComputeWorldVertices(slot, 0, meshVerticesLength, workingVerts, 0); //meshAttachment.ComputeWorldVertices(slot, tempVerts); uvs = mesh.uvs; attachmentTriangleIndices = mesh.triangles; c.r = mesh.r; c.g = mesh.g; c.b = mesh.b; c.a = mesh.a; - attachmentVertexCount = meshVertexCount >> 1; // meshVertexCount / 2; + attachmentVertexCount = meshVerticesLength >> 1; // meshVertexCount / 2; attachmentIndexCount = mesh.triangles.Length; } else { if (useClipping) { From e4baef5622f0ad11a2134c7f8eb31a4459847a20 Mon Sep 17 00:00:00 2001 From: pharan Date: Thu, 20 Jul 2017 14:21:38 +0800 Subject: [PATCH 02/13] [unity] Allow 3.5 jsons. --- .../Assets/spine-unity/Editor/SpineEditorUtilities.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs index 52a414894..fd7a31fc3 100644 --- a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs +++ b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs @@ -1213,7 +1213,7 @@ namespace Spine.Unity.Editor { #endregion #region Checking Methods - static int[][] compatibleVersions = { new[] {3, 6, 0} }; + static int[][] compatibleVersions = { new[] {3, 6, 0}, new[] {3, 5, 0} }; //static bool isFixVersionRequired = false; static bool CheckForValidSkeletonData (string skeletonJSONPath) { @@ -1272,10 +1272,10 @@ namespace Spine.Unity.Editor { // Version warning if (isSpineData) { - string runtimeVersion = compatibleVersions[0][0] + "." + compatibleVersions[0][1]; + string runtimeVersionDebugString = compatibleVersions[0][0] + "." + compatibleVersions[0][1]; if (string.IsNullOrEmpty(rawVersion)) { - Debug.LogWarningFormat("Skeleton '{0}' has no version information. It may be incompatible with your runtime version: spine-unity v{1}", asset.name, runtimeVersion); + Debug.LogWarningFormat("Skeleton '{0}' has no version information. It may be incompatible with your runtime version: spine-unity v{1}", asset.name, runtimeVersionDebugString); } else { string[] versionSplit = rawVersion.Split('.'); bool match = false; @@ -1292,7 +1292,7 @@ namespace Spine.Unity.Editor { } if (!match) - Debug.LogWarningFormat("Skeleton '{0}' (exported with Spine {1}) may be incompatible with your runtime version: spine-unity v{2}", asset.name, rawVersion, runtimeVersion); + Debug.LogWarningFormat("Skeleton '{0}' (exported with Spine {1}) may be incompatible with your runtime version: spine-unity v{2}", asset.name, rawVersion, runtimeVersionDebugString); } } From 972e72848a92e48f985bee28bd2fb203d07e60f6 Mon Sep 17 00:00:00 2001 From: pharan Date: Thu, 20 Jul 2017 14:22:06 +0800 Subject: [PATCH 03/13] [unity] Clean up BuildTargetGroup check. --- .../spine-unity/Editor/SpineEditorUtilities.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs index fd7a31fc3..9f4cb07ba 100644 --- a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs +++ b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs @@ -1476,11 +1476,18 @@ namespace Spine.Unity.Editor { #region TK2D Support const string SPINE_TK2D_DEFINE = "SPINE_TK2D"; + static bool IsInvalidGroup (BuildTargetGroup group) { + int gi = (int)group; + return + gi == 15 || gi == 16 + || + group == BuildTargetGroup.Unknown; + } + static void EnableTK2D () { bool added = false; foreach (BuildTargetGroup group in System.Enum.GetValues(typeof(BuildTargetGroup))) { - int gi = (int)group; - if (gi == 15 || gi == 16 || group == BuildTargetGroup.Unknown) + if (IsInvalidGroup(group)) continue; string defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(group); @@ -1506,8 +1513,7 @@ namespace Spine.Unity.Editor { static void DisableTK2D () { bool removed = false; foreach (BuildTargetGroup group in System.Enum.GetValues(typeof(BuildTargetGroup))) { - int gi = (int)group; - if (gi == 15 || gi == 16 || group == BuildTargetGroup.Unknown) + if (IsInvalidGroup(group)) continue; string defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(group); From fcb9980a4b8fa9dc28b8d8f70d2c71ac4b38e38f Mon Sep 17 00:00:00 2001 From: pharan Date: Thu, 20 Jul 2017 14:22:41 +0800 Subject: [PATCH 04/13] [unity] Fix runtime AtlasAsset generation. --- .../spine-unity/Asset Types/AtlasAsset.cs | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/spine-unity/Assets/spine-unity/Asset Types/AtlasAsset.cs b/spine-unity/Assets/spine-unity/Asset Types/AtlasAsset.cs index 5eb5b87f1..80bc8f5e6 100644 --- a/spine-unity/Assets/spine-unity/Asset Types/AtlasAsset.cs +++ b/spine-unity/Assets/spine-unity/Asset Types/AtlasAsset.cs @@ -60,10 +60,7 @@ namespace Spine.Unity { /// /// Creates a runtime AtlasAsset. Only providing the textures is slower because it has to search for atlas page matches. - public static AtlasAsset CreateRuntimeInstance (TextAsset atlasText, Texture2D[] textures, Shader shader, bool initialize) { - if (shader == null) - shader = Shader.Find("Spine/Skeleton"); - + public static AtlasAsset CreateRuntimeInstance (TextAsset atlasText, Texture2D[] textures, Material materialPropertySource, bool initialize) { // Get atlas page names. string atlasString = atlasText.text; atlasString = atlasString.Replace("\r", ""); @@ -84,7 +81,7 @@ namespace Spine.Unity { for (int j = 0, m = textures.Length; j < m; j++) { if (string.Equals(pageName, textures[j].name, System.StringComparison.OrdinalIgnoreCase)) { // Match found. - mat = new Material(shader); + mat = new Material(materialPropertySource); mat.mainTexture = textures[j]; break; } @@ -102,14 +99,12 @@ namespace Spine.Unity { /// /// Creates a runtime AtlasAsset. Only providing the textures is slower because it has to search for atlas page matches. - public static AtlasAsset CreateRuntimeInstance (TextAsset atlasText, Texture2D[] textures, Material materialPropertySource, bool initialize) { - var shader = materialPropertySource.shader; - var oa = CreateRuntimeInstance(atlasText, textures, shader, initialize); + public static AtlasAsset CreateRuntimeInstance (TextAsset atlasText, Texture2D[] textures, Shader shader, bool initialize) { + if (shader == null) + shader = Shader.Find("Spine/Skeleton"); - foreach (var m in oa.materials) { - m.CopyPropertiesFromMaterial(materialPropertySource); - m.shaderKeywords = materialPropertySource.shaderKeywords; - } + Material materialProperySource = new Material(shader); + var oa = CreateRuntimeInstance(atlasText, textures, materialProperySource, initialize); return oa; } From 46c6bc321108cff294caed08515e1c8ebde99e90 Mon Sep 17 00:00:00 2001 From: pharan Date: Thu, 20 Jul 2017 14:29:56 +0800 Subject: [PATCH 05/13] [unity] Repacking now caches texture clones. This improves multiple subsequent repacking performance, but requires calling SpriteAtlasRegionExtensions.ClearCache to clean up. --- .../AttachmentTools/AttachmentTools.cs | 44 +++++++++++++------ 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/spine-unity/Assets/spine-unity/Modules/AttachmentTools/AttachmentTools.cs b/spine-unity/Assets/spine-unity/Modules/AttachmentTools/AttachmentTools.cs index 466059fdb..163e1ba52 100644 --- a/spine-unity/Assets/spine-unity/Modules/AttachmentTools/AttachmentTools.cs +++ b/spine-unity/Assets/spine-unity/Modules/AttachmentTools/AttachmentTools.cs @@ -469,9 +469,9 @@ namespace Spine.Unity.Modules.AttachmentTools { a.SetRegion(repackedRegions[regionIndexes[i]]); } - // Clean up - foreach (var ttp in texturesToPack) - UnityEngine.Object.Destroy(ttp); +// // Clean up +// foreach (var ttp in texturesToPack) +// UnityEngine.Object.Destroy(ttp); t = newTexture; m = newMaterial; @@ -482,20 +482,38 @@ namespace Spine.Unity.Modules.AttachmentTools { return Sprite.Create(ar.GetMainTexture(), ar.GetUnityRect(), new Vector2(0.5f, 0.5f), pixelsPerUnit); } + static Dictionary CachedRegionTextures = new Dictionary(); + static List CachedRegionTexturesList = new List(); + + public static void ClearCache () { + foreach (var t in CachedRegionTexturesList) { + UnityEngine.Object.Destroy(t); + } + CachedRegionTextures.Clear(); + CachedRegionTexturesList.Clear(); + } + /// Creates a new Texture2D object based on an AtlasRegion. /// If applyImmediately is true, Texture2D.Apply is called immediately after the Texture2D is filled with data. public static Texture2D ToTexture (this AtlasRegion ar, bool applyImmediately = true, TextureFormat textureFormat = SpineTextureFormat, bool mipmaps = UseMipMaps) { - Texture2D sourceTexture = ar.GetMainTexture(); - Rect r = ar.GetUnityRect(sourceTexture.height); - int width = (int)r.width; - int height = (int)r.height; - Texture2D output = new Texture2D(width, height, textureFormat, mipmaps); - output.name = ar.name; - Color[] pixelBuffer = sourceTexture.GetPixels((int)r.x, (int)r.y, width, height); - output.SetPixels(pixelBuffer); + Texture2D output; - if (applyImmediately) - output.Apply(); + CachedRegionTextures.TryGetValue(ar, out output); + if (output == null) { + Texture2D sourceTexture = ar.GetMainTexture(); + Rect r = ar.GetUnityRect(sourceTexture.height); + int width = (int)r.width; + int height = (int)r.height; + output = new Texture2D(width, height, textureFormat, mipmaps); + output.name = ar.name; + Color[] pixelBuffer = sourceTexture.GetPixels((int)r.x, (int)r.y, width, height); + output.SetPixels(pixelBuffer); + CachedRegionTextures.Add(ar, output); + CachedRegionTexturesList.Add(output); + + if (applyImmediately) + output.Apply(); + } return output; } From 998a1b1d94af1acc0edc99244ed6b2a1c4119632 Mon Sep 17 00:00:00 2001 From: pharan Date: Thu, 20 Jul 2017 14:31:15 +0800 Subject: [PATCH 06/13] [unity] Updated examples. --- .../Instantiate from Script.unity | 288 ++++++++++++++++++ .../Instantiate from Script.unity.meta | 8 + .../Scripts/DataAssetsFromExportsExample.cs | 44 +++ .../DataAssetsFromExportsExample.cs.meta | 12 + .../Assets/Examples/Scripts/MixAndMatch.cs | 35 ++- .../Scripts/SpawnFromSkeletonDataExample.cs | 42 +++ .../SpawnFromSkeletonDataExample.cs.meta | 12 + .../Spine/Dragon/dragon_SkeletonData.asset | 2 +- .../Spine/Runtime Template Material.mat | 76 +++++ .../Spine/Runtime Template Material.mat.meta | 9 + 10 files changed, 509 insertions(+), 19 deletions(-) create mode 100644 spine-unity/Assets/Examples/Other Examples/Instantiate from Script.unity create mode 100644 spine-unity/Assets/Examples/Other Examples/Instantiate from Script.unity.meta create mode 100644 spine-unity/Assets/Examples/Scripts/DataAssetsFromExportsExample.cs create mode 100644 spine-unity/Assets/Examples/Scripts/DataAssetsFromExportsExample.cs.meta create mode 100644 spine-unity/Assets/Examples/Scripts/SpawnFromSkeletonDataExample.cs create mode 100644 spine-unity/Assets/Examples/Scripts/SpawnFromSkeletonDataExample.cs.meta create mode 100644 spine-unity/Assets/Examples/Spine/Runtime Template Material.mat create mode 100644 spine-unity/Assets/Examples/Spine/Runtime Template Material.mat.meta diff --git a/spine-unity/Assets/Examples/Other Examples/Instantiate from Script.unity b/spine-unity/Assets/Examples/Other Examples/Instantiate from Script.unity new file mode 100644 index 000000000..aa6afdda8 --- /dev/null +++ b/spine-unity/Assets/Examples/Other Examples/Instantiate from Script.unity @@ -0,0 +1,288 @@ +%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: 9 + 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: 8 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 3 + 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_ShadowMaskMode: 2 +--- !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 &433620963 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 433620968} + - component: {fileID: 433620967} + - component: {fileID: 433620966} + - component: {fileID: 433620965} + - component: {fileID: 433620964} + 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 &433620964 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 433620963} + m_Enabled: 1 +--- !u!124 &433620965 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 433620963} + m_Enabled: 1 +--- !u!92 &433620966 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 433620963} + m_Enabled: 1 +--- !u!20 &433620967 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 433620963} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + 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: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &433620968 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 433620963} + 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 &651278528 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 651278530} + - component: {fileID: 651278529} + m_Layer: 0 + m_Name: 2 DataAssets from Exports + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &651278529 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 651278528} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bb0837af7345d504db63d0c662fd12dc, type: 3} + m_Name: + m_EditorClassIdentifier: + skeletonJson: {fileID: 4900000, guid: e3b64d7eaf0de4e45a00b7065166554d, type: 3} + atlasText: {fileID: 4900000, guid: 5c0a5c36970a46e4d8378760ab4a4cfc, type: 3} + textures: + - {fileID: 2800000, guid: 49bb65eefe08e424bbf7a38bc98ec638, type: 3} + materialPropertySource: {fileID: 2100000, guid: 365eb017d7ae7134d820c8b808eeb121, + type: 2} +--- !u!4 &651278530 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 651278528} + 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: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1807176298 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1807176300} + - component: {fileID: 1807176299} + m_Layer: 0 + m_Name: 1 Spawn from SkeletonData + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1807176299 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1807176298} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7193e2e00836b124191dcae19e6c9741, type: 3} + m_Name: + m_EditorClassIdentifier: + skeletonDataAsset: {fileID: 11400000, guid: 57484171e9b9c7243aa3117bc663e7b9, type: 2} + count: 50 + startingAnimation: animation +--- !u!4 &1807176300 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1807176298} + 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: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/spine-unity/Assets/Examples/Other Examples/Instantiate from Script.unity.meta b/spine-unity/Assets/Examples/Other Examples/Instantiate from Script.unity.meta new file mode 100644 index 000000000..c684a77a8 --- /dev/null +++ b/spine-unity/Assets/Examples/Other Examples/Instantiate from Script.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 59dc5776e19e2f041b1cac961a86924f +timeCreated: 1500249265 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Scripts/DataAssetsFromExportsExample.cs b/spine-unity/Assets/Examples/Scripts/DataAssetsFromExportsExample.cs new file mode 100644 index 000000000..c25994a4c --- /dev/null +++ b/spine-unity/Assets/Examples/Scripts/DataAssetsFromExportsExample.cs @@ -0,0 +1,44 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace Spine.Unity.Examples { + public class DataAssetsFromExportsExample : MonoBehaviour { + + public TextAsset skeletonJson; + public TextAsset atlasText; + public Texture2D[] textures; + public Material materialPropertySource; + + AtlasAsset runtimeAtlasAsset; + SkeletonDataAsset runtimeSkeletonDataAsset; + SkeletonAnimation runtimeSkeletonAnimation; + + void CreateRuntimeAssetsAndGameObject () { + // 1. Create the AtlasAsset (needs atlas text asset and textures, and materials/shader); + // 2. Create SkeletonDataAsset (needs json or binary asset file, and an AtlasAsset) + // 3. Create SkeletonAnimation (needs a valid SkeletonDataAsset) + + runtimeAtlasAsset = AtlasAsset.CreateRuntimeInstance(atlasText, textures, materialPropertySource, true); + runtimeSkeletonDataAsset = SkeletonDataAsset.CreateRuntimeInstance(skeletonJson, runtimeAtlasAsset, true); + } + + IEnumerator Start () { + CreateRuntimeAssetsAndGameObject(); + runtimeSkeletonDataAsset.GetSkeletonData(false); // preload. + yield return new WaitForSeconds(0.5f); + + runtimeSkeletonAnimation = SkeletonAnimation.NewSkeletonAnimationGameObject(runtimeSkeletonDataAsset); + + // Extra Stuff + runtimeSkeletonAnimation.Initialize(false); + runtimeSkeletonAnimation.Skeleton.SetSkin("base"); + runtimeSkeletonAnimation.Skeleton.SetSlotsToSetupPose(); + runtimeSkeletonAnimation.AnimationState.SetAnimation(0, "run", true); + runtimeSkeletonAnimation.GetComponent().sortingOrder = 10; + runtimeSkeletonAnimation.transform.Translate(Vector3.down * 2); + + } + } + +} diff --git a/spine-unity/Assets/Examples/Scripts/DataAssetsFromExportsExample.cs.meta b/spine-unity/Assets/Examples/Scripts/DataAssetsFromExportsExample.cs.meta new file mode 100644 index 000000000..680fe1127 --- /dev/null +++ b/spine-unity/Assets/Examples/Scripts/DataAssetsFromExportsExample.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bb0837af7345d504db63d0c662fd12dc +timeCreated: 1500249349 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Scripts/MixAndMatch.cs b/spine-unity/Assets/Examples/Scripts/MixAndMatch.cs index 9f0e69ea9..05a1e81e3 100644 --- a/spine-unity/Assets/Examples/Scripts/MixAndMatch.cs +++ b/spine-unity/Assets/Examples/Scripts/MixAndMatch.cs @@ -39,7 +39,7 @@ namespace Spine.Unity.Examples { #region Inspector [SpineSkin] - public string baseSkinName = "base"; + public string templateAttachmentsSkin = "base"; public Material sourceMaterial; // This will be used as the basis for shader and material property settings. [Header("Visor")] @@ -83,26 +83,25 @@ namespace Spine.Unity.Examples { // STEP 0: PREPARE SKINS // Let's prepare a new skin to be our custom skin with equips/customizations. We get a clone so our original skins are unaffected. customSkin = customSkin ?? new Skin("custom skin"); // This requires that all customizations are done with skin placeholders defined in Spine. - //customSkin = customSkin ?? skeleton.UnshareSkin(true, false, skeletonAnimation.AnimationState); // use this if you are not customizing on the default skin and don't plan to remove - // Next let's - var baseSkin = skeleton.Data.FindSkin(baseSkinName); + //customSkin = customSkin ?? skeleton.UnshareSkin(true, false, skeletonAnimation.AnimationState); // use this if you are not customizing on the default skin. + var templateSkin = skeleton.Data.FindSkin(templateAttachmentsSkin); // STEP 1: "EQUIP" ITEMS USING SPRITES - // STEP 1.1 Find the original attachment. - // Step 1.2 Get a clone of the original attachment. + // STEP 1.1 Find the original/template attachment. + // Step 1.2 Get a clone of the original/template attachment. // Step 1.3 Apply the Sprite image to the clone. // Step 1.4 Add the remapped clone to the new custom skin. // Let's do this for the visor. int visorSlotIndex = skeleton.FindSlotIndex(visorSlot); // You can access GetAttachment and SetAttachment via string, but caching the slotIndex is faster. - Attachment baseAttachment = baseSkin.GetAttachment(visorSlotIndex, visorKey); // STEP 1.1 - Attachment newAttachment = baseAttachment.GetRemappedClone(visorSprite, sourceMaterial); // STEP 1.2 - 1.3 + Attachment templateAttachment = templateSkin.GetAttachment(visorSlotIndex, visorKey); // STEP 1.1 + Attachment newAttachment = templateAttachment.GetRemappedClone(visorSprite, sourceMaterial); // STEP 1.2 - 1.3 customSkin.SetAttachment(visorSlotIndex, visorKey, newAttachment); // STEP 1.4 // And now for the gun. int gunSlotIndex = skeleton.FindSlotIndex(gunSlot); - Attachment baseGun = baseSkin.GetAttachment(gunSlotIndex, gunKey); // STEP 1.1 - Attachment newGun = baseGun.GetRemappedClone(gunSprite, sourceMaterial); // STEP 1.2 - 1.3 + Attachment templateGun = templateSkin.GetAttachment(gunSlotIndex, gunKey); // STEP 1.1 + Attachment newGun = templateGun.GetRemappedClone(gunSprite, sourceMaterial); // STEP 1.2 - 1.3 if (newGun != null) customSkin.SetAttachment(gunSlotIndex, gunKey, newGun); // STEP 1.4 // customSkin.RemoveAttachment(gunSlotIndex, gunKey); // To remove an item. @@ -119,17 +118,17 @@ namespace Spine.Unity.Examples { // Under the hood, this relies on if (repack) { var repackedSkin = new Skin("repacked skin"); - repackedSkin.Append(skeleton.Data.DefaultSkin); - repackedSkin.Append(customSkin); - repackedSkin = repackedSkin.GetRepackedSkin("repacked skin", sourceMaterial, out runtimeMaterial, out runtimeAtlas); - skeleton.SetSkin(repackedSkin); + repackedSkin.Append(skeleton.Data.DefaultSkin); // Include the "default" skin. (everything outside of skin placeholders) + repackedSkin.Append(customSkin); // Include your new custom skin. + repackedSkin = repackedSkin.GetRepackedSkin("repacked skin", sourceMaterial, out runtimeMaterial, out runtimeAtlas); // Pack all the items in the skin. + skeleton.SetSkin(repackedSkin); // Assign the repacked skin to your Skeleton. if (bbFollower != null) bbFollower.Initialize(true); } else { - skeleton.SetSkin(customSkin); + skeleton.SetSkin(customSkin); // Just use the custom skin directly. } - - skeleton.SetSlotsToSetupPose(); - skeletonAnimation.Update(0); + + skeleton.SetSlotsToSetupPose(); // Use the pose from setup pose. + skeletonAnimation.Update(0); // Use the pose in the currently active animation. Resources.UnloadUnusedAssets(); } diff --git a/spine-unity/Assets/Examples/Scripts/SpawnFromSkeletonDataExample.cs b/spine-unity/Assets/Examples/Scripts/SpawnFromSkeletonDataExample.cs new file mode 100644 index 000000000..49a57a355 --- /dev/null +++ b/spine-unity/Assets/Examples/Scripts/SpawnFromSkeletonDataExample.cs @@ -0,0 +1,42 @@ +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/spine-unity/Assets/Examples/Scripts/SpawnFromSkeletonDataExample.cs.meta b/spine-unity/Assets/Examples/Scripts/SpawnFromSkeletonDataExample.cs.meta new file mode 100644 index 000000000..2bcff9bec --- /dev/null +++ b/spine-unity/Assets/Examples/Scripts/SpawnFromSkeletonDataExample.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7193e2e00836b124191dcae19e6c9741 +timeCreated: 1500249330 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Spine/Dragon/dragon_SkeletonData.asset b/spine-unity/Assets/Examples/Spine/Dragon/dragon_SkeletonData.asset index 74028988b..5c16dab6d 100644 --- a/spine-unity/Assets/Examples/Spine/Dragon/dragon_SkeletonData.asset +++ b/spine-unity/Assets/Examples/Spine/Dragon/dragon_SkeletonData.asset @@ -13,8 +13,8 @@ MonoBehaviour: m_EditorClassIdentifier: atlasAssets: - {fileID: 11400000, guid: 6f86779b1deba7c4aaec1f5895510b57, type: 2} - skeletonJSON: {fileID: 4900000, guid: 95c98e245823e2243a1d8e7a1ef16c51, type: 3} scale: 0.01 + skeletonJSON: {fileID: 4900000, guid: 95c98e245823e2243a1d8e7a1ef16c51, type: 3} fromAnimation: [] toAnimation: [] duration: [] diff --git a/spine-unity/Assets/Examples/Spine/Runtime Template Material.mat b/spine-unity/Assets/Examples/Spine/Runtime Template Material.mat new file mode 100644 index 000000000..4738491da --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Runtime Template Material.mat @@ -0,0 +1,76 @@ +%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: Runtime Template Material + m_Shader: {fileID: 4800000, guid: 1e8a610c9e01c3648bac42585e5fc676, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + 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 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/spine-unity/Assets/Examples/Spine/Runtime Template Material.mat.meta b/spine-unity/Assets/Examples/Spine/Runtime Template Material.mat.meta new file mode 100644 index 000000000..c8e787cf9 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Runtime Template Material.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 365eb017d7ae7134d820c8b808eeb121 +timeCreated: 1500250447 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: From f3cf2889b6349bcb8b1f6d21f39c20905412be0d Mon Sep 17 00:00:00 2001 From: pharan Date: Thu, 20 Jul 2017 14:32:25 +0800 Subject: [PATCH 07/13] [csharp] Fix whitespace. --- spine-csharp/src/SkeletonClipping.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/spine-csharp/src/SkeletonClipping.cs b/spine-csharp/src/SkeletonClipping.cs index 8d5857a9a..07d052895 100644 --- a/spine-csharp/src/SkeletonClipping.cs +++ b/spine-csharp/src/SkeletonClipping.cs @@ -154,7 +154,7 @@ namespace Spine { clippedUVsItems[s + 2] = u2; clippedUVsItems[s + 3] = v2; clippedUVsItems[s + 4] = u3; - clippedUVsItems[s + 5] = v3; + clippedUVsItems[s + 5] = v3; s = clippedTriangles.Count; int[] clippedTrianglesItems = clippedTriangles.Resize(s + 3).Items; @@ -180,9 +180,9 @@ namespace Spine { if (clippingArea.Count % 4 >= 2) { input = output; output = scratch; - } - else + } else { input = scratch; + } input.Clear(); input.Add(x1); @@ -251,9 +251,9 @@ namespace Spine { for (int i = 0, n = output.Count - 2; i < n; i++) { originalOutput.Add(output.Items[i]); } - } - else + } else { originalOutput.Resize(originalOutput.Count - 2); + } return clipped; } From 75d004a2e775436ad3c0ddb0265861d90c0035a4 Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Thu, 20 Jul 2017 11:37:58 +0200 Subject: [PATCH 08/13] Update README.md --- spine-ue4/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spine-ue4/README.md b/spine-ue4/README.md index d91730ec3..c292d028a 100644 --- a/spine-ue4/README.md +++ b/spine-ue4/README.md @@ -21,7 +21,7 @@ spine-ue4 does not support multiply and screen blending. spine-ue4 does not supp 1. Create a new Unreal Engine code project. You don't need to write C++, but the code project is needed for the plugin to compile. See the [Unreal Engine documentation](https://docs.unrealengine.com/latest/INT/) or have a look at the example in this repository. 2. Download the Spine Runtimes source using git (`git clone https://github.com/esotericsoftware/spine-runtimes`) or download it [as a zip](https://github.com/EsotericSoftware/spine-runtimes/archive/3.6.zip) 3. Copy the `Plugins` folder from this directory to your new project's root directory. -4. Copy the `spine-c` folder from this repositories root directory to your project's `Plugins/SpinePlugin/Sources/SpinePlugin/Public/` directory. +4. Copy the folder `spine-runtimes/spine-c/spine-c` to your project's `Plugins/SpinePlugin/Source/SpinePlugin/Public/` folder. 5. Open the Unreal Project in the Unreal Editor See the [Spine Runtimes documentation](http://esotericsoftware.com/spine-documentation#runtimesTitle) on how to use the APIs or check out the Spine UE4 example. From ca9f46d92bafb1eb4346bc1558ab2696367dd661 Mon Sep 17 00:00:00 2001 From: pharan Date: Thu, 20 Jul 2017 19:03:11 +0800 Subject: [PATCH 09/13] [csharp] Fix (IS_UNITY) symbol. --- spine-csharp/src/Atlas.cs | 8 ++++++-- spine-csharp/src/SkeletonBinary.cs | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/spine-csharp/src/Atlas.cs b/spine-csharp/src/Atlas.cs index 7701c1831..04f2c5755 100644 --- a/spine-csharp/src/Atlas.cs +++ b/spine-csharp/src/Atlas.cs @@ -28,6 +28,10 @@ * 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.Collections.Generic; using System.IO; @@ -44,7 +48,7 @@ namespace Spine { List regions = new List(); TextureLoader textureLoader; - #if !(UNITY_5 || UNITY_4 || UNITY_WSA || UNITY_WP8 || UNITY_WP8_1) // !UNITY + #if !(IS_UNITY) #if WINDOWS_STOREAPP private async Task ReadFile(string path, TextureLoader textureLoader) { var folder = Windows.ApplicationModel.Package.Current.InstalledLocation; @@ -82,7 +86,7 @@ namespace Spine { } #endif // WINDOWS_STOREAPP - #endif // !(UNITY) + #endif public Atlas (TextReader reader, string dir, TextureLoader textureLoader) { Load(reader, dir, textureLoader); diff --git a/spine-csharp/src/SkeletonBinary.cs b/spine-csharp/src/SkeletonBinary.cs index cb3629c2e..bbb17efdc 100644 --- a/spine-csharp/src/SkeletonBinary.cs +++ b/spine-csharp/src/SkeletonBinary.cs @@ -28,7 +28,7 @@ * POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ -#if (UNITY_5 || UNITY_4_0 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_WSA || UNITY_WP8 || UNITY_WP8_1) +#if (UNITY_5 || UNITY_5_3_OR_NEWER || UNITY_WSA || UNITY_WP8 || UNITY_WP8_1) #define IS_UNITY #endif From a5d2519f862bac650d5e67aff65e53d529db3813 Mon Sep 17 00:00:00 2001 From: badlogic Date: Fri, 21 Jul 2017 15:54:55 +0200 Subject: [PATCH 10/13] [xna] Added SkeletonDebugRenderer, modified sample to reproduce clipping issue. --- .gitignore | 1 + CHANGELOG.md | 1 + spine-csharp/src/SkeletonClipping.cs | 2 +- spine-csharp/src/Triangulator.cs | 2 +- spine-xna/example/data/skeleton.atlas | 13 + spine-xna/example/data/skeleton.json | 3938 ++++++++++++++++++++ spine-xna/example/data/skeleton.png | Bin 0 -> 4657 bytes spine-xna/example/spine-xna-example.csproj | 9 + spine-xna/example/src/ExampleGame.cs | 30 +- spine-xna/spine-xna.csproj | 2 + spine-xna/src/ShapeRenderer.cs | 167 + spine-xna/src/SkeletonDebugRenderer.cs | 224 ++ spine-xna/src/Util.cs | 6 +- 13 files changed, 4384 insertions(+), 11 deletions(-) create mode 100644 spine-xna/example/data/skeleton.atlas create mode 100644 spine-xna/example/data/skeleton.json create mode 100644 spine-xna/example/data/skeleton.png create mode 100644 spine-xna/src/ShapeRenderer.cs create mode 100644 spine-xna/src/SkeletonDebugRenderer.cs diff --git a/.gitignore b/.gitignore index cd1357110..083184f9c 100644 --- a/.gitignore +++ b/.gitignore @@ -55,6 +55,7 @@ spine-xna/obj spine-xna/example/bin spine-xna/example/obj spine-xna/example-content/obj/ +spine-xna/.vs/ spine-unity/Assets/spine-csharp* !spine-unity/Assets/spine-csharp/Place spine-csharp src here.* diff --git a/CHANGELOG.md b/CHANGELOG.md index d18a59377..9d326869b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -140,6 +140,7 @@ * Removed `RegionBatcher` and `SkeletonRegionRenderer`, renamed `SkeletonMeshRenderer` to `SkeletonRenderer` * Added support for two color tint. For it to work, you need to add the `SpineEffect.fx` file to your content project, then load it via `var effect = Content.Load("SpineEffect");`, and set it on the `SkeletonRenderer`. See the example project for code. * Added support for any `Effect` to be used by `SkeletonRenderer` + * Added `SkeletonDebugRenderer` ## Java * **Breaking changes** diff --git a/spine-csharp/src/SkeletonClipping.cs b/spine-csharp/src/SkeletonClipping.cs index 07d052895..1dcbb0a0e 100644 --- a/spine-csharp/src/SkeletonClipping.cs +++ b/spine-csharp/src/SkeletonClipping.cs @@ -258,7 +258,7 @@ namespace Spine { return clipped; } - static void MakeClockwise (ExposedList polygon) { + public static void MakeClockwise (ExposedList polygon) { float[] vertices = polygon.Items; int verticeslength = polygon.Count; diff --git a/spine-csharp/src/Triangulator.cs b/spine-csharp/src/Triangulator.cs index d19a13b39..7ce71f767 100644 --- a/spine-csharp/src/Triangulator.cs +++ b/spine-csharp/src/Triangulator.cs @@ -31,7 +31,7 @@ using System; namespace Spine { - internal class Triangulator { + public class Triangulator { private readonly ExposedList> convexPolygons = new ExposedList>(); private readonly ExposedList> convexPolygonsIndices = new ExposedList>(); diff --git a/spine-xna/example/data/skeleton.atlas b/spine-xna/example/data/skeleton.atlas new file mode 100644 index 000000000..11a1f8da0 --- /dev/null +++ b/spine-xna/example/data/skeleton.atlas @@ -0,0 +1,13 @@ + +skeleton.png +size: 256,256 +format: RGBA8888 +filter: Linear,Linear +repeat: none +body + rotate: false + xy: 2, 2 + size: 192, 129 + orig: 192, 129 + offset: 0, 0 + index: -1 diff --git a/spine-xna/example/data/skeleton.json b/spine-xna/example/data/skeleton.json new file mode 100644 index 000000000..61b5c786c --- /dev/null +++ b/spine-xna/example/data/skeleton.json @@ -0,0 +1,3938 @@ +{ +"skeleton": { "hash": "Wfqu/0Mq676FGgKU6pYsaFfnTWM", "spine": "3.6.37", "width": 1536.42, "height": 1034.47, "images": "" }, +"bones": [ + { "name": "root", "x": -34.97, "y": -45.68 }, + { "name": "b_FullPet", "parent": "root", "x": 34.97, "y": 147.4 }, + { "name": "b_pelvis", "parent": "b_FullPet", "length": 40, "rotation": 90, "y": -65.99, "color": "3fe81fff" }, + { "name": "b_dorso", "parent": "b_pelvis", "length": 40, "x": 40, "color": "3fe81fff" }, + { "name": "ik_foot_R", "parent": "b_FullPet", "x": 40.16, "y": -98.44, "color": "ff3f00ff" }, + { "name": "ik_fot_L", "parent": "b_FullPet", "x": -38.22, "y": -94.54, "color": "ff3f00ff" } +], +"slots": [ + { "name": "s_dorso", "bone": "b_pelvis", "attachment": "a_dorso" }, + { "name": "s_dorsoMask", "bone": "b_pelvis", "attachment": "mask_dorso" }, + { "name": "s_clippingTest", "bone": "root", "attachment": "Pig/Normal/body" }, + { "name": "SwingPath", "bone": "root" } +], +"skins": { + "default": { + "s_clippingTest": { + "Pig/Normal/body": { + "path": "body", + "color": "77ff0086", + "x": 45.44, + "y": 142.62, + "scaleX": 7.988, + "scaleY": 7.988, + "rotation": -0.15, + "width": 192, + "height": 129 + } + }, + "s_dorsoMask": { + "mask_dorso": { + "type": "clipping", + "end": "s_clippingTest", + "vertexCount": 21, + "vertices": [ 27.17, -71.8, 41.59, -74.37, 148.99, -449.2, -183.54, -5.45, 157.01, 439.14, 58.93, 78.79, 44.37, 82.08, 31.34, 81.95, 14.55, 71.89, 6.39, 62.6, 0.54, 48.4, -4.89, 40.18, -7.56, 31.23, -8.92, 25.76, -9.85, 14.96, -9.97, -2.74, -8.18, -17.45, -4.12, -27.94, 0.66, -36.11, 5.09, -51.35, 10.31, -61.78 ], + "color": "ce3a3aff" + } + } + }, + "Pig_Normal": { + "s_dorso": { + "a_dorso": { + "name": "Pig/Normal/body", + "type": "mesh", + "path": "body", + "uvs": [ 0.90738, 0.07928, 0.99999, 0.34016, 0.99999, 0.57165, 0.91067, 0.89867, 0.45711, 1, 0.11162, 0.90235, 0, 0.68188, 0, 0.39773, 0.11491, 0.10622, 0.27538, 0, 0.75514, 0, 0.49921, 0.57288, 0.05895, 0.5741, 0.89915, 0.5741, 0.50004, 0.70026, 0.49263, 0.40753, 0.09269, 0.4259, 0.07541, 0.69781, 0.90244, 0.68066, 0.89997, 0.4504, 0.70001, 0.41855, 0.69507, 0.69413, 0.26797, 0.41365, 0.26304, 0.70148, 0.26304, 0.53981, 0.7033, 0.55818 ], + "triangles": [ 15, 9, 10, 22, 8, 9, 8, 16, 7, 9, 15, 22, 20, 15, 10, 20, 10, 0, 20, 0, 1, 22, 16, 8, 19, 20, 1, 24, 16, 22, 25, 20, 19, 2, 19, 1, 11, 15, 20, 11, 20, 25, 12, 7, 16, 12, 16, 24, 13, 25, 19, 13, 19, 2, 18, 13, 2, 6, 7, 12, 18, 25, 13, 24, 22, 15, 11, 24, 15, 21, 11, 25, 18, 21, 25, 23, 17, 12, 6, 12, 17, 14, 11, 21, 24, 23, 12, 3, 18, 2, 21, 18, 3, 5, 17, 23, 6, 17, 5, 23, 11, 14, 11, 23, 24, 4, 23, 14, 5, 23, 4, 4, 14, 21, 4, 21, 3 ], + "vertices": [ 2, 2, 103.73, -81.07, 0.09082, 3, 63.73, -81.07, 0.90918, 2, 2, 70.08, -98.85, 0.24199, 3, 30.08, -98.85, 0.75801, 2, 2, 40.21, -98.85, 0.41047, 3, 0.21, -98.85, 0.58953, 2, 2, -1.97, -81.7, 0.67622, 3, -41.97, -81.7, 0.32378, 1, 2, -15.04, 5.38, 1, 2, 2, -2.45, 71.72, 0.74625, 3, -42.45, 71.72, 0.25375, 2, 2, 25.99, 93.15, 0.57561, 3, -14.01, 93.15, 0.42439, 2, 2, 62.65, 93.15, 0.36681, 3, 22.65, 93.15, 0.63319, 2, 2, 100.25, 71.08, 0.13434, 3, 60.25, 71.08, 0.86566, 2, 2, 113.96, 40.27, 0.03188, 3, 73.96, 40.27, 0.96812, 2, 2, 113.96, -51.84, 0.02591, 3, 73.96, -51.84, 0.97409, 2, 2, 40.06, -2.7, 0.48864, 3, 0.06, -2.7, 0.51136, 2, 2, 39.9, 81.83, 0.5055, 3, -0.1, 81.83, 0.4945, 2, 2, 39.9, -79.49, 0.43555, 3, -0.1, -79.49, 0.56445, 1, 2, 23.62, -2.86, 1, 2, 2, 61.39, -1.44, 1.0E-4, 3, 21.39, -1.44, 0.9999, 2, 2, 59.02, 75.35, 0.36144, 3, 19.02, 75.35, 0.63856, 2, 2, 23.94, 78.67, 0.61354, 3, -16.06, 78.67, 0.38646, 2, 2, 26.15, -80.12, 0.54139, 3, -13.85, -80.12, 0.45861, 2, 2, 55.86, -79.65, 0.31037, 3, 15.86, -79.65, 0.68963, 2, 2, 59.96, -41.25, 0.19, 3, 19.96, -41.25, 0.81, 2, 2, 24.41, -40.31, 0.70726, 3, -15.59, -40.31, 0.29274, 2, 2, 60.6, 41.7, 0.25369, 3, 20.6, 41.7, 0.74631, 2, 2, 23.47, 42.64, 0.72828, 3, -16.53, 42.64, 0.27172, 2, 2, 44.32, 42.64, 0.45962, 3, 4.32, 42.64, 0.54038, 2, 2, 41.95, -41.89, 0.43679, 3, 1.95, -41.89, 0.56321 ], + "hull": 11, + "edges": [ 4, 2, 12, 14, 4, 6, 6, 8, 8, 10, 10, 12, 18, 20, 14, 16, 16, 18, 20, 0, 0, 2 ], + "width": 192, + "height": 129 + } + } + } +}, +"animations": { + "BattleIdle": { + "slots": { + "s_dorso": { + "attachment": [ + { "time": 0, "name": "a_dorso" }, + { "time": 0.9333, "name": "a_dorso" }, + { "time": 1.8667, "name": "a_dorso" } + ] + } + }, + "bones": { + "b_pelvis": { + "rotate": [ + { + "time": 0, + "angle": 3.18, + "curve": [ 0.455, 0, 0.712, 0.56 ] + }, + { + "time": 0.4, + "angle": 8.39, + "curve": [ 0.282, 0.55, 0.584, 1 ] + }, + { + "time": 0.8, + "angle": 7.82, + "curve": [ 0.455, 0, 0.712, 0.56 ] + }, + { + "time": 1.3, + "angle": -6.14, + "curve": [ 0.282, 0.55, 0.584, 1 ] + }, + { "time": 1.8667, "angle": 3.18 } + ], + "translate": [ + { + "time": 0, + "x": 4.37, + "y": -2.74, + "curve": [ 0.452, 0, 0.58, 1 ] + }, + { + "time": 0.2333, + "x": 0, + "y": -8.51, + "curve": [ 0.452, 0, 0.58, 1 ] + }, + { + "time": 0.4667, + "x": -13.1, + "y": -0.6, + "curve": [ 0.452, 0, 0.58, 1 ] + }, + { + "time": 0.7, + "x": 0, + "y": -8.51, + "curve": [ 0.452, 0, 0.58, 1 ] + }, + { + "time": 0.9333, + "x": 4.37, + "y": -2.74, + "curve": [ 0.452, 0, 0.58, 1 ] + }, + { + "time": 1.1667, + "x": 0, + "y": -8.51, + "curve": [ 0.452, 0, 0.58, 1 ] + }, + { + "time": 1.4, + "x": -13.1, + "y": -0.6, + "curve": [ 0.452, 0, 0.58, 1 ] + }, + { + "time": 1.6333, + "x": 0, + "y": -8.51, + "curve": [ 0.452, 0, 0.58, 1 ] + }, + { "time": 1.8667, "x": 4.37, "y": -2.74 } + ], + "scale": [ + { "time": 0, "x": 1.002, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1.002, "y": 1, "curve": "stepped" }, + { "time": 1.8667, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.8667, "x": 0, "y": 0 } + ] + }, + "b_dorso": { + "rotate": [ + { + "time": 0, + "angle": 6.62, + "curve": [ 0.283, 0.56, 0.59, 1 ] + }, + { + "time": 0.1667, + "angle": 3.37, + "curve": [ 0.452, 0, 0.58, 1 ] + }, + { + "time": 0.6333, + "angle": 27.35, + "curve": [ 0.452, 0, 0.58, 1 ] + }, + { + "time": 1.1, + "angle": -5.67, + "curve": [ 0.452, 0, 0.58, 1 ] + }, + { + "time": 1.5667, + "angle": 14.96, + "curve": [ 0.459, 0, 0.706, 0.58 ] + }, + { "time": 1.8667, "angle": 6.62 } + ], + "translate": [ + { + "time": 0, + "x": -0.27, + "y": 2.66, + "curve": [ 0.314, 0.42, 0.558, 1 ] + }, + { + "time": 0.3, + "x": -0.42, + "y": -0.08, + "curve": [ 0.452, 0, 0.58, 1 ] + }, + { + "time": 0.7667, + "x": -0.22, + "y": 3.56, + "curve": [ 0.452, 0, 0.58, 1 ] + }, + { + "time": 1.2333, + "x": -0.42, + "y": -0.08, + "curve": [ 0.452, 0, 0.58, 1 ] + }, + { + "time": 1.7, + "x": -0.22, + "y": 3.56, + "curve": [ 0.416, 0, 0.725, 0.44 ] + }, + { "time": 1.8667, "x": -0.27, "y": 2.66 } + ], + "scale": [ + { "time": 0, "x": 1.002, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1.002, "y": 1, "curve": "stepped" }, + { "time": 1.8667, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.8667, "x": 0, "y": 0 } + ] + }, + "ik_foot_R": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.3667, "angle": 0, "curve": "stepped" }, + { "time": 0.9333, "angle": 0, "curve": "stepped" }, + { "time": 1.8667, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 1.63, "curve": "stepped" }, + { + "time": 0.3667, + "x": 0, + "y": 1.63, + "curve": [ 0.498, 0, 0.538, 1 ] + }, + { + "time": 0.6, + "x": 25.35, + "y": 23.19, + "curve": [ 0.498, 0, 0.538, 1 ] + }, + { "time": 0.9333, "x": 0, "y": 1.63, "curve": "stepped" }, + { "time": 1.8667, "x": 0, "y": 1.63 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.3667, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.8667, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.8667, "x": 0, "y": 0 } + ] + }, + "ik_fot_L": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.9333, "angle": 0, "curve": "stepped" }, + { "time": 1.5, "angle": 0, "curve": "stepped" }, + { "time": 1.8667, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -14.59, "y": -1.22, "curve": "stepped" }, + { + "time": 0.9333, + "x": -14.59, + "y": -1.22, + "curve": [ 0.498, 0, 0.538, 1 ] + }, + { + "time": 1.3, + "x": -36.15, + "y": 9.31, + "curve": [ 0.498, 0, 0.538, 1 ] + }, + { "time": 1.5, "x": -14.59, "y": -1.22, "curve": "stepped" }, + { "time": 1.8667, "x": -14.59, "y": -1.22 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.5, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.8667, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.8667, "x": 0, "y": 0 } + ] + }, + "b_FullPet": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.9333, "angle": 0, "curve": "stepped" }, + { "time": 1.8667, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.8667, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.8667, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.8667, "x": 0, "y": 0 } + ] + } + }, + "drawOrder": [ + { "time": 0 }, + { "time": 1.8667 } + ] + }, + "Celebrate": { + "slots": { + "s_dorso": { + "attachment": [ + { "time": 0, "name": "a_dorso" }, + { "time": 2.5, "name": "a_dorso" } + ] + } + }, + "bones": { + "b_pelvis": { + "rotate": [ + { + "time": 0, + "angle": 0.29, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.9667, + "angle": 7.2, + "curve": [ 0, 0, 0.418, 1 ] + }, + { + "time": 1.4667, + "angle": -8.84, + "curve": [ 0.467, 0, 0.861, 0.7 ] + }, + { + "time": 1.8667, + "angle": -3.93, + "curve": [ 0, 0.09, 0.386, 0.6 ] + }, + { + "time": 1.9667, + "angle": 3.57, + "curve": [ 0.455, 0, 0.437, 1 ] + }, + { + "time": 2.1, + "angle": 0, + "curve": [ 0.497, 0, 0.446, 0.99 ] + }, + { "time": 2.5, "angle": 3.18 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0.33, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.9667, + "x": 5.24, + "y": -14.91, + "curve": [ 0, 0, 0.312, 1 ] + }, + { + "time": 1.4667, + "x": 11.2, + "y": 178.98, + "curve": [ 0.554, 0, 1, 0.96 ] + }, + { + "time": 1.9, + "x": 7.64, + "y": -13.47, + "curve": [ 0.384, 0, 0.712, 0.38 ] + }, + { + "time": 1.9667, + "x": 8.3, + "y": -10.16, + "curve": [ 0.455, 0, 0.437, 1 ] + }, + { + "time": 2.1, + "x": 0, + "y": 0, + "curve": [ 0.455, 0, 0.437, 1 ] + }, + { "time": 2.5, "x": 0, "y": 0.92 } + ], + "scale": [ + { + "time": 0, + "x": 1.004, + "y": 1, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.9667, + "x": 0.989, + "y": 1.005, + "curve": [ 0, 0, 0.355, 0.42 ] + }, + { + "time": 1.0667, + "x": 1.054, + "y": 0.924, + "curve": [ 0.179, 0.37, 0.545, 1 ] + }, + { + "time": 1.4667, + "x": 0.994, + "y": 0.968, + "curve": [ 0.428, 0, 0.8, 0.59 ] + }, + { + "time": 1.8667, + "x": 1.046, + "y": 0.913, + "curve": [ 0.428, 0, 0.8, 0.59 ] + }, + { + "time": 1.9333, + "x": 0.893, + "y": 1.086, + "curve": [ 0.365, 0.35, 0.699, 0.69 ] + }, + { + "time": 1.9667, + "x": 0.894, + "y": 1.105, + "curve": [ 0.455, 0, 0.437, 1 ] + }, + { + "time": 2.1, + "x": 1.047, + "y": 0.961, + "curve": [ 0.455, 0, 0.437, 1 ] + }, + { + "time": 2.2333, + "x": 1, + "y": 1, + "curve": [ 0.497, 0, 0.446, 0.99 ] + }, + { "time": 2.5, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.5, "x": 0, "y": 0 } + ] + }, + "b_dorso": { + "rotate": [ + { + "time": 0, + "angle": 0.3, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.9667, + "angle": -0.96, + "curve": [ 0, 0, 0.418, 1 ] + }, + { + "time": 1.4667, + "angle": -16.61, + "curve": [ 0.467, 0, 0.861, 0.7 ] + }, + { + "time": 1.8667, + "angle": -8.41, + "curve": [ 0, 0.09, 0.386, 0.6 ] + }, + { + "time": 1.9667, + "angle": -1.26, + "curve": [ 0.455, 0, 0.437, 1 ] + }, + { + "time": 2.1, + "angle": 0, + "curve": [ 0.503, 0, 0.759, 0.47 ] + }, + { "time": 2.5, "angle": 3.37 } + ], + "translate": [ + { + "time": 0, + "x": 1.33, + "y": -0.08, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.9667, + "x": 4.97, + "y": -9.58, + "curve": [ 0.297, 0.63, 0.629, 1 ] + }, + { + "time": 1.0667, + "x": 7.35, + "y": -0.15, + "curve": [ 0.333, 0.32, 0.633, 0.69 ] + }, + { + "time": 1.4667, + "x": -4.32, + "y": 0.49, + "curve": [ 0.252, 0.47, 0.556, 0.86 ] + }, + { + "time": 1.8667, + "x": 4.82, + "y": -0.71, + "curve": [ 0.308, 0.62, 0.64, 0.96 ] + }, + { + "time": 1.9333, + "x": 0, + "y": 0, + "curve": [ 0.436, 0, 0.746, 0.43 ] + }, + { + "time": 1.9667, + "x": -4.75, + "y": 0.1, + "curve": [ 0.455, 0, 0.437, 1 ] + }, + { + "time": 2.1, + "x": 12.37, + "y": -2.05, + "curve": [ 0.455, 0, 0.437, 1 ] + }, + { + "time": 2.2333, + "x": 0, + "y": 0, + "curve": [ 0.486, 0, 0.761, 0.45 ] + }, + { "time": 2.5, "x": -0.42, "y": -0.08 } + ], + "scale": [ + { + "time": 0, + "x": 1.004, + "y": 1, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.9667, + "x": 1.007, + "y": 0.967, + "curve": [ 0.327, 0.33, 0.645, 0.68 ] + }, + { + "time": 1.0667, + "x": 1.033, + "y": 0.924, + "curve": [ 0.228, 0.54, 0.51, 0.99 ] + }, + { + "time": 1.4667, + "x": 0.953, + "y": 0.979, + "curve": [ 0.554, 0, 1, 0.96 ] + }, + { + "time": 1.8667, + "x": 1.017, + "y": 0.923, + "curve": [ 0.554, 0, 1, 0.96 ] + }, + { + "time": 1.9333, + "x": 0.943, + "y": 1.025, + "curve": [ 0.436, 0, 0.746, 0.43 ] + }, + { + "time": 1.9667, + "x": 0.934, + "y": 1.098, + "curve": [ 0.455, 0, 0.437, 1 ] + }, + { + "time": 2.1, + "x": 1.047, + "y": 0.98, + "curve": [ 0.455, 0, 0.437, 1 ] + }, + { + "time": 2.2333, + "x": 1, + "y": 1, + "curve": [ 0.455, 0, 0.437, 1 ] + }, + { "time": 2.5, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.5, "x": 0, "y": 0 } + ] + }, + "ik_fot_L": { + "rotate": [ + { + "time": 0, + "angle": 0.03, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 0.9667, "angle": 0, "curve": "stepped" }, + { "time": 1.0333, "angle": 0, "curve": "stepped" }, + { "time": 1.4667, "angle": 0, "curve": "stepped" }, + { "time": 2.5, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { + "time": 0.9667, + "x": 0, + "y": 0, + "curve": [ 0, 0, 0.34, 0.36 ] + }, + { + "time": 1, + "x": -0.1, + "y": 7.01, + "curve": [ 0.226, 0.24, 0.562, 0.58 ] + }, + { + "time": 1.0333, + "x": -0.2, + "y": 28.59, + "curve": [ 0.339, 0, 0.64, 0.52 ] + }, + { + "time": 1.2667, + "x": 17.87, + "y": 145.08, + "curve": [ 0.276, 0.52, 0.591, 1 ] + }, + { + "time": 1.4667, + "x": 27.37, + "y": 206.34, + "curve": [ 0.412, 0, 0.775, 0.55 ] + }, + { + "time": 1.8, + "x": -51.89, + "y": 117.87, + "curve": [ 0.259, 0.26, 0.594, 0.61 ] + }, + { + "time": 1.8333, + "x": -41.51, + "y": 62.03, + "curve": [ 0.285, 0.33, 0.62, 0.68 ] + }, + { + "time": 1.8667, + "x": -10, + "y": 10.61, + "curve": [ 0.298, 0.39, 0.633, 0.74 ] + }, + { + "time": 1.9, + "x": 0.36, + "y": -9.33, + "curve": [ 0.307, 0.62, 0.641, 1 ] + }, + { + "time": 1.9333, + "x": -0.51, + "y": -6.39, + "curve": [ 0.568, 0, 0.558, 1 ] + }, + { "time": 2.3, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.5, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9667, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.0333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.4667, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 2.5, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.5, "x": 0, "y": 0 } + ] + }, + "ik_foot_R": { + "rotate": [ + { + "time": 0, + "angle": 0.03, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 0.9667, "angle": 0, "curve": "stepped" }, + { "time": 1.0333, "angle": 0, "curve": "stepped" }, + { "time": 1.4667, "angle": 0, "curve": "stepped" }, + { "time": 2.5, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 1.63, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.9667, + "x": 0, + "y": 0, + "curve": [ 0, 0, 0.34, 0.36 ] + }, + { + "time": 1.0333, + "x": -0.21, + "y": 21.37, + "curve": [ 0.339, 0, 0.64, 0.52 ] + }, + { + "time": 1.2667, + "x": 23.44, + "y": 139.38, + "curve": [ 0.276, 0.52, 0.591, 1 ] + }, + { + "time": 1.4667, + "x": 35.87, + "y": 201.46, + "curve": [ 0.361, 0, 0.701, 0.41 ] + }, + { + "time": 1.6333, + "x": 21.09, + "y": 151.95, + "curve": [ 0.354, 0.3, 0.689, 0.64 ] + }, + { + "time": 1.7, + "x": -17.39, + "y": 114.53, + "curve": [ 0.379, 0.33, 0.716, 0.67 ] + }, + { + "time": 1.8, + "x": -78.25, + "y": 64.65, + "curve": [ 0.259, 0.26, 0.594, 0.61 ] + }, + { + "time": 1.8333, + "x": -56.02, + "y": 28.63, + "curve": [ 0.285, 0.33, 0.62, 0.68 ] + }, + { + "time": 1.8667, + "x": -28.63, + "y": -1.65, + "curve": [ 0.298, 0.39, 0.633, 0.74 ] + }, + { + "time": 1.9, + "x": -7.16, + "y": -3.75, + "curve": [ 0.307, 0.62, 0.641, 1 ] + }, + { + "time": 1.9333, + "x": 4.83, + "y": -2.45, + "curve": [ 0.568, 0, 0.558, 1 ] + }, + { + "time": 2.3, + "x": 0, + "y": 0, + "curve": [ 0.25, 0, 0.524, 1 ] + }, + { "time": 2.5, "x": 0, "y": 1.63 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9667, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.0333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.4667, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 2.5, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.5, "x": 0, "y": 0 } + ] + }, + "root": { + "rotate": [ + { "time": 0, "angle": 0.03 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "b_FullPet": { + "rotate": [ + { "time": 0, "angle": 0.03 }, + { "time": 2.5, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.5, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 2.5, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.5, "x": 0, "y": 0 } + ] + } + }, + "deform": { + "default": { + "s_dorsoMask": { + "mask_dorso": [ + { + "time": 0, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.9667, + "offset": 16, + "vertices": [ 2.72274, -3.19884, 1.03746, -6.24719, 0.59287, 2.7833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.68507, 6.37256, 3.18478, -2.66216, 0.22406, -3.68368, -2.86547, 0.98381, -3.4187, 3.01636 ] + }, + { + "time": 1.4667, + "offset": 14, + "vertices": [ 1.11298, -3.50107, 0.42943, -2.69338, 1.78653, -3.50885, 0.75626, -3.69767, 2.73042, -2.66428, 1.8187, 1.44226, 1.78731, 0.71638, 0.64211, 0.39046, 0, 0, -1.48307, 0.6331, -4.88093, 4.75345, -2.67077, -6.05781, -2.93005, -6.1883, 0.8532, -6.54452 ] + }, + { + "time": 1.6333, + "offset": 14, + "vertices": [ -4.40263, -6.21354, 2.42932, -4.88385, -0.25086, -5.12446, 0.63073, 2.11071, 1.30785, -0.29153, 1.52536, 1.20964, 1.49903, 0.60083, 0.53854, 0.32749, -0.12155, 1.20127, 0.23196, 0.24223, -1.20999, 3.01826, -2.20569, -5.05866, -2.45746, -5.19019, 0.71558, -5.48895 ] + }, + { + "time": 1.8667, + "offset": 14, + "vertices": [ -0.64347, -5.44632, 1.66878, -1.96058, 0.55962, -6.4887, 1.79335, 1.69015, 1.06664, 0.34609, 1.11468, 0.88397, 1.09545, 0.43907, 0.39355, 0.23932, 0.63279, 2.57721, 2.633, -0.305, 1.24508, 2.58851, -2.95284, 1.08917, -1.79584, -3.79283, 0.52293, -4.01116 ] + }, + { + "time": 1.9333, + "offset": 14, + "vertices": [ -11.16597, -6.22567, 0.52663, -1.18763, -0.31141, -1.18028, 0.24237, 4.66209, 0.04449, 2.36446, 0.99735, 0.79092, 0.98014, 0.39285, 0.35212, 0.21412, 0.56618, 2.30592, 2.35585, -0.2729, 1.11402, 2.31604, -2.64202, 0.97452, -1.6068, -3.39358, 0.46788, -3.58893 ] + }, + { + "time": 2.1, + "offset": 14, + "vertices": [ -7.88186, -4.39459, 0.37174, -0.83833, -0.21982, -0.83314, 0.17108, 3.29089, 1.33436, 0.90291, 1.80936, 4.27386, 1.39356, -0.05115, 0.24856, 0.15115, 0.39966, 1.62771, 1.66295, -0.19263, 0.78637, 1.63485, -1.86495, 0.6879, -1.13421, -2.39547, 0.33027, -2.53336 ] + }, + { "time": 2.5 } + ] + } + } + }, + "drawOrder": [ + { "time": 0 }, + { "time": 0.1667 }, + { "time": 1.9667 } + ] + }, + "Celebrate2": { + "slots": { + "s_dorso": { + "attachment": [ + { "time": 0, "name": "a_dorso" }, + { "time": 1.6333, "name": "a_dorso" } + ] + } + }, + "bones": { + "b_pelvis": { + "rotate": [ + { + "time": 0, + "angle": 0.29, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { + "time": 0.4, + "angle": -11.72, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 0.9, "angle": 0, "curve": "stepped" }, + { + "time": 1.4, + "angle": 0, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 1.6333, "angle": 3.18 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0.33, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { + "time": 0.4, + "x": 8.35, + "y": 14.6, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { + "time": 0.9, + "x": 11.54, + "y": -7.49, + "curve": [ 0.395, 0, 0.523, 1 ] + }, + { + "time": 1.4, + "x": 0, + "y": 0, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 1.6333, "x": 0, "y": 0.92 } + ], + "scale": [ + { + "time": 0, + "x": 1.004, + "y": 1, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { + "time": 1.4, + "x": 1, + "y": 1, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 1.6333, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.6333, "x": 0, "y": 0 } + ] + }, + "b_dorso": { + "rotate": [ + { + "time": 0, + "angle": 0.3, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { + "time": 0.2667, + "angle": 12.98, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { + "time": 0.6, + "angle": -13.21, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { + "time": 1.1, + "angle": 16.13, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { + "time": 1.4, + "angle": 0, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 1.6333, "angle": 3.37 } + ], + "translate": [ + { + "time": 0, + "x": 1.33, + "y": -0.08, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { + "time": 1.4, + "x": 0, + "y": 0, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 1.6333, "x": -0.42, "y": -0.08 } + ], + "scale": [ + { + "time": 0, + "x": 1.004, + "y": 1, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { + "time": 1.4, + "x": 1, + "y": 1, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 1.6333, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.6333, "x": 0, "y": 0 } + ] + }, + "b_FullPet": { + "rotate": [ + { + "time": 0, + "angle": 0.03, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 1.6333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.6333, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.6333, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.6333, "x": 0, "y": 0 } + ] + }, + "ik_fot_L": { + "rotate": [ + { + "time": 0, + "angle": 0.03, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 1.6333, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { + "time": 0.3333, + "x": -32.71, + "y": 37.24, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 0.7, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.6333, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.6333, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.6333, "x": 0, "y": 0 } + ] + }, + "ik_foot_R": { + "rotate": [ + { + "time": 0, + "angle": 0.03, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 1.6333, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 1.63, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { + "time": 1.1333, + "x": 0, + "y": 0, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 1.3667, "x": 0, "y": 1.63, "curve": "stepped" }, + { "time": 1.6333, "x": 0, "y": 1.63 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.6333, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.6333, "x": 0, "y": 0 } + ] + }, + "root": { + "rotate": [ + { "time": 0, "angle": 0.03 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + } + }, + "deform": { + "default": { + "s_dorsoMask": { + "mask_dorso": [ + { "time": 0 }, + { + "time": 0.2333, + "offset": 14, + "vertices": [ -7.12685, -1.60977, -2.99485, -1.64844, -5.80057, -2.2254, -4.33727, 2.86913, -0.85066, 0.70841, -0.61532, 0.99297, 0, 0, 0, 0, 0.61868, -2.3126, 1.05124, 2.75609, 0.09888, 6.24134, 0.51567, 3.47014, 0.60792, 2.08373 ] + }, + { + "time": 0.4, + "offset": 14, + "vertices": [ -8.72403, -3.51285, -3.61947, -2.97299, -5.44527, -4.21578, -3.69914, 1.44687, -1.06867, 0.78961, 0.16444, 1.65134, -0.58013, -6.48839, -0.57116, -8.00278, 0, 0, 0.00194, 2.9318, -1.64964, 4.10622 ] + }, + { + "time": 0.6, + "offset": 14, + "vertices": [ -5.75114, -2.40333, 1.66074, -1.53226, -0.77019, -4.38648, 0.70924, 2.18265, 0.96705, -1.24278, 1.25825, -1.35557, 1.2257, -2.74153, 0.91894, -3.59485, 0, 0, 0.00194, 2.9318, -1.64964, 4.10622 ] + }, + { + "time": 0.7, + "offset": 14, + "vertices": [ -5.75114, -2.40333, -2.33861, -4.58437, 0.45347, -5.58889, 1.0124, 0.96918, 0.85547, -1.677, 1.10089, -1.34592, 2.12862, -0.86809, 1.66399, -1.39089, 0, 0, 0.00194, 2.9318, -1.64964, 4.10622, -0.4631, -2.45089, -2.38509, -2.68369, -2.14036, 1.45138 ] + }, + { + "time": 0.9, + "offset": 14, + "vertices": [ -14.1465, -6.77456, -4.49597, -2.33166, -0.0586, 1.50896, -0.13101, 8.97806, -0.65046, 4.28314, -0.73304, 3.60569, -0.54094, 1.41104, -1.20369, 0.59138, 0.19666, -1.68296, 3.4E-4, 5.39301, 2.36307, 1.40932, 0.84525, 0.54065, -0.7887, 3.52794, -3.61947, 5.80539 ], + "curve": [ 0.389, 0, 0.708, 0.41 ] + }, + { + "time": 1.0333, + "offset": 14, + "vertices": [ -12.07856, -5.76551, -5.02448, -2.54936, -0.1893, 1.21662, -0.16046, 7.75524, -0.7198, 4.05778, -0.99491, 2.98262, -0.47902, 1.24951, -1.06589, 0.52368, 0.57978, -1.89471, 0.72661, 5.02716, 1.53953, 2.42979, 1.11188, 0.52503, 0.10735, 3.60781, -2.39644, 5.22661 ], + "curve": [ 0.348, 0.28, 0.671, 0.64 ] + }, + { + "time": 1.1333, + "offset": 14, + "vertices": [ -8.04403, -3.79687, -6.0556, -2.97411, -0.4443, 0.64627, -0.21791, 5.36952, -0.85507, 3.61812, -1.5058, 1.767, -0.3582, 0.93437, -0.79706, 0.3916, 0.85401, -4.01896, 1.5532, 3.78263, -0.06718, 4.42071, 1.63209, 0.49456, 1.85553, 3.76364, -0.01031, 4.0974 ], + "curve": [ 0.267, 0.48, 0.545, 1 ] + }, + { + "time": 1.4, + "offset": 14, + "vertices": [ -1.82991, -0.7647, -1.78236, -0.70182, -0.83706, -0.23221, -0.30639, 1.69495, -0.5764, 1.23112, -0.33859, 1.35863, -0.17212, 0.44897, -0.38299, 0.18817, 0.06257, -0.53549, 0.44878, 1.90047, 0.38392, 2.11251, 0.47986, -0.0394, -0.09207, 1.80905, 0.2459, 0.89534 ] + }, + { "time": 1.6333 } + ] + } + } + }, + "drawOrder": [ + { "time": 0 }, + { "time": 0.1333 }, + { "time": 1.5333 } + ] + }, + "Greet": { + "slots": { + "s_dorso": { + "attachment": [ + { "time": 0, "name": "a_dorso" }, + { "time": 1.8333, "name": "a_dorso" } + ] + } + }, + "bones": { + "b_pelvis": { + "rotate": [ + { + "time": 0, + "angle": 0.29, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.3333, + "angle": -0.13, + "curve": [ 0.62, 0, 1, 1 ] + }, + { "time": 0.6667, "angle": 4.58 }, + { + "time": 0.7, + "angle": 1.28, + "curve": [ 0.484, 0.01, 0.661, 1 ] + }, + { + "time": 0.9, + "angle": 0, + "curve": [ 0.466, 0.01, 0.52, 1 ] + }, + { "time": 1.8333, "angle": 3.18 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0.33, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.3333, + "x": 0, + "y": 10.49, + "curve": [ 0.244, 0, 0.641, 0.57 ] + }, + { + "time": 0.7, + "x": 14.21, + "y": 2.82, + "curve": [ 0.484, 0.01, 0.661, 1 ] + }, + { "time": 0.9, "x": 15.47, "y": 4.71 }, + { + "time": 1.2667, + "x": 9.28, + "y": 2.83, + "curve": [ 0.971, 0, 0.651, 1 ] + }, + { "time": 1.8333, "x": 0, "y": 0.92 } + ], + "scale": [ + { + "time": 0, + "x": 1.004, + "y": 1, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 0.6333, "x": 1, "y": 1 }, + { + "time": 0.7, + "x": 0.871, + "y": 1.051, + "curve": [ 0.484, 0.01, 0.661, 1 ] + }, + { + "time": 0.9, + "x": 1, + "y": 0.962, + "curve": [ 0.466, 0.01, 0.52, 1 ] + }, + { + "time": 1.2667, + "x": 1, + "y": 1, + "curve": [ 0.971, 0, 0.651, 1 ] + }, + { "time": 1.8333, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.8333, "x": 0, "y": 0 } + ] + }, + "b_dorso": { + "rotate": [ + { + "time": 0, + "angle": 0.3, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.4333, + "angle": -7.18, + "curve": [ 0.62, 0, 1, 1 ] + }, + { + "time": 0.6333, + "angle": 12.33, + "curve": [ 0.353, 0, 0.682, 0.41 ] + }, + { + "time": 0.7, + "angle": 10.02, + "curve": [ 0.484, 0.01, 0.661, 1 ] + }, + { + "time": 0.9, + "angle": 0, + "curve": [ 0.466, 0.01, 0.52, 1 ] + }, + { "time": 1.8333, "angle": 3.37 } + ], + "translate": [ + { + "time": 0, + "x": 1.33, + "y": -0.08, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.3333, + "x": 3.5, + "y": -0.64, + "curve": [ 0.519, 0, 0.878, 0.71 ] + }, + { + "time": 0.6, + "x": 8.09, + "y": -0.92, + "curve": [ 0.658, 0.62, 1, 1 ] + }, + { + "time": 0.6667, + "x": -6.94, + "y": -0.64, + "curve": [ 0.351, 0, 0.681, 0.4 ] + }, + { + "time": 0.7, + "x": 3.16, + "y": 1.01, + "curve": [ 0.484, 0.01, 0.661, 1 ] + }, + { + "time": 0.9, + "x": 2.53, + "y": 0, + "curve": [ 0.466, 0.01, 0.52, 1 ] + }, + { + "time": 1.2667, + "x": 0, + "y": 0, + "curve": [ 0.971, 0, 0.651, 1 ] + }, + { "time": 1.8333, "x": -0.42, "y": -0.08 } + ], + "scale": [ + { + "time": 0, + "x": 1.004, + "y": 1, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 0.6333, "x": 1, "y": 1 }, + { + "time": 0.7, + "x": 0.954, + "y": 1.019, + "curve": [ 0.484, 0.01, 0.661, 1 ] + }, + { + "time": 0.9, + "x": 1, + "y": 1, + "curve": [ 0.466, 0.01, 0.52, 1 ] + }, + { "time": 1.8333, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.8333, "x": 0, "y": 0 } + ] + }, + "ik_fot_L": { + "rotate": [ + { + "time": 0, + "angle": 0.03, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 1.8333, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.4, + "x": -62.13, + "y": 54.09, + "curve": [ 0.294, 0.62, 0.619, 1 ] + }, + { + "time": 0.5, + "x": -63.72, + "y": 51.15, + "curve": [ 0.33, 0, 0.676, 0.41 ] + }, + { + "time": 0.5333, + "x": -75.18, + "y": 47.57, + "curve": [ 0.349, 0.3, 0.686, 0.64 ] + }, + { + "time": 0.5667, + "x": -70.67, + "y": 33.98, + "curve": [ 0.361, 0.33, 0.698, 0.67 ] + }, + { + "time": 0.6, + "x": -53.83, + "y": 13.44, + "curve": [ 0.381, 0.36, 0.719, 0.7 ] + }, + { + "time": 0.6333, + "x": -19.36, + "y": -4.99, + "curve": [ 0.427, 0.41, 0.767, 0.75 ] + }, + { + "time": 0.6667, + "x": 0.71, + "y": -12.74, + "curve": [ 0.648, 0.59, 1, 0.96 ] + }, + { "time": 0.7, "x": 26.51, "y": -7.89 }, + { + "time": 1.2667, + "x": 22.72, + "y": -6.76, + "curve": [ 0.971, 0, 0.651, 1 ] + }, + { "time": 1.8333, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.8333, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.8333, "x": 0, "y": 0 } + ] + }, + "ik_foot_R": { + "rotate": [ + { + "time": 0, + "angle": 0.03, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 1.8333, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 1.63, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.7, + "x": 0, + "y": 0.57, + "curve": [ 0.344, 0.3, 0.677, 0.63 ] + }, + { + "time": 0.9, + "x": 0, + "y": -1.08, + "curve": [ 0.343, 0.31, 0.676, 0.64 ] + }, + { + "time": 1.2667, + "x": 0, + "y": -1.93, + "curve": [ 0.971, 0, 0.651, 1 ] + }, + { "time": 1.8333, "x": 0, "y": 1.63 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.8333, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.8333, "x": 0, "y": 0 } + ] + }, + "b_FullPet": { + "rotate": [ + { "time": 0, "angle": 0.03, "curve": "stepped" }, + { + "time": 0.9667, + "angle": 0.03, + "curve": [ 0.393, 0, 0.632, 1 ] + }, + { "time": 1.8333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.6667, "x": 0, "y": 0 }, + { + "time": 0.7, + "x": 0, + "y": -5.09, + "curve": [ 0.375, 0, 0.617, 1 ] + }, + { + "time": 0.7667, + "x": 0, + "y": -5.82, + "curve": [ 0.375, 0, 0.617, 1 ] + }, + { + "time": 0.8667, + "x": 0, + "y": 8, + "curve": [ 0.393, 0, 0.632, 1 ] + }, + { "time": 0.9667, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.8333, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.6667, "x": 1, "y": 1 }, + { + "time": 0.7, + "x": 1.036, + "y": 0.942, + "curve": [ 0.375, 0, 0.617, 1 ] + }, + { + "time": 0.7667, + "x": 1.017, + "y": 0.959, + "curve": [ 0.375, 0, 0.617, 1 ] + }, + { + "time": 0.8667, + "x": 0.942, + "y": 1.08, + "curve": [ 0.393, 0, 0.632, 1 ] + }, + { "time": 0.9667, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.8333, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.7667, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8667, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9667, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.8333, "x": 0, "y": 0 } + ] + }, + "root": { + "rotate": [ + { "time": 0, "angle": 0.03 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + } + }, + "deform": { + "default": { + "s_dorsoMask": { + "mask_dorso": [ + { + "time": 0, + "offset": 18, + "vertices": [ 0.19027, -0.44664, -0.12057, 0.60894, 1.12496, 1.24902, 0.61664, -1.02235, -0.18979, -6.53505, -0.27099, -3.96171, 0, 0, 1.58551, -0.46181 ], + "curve": [ 0, 0.21, 0.75, 1 ] + }, + { + "time": 0.1667, + "offset": 10, + "vertices": [ 1.39394, 1.16504, 6.48138, 1.94468, 10.0592, 3.03158, 17.36675, 10.52183, 15.59673, 15.56505, 11.79083, 22.84578, 8.62555, 20.57906 ] + }, + { + "time": 0.3333, + "offset": 10, + "vertices": [ 2.78789, 2.33007, 6.99816, 1.90074, 10.50841, 2.41662, 18.16216, 10.76109, 14.28698, 14.20777, 3.02053, 9.51532 ] + }, + { + "time": 0.7, + "offset": 10, + "vertices": [ 3.48734, -0.37014, -1.73034, 1.93004, 1.29986, 0.43891, 5.45574, 4.86049, 2.65576, 5.20719, -0.42389, 4.49713, 0.80269, -1.48245, -0.80097, -2.21102, -1.31778, -7.39635, -0.52702, -5.55621, 0, 0, 1.6176, 0.61812, 0.61359, 4.25574, 2.02185, 6.17672 ] + }, + { + "time": 1.0333, + "offset": 10, + "vertices": [ 2.46165, -0.26128, -1.22142, 1.36238, 0.91755, 0.30982, 3.85111, 3.43093, 1.87466, 3.67566, 0.63495, 3.2127, 1.94221, -1.36821, 0.24273, -5.80374, -0.91445, -10.17494, 0.22586, -6.41701, 0, 0, 1.14183, 0.43632, 0.43312, 3.00405, 1.42719, 4.36004 ] + }, + { + "time": 1.4333, + "offset": 10, + "vertices": [ 1.23083, -0.13064, -0.61071, 0.68119, 0.45877, 0.15491, 1.92556, 1.71547, 0.93733, 1.83783, -0.93471, 1.84128, 1.60743, -0.51824, 0.12137, -2.90187, -0.26452, -8.43572, -0.15806, -7.17022, 0, 0, 1.36367, -0.01274, 0.21656, 1.50203, 0.71359, 2.18002 ] + }, + { + "time": 1.6667, + "offset": 10, + "vertices": [ 0.51284, -0.05443, -0.25446, 0.28383, 0.19116, 0.06455, 0.80232, 0.71478, -2.46495, -1.12584, -0.38946, 0.7672, 0.66976, -0.21593, 0.05057, -1.20911, -0.11022, -3.51488, -0.06586, -2.98759, 0, 0, 1.49307, -0.2747, 0.09023, 0.62584, 0.29733, 0.90834 ] + }, + { + "time": 1.8333, + "offset": 32, + "vertices": [ 1.58551, -0.46181 ] + } + ] + } + } + }, + "drawOrder": [ + { "time": 0 }, + { "time": 0.2667 }, + { "time": 1.5333 } + ] + }, + "Hungry": { + "slots": { + "s_dorso": { + "attachment": [ + { "time": 0, "name": "a_dorso" } + ] + } + }, + "bones": { + "b_pelvis": { + "rotate": [ + { + "time": 0, + "angle": 4.13, + "curve": [ 0.643, 0, 0.418, 1 ] + }, + { + "time": 1.5, + "angle": 2.67, + "curve": [ 0.643, 0, 0.418, 1 ] + }, + { + "time": 3, + "angle": 4.13, + "curve": [ 0.479, 0, 0.754, 0.5 ] + }, + { + "time": 3.8333, + "angle": 1.9, + "curve": [ 0.296, 0.5, 0.558, 1.01 ] + }, + { "time": 4.6667, "angle": 4.13 } + ], + "translate": [ + { "time": 0, "x": 0, "y": -16.22 } + ] + }, + "b_dorso": { + "rotate": [ + { + "time": 0, + "angle": 8.82, + "curve": [ 0.643, 0, 0.418, 1 ] + }, + { + "time": 1.5, + "angle": 7.35, + "curve": [ 0.643, 0, 0.418, 1 ] + }, + { + "time": 3, + "angle": 8.82, + "curve": [ 0.417, 0, 0.734, 0.41 ] + }, + { "time": 3.6667, "angle": 2.64, "curve": "stepped" }, + { + "time": 4.1, + "angle": 2.64, + "curve": [ 0.369, 0.36, 0.554, 1 ] + }, + { "time": 4.6667, "angle": 8.82 } + ], + "translate": [ + { + "time": 0, + "x": 2.32, + "y": -0.28, + "curve": [ 0.643, 0, 0.418, 1 ] + }, + { + "time": 1.5, + "x": 4.72, + "y": -0.39, + "curve": [ 0.643, 0, 0.418, 1 ] + }, + { "time": 3, "x": 2.32, "y": -0.28 } + ] + }, + "ik_fot_L": { + "translate": [ + { "time": 0, "x": -45.34, "y": 4.44, "curve": "stepped" }, + { + "time": 3, + "x": -45.34, + "y": 4.44, + "curve": [ 0.487, 0.01, 0.532, 1 ] + }, + { + "time": 3.8667, + "x": -41.64, + "y": 7.57, + "curve": [ 0.487, 0.01, 0.532, 1 ] + }, + { "time": 4.6667, "x": -45.34, "y": 4.44 } + ] + }, + "ik_foot_R": { + "translate": [ + { "time": 0, "x": -37.47, "y": -2.25 } + ] + } + }, + "drawOrder": [ + { "time": 0 }, + { "time": 3.3 }, + { "time": 4.4333 } + ] + }, + "Idle": { + "slots": { + "s_dorso": { + "attachment": [ + { "time": 0, "name": "a_dorso" } + ] + }, + "s_dorsoMask": { + "attachment": [ + { "time": 0, "name": "mask_dorso" } + ] + } + }, + "bones": { + "b_pelvis": { + "rotate": [ + { + "time": 0, + "angle": 3.18, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 0.9333, + "angle": -1.29, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { "time": 1.8667, "angle": 3.18 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0.92, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 0.2333, + "x": 0, + "y": -3.64, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 0.4667, + "x": 0, + "y": 0.92, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 0.7, + "x": 0, + "y": -2.94, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 0.9333, + "x": 0, + "y": 0.92, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 1.1667, + "x": 0, + "y": -2.94, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 1.4, + "x": 0, + "y": 0.92, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 1.6333, + "x": 0, + "y": -2.94, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { "time": 1.8667, "x": 0, "y": 0.92 } + ], + "scale": [ + { + "time": 0, + "x": 1.002, + "y": 1, + "curve": [ 0.253, 0.46, 0.469, 1 ] + }, + { + "time": 0.1333, + "x": 1.005, + "y": 1, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 0.3667, + "x": 1, + "y": 1, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 0.6, + "x": 1.005, + "y": 1, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 0.8333, + "x": 1, + "y": 1, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 1.0667, + "x": 1.005, + "y": 1, + "curve": [ 0.436, 0, 0.5, 1 ] + }, + { + "time": 1.3, + "x": 1, + "y": 1, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 1.5333, + "x": 1.005, + "y": 1, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 1.7667, + "x": 1, + "y": 1, + "curve": [ 0.487, 0, 0.757, 0.47 ] + }, + { "time": 1.8667, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "b_dorso": { + "rotate": [ + { + "time": 0, + "angle": 3.37, + "curve": [ 0.287, 0.62, 0.615, 0.99 ] + }, + { + "time": 0.1333, + "angle": 3.61, + "curve": [ 0.436, 0, 0.5, 1 ] + }, + { + "time": 1.0667, + "angle": -4.51, + "curve": [ 0.529, 0, 0.587, 0.78 ] + }, + { "time": 1.8667, "angle": 3.37 } + ], + "translate": [ + { + "time": 0, + "x": -0.42, + "y": -0.08, + "curve": [ 0.253, 0.46, 0.469, 1 ] + }, + { + "time": 0.1333, + "x": 1.83, + "y": -0.08, + "curve": [ 0.436, 0, 0.5, 1 ] + }, + { + "time": 0.3667, + "x": -1.77, + "y": -0.08, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 0.6, + "x": 1.83, + "y": -0.08, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 0.8333, + "x": -1.77, + "y": -0.08, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 1.0667, + "x": 1.83, + "y": -0.08, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 1.3, + "x": -1.77, + "y": -0.08, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 1.5333, + "x": 1.83, + "y": -0.08, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 1.7667, + "x": -1.77, + "y": -0.08, + "curve": [ 0.487, 0, 0.757, 0.47 ] + }, + { "time": 1.8667, "x": -0.42, "y": -0.08 } + ], + "scale": [ + { + "time": 0, + "x": 1.002, + "y": 1, + "curve": [ 0.253, 0.46, 0.469, 1 ] + }, + { + "time": 0.1333, + "x": 1.005, + "y": 1, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 0.3667, + "x": 1, + "y": 1, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 0.6, + "x": 1.005, + "y": 1, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 0.8333, + "x": 1, + "y": 1, + "curve": [ 0.436, 0, 0.5, 1 ] + }, + { + "time": 1.0667, + "x": 1.005, + "y": 1, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 1.3, + "x": 1, + "y": 1, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 1.5333, + "x": 1.005, + "y": 1, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { + "time": 1.7667, + "x": 1, + "y": 1, + "curve": [ 0.487, 0, 0.757, 0.47 ] + }, + { "time": 1.8667, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "ik_foot_R": { + "rotate": [ + { "time": 0, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 1.63 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "ik_fot_L": { + "rotate": [ + { "time": 0, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "b_FullPet": { + "rotate": [ + { "time": 0, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + } + }, + "deform": { + "default": { + "s_dorsoMask": { + "mask_dorso": [ + { + "time": 0, + "offset": 18, + "vertices": [ 0.50665, 2.53774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.27687, 1.60386 ] + } + ] + } + } + }, + "drawOrder": [ + { "time": 0 }, + { "time": 0.3333 }, + { "time": 1.5333 } + ] + }, + "Laugh": { + "slots": { + "s_dorso": { + "attachment": [ + { "time": 0, "name": "a_dorso" }, + { "time": 2, "name": "a_dorso" } + ] + } + }, + "bones": { + "b_pelvis": { + "rotate": [ + { + "time": 0, + "angle": 0.29, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 0.2667, "angle": 0.92, "curve": "stepped" }, + { "time": 1.4333, "angle": 0.92 }, + { "time": 2, "angle": 3.18 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0.33, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { + "time": 0.2, + "x": -1.93, + "y": -7.73, + "curve": [ 0.39, 0, 0.598, 1 ] + }, + { + "time": 0.3, + "x": -1.93, + "y": -9.32, + "curve": [ 0.39, 0, 0.598, 1 ] + }, + { + "time": 0.4667, + "x": -1.93, + "y": -7.73, + "curve": [ 0.39, 0, 0.598, 1 ] + }, + { + "time": 0.6333, + "x": -1.93, + "y": -8.53, + "curve": [ 0.39, 0, 0.598, 1 ] + }, + { + "time": 0.8, + "x": -1.93, + "y": -6.48, + "curve": [ 0.39, 0, 0.598, 1 ] + }, + { + "time": 0.9333, + "x": -1.93, + "y": -7.87, + "curve": [ 0.39, 0, 0.598, 1 ] + }, + { + "time": 1.1333, + "x": -1.93, + "y": -6.22, + "curve": [ 0.39, 0, 0.598, 1 ] + }, + { + "time": 1.3667, + "x": -1.93, + "y": -7.73, + "curve": [ 0.39, 0, 0.598, 1 ] + }, + { "time": 2, "x": 0, "y": 0.92 } + ], + "scale": [ + { + "time": 0, + "x": 1.004, + "y": 1, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 2, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "b_dorso": { + "rotate": [ + { + "time": 0, + "angle": 0.3, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 0.2667, "angle": 23.14, "curve": "stepped" }, + { + "time": 1.5333, + "angle": 23.14, + "curve": [ 0.43, 0, 0.598, 1 ] + }, + { "time": 2, "angle": 3.37 } + ], + "translate": [ + { + "time": 0, + "x": 1.33, + "y": -0.08, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { + "time": 0.2, + "x": 0.78, + "y": -0.64, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.3667, + "x": -6.93, + "y": -0.52, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5333, + "x": -1.08, + "y": -0.61, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.7, + "x": -4.27, + "y": -0.56, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.8667, + "x": -1.08, + "y": -0.61, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1.0333, + "x": -4.27, + "y": -0.56, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1.2, + "x": -1.08, + "y": -0.61, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1.5333, + "x": 0.78, + "y": -0.64, + "curve": [ 0.43, 0, 0.598, 1 ] + }, + { "time": 2, "x": -0.42, "y": -0.08 } + ], + "scale": [ + { + "time": 0, + "x": 1.004, + "y": 1, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { + "time": 0.3667, + "x": 0.994, + "y": 1.013, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5333, + "x": 1.005, + "y": 1.004, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.7, + "x": 0.994, + "y": 1.013, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.8667, + "x": 1.005, + "y": 1.004, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1.0333, + "x": 0.994, + "y": 1.013, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1.2, "x": 1.005, "y": 1.004 }, + { "time": 2, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "ik_foot_R": { + "rotate": [ + { + "time": 0, + "angle": 0.03, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 1.63, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 1.63 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 2, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "b_FullPet": { + "rotate": [ + { + "time": 0, + "angle": 0.03, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 2, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "root": { + "rotate": [ + { "time": 0, "angle": 0.03 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "ik_fot_L": { + "rotate": [ + { + "time": 0, + "angle": 0.03, + "curve": [ 0.395, 0, 0.524, 1 ] + }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 2, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ] + } + }, + "deform": { + "default": { + "s_dorsoMask": { + "mask_dorso": [ + { + "time": 0, + "offset": 32, + "vertices": [ 0.31432, 1.70607 ] + }, + { + "time": 0.2333, + "offset": 16, + "vertices": [ -6.78016, -0.83274, -1.85569, 1.92783, -1.11573, 4.83344, -1.34223, 2.89615, -1.25361, 3.55463, -1.54741, -0.05091, -0.54177, -0.02947, 0.47117, 0.41892, 2.37194, 2.53049, 1.47296, 3.48535, 2.48446, -2.03041, 5.88295, -3.73335, 3.33008, 1.52357 ] + }, + { + "time": 0.3667, + "offset": 16, + "vertices": [ -7.04822, -0.71475, -3.48737, 3.78468, -1.29789, 5.62257, -1.48284, 7.95031, -3.16717, 5.42868, -1.92605, -0.19764, -0.63022, -0.03428, 0.5481, 0.48731, 2.18887, 2.61914, 3.50153, 0.98342, 5.33811, -3.8235, 4.02013, -3.30735, 2.37863, 1.08827 ] + }, + { + "time": 0.7, + "offset": 16, + "vertices": [ -7.04822, -0.71475, -3.48737, 3.78468, -1.29789, 5.62257, -1.48284, 7.95031, -3.16717, 5.42868, -1.92605, -0.19764, -0.63022, -0.03428, 0.5481, 0.48731, 2.18887, 2.61914, 5.81452, -3.70662, 7.38908, -10.75927, 4.02013, -3.30735, 2.37863, 1.08827 ] + }, + { + "time": 1.4, + "offset": 16, + "vertices": [ -7.04822, -0.71475, -0.72157, 3.58821, -2.03727, 6.16006, -1.61402, 4.57705, -2.22836, 3.38763, -1.92605, -0.19764, -0.63022, -0.03428, 0.5481, 0.48731, 2.18887, 2.61914, 1.66402, 2.74043, 3.97756, -0.49891, 6.39928, -4.24742, 2.37863, 1.08827 ] + }, + { + "time": 1.7333, + "offset": 16, + "vertices": [ -4.53306, -1.03016, -1.23229, 1.09715, -1.11124, 5.23853, -1.01417, 4.54783, -1.45498, 3.65138, -0.70156, -0.17468, -0.35846, -0.0195, 0.73092, -0.5433, 1.31598, 4.20635, 1.1867, 0.33518, 4.89057, -6.00035, 5.5921, -7.11541 ] + }, + { "time": 2 } + ] + } + } + }, + "drawOrder": [ + { "time": 0 }, + { "time": 0.0333 }, + { "time": 1.9333 } + ] + }, + "Panic": { + "slots": { + "s_dorso": { + "attachment": [ + { "time": 0, "name": "a_dorso" }, + { "time": 2.0667, "name": "a_dorso" } + ] + } + }, + "bones": { + "b_pelvis": { + "rotate": [ + { + "time": 0, + "angle": 0.29, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.4, + "angle": -32.53, + "curve": [ 0.481, 0, 0.774, 0.43 ] + }, + { + "time": 0.5333, + "angle": -27.99, + "curve": [ 0.297, 0.4, 0.417, 1 ] + }, + { + "time": 0.8, + "angle": -5.28, + "curve": [ 0.573, 0, 0.473, 1 ] + }, + { + "time": 1.3333, + "angle": -32.53, + "curve": [ 0.573, 0, 0.473, 1 ] + }, + { "time": 2.0667, "angle": 3.18 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0.33, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 0.0667, "x": 19.91, "y": 3.52 }, + { "time": 0.4, "x": 16.59, "y": 11.96 }, + { "time": 2.0667, "x": 0, "y": 0.92 } + ], + "scale": [ + { + "time": 0, + "x": 1.004, + "y": 1, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 2.0667, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.0667, "x": 0, "y": 0 } + ] + }, + "b_dorso": { + "rotate": [ + { + "time": 0, + "angle": 0.3, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.1333, + "angle": 4.92, + "curve": [ 0.317, 0.62, 0.65, 0.97 ] + }, + { + "time": 0.3333, + "angle": -10.15, + "curve": [ 0.458, 0, 0.538, 1 ] + }, + { + "time": 0.5333, + "angle": -2.74, + "curve": [ 0.458, 0, 0.538, 1 ] + }, + { + "time": 0.7667, + "angle": 12.46, + "curve": [ 0.458, 0, 0.538, 1 ] + }, + { + "time": 1.2, + "angle": -23.95, + "curve": [ 0.458, 0, 0.538, 1 ] + }, + { + "time": 1.5333, + "angle": 9.08, + "curve": [ 0.458, 0, 0.538, 1 ] + }, + { + "time": 1.8667, + "angle": -2.54, + "curve": [ 0.458, 0, 0.538, 1 ] + }, + { "time": 2.0667, "angle": 3.37 } + ], + "translate": [ + { + "time": 0, + "x": 1.33, + "y": -0.08, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 2.0667, "x": -0.42, "y": -0.08 } + ], + "scale": [ + { + "time": 0, + "x": 1.004, + "y": 1, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 2.0667, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.0667, "x": 0, "y": 0 } + ] + }, + "ik_foot_R": { + "rotate": [ + { + "time": 0, + "angle": 0.03, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 2.0667, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 1.63, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.0667, + "x": 17.56, + "y": -3.71, + "curve": [ 0.498, 0, 0.478, 0.99 ] + }, + { "time": 0.4, "x": 7.5, "y": 1.25 }, + { "time": 2.0667, "x": 0, "y": 1.63 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 2.0667, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.0667, "x": 0, "y": 0 } + ] + }, + "root": { + "rotate": [ + { "time": 0, "angle": 0.03 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "ik_fot_L": { + "rotate": [ + { + "time": 0, + "angle": 0.03, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 2.0667, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.0667, + "x": 22.15, + "y": -4.22, + "curve": [ 0.573, 0, 0.473, 1 ] + }, + { + "time": 0.4, + "x": -17.15, + "y": 88.09, + "curve": [ 0.395, 0, 0.722, 0.37 ] + }, + { + "time": 0.5, + "x": -31.03, + "y": 85.57, + "curve": [ 0.489, 0.19, 0.559, 1 ] + }, + { + "time": 0.8, + "x": -17.84, + "y": 22.3, + "curve": [ 0.573, 0, 0.473, 1 ] + }, + { + "time": 1.3333, + "x": -35.86, + "y": 88.09, + "curve": [ 0.573, 0, 0.473, 1 ] + }, + { "time": 2.0667, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 2.0667, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.0667, "x": 0, "y": 0 } + ] + }, + "b_FullPet": { + "rotate": [ + { "time": 0, "angle": 0.03 }, + { "time": 2.0667, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.0667, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 2.0667, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.0667, "x": 0, "y": 0 } + ] + } + }, + "drawOrder": [ + { "time": 0 }, + { "time": 0.2333 } + ] + }, + "Sad": { + "slots": { + "s_dorso": { + "attachment": [ + { "time": 0, "name": "a_dorso" }, + { "time": 3.1667, "name": "a_dorso" } + ] + } + }, + "bones": { + "b_pelvis": { + "rotate": [ + { + "time": 0, + "angle": 0.29, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 0.6667, "angle": 4.09 }, + { + "time": 1.4667, + "angle": 3.83, + "curve": [ 0.426, 0, 0.572, 1 ] + }, + { + "time": 2, + "angle": 8.3, + "curve": [ 0.426, 0, 0.572, 1 ] + }, + { + "time": 2.4333, + "angle": -0.44, + "curve": [ 0.426, 0, 0.572, 1 ] + }, + { "time": 2.8, "angle": 4.09 }, + { "time": 3.1667, "angle": 3.18 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0.33, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 0.6667, "x": 0.19, "y": -2.7 }, + { "time": 3.1667, "x": 0, "y": 0.92 } + ], + "scale": [ + { + "time": 0, + "x": 1.004, + "y": 1, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 0.6667, "x": 0.966, "y": 1.006 }, + { "time": 3.1667, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 3.1667, "x": 0, "y": 0 } + ] + }, + "b_dorso": { + "rotate": [ + { + "time": 0, + "angle": 0.3, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 0.6667, "angle": 20.1 }, + { + "time": 1.5667, + "angle": 19.84, + "curve": [ 0.426, 0, 0.572, 1 ] + }, + { + "time": 2.1, + "angle": 28.2, + "curve": [ 0.426, 0, 0.572, 1 ] + }, + { + "time": 2.5333, + "angle": 3.67, + "curve": [ 0.426, 0, 0.572, 1 ] + }, + { "time": 2.9, "angle": 20.1 }, + { "time": 3.1667, "angle": 3.37 } + ], + "translate": [ + { + "time": 0, + "x": 1.33, + "y": -0.08, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.4, + "x": 0, + "y": 0, + "curve": [ 0.523, 0.01, 0.537, 1 ] + }, + { "time": 0.6667, "x": -1.31, "y": -1.54 }, + { "time": 3.1667, "x": -0.42, "y": -0.08 } + ], + "scale": [ + { + "time": 0, + "x": 1.004, + "y": 1, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 0.6667, "x": 0.984, "y": 1.002 }, + { "time": 3.1667, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 3.1667, "x": 0, "y": 0 } + ] + }, + "ik_fot_L": { + "rotate": [ + { + "time": 0, + "angle": 0.03, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 3.1667, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 0.6667, "x": 12.14, "y": -4.47, "curve": "stepped" }, + { "time": 1.7, "x": 12.14, "y": -4.47 }, + { "time": 2.0667, "x": 34.82, "y": 5.92 }, + { "time": 2.1333, "x": -5.28, "y": -13.16 }, + { "time": 2.2333, "x": -39.17, "y": -0.02 }, + { "time": 2.3, "x": -57.07, "y": 11.64 }, + { + "time": 2.4, + "x": -76.69, + "y": 33.12, + "curve": [ 0, 0.05, 0.589, 1 ] + }, + { "time": 2.8333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 3.1667, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 3.1667, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 3.1667, "x": 0, "y": 0 } + ] + }, + "ik_foot_R": { + "rotate": [ + { + "time": 0, + "angle": 0.03, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 3.1667, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 1.63, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 0.6667, "x": -10.36, "y": -2.23 }, + { + "time": 2.0333, + "x": -10.92, + "y": -2.23, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 2.4, "x": -14, "y": -6.99 }, + { + "time": 2.7333, + "x": -10.92, + "y": -2.23, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 3.1667, "x": 0, "y": 1.63 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 3.1667, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 3.1667, "x": 0, "y": 0 } + ] + }, + "b_FullPet": { + "rotate": [ + { "time": 0, "angle": 0.03 }, + { "time": 3.1667, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 3.1667, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 3.1667, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 3.1667, "x": 0, "y": 0 } + ] + }, + "root": { + "rotate": [ + { "time": 0, "angle": 0.03 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + } + }, + "deform": { + "default": { + "s_dorsoMask": { + "mask_dorso": [ + { + "time": 0, + "offset": 18, + "vertices": [ -0.14696, 3.01498, -0.92734, 1.02881, 2.09261, 0.41347, 0.41753, 2.89646, 0.3416, 8.91913 ] + }, + { + "time": 0.0667, + "offset": 18, + "vertices": [ -0.91896, 2.7586, -0.86272, 1.31843, 1.32313, 3.89626, 0.17834, 4.16806, 0.02998, 1.55807, -0.0897, 0.05117, 0.08787, 0.00984, 0.92834, 0.49012, 0.43557, 0.10925, 0.35571, 0.15067 ] + }, + { + "time": 0.2667, + "offset": 18, + "vertices": [ -3.23495, 1.98945, -0.66885, 2.1873, 0.91685, 1.36047, -0.06886, 1.34485, -0.4067, -0.65812, -0.35881, 0.20469, 0.35148, 0.03935, 1.07237, 0.35599, 1.74229, 0.437, 1.42282, 0.60269 ] + }, + { + "time": 0.6667, + "offset": 18, + "vertices": [ -5.32982, 1.36586, -2.50036, 5.9838, 1.89037, 3.45592, -0.17216, 3.36212, -1.01675, -1.6453, -0.89702, 0.51173, 0.8787, 0.09839, 2.68092, 0.88997, 2.25512, -0.58573, 3.18116, -2.37309, 2.2552, 2.3299 ] + }, + { + "time": 1.6333, + "offset": 18, + "vertices": [ -5.32982, 1.36586, -2.50036, 5.9838, 1.89037, 3.45592, -0.17216, 3.36212, -1.01675, -1.6453, -0.89702, 0.51173, 0.8787, 0.09839, 2.68092, 0.88997, 2.57496, 0.74711, 3.47156, -1.48331, 1.71303, 2.79295 ] + }, + { + "time": 1.9667, + "offset": 18, + "vertices": [ -5.32982, 1.36586, -2.50036, 5.9838, 1.89037, 3.45592, -0.17216, 3.36212, -1.01675, -1.6453, -0.89702, 0.51173, 0.8787, 0.09839, 2.68092, 0.88997, 2.68525, 1.20671, 5.24014, -0.9904, 4.68878, 1.29555 ] + }, + { + "time": 2.2667, + "offset": 14, + "vertices": [ 5.01, 1.44533, 4.61034, 8.94521, 4.58483, 12.41422, 1.6318, 16.041, -2.534, 4.91698, -0.04301, 6.05991, -1.01675, -1.6453, -0.89702, 0.51173, 0.8787, 0.09839, 2.68092, 0.88997, 2.68525, 1.20671, 5.24014, -0.9904, 4.68878, 1.29555 ] + }, + { + "time": 2.4667, + "offset": 14, + "vertices": [ 8.35001, 2.40888, 18.65046, 12.63526, 16.63799, 19.30203, 10.46304, 24.74112, 7.04694, 22.4885, 0.04309, 7.85844, -1.01675, -1.6453, -0.89702, 0.51173, 0.8787, 0.09839, 2.68092, 0.88997, 2.68525, 1.20671, 5.24014, -0.9904, 4.68878, 1.29555 ] + }, + { + "time": 2.6333, + "offset": 14, + "vertices": [ 8.35001, 2.40888, 18.65046, 12.63526, 16.63799, 19.30203, 10.46304, 24.74112, 6.09042, 20.3936, 0.04309, 7.85844, -1.01675, -1.6453, -0.89702, 0.51173, 0.8787, 0.09839, 2.68092, 0.88997, 2.68525, 1.20671, 5.24014, -0.9904, 4.68878, 1.29555 ] + }, + { + "time": 2.9333, + "offset": 14, + "vertices": [ 6.1347, 1.76979, 13.70238, 9.28305, 12.18484, 14.98098, 4.43752, 16.72459, 6.16116, 20.99446, 2.72772, 17.29742, -0.57875, 1.46943, -0.65904, 0.37597, 0.64558, 0.07228, 2.6299, 1.05498, 1.97284, 0.88656, 3.8499, -0.72764, 3.44482, 0.95183 ] + }, + { + "time": 3.1667, + "offset": 18, + "vertices": [ -0.14696, 3.01498, 2.28105, 4.06521, -0.5779, -0.44222, -0.48925, 1.13527 ] + } + ] + } + } + }, + "drawOrder": [ + { "time": 0 }, + { "time": 0.0333 } + ] + }, + "Steal_Pos": { + "slots": { + "SwingPath": { + "attachment": [ + { "time": 0, "name": null } + ] + }, + "s_dorso": { + "attachment": [ + { "time": 0, "name": "a_dorso" }, + { "time": 0.8, "name": "a_dorso" }, + { "time": 2.6333, "name": "a_dorso" } + ] + } + }, + "bones": { + "b_pelvis": { + "rotate": [ + { "time": 0, "angle": 0 }, + { + "time": 0.1, + "angle": -17.73, + "curve": [ 0.528, 0, 0.476, 1.01 ] + }, + { + "time": 0.5, + "angle": 14.82, + "curve": [ 0.447, 0, 0.477, 1 ] + }, + { + "time": 0.8, + "angle": 0.29, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 1.1333, + "angle": -0.13, + "curve": [ 0.62, 0, 1, 1 ] + }, + { "time": 1.4667, "angle": 4.58 }, + { + "time": 1.5, + "angle": 1.28, + "curve": [ 0.484, 0.01, 0.661, 1 ] + }, + { + "time": 1.7, + "angle": 0, + "curve": [ 0.466, 0.01, 0.52, 1 ] + }, + { "time": 2.6333, "angle": 3.18 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { + "time": 0.1, + "x": 0, + "y": 0.92, + "curve": [ 0.498, 0, 0.476, 1.01 ] + }, + { + "time": 0.8, + "x": 0, + "y": 0.33, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 1.1333, + "x": 0, + "y": 10.49, + "curve": [ 0.244, 0, 0.641, 0.57 ] + }, + { + "time": 1.5, + "x": 14.21, + "y": 2.82, + "curve": [ 0.484, 0.01, 0.661, 1 ] + }, + { "time": 1.7, "x": 15.47, "y": 4.71 }, + { + "time": 2.0667, + "x": 9.28, + "y": 2.83, + "curve": [ 0.971, 0, 0.651, 1 ] + }, + { "time": 2.6333, "x": 0, "y": 0.92 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 }, + { + "time": 0.1, + "x": 1.002, + "y": 1, + "curve": [ 0.253, 0.46, 0.476, 1.01 ] + }, + { + "time": 0.8, + "x": 1.004, + "y": 1, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 1.4333, "x": 1, "y": 1 }, + { + "time": 1.5, + "x": 0.871, + "y": 1.051, + "curve": [ 0.484, 0.01, 0.661, 1 ] + }, + { + "time": 1.7, + "x": 1, + "y": 0.962, + "curve": [ 0.466, 0.01, 0.52, 1 ] + }, + { + "time": 2.0667, + "x": 1, + "y": 1, + "curve": [ 0.971, 0, 0.651, 1 ] + }, + { "time": 2.6333, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0.8, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.6333, "x": 0, "y": 0 } + ] + }, + "b_dorso": { + "rotate": [ + { "time": 0, "angle": 0 }, + { + "time": 0.1, + "angle": -16.69, + "curve": [ 0, 0, 0.476, 1.01 ] + }, + { + "time": 0.5667, + "angle": 14.25, + "curve": [ 0.447, 0, 0.477, 1 ] + }, + { + "time": 0.8, + "angle": 0.3, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 1.2333, + "angle": -7.18, + "curve": [ 0.62, 0, 1, 1 ] + }, + { + "time": 1.4333, + "angle": 12.33, + "curve": [ 0.353, 0, 0.682, 0.41 ] + }, + { + "time": 1.5, + "angle": 10.02, + "curve": [ 0.484, 0.01, 0.661, 1 ] + }, + { + "time": 1.7, + "angle": 0, + "curve": [ 0.466, 0.01, 0.52, 1 ] + }, + { "time": 2.6333, "angle": 3.37 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { + "time": 0.1, + "x": -0.42, + "y": -0.08, + "curve": [ 0, 0, 0.476, 1.01 ] + }, + { + "time": 0.5667, + "x": 1.95, + "y": 8.91, + "curve": [ 0.447, 0, 0.477, 1 ] + }, + { + "time": 0.8, + "x": 1.33, + "y": -0.08, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 1.1333, + "x": 3.5, + "y": -0.64, + "curve": [ 0.519, 0, 0.878, 0.71 ] + }, + { + "time": 1.4, + "x": 8.09, + "y": -0.92, + "curve": [ 0.658, 0.62, 1, 1 ] + }, + { + "time": 1.4667, + "x": -6.94, + "y": -0.64, + "curve": [ 0.351, 0, 0.681, 0.4 ] + }, + { + "time": 1.5, + "x": 3.16, + "y": 1.01, + "curve": [ 0.484, 0.01, 0.661, 1 ] + }, + { + "time": 1.7, + "x": 2.53, + "y": 0, + "curve": [ 0.466, 0.01, 0.52, 1 ] + }, + { + "time": 2.0667, + "x": 0, + "y": 0, + "curve": [ 0.971, 0, 0.651, 1 ] + }, + { "time": 2.6333, "x": -0.42, "y": -0.08 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 }, + { + "time": 0.1, + "x": 1.002, + "y": 1, + "curve": [ 0, 0, 0.476, 1.01 ] + }, + { + "time": 0.8, + "x": 1.004, + "y": 1, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 1.4333, "x": 1, "y": 1 }, + { + "time": 1.5, + "x": 0.954, + "y": 1.019, + "curve": [ 0.484, 0.01, 0.661, 1 ] + }, + { + "time": 1.7, + "x": 1, + "y": 1, + "curve": [ 0.466, 0.01, 0.52, 1 ] + }, + { "time": 2.6333, "x": 1.002, "y": 1 } + ], + "shear": [ + { "time": 0.8, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.6333, "x": 0, "y": 0 } + ] + }, + "ik_foot_R": { + "rotate": [ + { + "time": 0.8, + "angle": 0.03, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 2.6333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { + "time": 0.1, + "x": 27.17, + "y": 1.63, + "curve": [ 0, 0, 0.476, 1.01 ] + }, + { + "time": 0.5, + "x": 8.09, + "y": 13.07, + "curve": [ 0.447, 0, 0.477, 1 ] + }, + { + "time": 0.8, + "x": 0, + "y": 1.63, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 1.5, + "x": 0, + "y": 0.57, + "curve": [ 0.344, 0.3, 0.677, 0.63 ] + }, + { + "time": 1.7, + "x": 0, + "y": -1.08, + "curve": [ 0.343, 0.31, 0.676, 0.64 ] + }, + { + "time": 2.0667, + "x": 0, + "y": -1.93, + "curve": [ 0.971, 0, 0.651, 1 ] + }, + { "time": 2.6333, "x": 0, "y": 1.63 } + ], + "scale": [ + { "time": 0.8, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 2.6333, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0.8, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.6333, "x": 0, "y": 0 } + ] + }, + "root": { + "rotate": [ + { "time": 0.8, "angle": 0.03 } + ], + "translate": [ + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0.8, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0.8, "x": 0, "y": 0 } + ] + }, + "b_FullPet": { + "rotate": [ + { "time": 0, "angle": -19.81, "curve": "stepped" }, + { + "time": 0.1, + "angle": -19.81, + "curve": [ 0, 0, 0.476, 1.01 ] + }, + { + "time": 0.4, + "angle": 13.93, + "curve": [ 0.447, 0, 0.477, 1 ] + }, + { "time": 0.8, "angle": 0.03, "curve": "stepped" }, + { + "time": 1.7667, + "angle": 0.03, + "curve": [ 0.393, 0, 0.632, 1 ] + }, + { "time": 2.6333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 403.21, "y": 4.26, "curve": "stepped" }, + { + "time": 0.1, + "x": 403.21, + "y": 4.26, + "curve": [ 0, 0, 0.476, 1.01 ] + }, + { + "time": 0.4, + "x": -27.25, + "y": 7.15, + "curve": [ 0.447, 0, 0.477, 1 ] + }, + { "time": 0.8, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.4667, "x": 0, "y": 0 }, + { + "time": 1.5, + "x": 0, + "y": -5.09, + "curve": [ 0.375, 0, 0.617, 1 ] + }, + { + "time": 1.5667, + "x": 0, + "y": -5.82, + "curve": [ 0.375, 0, 0.617, 1 ] + }, + { + "time": 1.6667, + "x": 0, + "y": 8, + "curve": [ 0.393, 0, 0.632, 1 ] + }, + { "time": 1.7667, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.6333, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0.8, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.4667, "x": 1, "y": 1 }, + { + "time": 1.5, + "x": 1.036, + "y": 0.942, + "curve": [ 0.375, 0, 0.617, 1 ] + }, + { + "time": 1.5667, + "x": 1.017, + "y": 0.959, + "curve": [ 0.375, 0, 0.617, 1 ] + }, + { + "time": 1.6667, + "x": 0.942, + "y": 1.08, + "curve": [ 0.393, 0, 0.632, 1 ] + }, + { "time": 1.7667, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 2.6333, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0.8, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.5667, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.6667, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.7667, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.6333, "x": 0, "y": 0 } + ] + }, + "ik_fot_L": { + "rotate": [ + { + "time": 0.8, + "angle": 0.03, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { "time": 2.6333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { + "time": 0.1, + "x": -23.97, + "y": 20.77, + "curve": [ 0, 0, 0.476, 1.01 ] + }, + { + "time": 0.5, + "x": -28.26, + "y": -9.97, + "curve": [ 0.447, 0, 0.477, 1 ] + }, + { + "time": 0.8, + "x": 0, + "y": 0, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 1.2, + "x": -62.13, + "y": 54.09, + "curve": [ 0.294, 0.62, 0.619, 1 ] + }, + { + "time": 1.3, + "x": -63.72, + "y": 51.15, + "curve": [ 0.33, 0, 0.676, 0.41 ] + }, + { + "time": 1.3333, + "x": -75.18, + "y": 47.57, + "curve": [ 0.349, 0.3, 0.686, 0.64 ] + }, + { + "time": 1.3667, + "x": -70.67, + "y": 33.98, + "curve": [ 0.361, 0.33, 0.698, 0.67 ] + }, + { + "time": 1.4, + "x": -53.83, + "y": 13.44, + "curve": [ 0.381, 0.36, 0.719, 0.7 ] + }, + { + "time": 1.4333, + "x": -19.36, + "y": -4.99, + "curve": [ 0.427, 0.41, 0.767, 0.75 ] + }, + { + "time": 1.4667, + "x": 0.71, + "y": -12.74, + "curve": [ 0.648, 0.59, 1, 0.96 ] + }, + { "time": 1.5, "x": 26.51, "y": -7.89 }, + { + "time": 2.0667, + "x": 22.72, + "y": -6.76, + "curve": [ 0.971, 0, 0.651, 1 ] + }, + { "time": 2.6333, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0.8, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 2.6333, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0.8, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.6333, "x": 0, "y": 0 } + ] + } + }, + "deform": { + "default": { + "s_dorsoMask": { + "mask_dorso": [ + { + "time": 0.1667, + "offset": 18, + "vertices": [ -0.09009, 1.82007, 3.3989, 12.21198, 5.56006, 14.01541, 3.89479, 12.42363, 2.32855, 7.84184, 1.32164, 5.8468 ] + }, + { + "time": 0.4667, + "offset": 14, + "vertices": [ -8.46482, 1.53479, 0.25138, 7.97987, 1.99913, 11.04901, -0.79776, 11.9193, -0.32355, 9.76874, 0.4849, 7.02131, 1.13566, 1.03174, 0.56724, 1.20066, 0, 0, 0.75103, -0.21875 ] + }, + { + "time": 0.8, + "offset": 18, + "vertices": [ 0.19027, -0.44664, -0.12057, 0.60894, 0.16043, 1.79507, -0.67506, -1.23026, -0.18979, -6.53505, -0.27099, -3.96171, 0, 0, 1.58551, -0.46181 ], + "curve": [ 0, 0.21, 0.75, 1 ] + }, + { + "time": 0.9667, + "offset": 10, + "vertices": [ 1.39394, 1.16504, 6.48138, 1.94468, 10.0592, 3.03158, 17.36675, 10.52183, 15.59673, 15.56505, 11.79083, 22.84578, 8.62555, 20.57906, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.65419, -2.66706 ] + }, + { + "time": 1.1333, + "offset": 10, + "vertices": [ 2.78789, 2.33007, 6.99816, 1.90074, 10.50841, 2.41662, 18.16216, 10.76109, 14.28698, 14.20777, 3.02053, 9.51532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.75785, 0.08894 ] + }, + { + "time": 1.5, + "offset": 10, + "vertices": [ 3.48734, -0.37014, -1.73034, 1.93004, 1.29986, 0.43891, 5.45574, 4.86049, 2.65576, 5.20719, -0.42389, 4.49713, 0.80269, -1.48245, -0.80097, -2.21102, -1.31778, -7.39635, -0.52702, -5.55621, 0, 0, 1.6176, 0.61812, 0.61359, 4.25574, 2.02185, 6.17672 ] + }, + { + "time": 1.8333, + "offset": 10, + "vertices": [ 2.46165, -0.26128, -1.22142, 1.36238, 0.91755, 0.30982, 3.85111, 3.43093, 1.87466, 3.67566, 0.63495, 3.2127, 1.94221, -1.36821, 0.24273, -5.80374, -0.91445, -10.17494, 0.22586, -6.41701, 0, 0, 1.14183, 0.43632, 0.43312, 3.00405, -0.5974, 4.17784, -2.37982, -0.12516 ] + }, + { + "time": 2.2333, + "offset": 10, + "vertices": [ 1.23083, -0.13064, -0.61071, 0.68119, 0.45877, 0.15491, 1.92556, 1.71547, 0.93733, 1.83783, -0.93471, 1.84128, 1.60743, -0.51824, 0.12137, -2.90187, -0.26452, -8.43572, -0.15806, -7.17022, 0, 0, 1.36367, -0.01274, 0.21656, 1.50203, 0.71359, 2.18002, -1.00328, -2.26482 ] + }, + { + "time": 2.4667, + "offset": 10, + "vertices": [ 0.51284, -0.05443, -0.25446, 0.28383, 0.19116, 0.06455, 0.80232, 0.71478, -2.46495, -1.12584, -0.38946, 0.7672, 0.66976, -0.21593, 0.05057, -1.20911, -0.11022, -3.51488, -0.06586, -2.98759, 0, 0, 1.49307, -0.2747, 0.09023, 0.62584, 0.29733, 0.90834 ] + }, + { + "time": 2.6333, + "offset": 32, + "vertices": [ 1.58551, -0.46181 ] + } + ] + } + } + }, + "drawOrder": [ + { "time": 0.0667 }, + { "time": 0.8 }, + { "time": 1.0667 }, + { "time": 2.3333 } + ] + }, + "Steal_Pre": { + "slots": { + "s_dorso": { + "attachment": [ + { "time": 0, "name": "a_dorso" } + ] + } + }, + "bones": { + "b_pelvis": { + "rotate": [ + { + "time": 0, + "angle": 0.29, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.2, + "angle": 4.41, + "curve": [ 0.397, 0.2, 0.523, 1 ] + }, + { + "time": 0.5333, + "angle": -13.71, + "curve": [ 0.39, 0, 1, 0 ] + }, + { "time": 0.7, "angle": 10.7 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0.33 } + ], + "scale": [ + { "time": 0, "x": 1.004, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "b_dorso": { + "rotate": [ + { + "time": 0, + "angle": 0.3, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.2, + "angle": 6.05, + "curve": [ 0.397, 0.2, 0.523, 1 ] + }, + { + "time": 0.5333, + "angle": -13.6, + "curve": [ 0.39, 0, 1, 0 ] + }, + { "time": 0.7, "angle": 14.55 }, + { "time": 0.9667, "angle": -0.41 } + ], + "translate": [ + { "time": 0, "x": 1.33, "y": -0.08 } + ], + "scale": [ + { "time": 0, "x": 1.004, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "ik_foot_R": { + "rotate": [ + { "time": 0, "angle": 0.03 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 1.63, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.0333, + "x": -6.5, + "y": -4.29, + "curve": [ 0.469, 0, 0.541, 1 ] + }, + { + "time": 0.5333, + "x": -60.84, + "y": 23.68, + "curve": [ 0.39, 0, 1, 0 ] + }, + { "time": 0.7, "x": 3.16, "y": 13.15 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "ik_fot_L": { + "rotate": [ + { "time": 0, "angle": 0.03 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0, + "curve": [ 0, 0.25, 0.503, 0.99 ] + }, + { + "time": 0.5333, + "x": 12.41, + "y": -16.96, + "curve": [ 0.334, 0, 0.819, 0 ] + }, + { + "time": 0.6667, + "x": -29, + "y": -1.22, + "curve": [ 0.633, 0.26, 1, 0.59 ] + }, + { "time": 0.7, "x": -62.11, "y": 6.2 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "b_FullPet": { + "rotate": [ + { "time": 0, "angle": 0.03 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { + "time": 0.5, + "x": -31.33, + "y": 6.71, + "curve": [ 0.477, 0, 0.983, 0.98 ] + }, + { "time": 0.9333, "x": 381.21, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "root": { + "rotate": [ + { "time": 0, "angle": 0.03 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ], + "shear": [ + { "time": 0, "x": 0, "y": 0 } + ] + } + }, + "deform": { + "default": { + "s_dorsoMask": { + "mask_dorso": [ + { + "time": 0, + "offset": 32, + "vertices": [ -0.42995, 3.87875 ] + }, + { + "time": 0.2, + "offset": 32, + "vertices": [ -0.42995, 3.87875, 0, 0, -0.10873, -2.85018, 0.76328, -1.88967 ] + }, + { + "time": 0.5333, + "offset": 22, + "vertices": [ 1.19008, 0.8764, 0.95642, -1.05739, 1.08689, -2.08134, 1.28414, 2.42408, -0.17401, 2.65557, 0.86056, 3.37201, 0.08122, -4.20331, -2.24981, -9.94114, 0.76328, -1.88967 ] + }, + { + "time": 0.7, + "offset": 14, + "vertices": [ -5.60591, -0.41905, 0, 0, 0, 0, 0, 0, 1.19008, 0.8764, 0.95642, -1.05739, 1.08689, -2.08134, 1.28414, 2.42408, -0.17401, 2.65557, 0.86056, 3.37201, 0.08122, -4.20331, 2.91238, -3.40398, 3.36983, -1.31287, 7.83782, -3.82666 ] + } + ] + } + } + }, + "drawOrder": [ + { "time": 0 }, + { "time": 0.6333 } + ] + }, + "Steal_Swing": { + "slots": { + "SwingPath": { + "attachment": [ + { "time": 0, "name": null } + ] + }, + "s_dorso": { + "attachment": [ + { "time": 0, "name": null }, + { "time": 0.1667, "name": "a_dorso" }, + { "time": 2.9, "name": null } + ] + } + }, + "bones": { + "b_pelvis": { + "rotate": [ + { "time": 0, "angle": 0 }, + { + "time": 0.2333, + "angle": 14.39, + "curve": [ 0.469, 0, 0.541, 1 ] + }, + { + "time": 0.9, + "angle": 33.72, + "curve": [ 0.469, 0, 0.541, 1 ] + }, + { "time": 1.7333, "angle": -20.64 }, + { "time": 2.7, "angle": 4.97 } + ] + }, + "ik_fot_L": { + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.2333, "x": 53.72, "y": 12.26, "curve": "stepped" }, + { "time": 0.7, "x": 53.72, "y": 12.26, "curve": "stepped" }, + { + "time": 0.8667, + "x": 53.72, + "y": 12.26, + "curve": [ 0.463, 0, 0.735, 0.49 ] + }, + { + "time": 1.1333, + "x": 26.77, + "y": -20.56, + "curve": [ 0.463, 0, 0.735, 0.49 ] + }, + { "time": 1.3667, "x": -49.75, "y": 14.51 }, + { "time": 1.8, "x": -57.89, "y": 116.73 } + ] + }, + "ik_foot_R": { + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { + "time": 0.2333, + "x": 40.6, + "y": 55.03, + "curve": [ 0.463, 0, 0.735, 0.49 ] + }, + { "time": 0.7, "x": 31.18, "y": 70.52, "curve": "stepped" }, + { + "time": 0.8667, + "x": 31.18, + "y": 70.52, + "curve": [ 0.463, 0, 0.735, 0.49 ] + }, + { + "time": 1.1333, + "x": 11.62, + "y": 14.77, + "curve": [ 0.463, 0, 0.735, 0.49 ] + }, + { "time": 1.3667, "x": -23.81, "y": -10.24 }, + { "time": 1.5667, "x": -96.61, "y": 14.21 }, + { "time": 1.6667, "x": -122.26, "y": 39.61 }, + { "time": 1.8, "x": -141.31, "y": 62.17 } + ], + "scale": [ + { "time": 1.3667, "x": 1, "y": 1 } + ] + }, + "b_dorso": { + "rotate": [ + { "time": 0, "angle": 0 }, + { + "time": 0.2333, + "angle": -7.58, + "curve": [ 0.469, 0, 0.541, 1 ] + }, + { + "time": 0.9, + "angle": 16.98, + "curve": [ 0.469, 0, 0.541, 1 ] + }, + { + "time": 1.7333, + "angle": -15.43, + "curve": [ 0.432, 0, 0.704, 1 ] + }, + { "time": 2.7, "angle": 13.31 } + ] + }, + "b_FullPet": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.1667, "angle": 0.06 }, + { "time": 2.7, "angle": -18.58 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 }, + { "time": 0.1667, "x": 0.694, "y": 0.694 } + ] + } + }, + "deform": { + "default": { + "s_dorsoMask": { + "mask_dorso": [ + { + "time": 0.2, + "vertices": [ -17.61151, 7.44397, -25.7521, 4.97461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.48962, 0.18201, 4.21371, -0.53162, 4.28094, 1.35608, 4.98955, -5.28259, 2.25755, -2.35632, 0, 0, 0, 0, 0.52681, -0.94873, -1.5357, -4.81372, -4.5662, 2.46704, -7.08064, 4.43799 ] + }, + { + "time": 0.8667, + "vertices": [ -16.85147, 10.84058, -22.68441, 6.6701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.48962, 0.18201, 4.21371, -0.53162, 4.28094, 1.35608, 1.38306, -1.59668, 0.09397, -3.80371, 0.19534, 3.69788, 0.30901, 6.95337, -0.2626, 3.31433, -0.78785, 9.22858, -1.59815, 12.26593, -3.47169, 7.10962 ] + }, + { + "time": 1.1, + "vertices": [ -16.85147, 10.84058, -22.68441, 6.6701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.19839, 7.02527, 2.78537, 3.45587, 0.91488, 6.86127, 0.12288, 3.91882, -1.46088, 2.67676, 0.19534, 3.69788, 0.85284, 5.85162, -0.53325, 7.65668, -0.78785, 9.22858, -1.59815, 12.26593, -3.47169, 7.10962 ] + }, + { + "time": 1.4, + "vertices": [ -16.85147, 10.84058, -22.68441, 6.6701, 0, 0, 0, 0, 0, 0, -1.66644, 3.70594, -0.76849, 2.94371, 5.25787, 2.05422, 6.0462, 6.99281, 2.4809, 7.96571, 7.06057, 17.19414, 12.18875, 16.24741, 5.84072, 4.99029, 4.23824, 3.26476, 3.44274, 0.26864, 0.19534, 3.69788, 0.85284, 5.85162, -0.53325, 7.65668, -0.78785, 9.22858, -1.59815, 12.26593, -3.47169, 7.10962 ] + }, + { + "time": 1.7667, + "vertices": [ -16.85147, 10.84058, -22.68441, 6.6701, 0, 0, 0, 0, 78.54356, 40.34149, 7.10963, 0.8083, 7.00063, 0.82249, 14.24783, 1.8984, 19.18579, 10.05903, 11.68486, 13.1877, 12.08804, 19.95055, 12.18875, 16.24741, 5.84072, 4.99029, 4.23824, 3.26476, 3.44274, 0.26864, 0.19534, 3.69788, 0.85284, 5.85162, -0.53325, 7.65668, -0.78785, 9.22858, -1.59815, 12.26593, -3.47169, 7.10962 ] + }, + { + "time": 2.1667, + "vertices": [ -16.85147, 10.84058, -22.68441, 6.6701, 0, 0, 143.61392, 59.2941, 104.18983, -57.63258, 14.86074, -8.12623, 13.85868, -2.32168, 18.29576, 1.81567, 18.14918, 11.0727, 11.11384, 13.56879, 11.99242, 22.17611, 13.14092, 16.43406, 5.84072, 4.99029, 4.23824, 3.26476, 3.44274, 0.26864, 0.19534, 3.69788, 0.85284, 5.85162, -0.53325, 7.65668, -0.78785, 9.22858, -1.59815, 12.26593, -3.47169, 7.10962 ] + }, + { + "time": 2.4, + "vertices": [ -16.85147, 10.84058, -22.68441, 6.6701, 0, 0, 227.3887, 93.88232, 119.15016, -114.78412, 20.17262, -6.22173, 17.85921, -4.15578, 20.65704, 1.76742, 17.54449, 11.66401, 10.78075, 13.79109, 11.93664, 23.47435, 13.69635, 16.54295, 5.84072, 4.99029, 4.23824, 3.26476, 3.44274, 0.26864, 0.19534, 3.69788, 0.85284, 5.85162, -0.53325, 7.65668, -0.78785, 9.22858, -1.59815, 12.26593, -3.47169, 7.10962 ] + } + ] + } + } + } + } +} +} \ No newline at end of file diff --git a/spine-xna/example/data/skeleton.png b/spine-xna/example/data/skeleton.png new file mode 100644 index 0000000000000000000000000000000000000000..d7fd8840da709867da676583189ae13da06efff7 GIT binary patch literal 4657 zcmdT|^;Z+#`$t6-kq&9z(ug$DA(Ep@LKq0hkQNv)x}@vP=+PS`DmA)Qrf-zdAu+(A zFmf~__nF`S;`__J_ndprbI*Ow^St6Fn;Pp<-($Z=Mn*;r(9<#}BfCLb-XOb6L7MFS zYe8gW^aOyGh9zWv2Xp7&nd#1N`|CTm^Qwj>f<&5Sf87-K&aVdBq%_{`u-xb!Y95%- z2*o!}X(6)6b(wCYOAWG`$|hrhY+f zVZi<{^;Nev`&9q|e_U3S5*A9e&y+x{FYH*KVzSOR?XqHYOSJTxnrwK#e5;JyRG->G zhx18YD$=EvZM~Ic^gHLi&!+Ga=GGt)>Bn%H4eB8$s%XSUmGFOxGR!M4Tr-xEiTHyq zmd-^l<~#y9oOysEtJpyrf56DSgtRDwuB-0bxt_2yX3w8YRv&zb7Y+Iv9pRiFH zMV@eS^_l9K;UnutqmGUjT*&H33*>vFuz;2@-+(BhO2A{^q>wi_$-}**@wKB4$~E2W z>Vh)EGN;I(S^I##H+>;Nzn%p+jq@HZVo^kWT-h;RoQZiZiZ~p5d+qY_Y|Y-OLQx+7 z<19oYCM47+Mo~E+Pf^h$?FzQMGd=6&GxMEBQl{tK$pxoa%<_7Yn@d7Rs9yq^eRa)7 zC_kRBPo{$JR5$d9`(aGG?73UmQBYL@yyXSRBuFU0#78|KT(9qJP(-F^&iHt8+!?Rk^|T%B$iEu6rsB(qfyjdbHF*4v%gCzA!8OoMo`~ zsV8t#^Pp4fUKQ|RLgx_c8CE;PeKaNLtM)&IHK0+c249RGmTLwHBWUpY1|uGuiB3s_MVyWZIK2iaNK9sX|F zkP0D}K=-r;=Z8px72)}!2A(tB{y}tImW1*+NbnQJQDA68T%E?^WcO<5cMhfbD`0B4 z>rTRn>~${nR(9P+zevA*-*7Rj+Ju(}%ysvCcJ9-+E7WP_(yj3tYD)&JF)pcJ-z1<$ z;d=qr7`TI$XTL5&oKhcsz?tTkmMJUWrH0oiiaxd1dtiO4vakL=zPo7%y%wJ<>b|=* zERiSPda832tY~$USSGUTWXb9bwd4P3++){jbF4G_PHNR1%aEc5wJ+VDn|y1G#e7@U z8f1z9MI{m($8S#S2Kjm|JX_8CjL`1&tLRv3+knfhm4-lh{cuI8 za3&*GzD$~6x8Rnz0kVB{E;?Q2N6Z5C-30D2-i6X!bgGI}!8aizIg1ikqdszn*&$2I z$NGl29HNx>b>e~Un3q&U+?!HWMppjo_2QGE$9rPOEX#Z^EHl$Mjj~Z1k+LBvT;%?! z;FL{N`^58}Qx7S>ULMEsPfC{)bkEba7$W;d-J`;F9te+*HhhH4n4voa+mlYCSu*SE zG-Xh}pAYYXRW<9_t+n%4Cg6%{3T1-&(c9j^sa)jj$zhMD(~02U5;M+6ye=3_6aNoh z=4Z06s)t&=2ZY+?mru0ryXOp!^mbnD{4?;Gw*y{AC>?`C+>bqA{FLx5>CJVZZ87@Y zHUF&EqD3n!_$m~}rwC7N#nlbRp@`14|RY$T0t z_VO3cwt00mf0pEet|S<&Or*Rx770J-NxN6cT?z_9_bB7EAEzST) zwhm6~sxP`d5U>0>Gz$tqT7e44mnvNt($v;Vm}_4zi7e?>WH+Ga3X$8kPpSO^t34U? zO!m1Pfq21`;_yS7!9?1hA2FS51vZ?)NyKSVLkjyJ@En$KM{K8RaQjt`DNzpanFqy^ z6F)0O{q}%wJ;S+1?_L|8@{^S*JTiu^2z^W3BagQK1AiFEzIoz2I;l!oUeSS{qQA0t zdWbTrek(onm@v+xu| zn!8A871*j6M}lusZ=pSl?WLNs?d*7*xuY>a;hKi?}g@#t^5^L6*7v)9HIDa5BZ>b+ABW_|?Tsg_#289IB2HM*=wuW1fBTrFN?4(9rV!Bc^307?K4~=9S~-< zm9ofsCz(mz@S2S-RygC6BV1HPZ4$3QRgdognT*xVs8>S2SmB4QZg(Edp*Tg%&0%Ll zM{Fl*PhkoRVCA>jMUTq`zXUuN%H%Fz}|d}U6)w_zw=*^M3(y-m9Qx!(WLQWcHD}|)z7b^HJAjG zZNL#jt<*3W3s$6(3ZZB6$>uOq%f(}_t!M$}weM90Zn&2ogU-AE+?(10eblPIhD zJp^AtiknD?gtX|2-v;o)f@ycFh|l)Mss zI%$KHTIWZS$>0%Y7Fg_5ouHV?r8x9Ld?dJ!47G!AC`uMTCB-06f!>5m;ZJ^Q3PPPT@)g`w1ly-k zO3+>(#@g_db zamd%a0VG$|>L-Zb2#TRey=9BF{eU>0V?zo%9DF>C)6m==?j_x^+0MO4~I3ZFZ6c*g8PuYHM0x^ow2d6>*_S!BY=jH^>XFv_Wg zX}(cH8P+R4U=eGsx&DYkLVZ#+X~r=eSEE~rgiELZ)056>T(wN7=9~Z)QH0I0=KPZY zSV7yyq^z}y6$yL!KUZ9A%~w4~-g8@oCI$>7paqQ z7)|b^_04dD90sb8?TYHve&zPO-lCV(jM>IYQTsUInCp@?+_DB}ZuhVwFPY(R@Bh&LJM4Bo?OHirg zqVP7=FiDvXXXGh@eDs+w*wV5G63+{9ZNM9Tm1b2*gHOk_Q+=T1#0u?Ne73seUJykb zL(1+RSPGnQ{PS({N%Ao4+$eqbl8GCF&lw;FG2u(Qu-_;Dti03H(oRwEXr~|DG-H5B z*cXd>Ov^9xNdBkN{+b>go*Uw_z!F9s75=7gE-1jxBFE~7VPIZw_*>e@%Kl~3FL)n; zQdc(Y=AW71j%b^T;DTc{jW&qf+mz$0y_b!TRVUT-drU305RN0ts4z5=Ds_8nHdMmZ z79FaS?>)I}jZ53iHvK{bwEvm`(E@**j_V>9Kk3?2Q=A{Iq{e-MvInA1&lg!9UB?5E z$?ta2{N?r%|Ymun)yw93nSjDBnPqJ>!+Xjmghdp(!WlBiL!4t zI9gFLG!2-bw6y;4HL|}gB>S&7JNvbxxs%>SGMVfpURCPI`lbfzWfJ8{lzl&)0tIiL ze|*XS6#Ou2n>2sFqMD$fB8+oyEET}XPT!$e^zn`EZS>bR6bGHplmbtf+}*&8It1Y??qLY#j)f7z zQEz)6p5jVec3QjSE>^Pz7l_6Z7I|*3{>ldHjLl!`yXUr(5AZ<|UO}mlROQrDJ?s6Y1z|Ifoy?3oZ! WFP^I24~+i%4uH0?R{gV=vHt@TN(cb} literal 0 HcmV?d00001 diff --git a/spine-xna/example/spine-xna-example.csproj b/spine-xna/example/spine-xna-example.csproj index 87edb92d3..7866d62fc 100644 --- a/spine-xna/example/spine-xna-example.csproj +++ b/spine-xna/example/spine-xna-example.csproj @@ -128,9 +128,18 @@ PreserveNewest + + Always + + + Always + PreserveNewest + + Always + PreserveNewest diff --git a/spine-xna/example/src/ExampleGame.cs b/spine-xna/example/src/ExampleGame.cs index 825fc3386..43bb2b5c5 100644 --- a/spine-xna/example/src/ExampleGame.cs +++ b/spine-xna/example/src/ExampleGame.cs @@ -43,6 +43,7 @@ namespace Spine { public class Example : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; SkeletonRenderer skeletonRenderer; + SkeletonDebugRenderer skeletonDebugRenderer; Skeleton skeleton; Slot headSlot; AnimationState state; @@ -79,11 +80,16 @@ namespace Spine { skeletonRenderer.PremultipliedAlpha = false; skeletonRenderer.Effect = spineEffect; + skeletonDebugRenderer = new SkeletonDebugRenderer(GraphicsDevice); + skeletonDebugRenderer.DisableAll(); + skeletonDebugRenderer.DrawClipping = true; + // String name = "spineboy-ess"; // String name = "goblins-pro"; // String name = "raptor-pro"; // String name = "tank-pro"; - String name = "coin-pro"; + // String name = "coin-pro"; + String name = "skeleton"; String atlasName = name.Replace("-pro", "").Replace("-ess", ""); bool binaryData = false; @@ -122,27 +128,34 @@ namespace Spine { state.Complete += Complete; state.Event += Event; - state.SetAnimation(0, "test", false); + state.SetAnimation(0, "run", true); TrackEntry entry = state.AddAnimation(0, "jump", false, 0); entry.End += End; // Event handling for queued animations. state.AddAnimation(0, "run", true, 0); } else if (name == "raptor-pro") { state.SetAnimation(0, "walk", true); - state.AddAnimation(1, "gungrab", false, 2); + state.AddAnimation(1, "gun-grab", false, 2); } else if (name == "coin-pro") { state.SetAnimation(0, "rotate", true); } else if (name == "tank-pro") { + skeleton.X += 300; state.SetAnimation(0, "drive", true); - } + } + else if (name == "skeleton") { + skeleton.SetSkin("Pig_Normal"); + skeleton.FlipY = true; + skeleton.Y -= 200; + state.SetAnimation(0, "BattleIdle", true); + } else { state.SetAnimation(0, "walk", true); } - skeleton.X = 400 + (name == "tank-pro" ? 300: 0); - skeleton.Y = GraphicsDevice.Viewport.Height; + skeleton.X += 400; + skeleton.Y += GraphicsDevice.Viewport.Height; skeleton.UpdateWorldTransform(); headSlot = skeleton.FindSlot("head"); @@ -176,6 +189,11 @@ namespace Spine { skeletonRenderer.Draw(skeleton); skeletonRenderer.End(); + skeletonDebugRenderer.Effect.Projection = Matrix.CreateOrthographicOffCenter(0, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, 0, 1, 0); + skeletonDebugRenderer.Begin(); + skeletonDebugRenderer.Draw(skeleton); + skeletonDebugRenderer.End(); + bounds.Update(skeleton, true); MouseState mouse = Mouse.GetState(); if (headSlot != null) { diff --git a/spine-xna/spine-xna.csproj b/spine-xna/spine-xna.csproj index 57d97ef19..4899e0ffb 100644 --- a/spine-xna/spine-xna.csproj +++ b/spine-xna/spine-xna.csproj @@ -110,6 +110,8 @@ + + diff --git a/spine-xna/src/ShapeRenderer.cs b/spine-xna/src/ShapeRenderer.cs new file mode 100644 index 000000000..c3a047edb --- /dev/null +++ b/spine-xna/src/ShapeRenderer.cs @@ -0,0 +1,167 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), you may not (a) modify, + * translate, adapt or otherwise create derivative works, improvements of the + * Software or develop new applications using the Software or (b) remove, + * delete, alter or obscure any trademarks or any copyright, trademark, patent + * or other intellectual property or proprietary rights notices on or in the + * Software, including any copy thereof. Redistributions in binary or source + * form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "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 BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) 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 THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Spine { + /// + /// Batch drawing of lines and shapes that can be derrived from lines. + /// + /// Call drawing methods in between Begin()/End() + /// + public class ShapeRenderer { + GraphicsDevice device; + List vertices = new List(); + Color color = Color.White; + BasicEffect effect; + public BasicEffect Effect { get { return effect; } set { effect = value; } } + + public ShapeRenderer(GraphicsDevice device) { + this.device = device; + this.effect = new BasicEffect(device); + effect.World = Matrix.Identity; + effect.View = Matrix.CreateLookAt(new Vector3(0.0f, 0.0f, 1.0f), Vector3.Zero, Vector3.Up); + effect.TextureEnabled = false; + effect.VertexColorEnabled = true; + } + + public void SetColor(Color color) { + this.color = color; + } + + public void Begin() { + device.RasterizerState = new RasterizerState(); + device.BlendState = BlendState.AlphaBlend; + } + + public void Line(float x1, float y1, float x2, float y2) { + vertices.Add(new VertexPositionColor(new Vector3(x1, y1, 0), color)); + vertices.Add(new VertexPositionColor(new Vector3(x2, y2, 0), color)); + } + + /** Calls {@link #circle(float, float, float, int)} by estimating the number of segments needed for a smooth circle. */ + public void Circle(float x, float y, float radius) { + Circle(x, y, radius, Math.Max(1, (int)(6 * (float)Math.Pow(radius, 1.0f / 3.0f)))); + } + + /** Draws a circle using {@link ShapeType#Line} or {@link ShapeType#Filled}. */ + public void Circle(float x, float y, float radius, int segments) { + if (segments <= 0) throw new ArgumentException("segments must be > 0."); + float angle = 2 * MathUtils.PI / segments; + float cos = MathUtils.Cos(angle); + float sin = MathUtils.Sin(angle); + float cx = radius, cy = 0; + float temp = 0; + + for (int i = 0; i < segments; i++) { + vertices.Add(new VertexPositionColor(new Vector3(x + cx, y + cy, 0), color)); + temp = cx; + cx = cos * cx - sin * cy; + cy = sin * temp + cos * cy; + vertices.Add(new VertexPositionColor(new Vector3(x + cx, y + cy, 0), color)); + } + vertices.Add(new VertexPositionColor(new Vector3(x + cx, y + cy, 0), color)); + + temp = cx; + cx = radius; + cy = 0; + vertices.Add(new VertexPositionColor(new Vector3(x + cx, y + cy, 0), color)); + } + + public void Triangle(float x1, float y1, float x2, float y2, float x3, float y3) { + vertices.Add(new VertexPositionColor(new Vector3(x1, y1, 0), color)); + vertices.Add(new VertexPositionColor(new Vector3(x2, y2, 0), color)); + + vertices.Add(new VertexPositionColor(new Vector3(x2, y2, 0), color)); + vertices.Add(new VertexPositionColor(new Vector3(x3, y3, 0), color)); + + vertices.Add(new VertexPositionColor(new Vector3(x3, y3, 0), color)); + vertices.Add(new VertexPositionColor(new Vector3(x1, y1, 0), color)); + } + + public void X(float x, float y, float len) { + Line(x + len, y + len, x - len, y - len); + Line(x - len, y + len, x + len, y - len); + } + + public void Polygon(float[] polygonVertices, int offset, int count) { + if (count< 3) throw new ArgumentException("Polygon must contain at least 3 vertices"); + + offset <<= 1; + count <<= 1; + + var firstX = polygonVertices[offset]; + var firstY = polygonVertices[offset + 1]; + var last = offset + count; + + for (int i = offset, n = offset + count - 2; i= last) { + x2 = firstX; + y2 = firstY; + } else { + x2 = polygonVertices[i + 2]; + y2 = polygonVertices[i + 3]; + } + + Line(x1, y1, x2, y2); + } + } + + public void Rect(float x, float y, float width, float height) { + Line(x, y, x + width, y); + Line(x + width, y, x + width, y + height); + Line(x + width, y + height, x, y + height); + Line(x, y + height, x, y); + } + + public void End() { + var verticesArray = vertices.ToArray(); + + foreach (EffectPass pass in effect.CurrentTechnique.Passes) { + pass.Apply(); + device.DrawUserPrimitives(PrimitiveType.LineList, verticesArray, 0, verticesArray.Length / 2); + } + + vertices.Clear(); + } + } +} diff --git a/spine-xna/src/SkeletonDebugRenderer.cs b/spine-xna/src/SkeletonDebugRenderer.cs new file mode 100644 index 000000000..0c937eeb0 --- /dev/null +++ b/spine-xna/src/SkeletonDebugRenderer.cs @@ -0,0 +1,224 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), you may not (a) modify, + * translate, adapt or otherwise create derivative works, improvements of the + * Software or develop new applications using the Software or (b) remove, + * delete, alter or obscure any trademarks or any copyright, trademark, patent + * or other intellectual property or proprietary rights notices on or in the + * Software, including any copy thereof. Redistributions in binary or source + * form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "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 BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) 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 THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Spine { + public class SkeletonDebugRenderer { + ShapeRenderer renderer; + + private static Color boneLineColor = new Color(1f, 0f, 0f, 1f); + private static Color boneOriginColor = new Color(0f, 1f, 0f, 1f); + private static Color attachmentLineColor = new Color(0f, 0f, 1f, 0.5f); + private static Color triangleLineColor = new Color(1f, 0.64f, 0f, 0.5f); + private static Color pathColor = new Color(1f, 0.5f, 0f, 1f); + private static Color clipColor = new Color(0.8f, 0f, 0f, 1f); + private static Color aabbColor = new Color(0f, 1f, 0f, 0.5f); + + public BasicEffect Effect { get { return renderer.Effect; } set { renderer.Effect = value; } } + public bool DrawBones { get; set; } + public bool DrawRegionAttachments { get; set; } + public bool DrawBoundingBoxes { get; set; } + public bool DrawMeshHull { get; set; } + public bool DrawMeshTriangles { get; set; } + public bool DrawPaths { get; set; } + public bool DrawClipping { get; set; } + public bool DrawSkeletonXY { get; set; } + public void DisableAll() { + DrawBones = false; + DrawRegionAttachments = false; + DrawBoundingBoxes = false; + DrawMeshHull = false; + DrawMeshTriangles = false; + DrawPaths = false; + DrawClipping = false; + DrawSkeletonXY = false; + } + + public void EnableAll() { + DrawBones = true; + DrawRegionAttachments = true; + DrawBoundingBoxes = true; + DrawMeshHull = true; + DrawMeshTriangles = true; + DrawPaths = true; + DrawClipping = true; + DrawSkeletonXY = true; + } + + private float[] vertices = new float[1024 * 2]; + private SkeletonBounds bounds = new SkeletonBounds(); + private Triangulator triangulator = new Triangulator(); + + public SkeletonDebugRenderer (GraphicsDevice device) { + renderer = new ShapeRenderer(device); + EnableAll(); + } + + public void Begin() { + renderer.Begin(); + } + + public void Draw(Skeleton skeleton) { + var skeletonX = skeleton.X; + var skeletonY = skeleton.Y; + + var bones = skeleton.Bones; + if (DrawBones) { + renderer.SetColor(boneLineColor); + for (int i = 0, n = bones.Count; i < n; i++) { + var bone = bones.Items[i]; + if (bone.Parent == null) continue; + var x = bone.Data.Length * bone.A + bone.WorldX; + var y = bone.Data.Length * bone.C + bone.WorldY; + renderer.Line(bone.WorldX, bone.WorldY, x, y); + } + if (DrawSkeletonXY) renderer.X(skeletonX, skeletonY, 4); + } + + if (DrawRegionAttachments) { + renderer.SetColor(attachmentLineColor); + var slots = skeleton.Slots; + for (int i = 0, n = slots.Count; i < n; i++) { + var slot = slots.Items[i]; + var attachment = slot.Attachment; + if (attachment is RegionAttachment) { + var regionAttachment = (RegionAttachment) attachment; + var vertices = this.vertices; + regionAttachment.ComputeWorldVertices(slot.Bone, vertices, 0, 2); + renderer.Line(vertices[0], vertices[1], vertices[2], vertices[3]); + renderer.Line(vertices[2], vertices[3], vertices[4], vertices[5]); + renderer.Line(vertices[4], vertices[5], vertices[6], vertices[7]); + renderer.Line(vertices[6], vertices[7], vertices[0], vertices[1]); + } + } + } + + if (DrawMeshHull || DrawMeshTriangles) { + var slots = skeleton.Slots; + for (int i = 0, n = slots.Count; i < n; i++) { + var slot = slots.Items[i]; + var attachment = slot.Attachment; + if (!(attachment is MeshAttachment)) continue; + var mesh = (MeshAttachment)attachment; + var world = vertices = vertices.Length < mesh.WorldVerticesLength ? new float[mesh.WorldVerticesLength] : vertices; + mesh.ComputeWorldVertices(slot, 0, mesh.WorldVerticesLength, world, 0, 2); + int[] triangles = mesh.Triangles; + var hullLength = mesh.HullLength; + if (DrawMeshTriangles) { + renderer.SetColor(triangleLineColor); + for (int ii = 0, nn = triangles.Count(); ii < nn; ii += 3) { + int v1 = triangles[ii] * 2, v2 = triangles[ii + 1] * 2, v3 = triangles[ii + 2] * 2; + renderer.Triangle(world[v1], world[v1 + 1], // + world[v2], world[v2 + 1], // + world[v3], world[v3 + 1] // + ); + } + } + if (DrawMeshHull && hullLength > 0) { + renderer.SetColor(attachmentLineColor); + hullLength = (hullLength >> 1) * 2; + float lastX = vertices[hullLength - 2], lastY = vertices[hullLength - 1]; + for (int ii = 0, nn = hullLength; ii < nn; ii += 2) { + float x = vertices[ii], y = vertices[ii + 1]; + renderer.Line(x, y, lastX, lastY); + lastX = x; + lastY = y; + } + } + } + } + + if (DrawBoundingBoxes) { + var bounds = this.bounds; + bounds.Update(skeleton, true); + renderer.SetColor(aabbColor); + renderer.Rect(bounds.MinX, bounds.MinY, bounds.Width, bounds.Height); + var polygons = bounds.Polygons; + var boxes = bounds.BoundingBoxes; + for (int i = 0, n = polygons.Count; i < n; i++) { + var polygon = polygons.Items[i]; + renderer.Polygon(polygon.Vertices, 0, polygon.Count); + } + } + + if (DrawBones) { + renderer.SetColor(boneOriginColor); + for (int i = 0, n = bones.Count; i < n; i++) { + var bone = bones.Items[i]; + renderer.Circle(bone.WorldX, bone.WorldY, 3); + } + } + + if (DrawClipping) { + var slots = skeleton.Slots; + renderer.SetColor(clipColor); + for (int i = 0, n = slots.Count; i < n; i++) { + var slot = slots.Items[i]; + var attachment = slot.Attachment; + if (!(attachment is ClippingAttachment)) continue; + var clip = (ClippingAttachment)attachment; + var nn = clip.WorldVerticesLength; + var world = vertices = vertices.Length < nn ? new float[nn] : vertices; + clip.ComputeWorldVertices(slot, 0, nn, world, 0, 2); + ExposedList clippingPolygon = new ExposedList(); + for (int ii = 0; ii < nn; ii += 2) { + var x = world[ii]; + var y = world[ii + 1]; + var x2 = world[(ii + 2) % nn]; + var y2 = world[(ii + 3) % nn]; + renderer.Line(x, y, x2, y2); + clippingPolygon.Add(x); + clippingPolygon.Add(y); + } + + if (!skeleton.FlipY) SkeletonClipping.MakeClockwise(clippingPolygon); + var clippingPolygons = triangulator.Decompose(clippingPolygon, triangulator.Triangulate(clippingPolygon)); + foreach (var polygon in clippingPolygons) { + if (!skeleton.FlipY) SkeletonClipping.MakeClockwise(polygon); + polygon.Add(polygon.Items[0]); + polygon.Add(polygon.Items[1]); + renderer.Polygon(polygon.Items, 0, polygon.Count >> 1); + } + } + } + } + + public void End() { + renderer.End(); + } + } +} diff --git a/spine-xna/src/Util.cs b/spine-xna/src/Util.cs index 1df35a44d..cd4f6f0c9 100644 --- a/spine-xna/src/Util.cs +++ b/spine-xna/src/Util.cs @@ -27,8 +27,8 @@ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - + *****************************************************************************/ + using System; using System.IO; using Microsoft.Xna.Framework; @@ -79,4 +79,4 @@ namespace Spine { return Texture2D.FromStream(device, input); } } -} +} From 4b93db20fd2295fd8a2171f741686af93ff93b37 Mon Sep 17 00:00:00 2001 From: badlogic Date: Fri, 21 Jul 2017 15:59:43 +0200 Subject: [PATCH 11/13] [xna] Also draw decomposed convex clipping polygons --- spine-xna/example/src/ExampleGame.cs | 1 + spine-xna/src/SkeletonDebugRenderer.cs | 21 +++++++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/spine-xna/example/src/ExampleGame.cs b/spine-xna/example/src/ExampleGame.cs index 43bb2b5c5..842d3e980 100644 --- a/spine-xna/example/src/ExampleGame.cs +++ b/spine-xna/example/src/ExampleGame.cs @@ -83,6 +83,7 @@ namespace Spine { skeletonDebugRenderer = new SkeletonDebugRenderer(GraphicsDevice); skeletonDebugRenderer.DisableAll(); skeletonDebugRenderer.DrawClipping = true; + skeletonDebugRenderer.DrawClippingDecomposed = true; // String name = "spineboy-ess"; // String name = "goblins-pro"; diff --git a/spine-xna/src/SkeletonDebugRenderer.cs b/spine-xna/src/SkeletonDebugRenderer.cs index 0c937eeb0..05a9e1238 100644 --- a/spine-xna/src/SkeletonDebugRenderer.cs +++ b/spine-xna/src/SkeletonDebugRenderer.cs @@ -46,6 +46,7 @@ namespace Spine { private static Color triangleLineColor = new Color(1f, 0.64f, 0f, 0.5f); private static Color pathColor = new Color(1f, 0.5f, 0f, 1f); private static Color clipColor = new Color(0.8f, 0f, 0f, 1f); + private static Color clipDecomposedColor = new Color(0.8f, 0.8f, 0f, 1f); private static Color aabbColor = new Color(0f, 1f, 0f, 0.5f); public BasicEffect Effect { get { return renderer.Effect; } set { renderer.Effect = value; } } @@ -56,6 +57,7 @@ namespace Spine { public bool DrawMeshTriangles { get; set; } public bool DrawPaths { get; set; } public bool DrawClipping { get; set; } + public bool DrawClippingDecomposed { get; set; } public bool DrawSkeletonXY { get; set; } public void DisableAll() { DrawBones = false; @@ -204,14 +206,17 @@ namespace Spine { clippingPolygon.Add(x); clippingPolygon.Add(y); } - - if (!skeleton.FlipY) SkeletonClipping.MakeClockwise(clippingPolygon); - var clippingPolygons = triangulator.Decompose(clippingPolygon, triangulator.Triangulate(clippingPolygon)); - foreach (var polygon in clippingPolygons) { - if (!skeleton.FlipY) SkeletonClipping.MakeClockwise(polygon); - polygon.Add(polygon.Items[0]); - polygon.Add(polygon.Items[1]); - renderer.Polygon(polygon.Items, 0, polygon.Count >> 1); + + if (DrawClippingDecomposed) { + if (!skeleton.FlipY) SkeletonClipping.MakeClockwise(clippingPolygon); + var clippingPolygons = triangulator.Decompose(clippingPolygon, triangulator.Triangulate(clippingPolygon)); + renderer.SetColor(clipDecomposedColor); + foreach (var polygon in clippingPolygons) { + if (!skeleton.FlipY) SkeletonClipping.MakeClockwise(polygon); + polygon.Add(polygon.Items[0]); + polygon.Add(polygon.Items[1]); + renderer.Polygon(polygon.Items, 0, polygon.Count >> 1); + } } } } From d950da644f42584852d3aa196bb0944e03ae76af Mon Sep 17 00:00:00 2001 From: badlogic Date: Fri, 21 Jul 2017 16:12:34 +0200 Subject: [PATCH 12/13] [xna] More clipping debugging --- .../esotericsoftware/spine/utils/SkeletonClipping.java | 3 ++- spine-xna/example/src/ExampleGame.cs | 8 ++++---- spine-xna/src/SkeletonDebugRenderer.cs | 7 ++++--- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/SkeletonClipping.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/SkeletonClipping.java index ebe38e0d6..7c3a12959 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/SkeletonClipping.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/SkeletonClipping.java @@ -56,7 +56,8 @@ public class SkeletonClipping { float[] vertices = clippingPolygon.setSize(n); clip.computeWorldVertices(slot, 0, n, vertices, 0, 2); makeClockwise(clippingPolygon); - clippingPolygons = triangulator.decompose(clippingPolygon, triangulator.triangulate(clippingPolygon)); + ShortArray triangles = triangulator.triangulate(clippingPolygon); + clippingPolygons = triangulator.decompose(clippingPolygon, triangles); for (FloatArray polygon : clippingPolygons) { makeClockwise(polygon); polygon.add(polygon.items[0]); diff --git a/spine-xna/example/src/ExampleGame.cs b/spine-xna/example/src/ExampleGame.cs index 842d3e980..0573deb5a 100644 --- a/spine-xna/example/src/ExampleGame.cs +++ b/spine-xna/example/src/ExampleGame.cs @@ -148,15 +148,15 @@ namespace Spine { else if (name == "skeleton") { skeleton.SetSkin("Pig_Normal"); skeleton.FlipY = true; - skeleton.Y -= 200; - state.SetAnimation(0, "BattleIdle", true); + // skeleton.Y -= 200; + // state.SetAnimation(0, "BattleIdle", true); } else { state.SetAnimation(0, "walk", true); } - skeleton.X += 400; - skeleton.Y += GraphicsDevice.Viewport.Height; + // skeleton.X += 400; + // skeleton.Y += GraphicsDevice.Viewport.Height; skeleton.UpdateWorldTransform(); headSlot = skeleton.FindSlot("head"); diff --git a/spine-xna/src/SkeletonDebugRenderer.cs b/spine-xna/src/SkeletonDebugRenderer.cs index 05a9e1238..f2aeaa300 100644 --- a/spine-xna/src/SkeletonDebugRenderer.cs +++ b/spine-xna/src/SkeletonDebugRenderer.cs @@ -208,11 +208,12 @@ namespace Spine { } if (DrawClippingDecomposed) { - if (!skeleton.FlipY) SkeletonClipping.MakeClockwise(clippingPolygon); - var clippingPolygons = triangulator.Decompose(clippingPolygon, triangulator.Triangulate(clippingPolygon)); + SkeletonClipping.MakeClockwise(clippingPolygon); + var triangles = triangulator.Triangulate(clippingPolygon); + var clippingPolygons = triangulator.Decompose(clippingPolygon, triangles); renderer.SetColor(clipDecomposedColor); foreach (var polygon in clippingPolygons) { - if (!skeleton.FlipY) SkeletonClipping.MakeClockwise(polygon); + SkeletonClipping.MakeClockwise(polygon); polygon.Add(polygon.Items[0]); polygon.Add(polygon.Items[1]); renderer.Polygon(polygon.Items, 0, polygon.Count >> 1); From 1535906511875a5f7a560bef349bca34ab7ef894 Mon Sep 17 00:00:00 2001 From: badlogic Date: Fri, 21 Jul 2017 16:46:45 +0200 Subject: [PATCH 13/13] [csharp] Fixed bug in triangulator, closes #937. --- spine-csharp/src/Triangulator.cs | 2 +- spine-xna/example/data/skeleton.atlas | 13 - spine-xna/example/data/skeleton.json | 3938 -------------------- spine-xna/example/data/skeleton.png | Bin 4657 -> 0 bytes spine-xna/example/spine-xna-example.csproj | 15 +- spine-xna/example/src/ExampleGame.cs | 15 +- spine-xna/src/ShapeRenderer.cs | 1 + 7 files changed, 9 insertions(+), 3975 deletions(-) delete mode 100644 spine-xna/example/data/skeleton.atlas delete mode 100644 spine-xna/example/data/skeleton.json delete mode 100644 spine-xna/example/data/skeleton.png diff --git a/spine-csharp/src/Triangulator.cs b/spine-csharp/src/Triangulator.cs index 7ce71f767..a4083c3ec 100644 --- a/spine-csharp/src/Triangulator.cs +++ b/spine-csharp/src/Triangulator.cs @@ -84,6 +84,7 @@ namespace Spine { } break; } + outer: if (next == 0) { do { @@ -97,7 +98,6 @@ namespace Spine { i = next; next = (next + 1) % vertexCount; } - outer: // Cut ear tip. triangles.Add(indices[(vertexCount + i - 1) % vertexCount]); diff --git a/spine-xna/example/data/skeleton.atlas b/spine-xna/example/data/skeleton.atlas deleted file mode 100644 index 11a1f8da0..000000000 --- a/spine-xna/example/data/skeleton.atlas +++ /dev/null @@ -1,13 +0,0 @@ - -skeleton.png -size: 256,256 -format: RGBA8888 -filter: Linear,Linear -repeat: none -body - rotate: false - xy: 2, 2 - size: 192, 129 - orig: 192, 129 - offset: 0, 0 - index: -1 diff --git a/spine-xna/example/data/skeleton.json b/spine-xna/example/data/skeleton.json deleted file mode 100644 index 61b5c786c..000000000 --- a/spine-xna/example/data/skeleton.json +++ /dev/null @@ -1,3938 +0,0 @@ -{ -"skeleton": { "hash": "Wfqu/0Mq676FGgKU6pYsaFfnTWM", "spine": "3.6.37", "width": 1536.42, "height": 1034.47, "images": "" }, -"bones": [ - { "name": "root", "x": -34.97, "y": -45.68 }, - { "name": "b_FullPet", "parent": "root", "x": 34.97, "y": 147.4 }, - { "name": "b_pelvis", "parent": "b_FullPet", "length": 40, "rotation": 90, "y": -65.99, "color": "3fe81fff" }, - { "name": "b_dorso", "parent": "b_pelvis", "length": 40, "x": 40, "color": "3fe81fff" }, - { "name": "ik_foot_R", "parent": "b_FullPet", "x": 40.16, "y": -98.44, "color": "ff3f00ff" }, - { "name": "ik_fot_L", "parent": "b_FullPet", "x": -38.22, "y": -94.54, "color": "ff3f00ff" } -], -"slots": [ - { "name": "s_dorso", "bone": "b_pelvis", "attachment": "a_dorso" }, - { "name": "s_dorsoMask", "bone": "b_pelvis", "attachment": "mask_dorso" }, - { "name": "s_clippingTest", "bone": "root", "attachment": "Pig/Normal/body" }, - { "name": "SwingPath", "bone": "root" } -], -"skins": { - "default": { - "s_clippingTest": { - "Pig/Normal/body": { - "path": "body", - "color": "77ff0086", - "x": 45.44, - "y": 142.62, - "scaleX": 7.988, - "scaleY": 7.988, - "rotation": -0.15, - "width": 192, - "height": 129 - } - }, - "s_dorsoMask": { - "mask_dorso": { - "type": "clipping", - "end": "s_clippingTest", - "vertexCount": 21, - "vertices": [ 27.17, -71.8, 41.59, -74.37, 148.99, -449.2, -183.54, -5.45, 157.01, 439.14, 58.93, 78.79, 44.37, 82.08, 31.34, 81.95, 14.55, 71.89, 6.39, 62.6, 0.54, 48.4, -4.89, 40.18, -7.56, 31.23, -8.92, 25.76, -9.85, 14.96, -9.97, -2.74, -8.18, -17.45, -4.12, -27.94, 0.66, -36.11, 5.09, -51.35, 10.31, -61.78 ], - "color": "ce3a3aff" - } - } - }, - "Pig_Normal": { - "s_dorso": { - "a_dorso": { - "name": "Pig/Normal/body", - "type": "mesh", - "path": "body", - "uvs": [ 0.90738, 0.07928, 0.99999, 0.34016, 0.99999, 0.57165, 0.91067, 0.89867, 0.45711, 1, 0.11162, 0.90235, 0, 0.68188, 0, 0.39773, 0.11491, 0.10622, 0.27538, 0, 0.75514, 0, 0.49921, 0.57288, 0.05895, 0.5741, 0.89915, 0.5741, 0.50004, 0.70026, 0.49263, 0.40753, 0.09269, 0.4259, 0.07541, 0.69781, 0.90244, 0.68066, 0.89997, 0.4504, 0.70001, 0.41855, 0.69507, 0.69413, 0.26797, 0.41365, 0.26304, 0.70148, 0.26304, 0.53981, 0.7033, 0.55818 ], - "triangles": [ 15, 9, 10, 22, 8, 9, 8, 16, 7, 9, 15, 22, 20, 15, 10, 20, 10, 0, 20, 0, 1, 22, 16, 8, 19, 20, 1, 24, 16, 22, 25, 20, 19, 2, 19, 1, 11, 15, 20, 11, 20, 25, 12, 7, 16, 12, 16, 24, 13, 25, 19, 13, 19, 2, 18, 13, 2, 6, 7, 12, 18, 25, 13, 24, 22, 15, 11, 24, 15, 21, 11, 25, 18, 21, 25, 23, 17, 12, 6, 12, 17, 14, 11, 21, 24, 23, 12, 3, 18, 2, 21, 18, 3, 5, 17, 23, 6, 17, 5, 23, 11, 14, 11, 23, 24, 4, 23, 14, 5, 23, 4, 4, 14, 21, 4, 21, 3 ], - "vertices": [ 2, 2, 103.73, -81.07, 0.09082, 3, 63.73, -81.07, 0.90918, 2, 2, 70.08, -98.85, 0.24199, 3, 30.08, -98.85, 0.75801, 2, 2, 40.21, -98.85, 0.41047, 3, 0.21, -98.85, 0.58953, 2, 2, -1.97, -81.7, 0.67622, 3, -41.97, -81.7, 0.32378, 1, 2, -15.04, 5.38, 1, 2, 2, -2.45, 71.72, 0.74625, 3, -42.45, 71.72, 0.25375, 2, 2, 25.99, 93.15, 0.57561, 3, -14.01, 93.15, 0.42439, 2, 2, 62.65, 93.15, 0.36681, 3, 22.65, 93.15, 0.63319, 2, 2, 100.25, 71.08, 0.13434, 3, 60.25, 71.08, 0.86566, 2, 2, 113.96, 40.27, 0.03188, 3, 73.96, 40.27, 0.96812, 2, 2, 113.96, -51.84, 0.02591, 3, 73.96, -51.84, 0.97409, 2, 2, 40.06, -2.7, 0.48864, 3, 0.06, -2.7, 0.51136, 2, 2, 39.9, 81.83, 0.5055, 3, -0.1, 81.83, 0.4945, 2, 2, 39.9, -79.49, 0.43555, 3, -0.1, -79.49, 0.56445, 1, 2, 23.62, -2.86, 1, 2, 2, 61.39, -1.44, 1.0E-4, 3, 21.39, -1.44, 0.9999, 2, 2, 59.02, 75.35, 0.36144, 3, 19.02, 75.35, 0.63856, 2, 2, 23.94, 78.67, 0.61354, 3, -16.06, 78.67, 0.38646, 2, 2, 26.15, -80.12, 0.54139, 3, -13.85, -80.12, 0.45861, 2, 2, 55.86, -79.65, 0.31037, 3, 15.86, -79.65, 0.68963, 2, 2, 59.96, -41.25, 0.19, 3, 19.96, -41.25, 0.81, 2, 2, 24.41, -40.31, 0.70726, 3, -15.59, -40.31, 0.29274, 2, 2, 60.6, 41.7, 0.25369, 3, 20.6, 41.7, 0.74631, 2, 2, 23.47, 42.64, 0.72828, 3, -16.53, 42.64, 0.27172, 2, 2, 44.32, 42.64, 0.45962, 3, 4.32, 42.64, 0.54038, 2, 2, 41.95, -41.89, 0.43679, 3, 1.95, -41.89, 0.56321 ], - "hull": 11, - "edges": [ 4, 2, 12, 14, 4, 6, 6, 8, 8, 10, 10, 12, 18, 20, 14, 16, 16, 18, 20, 0, 0, 2 ], - "width": 192, - "height": 129 - } - } - } -}, -"animations": { - "BattleIdle": { - "slots": { - "s_dorso": { - "attachment": [ - { "time": 0, "name": "a_dorso" }, - { "time": 0.9333, "name": "a_dorso" }, - { "time": 1.8667, "name": "a_dorso" } - ] - } - }, - "bones": { - "b_pelvis": { - "rotate": [ - { - "time": 0, - "angle": 3.18, - "curve": [ 0.455, 0, 0.712, 0.56 ] - }, - { - "time": 0.4, - "angle": 8.39, - "curve": [ 0.282, 0.55, 0.584, 1 ] - }, - { - "time": 0.8, - "angle": 7.82, - "curve": [ 0.455, 0, 0.712, 0.56 ] - }, - { - "time": 1.3, - "angle": -6.14, - "curve": [ 0.282, 0.55, 0.584, 1 ] - }, - { "time": 1.8667, "angle": 3.18 } - ], - "translate": [ - { - "time": 0, - "x": 4.37, - "y": -2.74, - "curve": [ 0.452, 0, 0.58, 1 ] - }, - { - "time": 0.2333, - "x": 0, - "y": -8.51, - "curve": [ 0.452, 0, 0.58, 1 ] - }, - { - "time": 0.4667, - "x": -13.1, - "y": -0.6, - "curve": [ 0.452, 0, 0.58, 1 ] - }, - { - "time": 0.7, - "x": 0, - "y": -8.51, - "curve": [ 0.452, 0, 0.58, 1 ] - }, - { - "time": 0.9333, - "x": 4.37, - "y": -2.74, - "curve": [ 0.452, 0, 0.58, 1 ] - }, - { - "time": 1.1667, - "x": 0, - "y": -8.51, - "curve": [ 0.452, 0, 0.58, 1 ] - }, - { - "time": 1.4, - "x": -13.1, - "y": -0.6, - "curve": [ 0.452, 0, 0.58, 1 ] - }, - { - "time": 1.6333, - "x": 0, - "y": -8.51, - "curve": [ 0.452, 0, 0.58, 1 ] - }, - { "time": 1.8667, "x": 4.37, "y": -2.74 } - ], - "scale": [ - { "time": 0, "x": 1.002, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1.002, "y": 1, "curve": "stepped" }, - { "time": 1.8667, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.8667, "x": 0, "y": 0 } - ] - }, - "b_dorso": { - "rotate": [ - { - "time": 0, - "angle": 6.62, - "curve": [ 0.283, 0.56, 0.59, 1 ] - }, - { - "time": 0.1667, - "angle": 3.37, - "curve": [ 0.452, 0, 0.58, 1 ] - }, - { - "time": 0.6333, - "angle": 27.35, - "curve": [ 0.452, 0, 0.58, 1 ] - }, - { - "time": 1.1, - "angle": -5.67, - "curve": [ 0.452, 0, 0.58, 1 ] - }, - { - "time": 1.5667, - "angle": 14.96, - "curve": [ 0.459, 0, 0.706, 0.58 ] - }, - { "time": 1.8667, "angle": 6.62 } - ], - "translate": [ - { - "time": 0, - "x": -0.27, - "y": 2.66, - "curve": [ 0.314, 0.42, 0.558, 1 ] - }, - { - "time": 0.3, - "x": -0.42, - "y": -0.08, - "curve": [ 0.452, 0, 0.58, 1 ] - }, - { - "time": 0.7667, - "x": -0.22, - "y": 3.56, - "curve": [ 0.452, 0, 0.58, 1 ] - }, - { - "time": 1.2333, - "x": -0.42, - "y": -0.08, - "curve": [ 0.452, 0, 0.58, 1 ] - }, - { - "time": 1.7, - "x": -0.22, - "y": 3.56, - "curve": [ 0.416, 0, 0.725, 0.44 ] - }, - { "time": 1.8667, "x": -0.27, "y": 2.66 } - ], - "scale": [ - { "time": 0, "x": 1.002, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1.002, "y": 1, "curve": "stepped" }, - { "time": 1.8667, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.8667, "x": 0, "y": 0 } - ] - }, - "ik_foot_R": { - "rotate": [ - { "time": 0, "angle": 0, "curve": "stepped" }, - { "time": 0.3667, "angle": 0, "curve": "stepped" }, - { "time": 0.9333, "angle": 0, "curve": "stepped" }, - { "time": 1.8667, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 1.63, "curve": "stepped" }, - { - "time": 0.3667, - "x": 0, - "y": 1.63, - "curve": [ 0.498, 0, 0.538, 1 ] - }, - { - "time": 0.6, - "x": 25.35, - "y": 23.19, - "curve": [ 0.498, 0, 0.538, 1 ] - }, - { "time": 0.9333, "x": 0, "y": 1.63, "curve": "stepped" }, - { "time": 1.8667, "x": 0, "y": 1.63 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.3667, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.8667, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.8667, "x": 0, "y": 0 } - ] - }, - "ik_fot_L": { - "rotate": [ - { "time": 0, "angle": 0, "curve": "stepped" }, - { "time": 0.9333, "angle": 0, "curve": "stepped" }, - { "time": 1.5, "angle": 0, "curve": "stepped" }, - { "time": 1.8667, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": -14.59, "y": -1.22, "curve": "stepped" }, - { - "time": 0.9333, - "x": -14.59, - "y": -1.22, - "curve": [ 0.498, 0, 0.538, 1 ] - }, - { - "time": 1.3, - "x": -36.15, - "y": 9.31, - "curve": [ 0.498, 0, 0.538, 1 ] - }, - { "time": 1.5, "x": -14.59, "y": -1.22, "curve": "stepped" }, - { "time": 1.8667, "x": -14.59, "y": -1.22 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.5, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.8667, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.8667, "x": 0, "y": 0 } - ] - }, - "b_FullPet": { - "rotate": [ - { "time": 0, "angle": 0, "curve": "stepped" }, - { "time": 0.9333, "angle": 0, "curve": "stepped" }, - { "time": 1.8667, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.8667, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.8667, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.8667, "x": 0, "y": 0 } - ] - } - }, - "drawOrder": [ - { "time": 0 }, - { "time": 1.8667 } - ] - }, - "Celebrate": { - "slots": { - "s_dorso": { - "attachment": [ - { "time": 0, "name": "a_dorso" }, - { "time": 2.5, "name": "a_dorso" } - ] - } - }, - "bones": { - "b_pelvis": { - "rotate": [ - { - "time": 0, - "angle": 0.29, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.9667, - "angle": 7.2, - "curve": [ 0, 0, 0.418, 1 ] - }, - { - "time": 1.4667, - "angle": -8.84, - "curve": [ 0.467, 0, 0.861, 0.7 ] - }, - { - "time": 1.8667, - "angle": -3.93, - "curve": [ 0, 0.09, 0.386, 0.6 ] - }, - { - "time": 1.9667, - "angle": 3.57, - "curve": [ 0.455, 0, 0.437, 1 ] - }, - { - "time": 2.1, - "angle": 0, - "curve": [ 0.497, 0, 0.446, 0.99 ] - }, - { "time": 2.5, "angle": 3.18 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 0.33, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.9667, - "x": 5.24, - "y": -14.91, - "curve": [ 0, 0, 0.312, 1 ] - }, - { - "time": 1.4667, - "x": 11.2, - "y": 178.98, - "curve": [ 0.554, 0, 1, 0.96 ] - }, - { - "time": 1.9, - "x": 7.64, - "y": -13.47, - "curve": [ 0.384, 0, 0.712, 0.38 ] - }, - { - "time": 1.9667, - "x": 8.3, - "y": -10.16, - "curve": [ 0.455, 0, 0.437, 1 ] - }, - { - "time": 2.1, - "x": 0, - "y": 0, - "curve": [ 0.455, 0, 0.437, 1 ] - }, - { "time": 2.5, "x": 0, "y": 0.92 } - ], - "scale": [ - { - "time": 0, - "x": 1.004, - "y": 1, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.9667, - "x": 0.989, - "y": 1.005, - "curve": [ 0, 0, 0.355, 0.42 ] - }, - { - "time": 1.0667, - "x": 1.054, - "y": 0.924, - "curve": [ 0.179, 0.37, 0.545, 1 ] - }, - { - "time": 1.4667, - "x": 0.994, - "y": 0.968, - "curve": [ 0.428, 0, 0.8, 0.59 ] - }, - { - "time": 1.8667, - "x": 1.046, - "y": 0.913, - "curve": [ 0.428, 0, 0.8, 0.59 ] - }, - { - "time": 1.9333, - "x": 0.893, - "y": 1.086, - "curve": [ 0.365, 0.35, 0.699, 0.69 ] - }, - { - "time": 1.9667, - "x": 0.894, - "y": 1.105, - "curve": [ 0.455, 0, 0.437, 1 ] - }, - { - "time": 2.1, - "x": 1.047, - "y": 0.961, - "curve": [ 0.455, 0, 0.437, 1 ] - }, - { - "time": 2.2333, - "x": 1, - "y": 1, - "curve": [ 0.497, 0, 0.446, 0.99 ] - }, - { "time": 2.5, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.5, "x": 0, "y": 0 } - ] - }, - "b_dorso": { - "rotate": [ - { - "time": 0, - "angle": 0.3, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.9667, - "angle": -0.96, - "curve": [ 0, 0, 0.418, 1 ] - }, - { - "time": 1.4667, - "angle": -16.61, - "curve": [ 0.467, 0, 0.861, 0.7 ] - }, - { - "time": 1.8667, - "angle": -8.41, - "curve": [ 0, 0.09, 0.386, 0.6 ] - }, - { - "time": 1.9667, - "angle": -1.26, - "curve": [ 0.455, 0, 0.437, 1 ] - }, - { - "time": 2.1, - "angle": 0, - "curve": [ 0.503, 0, 0.759, 0.47 ] - }, - { "time": 2.5, "angle": 3.37 } - ], - "translate": [ - { - "time": 0, - "x": 1.33, - "y": -0.08, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.9667, - "x": 4.97, - "y": -9.58, - "curve": [ 0.297, 0.63, 0.629, 1 ] - }, - { - "time": 1.0667, - "x": 7.35, - "y": -0.15, - "curve": [ 0.333, 0.32, 0.633, 0.69 ] - }, - { - "time": 1.4667, - "x": -4.32, - "y": 0.49, - "curve": [ 0.252, 0.47, 0.556, 0.86 ] - }, - { - "time": 1.8667, - "x": 4.82, - "y": -0.71, - "curve": [ 0.308, 0.62, 0.64, 0.96 ] - }, - { - "time": 1.9333, - "x": 0, - "y": 0, - "curve": [ 0.436, 0, 0.746, 0.43 ] - }, - { - "time": 1.9667, - "x": -4.75, - "y": 0.1, - "curve": [ 0.455, 0, 0.437, 1 ] - }, - { - "time": 2.1, - "x": 12.37, - "y": -2.05, - "curve": [ 0.455, 0, 0.437, 1 ] - }, - { - "time": 2.2333, - "x": 0, - "y": 0, - "curve": [ 0.486, 0, 0.761, 0.45 ] - }, - { "time": 2.5, "x": -0.42, "y": -0.08 } - ], - "scale": [ - { - "time": 0, - "x": 1.004, - "y": 1, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.9667, - "x": 1.007, - "y": 0.967, - "curve": [ 0.327, 0.33, 0.645, 0.68 ] - }, - { - "time": 1.0667, - "x": 1.033, - "y": 0.924, - "curve": [ 0.228, 0.54, 0.51, 0.99 ] - }, - { - "time": 1.4667, - "x": 0.953, - "y": 0.979, - "curve": [ 0.554, 0, 1, 0.96 ] - }, - { - "time": 1.8667, - "x": 1.017, - "y": 0.923, - "curve": [ 0.554, 0, 1, 0.96 ] - }, - { - "time": 1.9333, - "x": 0.943, - "y": 1.025, - "curve": [ 0.436, 0, 0.746, 0.43 ] - }, - { - "time": 1.9667, - "x": 0.934, - "y": 1.098, - "curve": [ 0.455, 0, 0.437, 1 ] - }, - { - "time": 2.1, - "x": 1.047, - "y": 0.98, - "curve": [ 0.455, 0, 0.437, 1 ] - }, - { - "time": 2.2333, - "x": 1, - "y": 1, - "curve": [ 0.455, 0, 0.437, 1 ] - }, - { "time": 2.5, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.5, "x": 0, "y": 0 } - ] - }, - "ik_fot_L": { - "rotate": [ - { - "time": 0, - "angle": 0.03, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 0.9667, "angle": 0, "curve": "stepped" }, - { "time": 1.0333, "angle": 0, "curve": "stepped" }, - { "time": 1.4667, "angle": 0, "curve": "stepped" }, - { "time": 2.5, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { - "time": 0.9667, - "x": 0, - "y": 0, - "curve": [ 0, 0, 0.34, 0.36 ] - }, - { - "time": 1, - "x": -0.1, - "y": 7.01, - "curve": [ 0.226, 0.24, 0.562, 0.58 ] - }, - { - "time": 1.0333, - "x": -0.2, - "y": 28.59, - "curve": [ 0.339, 0, 0.64, 0.52 ] - }, - { - "time": 1.2667, - "x": 17.87, - "y": 145.08, - "curve": [ 0.276, 0.52, 0.591, 1 ] - }, - { - "time": 1.4667, - "x": 27.37, - "y": 206.34, - "curve": [ 0.412, 0, 0.775, 0.55 ] - }, - { - "time": 1.8, - "x": -51.89, - "y": 117.87, - "curve": [ 0.259, 0.26, 0.594, 0.61 ] - }, - { - "time": 1.8333, - "x": -41.51, - "y": 62.03, - "curve": [ 0.285, 0.33, 0.62, 0.68 ] - }, - { - "time": 1.8667, - "x": -10, - "y": 10.61, - "curve": [ 0.298, 0.39, 0.633, 0.74 ] - }, - { - "time": 1.9, - "x": 0.36, - "y": -9.33, - "curve": [ 0.307, 0.62, 0.641, 1 ] - }, - { - "time": 1.9333, - "x": -0.51, - "y": -6.39, - "curve": [ 0.568, 0, 0.558, 1 ] - }, - { "time": 2.3, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.5, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9667, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.0333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.4667, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 2.5, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.5, "x": 0, "y": 0 } - ] - }, - "ik_foot_R": { - "rotate": [ - { - "time": 0, - "angle": 0.03, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 0.9667, "angle": 0, "curve": "stepped" }, - { "time": 1.0333, "angle": 0, "curve": "stepped" }, - { "time": 1.4667, "angle": 0, "curve": "stepped" }, - { "time": 2.5, "angle": 0 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 1.63, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.9667, - "x": 0, - "y": 0, - "curve": [ 0, 0, 0.34, 0.36 ] - }, - { - "time": 1.0333, - "x": -0.21, - "y": 21.37, - "curve": [ 0.339, 0, 0.64, 0.52 ] - }, - { - "time": 1.2667, - "x": 23.44, - "y": 139.38, - "curve": [ 0.276, 0.52, 0.591, 1 ] - }, - { - "time": 1.4667, - "x": 35.87, - "y": 201.46, - "curve": [ 0.361, 0, 0.701, 0.41 ] - }, - { - "time": 1.6333, - "x": 21.09, - "y": 151.95, - "curve": [ 0.354, 0.3, 0.689, 0.64 ] - }, - { - "time": 1.7, - "x": -17.39, - "y": 114.53, - "curve": [ 0.379, 0.33, 0.716, 0.67 ] - }, - { - "time": 1.8, - "x": -78.25, - "y": 64.65, - "curve": [ 0.259, 0.26, 0.594, 0.61 ] - }, - { - "time": 1.8333, - "x": -56.02, - "y": 28.63, - "curve": [ 0.285, 0.33, 0.62, 0.68 ] - }, - { - "time": 1.8667, - "x": -28.63, - "y": -1.65, - "curve": [ 0.298, 0.39, 0.633, 0.74 ] - }, - { - "time": 1.9, - "x": -7.16, - "y": -3.75, - "curve": [ 0.307, 0.62, 0.641, 1 ] - }, - { - "time": 1.9333, - "x": 4.83, - "y": -2.45, - "curve": [ 0.568, 0, 0.558, 1 ] - }, - { - "time": 2.3, - "x": 0, - "y": 0, - "curve": [ 0.25, 0, 0.524, 1 ] - }, - { "time": 2.5, "x": 0, "y": 1.63 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9667, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.0333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.4667, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 2.5, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.5, "x": 0, "y": 0 } - ] - }, - "root": { - "rotate": [ - { "time": 0, "angle": 0.03 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - }, - "b_FullPet": { - "rotate": [ - { "time": 0, "angle": 0.03 }, - { "time": 2.5, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.5, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 2.5, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.5, "x": 0, "y": 0 } - ] - } - }, - "deform": { - "default": { - "s_dorsoMask": { - "mask_dorso": [ - { - "time": 0, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.9667, - "offset": 16, - "vertices": [ 2.72274, -3.19884, 1.03746, -6.24719, 0.59287, 2.7833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.68507, 6.37256, 3.18478, -2.66216, 0.22406, -3.68368, -2.86547, 0.98381, -3.4187, 3.01636 ] - }, - { - "time": 1.4667, - "offset": 14, - "vertices": [ 1.11298, -3.50107, 0.42943, -2.69338, 1.78653, -3.50885, 0.75626, -3.69767, 2.73042, -2.66428, 1.8187, 1.44226, 1.78731, 0.71638, 0.64211, 0.39046, 0, 0, -1.48307, 0.6331, -4.88093, 4.75345, -2.67077, -6.05781, -2.93005, -6.1883, 0.8532, -6.54452 ] - }, - { - "time": 1.6333, - "offset": 14, - "vertices": [ -4.40263, -6.21354, 2.42932, -4.88385, -0.25086, -5.12446, 0.63073, 2.11071, 1.30785, -0.29153, 1.52536, 1.20964, 1.49903, 0.60083, 0.53854, 0.32749, -0.12155, 1.20127, 0.23196, 0.24223, -1.20999, 3.01826, -2.20569, -5.05866, -2.45746, -5.19019, 0.71558, -5.48895 ] - }, - { - "time": 1.8667, - "offset": 14, - "vertices": [ -0.64347, -5.44632, 1.66878, -1.96058, 0.55962, -6.4887, 1.79335, 1.69015, 1.06664, 0.34609, 1.11468, 0.88397, 1.09545, 0.43907, 0.39355, 0.23932, 0.63279, 2.57721, 2.633, -0.305, 1.24508, 2.58851, -2.95284, 1.08917, -1.79584, -3.79283, 0.52293, -4.01116 ] - }, - { - "time": 1.9333, - "offset": 14, - "vertices": [ -11.16597, -6.22567, 0.52663, -1.18763, -0.31141, -1.18028, 0.24237, 4.66209, 0.04449, 2.36446, 0.99735, 0.79092, 0.98014, 0.39285, 0.35212, 0.21412, 0.56618, 2.30592, 2.35585, -0.2729, 1.11402, 2.31604, -2.64202, 0.97452, -1.6068, -3.39358, 0.46788, -3.58893 ] - }, - { - "time": 2.1, - "offset": 14, - "vertices": [ -7.88186, -4.39459, 0.37174, -0.83833, -0.21982, -0.83314, 0.17108, 3.29089, 1.33436, 0.90291, 1.80936, 4.27386, 1.39356, -0.05115, 0.24856, 0.15115, 0.39966, 1.62771, 1.66295, -0.19263, 0.78637, 1.63485, -1.86495, 0.6879, -1.13421, -2.39547, 0.33027, -2.53336 ] - }, - { "time": 2.5 } - ] - } - } - }, - "drawOrder": [ - { "time": 0 }, - { "time": 0.1667 }, - { "time": 1.9667 } - ] - }, - "Celebrate2": { - "slots": { - "s_dorso": { - "attachment": [ - { "time": 0, "name": "a_dorso" }, - { "time": 1.6333, "name": "a_dorso" } - ] - } - }, - "bones": { - "b_pelvis": { - "rotate": [ - { - "time": 0, - "angle": 0.29, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { - "time": 0.4, - "angle": -11.72, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 0.9, "angle": 0, "curve": "stepped" }, - { - "time": 1.4, - "angle": 0, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 1.6333, "angle": 3.18 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 0.33, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { - "time": 0.4, - "x": 8.35, - "y": 14.6, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { - "time": 0.9, - "x": 11.54, - "y": -7.49, - "curve": [ 0.395, 0, 0.523, 1 ] - }, - { - "time": 1.4, - "x": 0, - "y": 0, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 1.6333, "x": 0, "y": 0.92 } - ], - "scale": [ - { - "time": 0, - "x": 1.004, - "y": 1, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { - "time": 1.4, - "x": 1, - "y": 1, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 1.6333, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.6333, "x": 0, "y": 0 } - ] - }, - "b_dorso": { - "rotate": [ - { - "time": 0, - "angle": 0.3, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { - "time": 0.2667, - "angle": 12.98, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { - "time": 0.6, - "angle": -13.21, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { - "time": 1.1, - "angle": 16.13, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { - "time": 1.4, - "angle": 0, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 1.6333, "angle": 3.37 } - ], - "translate": [ - { - "time": 0, - "x": 1.33, - "y": -0.08, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { - "time": 1.4, - "x": 0, - "y": 0, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 1.6333, "x": -0.42, "y": -0.08 } - ], - "scale": [ - { - "time": 0, - "x": 1.004, - "y": 1, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { - "time": 1.4, - "x": 1, - "y": 1, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 1.6333, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.6333, "x": 0, "y": 0 } - ] - }, - "b_FullPet": { - "rotate": [ - { - "time": 0, - "angle": 0.03, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 1.6333, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.6333, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.6333, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.6333, "x": 0, "y": 0 } - ] - }, - "ik_fot_L": { - "rotate": [ - { - "time": 0, - "angle": 0.03, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 1.6333, "angle": 0 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 0, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { - "time": 0.3333, - "x": -32.71, - "y": 37.24, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 0.7, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.6333, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.6333, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.6333, "x": 0, "y": 0 } - ] - }, - "ik_foot_R": { - "rotate": [ - { - "time": 0, - "angle": 0.03, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 1.6333, "angle": 0 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 1.63, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { - "time": 1.1333, - "x": 0, - "y": 0, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 1.3667, "x": 0, "y": 1.63, "curve": "stepped" }, - { "time": 1.6333, "x": 0, "y": 1.63 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.6333, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.6333, "x": 0, "y": 0 } - ] - }, - "root": { - "rotate": [ - { "time": 0, "angle": 0.03 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - } - }, - "deform": { - "default": { - "s_dorsoMask": { - "mask_dorso": [ - { "time": 0 }, - { - "time": 0.2333, - "offset": 14, - "vertices": [ -7.12685, -1.60977, -2.99485, -1.64844, -5.80057, -2.2254, -4.33727, 2.86913, -0.85066, 0.70841, -0.61532, 0.99297, 0, 0, 0, 0, 0.61868, -2.3126, 1.05124, 2.75609, 0.09888, 6.24134, 0.51567, 3.47014, 0.60792, 2.08373 ] - }, - { - "time": 0.4, - "offset": 14, - "vertices": [ -8.72403, -3.51285, -3.61947, -2.97299, -5.44527, -4.21578, -3.69914, 1.44687, -1.06867, 0.78961, 0.16444, 1.65134, -0.58013, -6.48839, -0.57116, -8.00278, 0, 0, 0.00194, 2.9318, -1.64964, 4.10622 ] - }, - { - "time": 0.6, - "offset": 14, - "vertices": [ -5.75114, -2.40333, 1.66074, -1.53226, -0.77019, -4.38648, 0.70924, 2.18265, 0.96705, -1.24278, 1.25825, -1.35557, 1.2257, -2.74153, 0.91894, -3.59485, 0, 0, 0.00194, 2.9318, -1.64964, 4.10622 ] - }, - { - "time": 0.7, - "offset": 14, - "vertices": [ -5.75114, -2.40333, -2.33861, -4.58437, 0.45347, -5.58889, 1.0124, 0.96918, 0.85547, -1.677, 1.10089, -1.34592, 2.12862, -0.86809, 1.66399, -1.39089, 0, 0, 0.00194, 2.9318, -1.64964, 4.10622, -0.4631, -2.45089, -2.38509, -2.68369, -2.14036, 1.45138 ] - }, - { - "time": 0.9, - "offset": 14, - "vertices": [ -14.1465, -6.77456, -4.49597, -2.33166, -0.0586, 1.50896, -0.13101, 8.97806, -0.65046, 4.28314, -0.73304, 3.60569, -0.54094, 1.41104, -1.20369, 0.59138, 0.19666, -1.68296, 3.4E-4, 5.39301, 2.36307, 1.40932, 0.84525, 0.54065, -0.7887, 3.52794, -3.61947, 5.80539 ], - "curve": [ 0.389, 0, 0.708, 0.41 ] - }, - { - "time": 1.0333, - "offset": 14, - "vertices": [ -12.07856, -5.76551, -5.02448, -2.54936, -0.1893, 1.21662, -0.16046, 7.75524, -0.7198, 4.05778, -0.99491, 2.98262, -0.47902, 1.24951, -1.06589, 0.52368, 0.57978, -1.89471, 0.72661, 5.02716, 1.53953, 2.42979, 1.11188, 0.52503, 0.10735, 3.60781, -2.39644, 5.22661 ], - "curve": [ 0.348, 0.28, 0.671, 0.64 ] - }, - { - "time": 1.1333, - "offset": 14, - "vertices": [ -8.04403, -3.79687, -6.0556, -2.97411, -0.4443, 0.64627, -0.21791, 5.36952, -0.85507, 3.61812, -1.5058, 1.767, -0.3582, 0.93437, -0.79706, 0.3916, 0.85401, -4.01896, 1.5532, 3.78263, -0.06718, 4.42071, 1.63209, 0.49456, 1.85553, 3.76364, -0.01031, 4.0974 ], - "curve": [ 0.267, 0.48, 0.545, 1 ] - }, - { - "time": 1.4, - "offset": 14, - "vertices": [ -1.82991, -0.7647, -1.78236, -0.70182, -0.83706, -0.23221, -0.30639, 1.69495, -0.5764, 1.23112, -0.33859, 1.35863, -0.17212, 0.44897, -0.38299, 0.18817, 0.06257, -0.53549, 0.44878, 1.90047, 0.38392, 2.11251, 0.47986, -0.0394, -0.09207, 1.80905, 0.2459, 0.89534 ] - }, - { "time": 1.6333 } - ] - } - } - }, - "drawOrder": [ - { "time": 0 }, - { "time": 0.1333 }, - { "time": 1.5333 } - ] - }, - "Greet": { - "slots": { - "s_dorso": { - "attachment": [ - { "time": 0, "name": "a_dorso" }, - { "time": 1.8333, "name": "a_dorso" } - ] - } - }, - "bones": { - "b_pelvis": { - "rotate": [ - { - "time": 0, - "angle": 0.29, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.3333, - "angle": -0.13, - "curve": [ 0.62, 0, 1, 1 ] - }, - { "time": 0.6667, "angle": 4.58 }, - { - "time": 0.7, - "angle": 1.28, - "curve": [ 0.484, 0.01, 0.661, 1 ] - }, - { - "time": 0.9, - "angle": 0, - "curve": [ 0.466, 0.01, 0.52, 1 ] - }, - { "time": 1.8333, "angle": 3.18 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 0.33, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.3333, - "x": 0, - "y": 10.49, - "curve": [ 0.244, 0, 0.641, 0.57 ] - }, - { - "time": 0.7, - "x": 14.21, - "y": 2.82, - "curve": [ 0.484, 0.01, 0.661, 1 ] - }, - { "time": 0.9, "x": 15.47, "y": 4.71 }, - { - "time": 1.2667, - "x": 9.28, - "y": 2.83, - "curve": [ 0.971, 0, 0.651, 1 ] - }, - { "time": 1.8333, "x": 0, "y": 0.92 } - ], - "scale": [ - { - "time": 0, - "x": 1.004, - "y": 1, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 0.6333, "x": 1, "y": 1 }, - { - "time": 0.7, - "x": 0.871, - "y": 1.051, - "curve": [ 0.484, 0.01, 0.661, 1 ] - }, - { - "time": 0.9, - "x": 1, - "y": 0.962, - "curve": [ 0.466, 0.01, 0.52, 1 ] - }, - { - "time": 1.2667, - "x": 1, - "y": 1, - "curve": [ 0.971, 0, 0.651, 1 ] - }, - { "time": 1.8333, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.8333, "x": 0, "y": 0 } - ] - }, - "b_dorso": { - "rotate": [ - { - "time": 0, - "angle": 0.3, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.4333, - "angle": -7.18, - "curve": [ 0.62, 0, 1, 1 ] - }, - { - "time": 0.6333, - "angle": 12.33, - "curve": [ 0.353, 0, 0.682, 0.41 ] - }, - { - "time": 0.7, - "angle": 10.02, - "curve": [ 0.484, 0.01, 0.661, 1 ] - }, - { - "time": 0.9, - "angle": 0, - "curve": [ 0.466, 0.01, 0.52, 1 ] - }, - { "time": 1.8333, "angle": 3.37 } - ], - "translate": [ - { - "time": 0, - "x": 1.33, - "y": -0.08, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.3333, - "x": 3.5, - "y": -0.64, - "curve": [ 0.519, 0, 0.878, 0.71 ] - }, - { - "time": 0.6, - "x": 8.09, - "y": -0.92, - "curve": [ 0.658, 0.62, 1, 1 ] - }, - { - "time": 0.6667, - "x": -6.94, - "y": -0.64, - "curve": [ 0.351, 0, 0.681, 0.4 ] - }, - { - "time": 0.7, - "x": 3.16, - "y": 1.01, - "curve": [ 0.484, 0.01, 0.661, 1 ] - }, - { - "time": 0.9, - "x": 2.53, - "y": 0, - "curve": [ 0.466, 0.01, 0.52, 1 ] - }, - { - "time": 1.2667, - "x": 0, - "y": 0, - "curve": [ 0.971, 0, 0.651, 1 ] - }, - { "time": 1.8333, "x": -0.42, "y": -0.08 } - ], - "scale": [ - { - "time": 0, - "x": 1.004, - "y": 1, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 0.6333, "x": 1, "y": 1 }, - { - "time": 0.7, - "x": 0.954, - "y": 1.019, - "curve": [ 0.484, 0.01, 0.661, 1 ] - }, - { - "time": 0.9, - "x": 1, - "y": 1, - "curve": [ 0.466, 0.01, 0.52, 1 ] - }, - { "time": 1.8333, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.8333, "x": 0, "y": 0 } - ] - }, - "ik_fot_L": { - "rotate": [ - { - "time": 0, - "angle": 0.03, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 1.8333, "angle": 0 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 0, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.4, - "x": -62.13, - "y": 54.09, - "curve": [ 0.294, 0.62, 0.619, 1 ] - }, - { - "time": 0.5, - "x": -63.72, - "y": 51.15, - "curve": [ 0.33, 0, 0.676, 0.41 ] - }, - { - "time": 0.5333, - "x": -75.18, - "y": 47.57, - "curve": [ 0.349, 0.3, 0.686, 0.64 ] - }, - { - "time": 0.5667, - "x": -70.67, - "y": 33.98, - "curve": [ 0.361, 0.33, 0.698, 0.67 ] - }, - { - "time": 0.6, - "x": -53.83, - "y": 13.44, - "curve": [ 0.381, 0.36, 0.719, 0.7 ] - }, - { - "time": 0.6333, - "x": -19.36, - "y": -4.99, - "curve": [ 0.427, 0.41, 0.767, 0.75 ] - }, - { - "time": 0.6667, - "x": 0.71, - "y": -12.74, - "curve": [ 0.648, 0.59, 1, 0.96 ] - }, - { "time": 0.7, "x": 26.51, "y": -7.89 }, - { - "time": 1.2667, - "x": 22.72, - "y": -6.76, - "curve": [ 0.971, 0, 0.651, 1 ] - }, - { "time": 1.8333, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.8333, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.8333, "x": 0, "y": 0 } - ] - }, - "ik_foot_R": { - "rotate": [ - { - "time": 0, - "angle": 0.03, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 1.8333, "angle": 0 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 1.63, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.7, - "x": 0, - "y": 0.57, - "curve": [ 0.344, 0.3, 0.677, 0.63 ] - }, - { - "time": 0.9, - "x": 0, - "y": -1.08, - "curve": [ 0.343, 0.31, 0.676, 0.64 ] - }, - { - "time": 1.2667, - "x": 0, - "y": -1.93, - "curve": [ 0.971, 0, 0.651, 1 ] - }, - { "time": 1.8333, "x": 0, "y": 1.63 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.8333, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.8333, "x": 0, "y": 0 } - ] - }, - "b_FullPet": { - "rotate": [ - { "time": 0, "angle": 0.03, "curve": "stepped" }, - { - "time": 0.9667, - "angle": 0.03, - "curve": [ 0.393, 0, 0.632, 1 ] - }, - { "time": 1.8333, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.6667, "x": 0, "y": 0 }, - { - "time": 0.7, - "x": 0, - "y": -5.09, - "curve": [ 0.375, 0, 0.617, 1 ] - }, - { - "time": 0.7667, - "x": 0, - "y": -5.82, - "curve": [ 0.375, 0, 0.617, 1 ] - }, - { - "time": 0.8667, - "x": 0, - "y": 8, - "curve": [ 0.393, 0, 0.632, 1 ] - }, - { "time": 0.9667, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.8333, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.6667, "x": 1, "y": 1 }, - { - "time": 0.7, - "x": 1.036, - "y": 0.942, - "curve": [ 0.375, 0, 0.617, 1 ] - }, - { - "time": 0.7667, - "x": 1.017, - "y": 0.959, - "curve": [ 0.375, 0, 0.617, 1 ] - }, - { - "time": 0.8667, - "x": 0.942, - "y": 1.08, - "curve": [ 0.393, 0, 0.632, 1 ] - }, - { "time": 0.9667, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.8333, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.7667, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.8667, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9667, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.8333, "x": 0, "y": 0 } - ] - }, - "root": { - "rotate": [ - { "time": 0, "angle": 0.03 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - } - }, - "deform": { - "default": { - "s_dorsoMask": { - "mask_dorso": [ - { - "time": 0, - "offset": 18, - "vertices": [ 0.19027, -0.44664, -0.12057, 0.60894, 1.12496, 1.24902, 0.61664, -1.02235, -0.18979, -6.53505, -0.27099, -3.96171, 0, 0, 1.58551, -0.46181 ], - "curve": [ 0, 0.21, 0.75, 1 ] - }, - { - "time": 0.1667, - "offset": 10, - "vertices": [ 1.39394, 1.16504, 6.48138, 1.94468, 10.0592, 3.03158, 17.36675, 10.52183, 15.59673, 15.56505, 11.79083, 22.84578, 8.62555, 20.57906 ] - }, - { - "time": 0.3333, - "offset": 10, - "vertices": [ 2.78789, 2.33007, 6.99816, 1.90074, 10.50841, 2.41662, 18.16216, 10.76109, 14.28698, 14.20777, 3.02053, 9.51532 ] - }, - { - "time": 0.7, - "offset": 10, - "vertices": [ 3.48734, -0.37014, -1.73034, 1.93004, 1.29986, 0.43891, 5.45574, 4.86049, 2.65576, 5.20719, -0.42389, 4.49713, 0.80269, -1.48245, -0.80097, -2.21102, -1.31778, -7.39635, -0.52702, -5.55621, 0, 0, 1.6176, 0.61812, 0.61359, 4.25574, 2.02185, 6.17672 ] - }, - { - "time": 1.0333, - "offset": 10, - "vertices": [ 2.46165, -0.26128, -1.22142, 1.36238, 0.91755, 0.30982, 3.85111, 3.43093, 1.87466, 3.67566, 0.63495, 3.2127, 1.94221, -1.36821, 0.24273, -5.80374, -0.91445, -10.17494, 0.22586, -6.41701, 0, 0, 1.14183, 0.43632, 0.43312, 3.00405, 1.42719, 4.36004 ] - }, - { - "time": 1.4333, - "offset": 10, - "vertices": [ 1.23083, -0.13064, -0.61071, 0.68119, 0.45877, 0.15491, 1.92556, 1.71547, 0.93733, 1.83783, -0.93471, 1.84128, 1.60743, -0.51824, 0.12137, -2.90187, -0.26452, -8.43572, -0.15806, -7.17022, 0, 0, 1.36367, -0.01274, 0.21656, 1.50203, 0.71359, 2.18002 ] - }, - { - "time": 1.6667, - "offset": 10, - "vertices": [ 0.51284, -0.05443, -0.25446, 0.28383, 0.19116, 0.06455, 0.80232, 0.71478, -2.46495, -1.12584, -0.38946, 0.7672, 0.66976, -0.21593, 0.05057, -1.20911, -0.11022, -3.51488, -0.06586, -2.98759, 0, 0, 1.49307, -0.2747, 0.09023, 0.62584, 0.29733, 0.90834 ] - }, - { - "time": 1.8333, - "offset": 32, - "vertices": [ 1.58551, -0.46181 ] - } - ] - } - } - }, - "drawOrder": [ - { "time": 0 }, - { "time": 0.2667 }, - { "time": 1.5333 } - ] - }, - "Hungry": { - "slots": { - "s_dorso": { - "attachment": [ - { "time": 0, "name": "a_dorso" } - ] - } - }, - "bones": { - "b_pelvis": { - "rotate": [ - { - "time": 0, - "angle": 4.13, - "curve": [ 0.643, 0, 0.418, 1 ] - }, - { - "time": 1.5, - "angle": 2.67, - "curve": [ 0.643, 0, 0.418, 1 ] - }, - { - "time": 3, - "angle": 4.13, - "curve": [ 0.479, 0, 0.754, 0.5 ] - }, - { - "time": 3.8333, - "angle": 1.9, - "curve": [ 0.296, 0.5, 0.558, 1.01 ] - }, - { "time": 4.6667, "angle": 4.13 } - ], - "translate": [ - { "time": 0, "x": 0, "y": -16.22 } - ] - }, - "b_dorso": { - "rotate": [ - { - "time": 0, - "angle": 8.82, - "curve": [ 0.643, 0, 0.418, 1 ] - }, - { - "time": 1.5, - "angle": 7.35, - "curve": [ 0.643, 0, 0.418, 1 ] - }, - { - "time": 3, - "angle": 8.82, - "curve": [ 0.417, 0, 0.734, 0.41 ] - }, - { "time": 3.6667, "angle": 2.64, "curve": "stepped" }, - { - "time": 4.1, - "angle": 2.64, - "curve": [ 0.369, 0.36, 0.554, 1 ] - }, - { "time": 4.6667, "angle": 8.82 } - ], - "translate": [ - { - "time": 0, - "x": 2.32, - "y": -0.28, - "curve": [ 0.643, 0, 0.418, 1 ] - }, - { - "time": 1.5, - "x": 4.72, - "y": -0.39, - "curve": [ 0.643, 0, 0.418, 1 ] - }, - { "time": 3, "x": 2.32, "y": -0.28 } - ] - }, - "ik_fot_L": { - "translate": [ - { "time": 0, "x": -45.34, "y": 4.44, "curve": "stepped" }, - { - "time": 3, - "x": -45.34, - "y": 4.44, - "curve": [ 0.487, 0.01, 0.532, 1 ] - }, - { - "time": 3.8667, - "x": -41.64, - "y": 7.57, - "curve": [ 0.487, 0.01, 0.532, 1 ] - }, - { "time": 4.6667, "x": -45.34, "y": 4.44 } - ] - }, - "ik_foot_R": { - "translate": [ - { "time": 0, "x": -37.47, "y": -2.25 } - ] - } - }, - "drawOrder": [ - { "time": 0 }, - { "time": 3.3 }, - { "time": 4.4333 } - ] - }, - "Idle": { - "slots": { - "s_dorso": { - "attachment": [ - { "time": 0, "name": "a_dorso" } - ] - }, - "s_dorsoMask": { - "attachment": [ - { "time": 0, "name": "mask_dorso" } - ] - } - }, - "bones": { - "b_pelvis": { - "rotate": [ - { - "time": 0, - "angle": 3.18, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 0.9333, - "angle": -1.29, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { "time": 1.8667, "angle": 3.18 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 0.92, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 0.2333, - "x": 0, - "y": -3.64, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 0.4667, - "x": 0, - "y": 0.92, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 0.7, - "x": 0, - "y": -2.94, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 0.9333, - "x": 0, - "y": 0.92, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 1.1667, - "x": 0, - "y": -2.94, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 1.4, - "x": 0, - "y": 0.92, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 1.6333, - "x": 0, - "y": -2.94, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { "time": 1.8667, "x": 0, "y": 0.92 } - ], - "scale": [ - { - "time": 0, - "x": 1.002, - "y": 1, - "curve": [ 0.253, 0.46, 0.469, 1 ] - }, - { - "time": 0.1333, - "x": 1.005, - "y": 1, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 0.3667, - "x": 1, - "y": 1, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 0.6, - "x": 1.005, - "y": 1, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 0.8333, - "x": 1, - "y": 1, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 1.0667, - "x": 1.005, - "y": 1, - "curve": [ 0.436, 0, 0.5, 1 ] - }, - { - "time": 1.3, - "x": 1, - "y": 1, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 1.5333, - "x": 1.005, - "y": 1, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 1.7667, - "x": 1, - "y": 1, - "curve": [ 0.487, 0, 0.757, 0.47 ] - }, - { "time": 1.8667, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - }, - "b_dorso": { - "rotate": [ - { - "time": 0, - "angle": 3.37, - "curve": [ 0.287, 0.62, 0.615, 0.99 ] - }, - { - "time": 0.1333, - "angle": 3.61, - "curve": [ 0.436, 0, 0.5, 1 ] - }, - { - "time": 1.0667, - "angle": -4.51, - "curve": [ 0.529, 0, 0.587, 0.78 ] - }, - { "time": 1.8667, "angle": 3.37 } - ], - "translate": [ - { - "time": 0, - "x": -0.42, - "y": -0.08, - "curve": [ 0.253, 0.46, 0.469, 1 ] - }, - { - "time": 0.1333, - "x": 1.83, - "y": -0.08, - "curve": [ 0.436, 0, 0.5, 1 ] - }, - { - "time": 0.3667, - "x": -1.77, - "y": -0.08, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 0.6, - "x": 1.83, - "y": -0.08, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 0.8333, - "x": -1.77, - "y": -0.08, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 1.0667, - "x": 1.83, - "y": -0.08, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 1.3, - "x": -1.77, - "y": -0.08, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 1.5333, - "x": 1.83, - "y": -0.08, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 1.7667, - "x": -1.77, - "y": -0.08, - "curve": [ 0.487, 0, 0.757, 0.47 ] - }, - { "time": 1.8667, "x": -0.42, "y": -0.08 } - ], - "scale": [ - { - "time": 0, - "x": 1.002, - "y": 1, - "curve": [ 0.253, 0.46, 0.469, 1 ] - }, - { - "time": 0.1333, - "x": 1.005, - "y": 1, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 0.3667, - "x": 1, - "y": 1, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 0.6, - "x": 1.005, - "y": 1, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 0.8333, - "x": 1, - "y": 1, - "curve": [ 0.436, 0, 0.5, 1 ] - }, - { - "time": 1.0667, - "x": 1.005, - "y": 1, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 1.3, - "x": 1, - "y": 1, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 1.5333, - "x": 1.005, - "y": 1, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { - "time": 1.7667, - "x": 1, - "y": 1, - "curve": [ 0.487, 0, 0.757, 0.47 ] - }, - { "time": 1.8667, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - }, - "ik_foot_R": { - "rotate": [ - { "time": 0, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 1.63 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - }, - "ik_fot_L": { - "rotate": [ - { "time": 0, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - }, - "b_FullPet": { - "rotate": [ - { "time": 0, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - } - }, - "deform": { - "default": { - "s_dorsoMask": { - "mask_dorso": [ - { - "time": 0, - "offset": 18, - "vertices": [ 0.50665, 2.53774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.27687, 1.60386 ] - } - ] - } - } - }, - "drawOrder": [ - { "time": 0 }, - { "time": 0.3333 }, - { "time": 1.5333 } - ] - }, - "Laugh": { - "slots": { - "s_dorso": { - "attachment": [ - { "time": 0, "name": "a_dorso" }, - { "time": 2, "name": "a_dorso" } - ] - } - }, - "bones": { - "b_pelvis": { - "rotate": [ - { - "time": 0, - "angle": 0.29, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 0.2667, "angle": 0.92, "curve": "stepped" }, - { "time": 1.4333, "angle": 0.92 }, - { "time": 2, "angle": 3.18 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 0.33, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { - "time": 0.2, - "x": -1.93, - "y": -7.73, - "curve": [ 0.39, 0, 0.598, 1 ] - }, - { - "time": 0.3, - "x": -1.93, - "y": -9.32, - "curve": [ 0.39, 0, 0.598, 1 ] - }, - { - "time": 0.4667, - "x": -1.93, - "y": -7.73, - "curve": [ 0.39, 0, 0.598, 1 ] - }, - { - "time": 0.6333, - "x": -1.93, - "y": -8.53, - "curve": [ 0.39, 0, 0.598, 1 ] - }, - { - "time": 0.8, - "x": -1.93, - "y": -6.48, - "curve": [ 0.39, 0, 0.598, 1 ] - }, - { - "time": 0.9333, - "x": -1.93, - "y": -7.87, - "curve": [ 0.39, 0, 0.598, 1 ] - }, - { - "time": 1.1333, - "x": -1.93, - "y": -6.22, - "curve": [ 0.39, 0, 0.598, 1 ] - }, - { - "time": 1.3667, - "x": -1.93, - "y": -7.73, - "curve": [ 0.39, 0, 0.598, 1 ] - }, - { "time": 2, "x": 0, "y": 0.92 } - ], - "scale": [ - { - "time": 0, - "x": 1.004, - "y": 1, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 2, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2, "x": 0, "y": 0 } - ] - }, - "b_dorso": { - "rotate": [ - { - "time": 0, - "angle": 0.3, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 0.2667, "angle": 23.14, "curve": "stepped" }, - { - "time": 1.5333, - "angle": 23.14, - "curve": [ 0.43, 0, 0.598, 1 ] - }, - { "time": 2, "angle": 3.37 } - ], - "translate": [ - { - "time": 0, - "x": 1.33, - "y": -0.08, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { - "time": 0.2, - "x": 0.78, - "y": -0.64, - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 0.3667, - "x": -6.93, - "y": -0.52, - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 0.5333, - "x": -1.08, - "y": -0.61, - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 0.7, - "x": -4.27, - "y": -0.56, - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 0.8667, - "x": -1.08, - "y": -0.61, - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 1.0333, - "x": -4.27, - "y": -0.56, - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 1.2, - "x": -1.08, - "y": -0.61, - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 1.5333, - "x": 0.78, - "y": -0.64, - "curve": [ 0.43, 0, 0.598, 1 ] - }, - { "time": 2, "x": -0.42, "y": -0.08 } - ], - "scale": [ - { - "time": 0, - "x": 1.004, - "y": 1, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { - "time": 0.3667, - "x": 0.994, - "y": 1.013, - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 0.5333, - "x": 1.005, - "y": 1.004, - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 0.7, - "x": 0.994, - "y": 1.013, - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 0.8667, - "x": 1.005, - "y": 1.004, - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 1.0333, - "x": 0.994, - "y": 1.013, - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { "time": 1.2, "x": 1.005, "y": 1.004 }, - { "time": 2, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2, "x": 0, "y": 0 } - ] - }, - "ik_foot_R": { - "rotate": [ - { - "time": 0, - "angle": 0.03, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 2, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 1.63, "curve": "stepped" }, - { "time": 2, "x": 0, "y": 1.63 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 2, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2, "x": 0, "y": 0 } - ] - }, - "b_FullPet": { - "rotate": [ - { - "time": 0, - "angle": 0.03, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 2, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 2, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2, "x": 0, "y": 0 } - ] - }, - "root": { - "rotate": [ - { "time": 0, "angle": 0.03 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - }, - "ik_fot_L": { - "rotate": [ - { - "time": 0, - "angle": 0.03, - "curve": [ 0.395, 0, 0.524, 1 ] - }, - { "time": 2, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 2, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2, "x": 0, "y": 0 } - ] - } - }, - "deform": { - "default": { - "s_dorsoMask": { - "mask_dorso": [ - { - "time": 0, - "offset": 32, - "vertices": [ 0.31432, 1.70607 ] - }, - { - "time": 0.2333, - "offset": 16, - "vertices": [ -6.78016, -0.83274, -1.85569, 1.92783, -1.11573, 4.83344, -1.34223, 2.89615, -1.25361, 3.55463, -1.54741, -0.05091, -0.54177, -0.02947, 0.47117, 0.41892, 2.37194, 2.53049, 1.47296, 3.48535, 2.48446, -2.03041, 5.88295, -3.73335, 3.33008, 1.52357 ] - }, - { - "time": 0.3667, - "offset": 16, - "vertices": [ -7.04822, -0.71475, -3.48737, 3.78468, -1.29789, 5.62257, -1.48284, 7.95031, -3.16717, 5.42868, -1.92605, -0.19764, -0.63022, -0.03428, 0.5481, 0.48731, 2.18887, 2.61914, 3.50153, 0.98342, 5.33811, -3.8235, 4.02013, -3.30735, 2.37863, 1.08827 ] - }, - { - "time": 0.7, - "offset": 16, - "vertices": [ -7.04822, -0.71475, -3.48737, 3.78468, -1.29789, 5.62257, -1.48284, 7.95031, -3.16717, 5.42868, -1.92605, -0.19764, -0.63022, -0.03428, 0.5481, 0.48731, 2.18887, 2.61914, 5.81452, -3.70662, 7.38908, -10.75927, 4.02013, -3.30735, 2.37863, 1.08827 ] - }, - { - "time": 1.4, - "offset": 16, - "vertices": [ -7.04822, -0.71475, -0.72157, 3.58821, -2.03727, 6.16006, -1.61402, 4.57705, -2.22836, 3.38763, -1.92605, -0.19764, -0.63022, -0.03428, 0.5481, 0.48731, 2.18887, 2.61914, 1.66402, 2.74043, 3.97756, -0.49891, 6.39928, -4.24742, 2.37863, 1.08827 ] - }, - { - "time": 1.7333, - "offset": 16, - "vertices": [ -4.53306, -1.03016, -1.23229, 1.09715, -1.11124, 5.23853, -1.01417, 4.54783, -1.45498, 3.65138, -0.70156, -0.17468, -0.35846, -0.0195, 0.73092, -0.5433, 1.31598, 4.20635, 1.1867, 0.33518, 4.89057, -6.00035, 5.5921, -7.11541 ] - }, - { "time": 2 } - ] - } - } - }, - "drawOrder": [ - { "time": 0 }, - { "time": 0.0333 }, - { "time": 1.9333 } - ] - }, - "Panic": { - "slots": { - "s_dorso": { - "attachment": [ - { "time": 0, "name": "a_dorso" }, - { "time": 2.0667, "name": "a_dorso" } - ] - } - }, - "bones": { - "b_pelvis": { - "rotate": [ - { - "time": 0, - "angle": 0.29, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.4, - "angle": -32.53, - "curve": [ 0.481, 0, 0.774, 0.43 ] - }, - { - "time": 0.5333, - "angle": -27.99, - "curve": [ 0.297, 0.4, 0.417, 1 ] - }, - { - "time": 0.8, - "angle": -5.28, - "curve": [ 0.573, 0, 0.473, 1 ] - }, - { - "time": 1.3333, - "angle": -32.53, - "curve": [ 0.573, 0, 0.473, 1 ] - }, - { "time": 2.0667, "angle": 3.18 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 0.33, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 0.0667, "x": 19.91, "y": 3.52 }, - { "time": 0.4, "x": 16.59, "y": 11.96 }, - { "time": 2.0667, "x": 0, "y": 0.92 } - ], - "scale": [ - { - "time": 0, - "x": 1.004, - "y": 1, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 2.0667, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.0667, "x": 0, "y": 0 } - ] - }, - "b_dorso": { - "rotate": [ - { - "time": 0, - "angle": 0.3, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.1333, - "angle": 4.92, - "curve": [ 0.317, 0.62, 0.65, 0.97 ] - }, - { - "time": 0.3333, - "angle": -10.15, - "curve": [ 0.458, 0, 0.538, 1 ] - }, - { - "time": 0.5333, - "angle": -2.74, - "curve": [ 0.458, 0, 0.538, 1 ] - }, - { - "time": 0.7667, - "angle": 12.46, - "curve": [ 0.458, 0, 0.538, 1 ] - }, - { - "time": 1.2, - "angle": -23.95, - "curve": [ 0.458, 0, 0.538, 1 ] - }, - { - "time": 1.5333, - "angle": 9.08, - "curve": [ 0.458, 0, 0.538, 1 ] - }, - { - "time": 1.8667, - "angle": -2.54, - "curve": [ 0.458, 0, 0.538, 1 ] - }, - { "time": 2.0667, "angle": 3.37 } - ], - "translate": [ - { - "time": 0, - "x": 1.33, - "y": -0.08, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 2.0667, "x": -0.42, "y": -0.08 } - ], - "scale": [ - { - "time": 0, - "x": 1.004, - "y": 1, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 2.0667, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.0667, "x": 0, "y": 0 } - ] - }, - "ik_foot_R": { - "rotate": [ - { - "time": 0, - "angle": 0.03, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 2.0667, "angle": 0 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 1.63, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.0667, - "x": 17.56, - "y": -3.71, - "curve": [ 0.498, 0, 0.478, 0.99 ] - }, - { "time": 0.4, "x": 7.5, "y": 1.25 }, - { "time": 2.0667, "x": 0, "y": 1.63 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 2.0667, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.0667, "x": 0, "y": 0 } - ] - }, - "root": { - "rotate": [ - { "time": 0, "angle": 0.03 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - }, - "ik_fot_L": { - "rotate": [ - { - "time": 0, - "angle": 0.03, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 2.0667, "angle": 0 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 0, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.0667, - "x": 22.15, - "y": -4.22, - "curve": [ 0.573, 0, 0.473, 1 ] - }, - { - "time": 0.4, - "x": -17.15, - "y": 88.09, - "curve": [ 0.395, 0, 0.722, 0.37 ] - }, - { - "time": 0.5, - "x": -31.03, - "y": 85.57, - "curve": [ 0.489, 0.19, 0.559, 1 ] - }, - { - "time": 0.8, - "x": -17.84, - "y": 22.3, - "curve": [ 0.573, 0, 0.473, 1 ] - }, - { - "time": 1.3333, - "x": -35.86, - "y": 88.09, - "curve": [ 0.573, 0, 0.473, 1 ] - }, - { "time": 2.0667, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 2.0667, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.0667, "x": 0, "y": 0 } - ] - }, - "b_FullPet": { - "rotate": [ - { "time": 0, "angle": 0.03 }, - { "time": 2.0667, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.0667, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 2.0667, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.0667, "x": 0, "y": 0 } - ] - } - }, - "drawOrder": [ - { "time": 0 }, - { "time": 0.2333 } - ] - }, - "Sad": { - "slots": { - "s_dorso": { - "attachment": [ - { "time": 0, "name": "a_dorso" }, - { "time": 3.1667, "name": "a_dorso" } - ] - } - }, - "bones": { - "b_pelvis": { - "rotate": [ - { - "time": 0, - "angle": 0.29, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 0.6667, "angle": 4.09 }, - { - "time": 1.4667, - "angle": 3.83, - "curve": [ 0.426, 0, 0.572, 1 ] - }, - { - "time": 2, - "angle": 8.3, - "curve": [ 0.426, 0, 0.572, 1 ] - }, - { - "time": 2.4333, - "angle": -0.44, - "curve": [ 0.426, 0, 0.572, 1 ] - }, - { "time": 2.8, "angle": 4.09 }, - { "time": 3.1667, "angle": 3.18 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 0.33, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 0.6667, "x": 0.19, "y": -2.7 }, - { "time": 3.1667, "x": 0, "y": 0.92 } - ], - "scale": [ - { - "time": 0, - "x": 1.004, - "y": 1, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 0.6667, "x": 0.966, "y": 1.006 }, - { "time": 3.1667, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 3.1667, "x": 0, "y": 0 } - ] - }, - "b_dorso": { - "rotate": [ - { - "time": 0, - "angle": 0.3, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 0.6667, "angle": 20.1 }, - { - "time": 1.5667, - "angle": 19.84, - "curve": [ 0.426, 0, 0.572, 1 ] - }, - { - "time": 2.1, - "angle": 28.2, - "curve": [ 0.426, 0, 0.572, 1 ] - }, - { - "time": 2.5333, - "angle": 3.67, - "curve": [ 0.426, 0, 0.572, 1 ] - }, - { "time": 2.9, "angle": 20.1 }, - { "time": 3.1667, "angle": 3.37 } - ], - "translate": [ - { - "time": 0, - "x": 1.33, - "y": -0.08, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.4, - "x": 0, - "y": 0, - "curve": [ 0.523, 0.01, 0.537, 1 ] - }, - { "time": 0.6667, "x": -1.31, "y": -1.54 }, - { "time": 3.1667, "x": -0.42, "y": -0.08 } - ], - "scale": [ - { - "time": 0, - "x": 1.004, - "y": 1, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 0.6667, "x": 0.984, "y": 1.002 }, - { "time": 3.1667, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 3.1667, "x": 0, "y": 0 } - ] - }, - "ik_fot_L": { - "rotate": [ - { - "time": 0, - "angle": 0.03, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 3.1667, "angle": 0 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 0, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 0.6667, "x": 12.14, "y": -4.47, "curve": "stepped" }, - { "time": 1.7, "x": 12.14, "y": -4.47 }, - { "time": 2.0667, "x": 34.82, "y": 5.92 }, - { "time": 2.1333, "x": -5.28, "y": -13.16 }, - { "time": 2.2333, "x": -39.17, "y": -0.02 }, - { "time": 2.3, "x": -57.07, "y": 11.64 }, - { - "time": 2.4, - "x": -76.69, - "y": 33.12, - "curve": [ 0, 0.05, 0.589, 1 ] - }, - { "time": 2.8333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 3.1667, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 3.1667, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 3.1667, "x": 0, "y": 0 } - ] - }, - "ik_foot_R": { - "rotate": [ - { - "time": 0, - "angle": 0.03, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 3.1667, "angle": 0 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 1.63, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 0.6667, "x": -10.36, "y": -2.23 }, - { - "time": 2.0333, - "x": -10.92, - "y": -2.23, - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { "time": 2.4, "x": -14, "y": -6.99 }, - { - "time": 2.7333, - "x": -10.92, - "y": -2.23, - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { "time": 3.1667, "x": 0, "y": 1.63 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 3.1667, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 3.1667, "x": 0, "y": 0 } - ] - }, - "b_FullPet": { - "rotate": [ - { "time": 0, "angle": 0.03 }, - { "time": 3.1667, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 3.1667, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 3.1667, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 3.1667, "x": 0, "y": 0 } - ] - }, - "root": { - "rotate": [ - { "time": 0, "angle": 0.03 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - } - }, - "deform": { - "default": { - "s_dorsoMask": { - "mask_dorso": [ - { - "time": 0, - "offset": 18, - "vertices": [ -0.14696, 3.01498, -0.92734, 1.02881, 2.09261, 0.41347, 0.41753, 2.89646, 0.3416, 8.91913 ] - }, - { - "time": 0.0667, - "offset": 18, - "vertices": [ -0.91896, 2.7586, -0.86272, 1.31843, 1.32313, 3.89626, 0.17834, 4.16806, 0.02998, 1.55807, -0.0897, 0.05117, 0.08787, 0.00984, 0.92834, 0.49012, 0.43557, 0.10925, 0.35571, 0.15067 ] - }, - { - "time": 0.2667, - "offset": 18, - "vertices": [ -3.23495, 1.98945, -0.66885, 2.1873, 0.91685, 1.36047, -0.06886, 1.34485, -0.4067, -0.65812, -0.35881, 0.20469, 0.35148, 0.03935, 1.07237, 0.35599, 1.74229, 0.437, 1.42282, 0.60269 ] - }, - { - "time": 0.6667, - "offset": 18, - "vertices": [ -5.32982, 1.36586, -2.50036, 5.9838, 1.89037, 3.45592, -0.17216, 3.36212, -1.01675, -1.6453, -0.89702, 0.51173, 0.8787, 0.09839, 2.68092, 0.88997, 2.25512, -0.58573, 3.18116, -2.37309, 2.2552, 2.3299 ] - }, - { - "time": 1.6333, - "offset": 18, - "vertices": [ -5.32982, 1.36586, -2.50036, 5.9838, 1.89037, 3.45592, -0.17216, 3.36212, -1.01675, -1.6453, -0.89702, 0.51173, 0.8787, 0.09839, 2.68092, 0.88997, 2.57496, 0.74711, 3.47156, -1.48331, 1.71303, 2.79295 ] - }, - { - "time": 1.9667, - "offset": 18, - "vertices": [ -5.32982, 1.36586, -2.50036, 5.9838, 1.89037, 3.45592, -0.17216, 3.36212, -1.01675, -1.6453, -0.89702, 0.51173, 0.8787, 0.09839, 2.68092, 0.88997, 2.68525, 1.20671, 5.24014, -0.9904, 4.68878, 1.29555 ] - }, - { - "time": 2.2667, - "offset": 14, - "vertices": [ 5.01, 1.44533, 4.61034, 8.94521, 4.58483, 12.41422, 1.6318, 16.041, -2.534, 4.91698, -0.04301, 6.05991, -1.01675, -1.6453, -0.89702, 0.51173, 0.8787, 0.09839, 2.68092, 0.88997, 2.68525, 1.20671, 5.24014, -0.9904, 4.68878, 1.29555 ] - }, - { - "time": 2.4667, - "offset": 14, - "vertices": [ 8.35001, 2.40888, 18.65046, 12.63526, 16.63799, 19.30203, 10.46304, 24.74112, 7.04694, 22.4885, 0.04309, 7.85844, -1.01675, -1.6453, -0.89702, 0.51173, 0.8787, 0.09839, 2.68092, 0.88997, 2.68525, 1.20671, 5.24014, -0.9904, 4.68878, 1.29555 ] - }, - { - "time": 2.6333, - "offset": 14, - "vertices": [ 8.35001, 2.40888, 18.65046, 12.63526, 16.63799, 19.30203, 10.46304, 24.74112, 6.09042, 20.3936, 0.04309, 7.85844, -1.01675, -1.6453, -0.89702, 0.51173, 0.8787, 0.09839, 2.68092, 0.88997, 2.68525, 1.20671, 5.24014, -0.9904, 4.68878, 1.29555 ] - }, - { - "time": 2.9333, - "offset": 14, - "vertices": [ 6.1347, 1.76979, 13.70238, 9.28305, 12.18484, 14.98098, 4.43752, 16.72459, 6.16116, 20.99446, 2.72772, 17.29742, -0.57875, 1.46943, -0.65904, 0.37597, 0.64558, 0.07228, 2.6299, 1.05498, 1.97284, 0.88656, 3.8499, -0.72764, 3.44482, 0.95183 ] - }, - { - "time": 3.1667, - "offset": 18, - "vertices": [ -0.14696, 3.01498, 2.28105, 4.06521, -0.5779, -0.44222, -0.48925, 1.13527 ] - } - ] - } - } - }, - "drawOrder": [ - { "time": 0 }, - { "time": 0.0333 } - ] - }, - "Steal_Pos": { - "slots": { - "SwingPath": { - "attachment": [ - { "time": 0, "name": null } - ] - }, - "s_dorso": { - "attachment": [ - { "time": 0, "name": "a_dorso" }, - { "time": 0.8, "name": "a_dorso" }, - { "time": 2.6333, "name": "a_dorso" } - ] - } - }, - "bones": { - "b_pelvis": { - "rotate": [ - { "time": 0, "angle": 0 }, - { - "time": 0.1, - "angle": -17.73, - "curve": [ 0.528, 0, 0.476, 1.01 ] - }, - { - "time": 0.5, - "angle": 14.82, - "curve": [ 0.447, 0, 0.477, 1 ] - }, - { - "time": 0.8, - "angle": 0.29, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 1.1333, - "angle": -0.13, - "curve": [ 0.62, 0, 1, 1 ] - }, - { "time": 1.4667, "angle": 4.58 }, - { - "time": 1.5, - "angle": 1.28, - "curve": [ 0.484, 0.01, 0.661, 1 ] - }, - { - "time": 1.7, - "angle": 0, - "curve": [ 0.466, 0.01, 0.52, 1 ] - }, - { "time": 2.6333, "angle": 3.18 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 }, - { - "time": 0.1, - "x": 0, - "y": 0.92, - "curve": [ 0.498, 0, 0.476, 1.01 ] - }, - { - "time": 0.8, - "x": 0, - "y": 0.33, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 1.1333, - "x": 0, - "y": 10.49, - "curve": [ 0.244, 0, 0.641, 0.57 ] - }, - { - "time": 1.5, - "x": 14.21, - "y": 2.82, - "curve": [ 0.484, 0.01, 0.661, 1 ] - }, - { "time": 1.7, "x": 15.47, "y": 4.71 }, - { - "time": 2.0667, - "x": 9.28, - "y": 2.83, - "curve": [ 0.971, 0, 0.651, 1 ] - }, - { "time": 2.6333, "x": 0, "y": 0.92 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1 }, - { - "time": 0.1, - "x": 1.002, - "y": 1, - "curve": [ 0.253, 0.46, 0.476, 1.01 ] - }, - { - "time": 0.8, - "x": 1.004, - "y": 1, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 1.4333, "x": 1, "y": 1 }, - { - "time": 1.5, - "x": 0.871, - "y": 1.051, - "curve": [ 0.484, 0.01, 0.661, 1 ] - }, - { - "time": 1.7, - "x": 1, - "y": 0.962, - "curve": [ 0.466, 0.01, 0.52, 1 ] - }, - { - "time": 2.0667, - "x": 1, - "y": 1, - "curve": [ 0.971, 0, 0.651, 1 ] - }, - { "time": 2.6333, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0.8, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.6333, "x": 0, "y": 0 } - ] - }, - "b_dorso": { - "rotate": [ - { "time": 0, "angle": 0 }, - { - "time": 0.1, - "angle": -16.69, - "curve": [ 0, 0, 0.476, 1.01 ] - }, - { - "time": 0.5667, - "angle": 14.25, - "curve": [ 0.447, 0, 0.477, 1 ] - }, - { - "time": 0.8, - "angle": 0.3, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 1.2333, - "angle": -7.18, - "curve": [ 0.62, 0, 1, 1 ] - }, - { - "time": 1.4333, - "angle": 12.33, - "curve": [ 0.353, 0, 0.682, 0.41 ] - }, - { - "time": 1.5, - "angle": 10.02, - "curve": [ 0.484, 0.01, 0.661, 1 ] - }, - { - "time": 1.7, - "angle": 0, - "curve": [ 0.466, 0.01, 0.52, 1 ] - }, - { "time": 2.6333, "angle": 3.37 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 }, - { - "time": 0.1, - "x": -0.42, - "y": -0.08, - "curve": [ 0, 0, 0.476, 1.01 ] - }, - { - "time": 0.5667, - "x": 1.95, - "y": 8.91, - "curve": [ 0.447, 0, 0.477, 1 ] - }, - { - "time": 0.8, - "x": 1.33, - "y": -0.08, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 1.1333, - "x": 3.5, - "y": -0.64, - "curve": [ 0.519, 0, 0.878, 0.71 ] - }, - { - "time": 1.4, - "x": 8.09, - "y": -0.92, - "curve": [ 0.658, 0.62, 1, 1 ] - }, - { - "time": 1.4667, - "x": -6.94, - "y": -0.64, - "curve": [ 0.351, 0, 0.681, 0.4 ] - }, - { - "time": 1.5, - "x": 3.16, - "y": 1.01, - "curve": [ 0.484, 0.01, 0.661, 1 ] - }, - { - "time": 1.7, - "x": 2.53, - "y": 0, - "curve": [ 0.466, 0.01, 0.52, 1 ] - }, - { - "time": 2.0667, - "x": 0, - "y": 0, - "curve": [ 0.971, 0, 0.651, 1 ] - }, - { "time": 2.6333, "x": -0.42, "y": -0.08 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1 }, - { - "time": 0.1, - "x": 1.002, - "y": 1, - "curve": [ 0, 0, 0.476, 1.01 ] - }, - { - "time": 0.8, - "x": 1.004, - "y": 1, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 1.4333, "x": 1, "y": 1 }, - { - "time": 1.5, - "x": 0.954, - "y": 1.019, - "curve": [ 0.484, 0.01, 0.661, 1 ] - }, - { - "time": 1.7, - "x": 1, - "y": 1, - "curve": [ 0.466, 0.01, 0.52, 1 ] - }, - { "time": 2.6333, "x": 1.002, "y": 1 } - ], - "shear": [ - { "time": 0.8, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.6333, "x": 0, "y": 0 } - ] - }, - "ik_foot_R": { - "rotate": [ - { - "time": 0.8, - "angle": 0.03, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 2.6333, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 }, - { - "time": 0.1, - "x": 27.17, - "y": 1.63, - "curve": [ 0, 0, 0.476, 1.01 ] - }, - { - "time": 0.5, - "x": 8.09, - "y": 13.07, - "curve": [ 0.447, 0, 0.477, 1 ] - }, - { - "time": 0.8, - "x": 0, - "y": 1.63, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 1.5, - "x": 0, - "y": 0.57, - "curve": [ 0.344, 0.3, 0.677, 0.63 ] - }, - { - "time": 1.7, - "x": 0, - "y": -1.08, - "curve": [ 0.343, 0.31, 0.676, 0.64 ] - }, - { - "time": 2.0667, - "x": 0, - "y": -1.93, - "curve": [ 0.971, 0, 0.651, 1 ] - }, - { "time": 2.6333, "x": 0, "y": 1.63 } - ], - "scale": [ - { "time": 0.8, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 2.6333, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0.8, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.6333, "x": 0, "y": 0 } - ] - }, - "root": { - "rotate": [ - { "time": 0.8, "angle": 0.03 } - ], - "translate": [ - { "time": 0.8, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0.8, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0.8, "x": 0, "y": 0 } - ] - }, - "b_FullPet": { - "rotate": [ - { "time": 0, "angle": -19.81, "curve": "stepped" }, - { - "time": 0.1, - "angle": -19.81, - "curve": [ 0, 0, 0.476, 1.01 ] - }, - { - "time": 0.4, - "angle": 13.93, - "curve": [ 0.447, 0, 0.477, 1 ] - }, - { "time": 0.8, "angle": 0.03, "curve": "stepped" }, - { - "time": 1.7667, - "angle": 0.03, - "curve": [ 0.393, 0, 0.632, 1 ] - }, - { "time": 2.6333, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 403.21, "y": 4.26, "curve": "stepped" }, - { - "time": 0.1, - "x": 403.21, - "y": 4.26, - "curve": [ 0, 0, 0.476, 1.01 ] - }, - { - "time": 0.4, - "x": -27.25, - "y": 7.15, - "curve": [ 0.447, 0, 0.477, 1 ] - }, - { "time": 0.8, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.4667, "x": 0, "y": 0 }, - { - "time": 1.5, - "x": 0, - "y": -5.09, - "curve": [ 0.375, 0, 0.617, 1 ] - }, - { - "time": 1.5667, - "x": 0, - "y": -5.82, - "curve": [ 0.375, 0, 0.617, 1 ] - }, - { - "time": 1.6667, - "x": 0, - "y": 8, - "curve": [ 0.393, 0, 0.632, 1 ] - }, - { "time": 1.7667, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.6333, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0.8, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.4667, "x": 1, "y": 1 }, - { - "time": 1.5, - "x": 1.036, - "y": 0.942, - "curve": [ 0.375, 0, 0.617, 1 ] - }, - { - "time": 1.5667, - "x": 1.017, - "y": 0.959, - "curve": [ 0.375, 0, 0.617, 1 ] - }, - { - "time": 1.6667, - "x": 0.942, - "y": 1.08, - "curve": [ 0.393, 0, 0.632, 1 ] - }, - { "time": 1.7667, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 2.6333, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0.8, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.5667, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.6667, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.7667, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.6333, "x": 0, "y": 0 } - ] - }, - "ik_fot_L": { - "rotate": [ - { - "time": 0.8, - "angle": 0.03, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { "time": 2.6333, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 }, - { - "time": 0.1, - "x": -23.97, - "y": 20.77, - "curve": [ 0, 0, 0.476, 1.01 ] - }, - { - "time": 0.5, - "x": -28.26, - "y": -9.97, - "curve": [ 0.447, 0, 0.477, 1 ] - }, - { - "time": 0.8, - "x": 0, - "y": 0, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 1.2, - "x": -62.13, - "y": 54.09, - "curve": [ 0.294, 0.62, 0.619, 1 ] - }, - { - "time": 1.3, - "x": -63.72, - "y": 51.15, - "curve": [ 0.33, 0, 0.676, 0.41 ] - }, - { - "time": 1.3333, - "x": -75.18, - "y": 47.57, - "curve": [ 0.349, 0.3, 0.686, 0.64 ] - }, - { - "time": 1.3667, - "x": -70.67, - "y": 33.98, - "curve": [ 0.361, 0.33, 0.698, 0.67 ] - }, - { - "time": 1.4, - "x": -53.83, - "y": 13.44, - "curve": [ 0.381, 0.36, 0.719, 0.7 ] - }, - { - "time": 1.4333, - "x": -19.36, - "y": -4.99, - "curve": [ 0.427, 0.41, 0.767, 0.75 ] - }, - { - "time": 1.4667, - "x": 0.71, - "y": -12.74, - "curve": [ 0.648, 0.59, 1, 0.96 ] - }, - { "time": 1.5, "x": 26.51, "y": -7.89 }, - { - "time": 2.0667, - "x": 22.72, - "y": -6.76, - "curve": [ 0.971, 0, 0.651, 1 ] - }, - { "time": 2.6333, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0.8, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 2.6333, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0.8, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 2.6333, "x": 0, "y": 0 } - ] - } - }, - "deform": { - "default": { - "s_dorsoMask": { - "mask_dorso": [ - { - "time": 0.1667, - "offset": 18, - "vertices": [ -0.09009, 1.82007, 3.3989, 12.21198, 5.56006, 14.01541, 3.89479, 12.42363, 2.32855, 7.84184, 1.32164, 5.8468 ] - }, - { - "time": 0.4667, - "offset": 14, - "vertices": [ -8.46482, 1.53479, 0.25138, 7.97987, 1.99913, 11.04901, -0.79776, 11.9193, -0.32355, 9.76874, 0.4849, 7.02131, 1.13566, 1.03174, 0.56724, 1.20066, 0, 0, 0.75103, -0.21875 ] - }, - { - "time": 0.8, - "offset": 18, - "vertices": [ 0.19027, -0.44664, -0.12057, 0.60894, 0.16043, 1.79507, -0.67506, -1.23026, -0.18979, -6.53505, -0.27099, -3.96171, 0, 0, 1.58551, -0.46181 ], - "curve": [ 0, 0.21, 0.75, 1 ] - }, - { - "time": 0.9667, - "offset": 10, - "vertices": [ 1.39394, 1.16504, 6.48138, 1.94468, 10.0592, 3.03158, 17.36675, 10.52183, 15.59673, 15.56505, 11.79083, 22.84578, 8.62555, 20.57906, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.65419, -2.66706 ] - }, - { - "time": 1.1333, - "offset": 10, - "vertices": [ 2.78789, 2.33007, 6.99816, 1.90074, 10.50841, 2.41662, 18.16216, 10.76109, 14.28698, 14.20777, 3.02053, 9.51532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.75785, 0.08894 ] - }, - { - "time": 1.5, - "offset": 10, - "vertices": [ 3.48734, -0.37014, -1.73034, 1.93004, 1.29986, 0.43891, 5.45574, 4.86049, 2.65576, 5.20719, -0.42389, 4.49713, 0.80269, -1.48245, -0.80097, -2.21102, -1.31778, -7.39635, -0.52702, -5.55621, 0, 0, 1.6176, 0.61812, 0.61359, 4.25574, 2.02185, 6.17672 ] - }, - { - "time": 1.8333, - "offset": 10, - "vertices": [ 2.46165, -0.26128, -1.22142, 1.36238, 0.91755, 0.30982, 3.85111, 3.43093, 1.87466, 3.67566, 0.63495, 3.2127, 1.94221, -1.36821, 0.24273, -5.80374, -0.91445, -10.17494, 0.22586, -6.41701, 0, 0, 1.14183, 0.43632, 0.43312, 3.00405, -0.5974, 4.17784, -2.37982, -0.12516 ] - }, - { - "time": 2.2333, - "offset": 10, - "vertices": [ 1.23083, -0.13064, -0.61071, 0.68119, 0.45877, 0.15491, 1.92556, 1.71547, 0.93733, 1.83783, -0.93471, 1.84128, 1.60743, -0.51824, 0.12137, -2.90187, -0.26452, -8.43572, -0.15806, -7.17022, 0, 0, 1.36367, -0.01274, 0.21656, 1.50203, 0.71359, 2.18002, -1.00328, -2.26482 ] - }, - { - "time": 2.4667, - "offset": 10, - "vertices": [ 0.51284, -0.05443, -0.25446, 0.28383, 0.19116, 0.06455, 0.80232, 0.71478, -2.46495, -1.12584, -0.38946, 0.7672, 0.66976, -0.21593, 0.05057, -1.20911, -0.11022, -3.51488, -0.06586, -2.98759, 0, 0, 1.49307, -0.2747, 0.09023, 0.62584, 0.29733, 0.90834 ] - }, - { - "time": 2.6333, - "offset": 32, - "vertices": [ 1.58551, -0.46181 ] - } - ] - } - } - }, - "drawOrder": [ - { "time": 0.0667 }, - { "time": 0.8 }, - { "time": 1.0667 }, - { "time": 2.3333 } - ] - }, - "Steal_Pre": { - "slots": { - "s_dorso": { - "attachment": [ - { "time": 0, "name": "a_dorso" } - ] - } - }, - "bones": { - "b_pelvis": { - "rotate": [ - { - "time": 0, - "angle": 0.29, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.2, - "angle": 4.41, - "curve": [ 0.397, 0.2, 0.523, 1 ] - }, - { - "time": 0.5333, - "angle": -13.71, - "curve": [ 0.39, 0, 1, 0 ] - }, - { "time": 0.7, "angle": 10.7 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0.33 } - ], - "scale": [ - { "time": 0, "x": 1.004, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - }, - "b_dorso": { - "rotate": [ - { - "time": 0, - "angle": 0.3, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.2, - "angle": 6.05, - "curve": [ 0.397, 0.2, 0.523, 1 ] - }, - { - "time": 0.5333, - "angle": -13.6, - "curve": [ 0.39, 0, 1, 0 ] - }, - { "time": 0.7, "angle": 14.55 }, - { "time": 0.9667, "angle": -0.41 } - ], - "translate": [ - { "time": 0, "x": 1.33, "y": -0.08 } - ], - "scale": [ - { "time": 0, "x": 1.004, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - }, - "ik_foot_R": { - "rotate": [ - { "time": 0, "angle": 0.03 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 1.63, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.0333, - "x": -6.5, - "y": -4.29, - "curve": [ 0.469, 0, 0.541, 1 ] - }, - { - "time": 0.5333, - "x": -60.84, - "y": 23.68, - "curve": [ 0.39, 0, 1, 0 ] - }, - { "time": 0.7, "x": 3.16, "y": 13.15 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - }, - "ik_fot_L": { - "rotate": [ - { "time": 0, "angle": 0.03 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 0, - "curve": [ 0, 0.25, 0.503, 0.99 ] - }, - { - "time": 0.5333, - "x": 12.41, - "y": -16.96, - "curve": [ 0.334, 0, 0.819, 0 ] - }, - { - "time": 0.6667, - "x": -29, - "y": -1.22, - "curve": [ 0.633, 0.26, 1, 0.59 ] - }, - { "time": 0.7, "x": -62.11, "y": 6.2 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - }, - "b_FullPet": { - "rotate": [ - { "time": 0, "angle": 0.03 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 }, - { - "time": 0.5, - "x": -31.33, - "y": 6.71, - "curve": [ 0.477, 0, 0.983, 0.98 ] - }, - { "time": 0.9333, "x": 381.21, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - }, - "root": { - "rotate": [ - { "time": 0, "angle": 0.03 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1 } - ], - "shear": [ - { "time": 0, "x": 0, "y": 0 } - ] - } - }, - "deform": { - "default": { - "s_dorsoMask": { - "mask_dorso": [ - { - "time": 0, - "offset": 32, - "vertices": [ -0.42995, 3.87875 ] - }, - { - "time": 0.2, - "offset": 32, - "vertices": [ -0.42995, 3.87875, 0, 0, -0.10873, -2.85018, 0.76328, -1.88967 ] - }, - { - "time": 0.5333, - "offset": 22, - "vertices": [ 1.19008, 0.8764, 0.95642, -1.05739, 1.08689, -2.08134, 1.28414, 2.42408, -0.17401, 2.65557, 0.86056, 3.37201, 0.08122, -4.20331, -2.24981, -9.94114, 0.76328, -1.88967 ] - }, - { - "time": 0.7, - "offset": 14, - "vertices": [ -5.60591, -0.41905, 0, 0, 0, 0, 0, 0, 1.19008, 0.8764, 0.95642, -1.05739, 1.08689, -2.08134, 1.28414, 2.42408, -0.17401, 2.65557, 0.86056, 3.37201, 0.08122, -4.20331, 2.91238, -3.40398, 3.36983, -1.31287, 7.83782, -3.82666 ] - } - ] - } - } - }, - "drawOrder": [ - { "time": 0 }, - { "time": 0.6333 } - ] - }, - "Steal_Swing": { - "slots": { - "SwingPath": { - "attachment": [ - { "time": 0, "name": null } - ] - }, - "s_dorso": { - "attachment": [ - { "time": 0, "name": null }, - { "time": 0.1667, "name": "a_dorso" }, - { "time": 2.9, "name": null } - ] - } - }, - "bones": { - "b_pelvis": { - "rotate": [ - { "time": 0, "angle": 0 }, - { - "time": 0.2333, - "angle": 14.39, - "curve": [ 0.469, 0, 0.541, 1 ] - }, - { - "time": 0.9, - "angle": 33.72, - "curve": [ 0.469, 0, 0.541, 1 ] - }, - { "time": 1.7333, "angle": -20.64 }, - { "time": 2.7, "angle": 4.97 } - ] - }, - "ik_fot_L": { - "translate": [ - { "time": 0, "x": 0, "y": 0 }, - { "time": 0.2333, "x": 53.72, "y": 12.26, "curve": "stepped" }, - { "time": 0.7, "x": 53.72, "y": 12.26, "curve": "stepped" }, - { - "time": 0.8667, - "x": 53.72, - "y": 12.26, - "curve": [ 0.463, 0, 0.735, 0.49 ] - }, - { - "time": 1.1333, - "x": 26.77, - "y": -20.56, - "curve": [ 0.463, 0, 0.735, 0.49 ] - }, - { "time": 1.3667, "x": -49.75, "y": 14.51 }, - { "time": 1.8, "x": -57.89, "y": 116.73 } - ] - }, - "ik_foot_R": { - "translate": [ - { "time": 0, "x": 0, "y": 0 }, - { - "time": 0.2333, - "x": 40.6, - "y": 55.03, - "curve": [ 0.463, 0, 0.735, 0.49 ] - }, - { "time": 0.7, "x": 31.18, "y": 70.52, "curve": "stepped" }, - { - "time": 0.8667, - "x": 31.18, - "y": 70.52, - "curve": [ 0.463, 0, 0.735, 0.49 ] - }, - { - "time": 1.1333, - "x": 11.62, - "y": 14.77, - "curve": [ 0.463, 0, 0.735, 0.49 ] - }, - { "time": 1.3667, "x": -23.81, "y": -10.24 }, - { "time": 1.5667, "x": -96.61, "y": 14.21 }, - { "time": 1.6667, "x": -122.26, "y": 39.61 }, - { "time": 1.8, "x": -141.31, "y": 62.17 } - ], - "scale": [ - { "time": 1.3667, "x": 1, "y": 1 } - ] - }, - "b_dorso": { - "rotate": [ - { "time": 0, "angle": 0 }, - { - "time": 0.2333, - "angle": -7.58, - "curve": [ 0.469, 0, 0.541, 1 ] - }, - { - "time": 0.9, - "angle": 16.98, - "curve": [ 0.469, 0, 0.541, 1 ] - }, - { - "time": 1.7333, - "angle": -15.43, - "curve": [ 0.432, 0, 0.704, 1 ] - }, - { "time": 2.7, "angle": 13.31 } - ] - }, - "b_FullPet": { - "rotate": [ - { "time": 0, "angle": 0 }, - { "time": 0.1667, "angle": 0.06 }, - { "time": 2.7, "angle": -18.58 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1 }, - { "time": 0.1667, "x": 0.694, "y": 0.694 } - ] - } - }, - "deform": { - "default": { - "s_dorsoMask": { - "mask_dorso": [ - { - "time": 0.2, - "vertices": [ -17.61151, 7.44397, -25.7521, 4.97461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.48962, 0.18201, 4.21371, -0.53162, 4.28094, 1.35608, 4.98955, -5.28259, 2.25755, -2.35632, 0, 0, 0, 0, 0.52681, -0.94873, -1.5357, -4.81372, -4.5662, 2.46704, -7.08064, 4.43799 ] - }, - { - "time": 0.8667, - "vertices": [ -16.85147, 10.84058, -22.68441, 6.6701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.48962, 0.18201, 4.21371, -0.53162, 4.28094, 1.35608, 1.38306, -1.59668, 0.09397, -3.80371, 0.19534, 3.69788, 0.30901, 6.95337, -0.2626, 3.31433, -0.78785, 9.22858, -1.59815, 12.26593, -3.47169, 7.10962 ] - }, - { - "time": 1.1, - "vertices": [ -16.85147, 10.84058, -22.68441, 6.6701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.19839, 7.02527, 2.78537, 3.45587, 0.91488, 6.86127, 0.12288, 3.91882, -1.46088, 2.67676, 0.19534, 3.69788, 0.85284, 5.85162, -0.53325, 7.65668, -0.78785, 9.22858, -1.59815, 12.26593, -3.47169, 7.10962 ] - }, - { - "time": 1.4, - "vertices": [ -16.85147, 10.84058, -22.68441, 6.6701, 0, 0, 0, 0, 0, 0, -1.66644, 3.70594, -0.76849, 2.94371, 5.25787, 2.05422, 6.0462, 6.99281, 2.4809, 7.96571, 7.06057, 17.19414, 12.18875, 16.24741, 5.84072, 4.99029, 4.23824, 3.26476, 3.44274, 0.26864, 0.19534, 3.69788, 0.85284, 5.85162, -0.53325, 7.65668, -0.78785, 9.22858, -1.59815, 12.26593, -3.47169, 7.10962 ] - }, - { - "time": 1.7667, - "vertices": [ -16.85147, 10.84058, -22.68441, 6.6701, 0, 0, 0, 0, 78.54356, 40.34149, 7.10963, 0.8083, 7.00063, 0.82249, 14.24783, 1.8984, 19.18579, 10.05903, 11.68486, 13.1877, 12.08804, 19.95055, 12.18875, 16.24741, 5.84072, 4.99029, 4.23824, 3.26476, 3.44274, 0.26864, 0.19534, 3.69788, 0.85284, 5.85162, -0.53325, 7.65668, -0.78785, 9.22858, -1.59815, 12.26593, -3.47169, 7.10962 ] - }, - { - "time": 2.1667, - "vertices": [ -16.85147, 10.84058, -22.68441, 6.6701, 0, 0, 143.61392, 59.2941, 104.18983, -57.63258, 14.86074, -8.12623, 13.85868, -2.32168, 18.29576, 1.81567, 18.14918, 11.0727, 11.11384, 13.56879, 11.99242, 22.17611, 13.14092, 16.43406, 5.84072, 4.99029, 4.23824, 3.26476, 3.44274, 0.26864, 0.19534, 3.69788, 0.85284, 5.85162, -0.53325, 7.65668, -0.78785, 9.22858, -1.59815, 12.26593, -3.47169, 7.10962 ] - }, - { - "time": 2.4, - "vertices": [ -16.85147, 10.84058, -22.68441, 6.6701, 0, 0, 227.3887, 93.88232, 119.15016, -114.78412, 20.17262, -6.22173, 17.85921, -4.15578, 20.65704, 1.76742, 17.54449, 11.66401, 10.78075, 13.79109, 11.93664, 23.47435, 13.69635, 16.54295, 5.84072, 4.99029, 4.23824, 3.26476, 3.44274, 0.26864, 0.19534, 3.69788, 0.85284, 5.85162, -0.53325, 7.65668, -0.78785, 9.22858, -1.59815, 12.26593, -3.47169, 7.10962 ] - } - ] - } - } - } - } -} -} \ No newline at end of file diff --git a/spine-xna/example/data/skeleton.png b/spine-xna/example/data/skeleton.png deleted file mode 100644 index d7fd8840da709867da676583189ae13da06efff7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4657 zcmdT|^;Z+#`$t6-kq&9z(ug$DA(Ep@LKq0hkQNv)x}@vP=+PS`DmA)Qrf-zdAu+(A zFmf~__nF`S;`__J_ndprbI*Ow^St6Fn;Pp<-($Z=Mn*;r(9<#}BfCLb-XOb6L7MFS zYe8gW^aOyGh9zWv2Xp7&nd#1N`|CTm^Qwj>f<&5Sf87-K&aVdBq%_{`u-xb!Y95%- z2*o!}X(6)6b(wCYOAWG`$|hrhY+f zVZi<{^;Nev`&9q|e_U3S5*A9e&y+x{FYH*KVzSOR?XqHYOSJTxnrwK#e5;JyRG->G zhx18YD$=EvZM~Ic^gHLi&!+Ga=GGt)>Bn%H4eB8$s%XSUmGFOxGR!M4Tr-xEiTHyq zmd-^l<~#y9oOysEtJpyrf56DSgtRDwuB-0bxt_2yX3w8YRv&zb7Y+Iv9pRiFH zMV@eS^_l9K;UnutqmGUjT*&H33*>vFuz;2@-+(BhO2A{^q>wi_$-}**@wKB4$~E2W z>Vh)EGN;I(S^I##H+>;Nzn%p+jq@HZVo^kWT-h;RoQZiZiZ~p5d+qY_Y|Y-OLQx+7 z<19oYCM47+Mo~E+Pf^h$?FzQMGd=6&GxMEBQl{tK$pxoa%<_7Yn@d7Rs9yq^eRa)7 zC_kRBPo{$JR5$d9`(aGG?73UmQBYL@yyXSRBuFU0#78|KT(9qJP(-F^&iHt8+!?Rk^|T%B$iEu6rsB(qfyjdbHF*4v%gCzA!8OoMo`~ zsV8t#^Pp4fUKQ|RLgx_c8CE;PeKaNLtM)&IHK0+c249RGmTLwHBWUpY1|uGuiB3s_MVyWZIK2iaNK9sX|F zkP0D}K=-r;=Z8px72)}!2A(tB{y}tImW1*+NbnQJQDA68T%E?^WcO<5cMhfbD`0B4 z>rTRn>~${nR(9P+zevA*-*7Rj+Ju(}%ysvCcJ9-+E7WP_(yj3tYD)&JF)pcJ-z1<$ z;d=qr7`TI$XTL5&oKhcsz?tTkmMJUWrH0oiiaxd1dtiO4vakL=zPo7%y%wJ<>b|=* zERiSPda832tY~$USSGUTWXb9bwd4P3++){jbF4G_PHNR1%aEc5wJ+VDn|y1G#e7@U z8f1z9MI{m($8S#S2Kjm|JX_8CjL`1&tLRv3+knfhm4-lh{cuI8 za3&*GzD$~6x8Rnz0kVB{E;?Q2N6Z5C-30D2-i6X!bgGI}!8aizIg1ikqdszn*&$2I z$NGl29HNx>b>e~Un3q&U+?!HWMppjo_2QGE$9rPOEX#Z^EHl$Mjj~Z1k+LBvT;%?! z;FL{N`^58}Qx7S>ULMEsPfC{)bkEba7$W;d-J`;F9te+*HhhH4n4voa+mlYCSu*SE zG-Xh}pAYYXRW<9_t+n%4Cg6%{3T1-&(c9j^sa)jj$zhMD(~02U5;M+6ye=3_6aNoh z=4Z06s)t&=2ZY+?mru0ryXOp!^mbnD{4?;Gw*y{AC>?`C+>bqA{FLx5>CJVZZ87@Y zHUF&EqD3n!_$m~}rwC7N#nlbRp@`14|RY$T0t z_VO3cwt00mf0pEet|S<&Or*Rx770J-NxN6cT?z_9_bB7EAEzST) zwhm6~sxP`d5U>0>Gz$tqT7e44mnvNt($v;Vm}_4zi7e?>WH+Ga3X$8kPpSO^t34U? zO!m1Pfq21`;_yS7!9?1hA2FS51vZ?)NyKSVLkjyJ@En$KM{K8RaQjt`DNzpanFqy^ z6F)0O{q}%wJ;S+1?_L|8@{^S*JTiu^2z^W3BagQK1AiFEzIoz2I;l!oUeSS{qQA0t zdWbTrek(onm@v+xu| zn!8A871*j6M}lusZ=pSl?WLNs?d*7*xuY>a;hKi?}g@#t^5^L6*7v)9HIDa5BZ>b+ABW_|?Tsg_#289IB2HM*=wuW1fBTrFN?4(9rV!Bc^307?K4~=9S~-< zm9ofsCz(mz@S2S-RygC6BV1HPZ4$3QRgdognT*xVs8>S2SmB4QZg(Edp*Tg%&0%Ll zM{Fl*PhkoRVCA>jMUTq`zXUuN%H%Fz}|d}U6)w_zw=*^M3(y-m9Qx!(WLQWcHD}|)z7b^HJAjG zZNL#jt<*3W3s$6(3ZZB6$>uOq%f(}_t!M$}weM90Zn&2ogU-AE+?(10eblPIhD zJp^AtiknD?gtX|2-v;o)f@ycFh|l)Mss zI%$KHTIWZS$>0%Y7Fg_5ouHV?r8x9Ld?dJ!47G!AC`uMTCB-06f!>5m;ZJ^Q3PPPT@)g`w1ly-k zO3+>(#@g_db zamd%a0VG$|>L-Zb2#TRey=9BF{eU>0V?zo%9DF>C)6m==?j_x^+0MO4~I3ZFZ6c*g8PuYHM0x^ow2d6>*_S!BY=jH^>XFv_Wg zX}(cH8P+R4U=eGsx&DYkLVZ#+X~r=eSEE~rgiELZ)056>T(wN7=9~Z)QH0I0=KPZY zSV7yyq^z}y6$yL!KUZ9A%~w4~-g8@oCI$>7paqQ z7)|b^_04dD90sb8?TYHve&zPO-lCV(jM>IYQTsUInCp@?+_DB}ZuhVwFPY(R@Bh&LJM4Bo?OHirg zqVP7=FiDvXXXGh@eDs+w*wV5G63+{9ZNM9Tm1b2*gHOk_Q+=T1#0u?Ne73seUJykb zL(1+RSPGnQ{PS({N%Ao4+$eqbl8GCF&lw;FG2u(Qu-_;Dti03H(oRwEXr~|DG-H5B z*cXd>Ov^9xNdBkN{+b>go*Uw_z!F9s75=7gE-1jxBFE~7VPIZw_*>e@%Kl~3FL)n; zQdc(Y=AW71j%b^T;DTc{jW&qf+mz$0y_b!TRVUT-drU305RN0ts4z5=Ds_8nHdMmZ z79FaS?>)I}jZ53iHvK{bwEvm`(E@**j_V>9Kk3?2Q=A{Iq{e-MvInA1&lg!9UB?5E z$?ta2{N?r%|Ymun)yw93nSjDBnPqJ>!+Xjmghdp(!WlBiL!4t zI9gFLG!2-bw6y;4HL|}gB>S&7JNvbxxs%>SGMVfpURCPI`lbfzWfJ8{lzl&)0tIiL ze|*XS6#Ou2n>2sFqMD$fB8+oyEET}XPT!$e^zn`EZS>bR6bGHplmbtf+}*&8It1Y??qLY#j)f7z zQEz)6p5jVec3QjSE>^Pz7l_6Z7I|*3{>ldHjLl!`yXUr(5AZ<|UO}mlROQrDJ?s6Y1z|Ifoy?3oZ! WFP^I24~+i%4uH0?R{gV=vHt@TN(cb} diff --git a/spine-xna/example/spine-xna-example.csproj b/spine-xna/example/spine-xna-example.csproj index 7866d62fc..1ff220dd9 100644 --- a/spine-xna/example/spine-xna-example.csproj +++ b/spine-xna/example/spine-xna-example.csproj @@ -122,24 +122,18 @@ PreserveNewest + + Always + PreserveNewest PreserveNewest - - Always - - - Always - PreserveNewest - - Always - PreserveNewest @@ -204,9 +198,6 @@ PreserveNewest - - PreserveNewest - PreserveNewest diff --git a/spine-xna/example/src/ExampleGame.cs b/spine-xna/example/src/ExampleGame.cs index 0573deb5a..aa81a027f 100644 --- a/spine-xna/example/src/ExampleGame.cs +++ b/spine-xna/example/src/ExampleGame.cs @@ -83,15 +83,14 @@ namespace Spine { skeletonDebugRenderer = new SkeletonDebugRenderer(GraphicsDevice); skeletonDebugRenderer.DisableAll(); skeletonDebugRenderer.DrawClipping = true; - skeletonDebugRenderer.DrawClippingDecomposed = true; // String name = "spineboy-ess"; - // String name = "goblins-pro"; + String name = "goblins-pro"; // String name = "raptor-pro"; // String name = "tank-pro"; // String name = "coin-pro"; - String name = "skeleton"; String atlasName = name.Replace("-pro", "").Replace("-ess", ""); + if (name == "goblins-pro") atlasName = "goblins-mesh"; bool binaryData = false; Atlas atlas = new Atlas(assetsFolder + atlasName + ".atlas", new XnaTextureLoader(GraphicsDevice)); @@ -145,18 +144,12 @@ namespace Spine { skeleton.X += 300; state.SetAnimation(0, "drive", true); } - else if (name == "skeleton") { - skeleton.SetSkin("Pig_Normal"); - skeleton.FlipY = true; - // skeleton.Y -= 200; - // state.SetAnimation(0, "BattleIdle", true); - } else { state.SetAnimation(0, "walk", true); } - // skeleton.X += 400; - // skeleton.Y += GraphicsDevice.Viewport.Height; + skeleton.X += 400; + skeleton.Y += GraphicsDevice.Viewport.Height; skeleton.UpdateWorldTransform(); headSlot = skeleton.FindSlot("head"); diff --git a/spine-xna/src/ShapeRenderer.cs b/spine-xna/src/ShapeRenderer.cs index c3a047edb..2b6db713c 100644 --- a/spine-xna/src/ShapeRenderer.cs +++ b/spine-xna/src/ShapeRenderer.cs @@ -154,6 +154,7 @@ namespace Spine { } public void End() { + if (vertices.Count == 0) return; var verticesArray = vertices.ToArray(); foreach (EffectPass pass in effect.CurrentTechnique.Passes) {