From b20097d1934148288253463d2719f7499e26c976 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Fri, 25 Apr 2014 18:50:11 +0200 Subject: [PATCH] Meshes, FFD and skinning for spine-tk2d. --- spine-tk2d/Assets/Spine/BoneComponent.cs | 40 +- .../Spine/Editor/BoneComponentInspector.cs | 17 +- spine-tk2d/Assets/Spine/Editor/Menus.cs | 6 +- .../Editor/SkeletonAnimationInspector.cs | 9 +- ...pector.cs => SkeletonRendererInspector.cs} | 9 +- ...meta => SkeletonRendererInspector.cs.meta} | 2 +- spine-tk2d/Assets/Spine/SkeletonAnimation.cs | 36 +- spine-tk2d/Assets/Spine/SkeletonComponent.cs | 334 ------ spine-tk2d/Assets/Spine/SkeletonDataAsset.cs | 15 +- spine-tk2d/Assets/Spine/SkeletonRenderer.cs | 366 ++++++ ...onent.cs.meta => SkeletonRenderer.cs.meta} | 2 +- spine-tk2d/Assets/examples/goblins.meta | 5 + .../goblins/Goblins SkeletonData.asset | Bin 0 -> 4200 bytes .../goblins/Goblins SkeletonData.asset.meta | 4 + spine-tk2d/Assets/examples/goblins/Goblins.cs | 63 ++ .../Assets/examples/goblins/Goblins.cs.meta | 8 + .../examples/goblins/GoblinsAtlas Data.meta | 5 + .../GoblinsAtlas Data/GoblinsAtlas.prefab | Bin 0 -> 20136 bytes .../GoblinsAtlas.prefab.meta | 4 + .../GoblinsAtlas Data/atlas0 material.mat | Bin 0 -> 4200 bytes .../atlas0 material.mat.meta | 4 + .../goblins/GoblinsAtlas Data/atlas0.png | Bin 0 -> 98105 bytes .../goblins/GoblinsAtlas Data/atlas0.png.meta | 45 + .../examples/goblins/GoblinsAtlas.prefab | Bin 0 -> 24448 bytes .../examples/goblins/GoblinsAtlas.prefab.meta | 4 + .../examples/goblins/goblins-ffd.json.txt | 1005 +++++++++++++++++ .../goblins/goblins-ffd.json.txt.meta | 4 + .../Assets/examples/goblins/goblins.unity | Bin 0 -> 20384 bytes .../examples/goblins/goblins.unity.meta | 4 + .../Assets/examples/goblins/images.meta | 5 + .../Assets/examples/goblins/images/dagger.png | Bin 0 -> 6583 bytes .../examples/goblins/images/dagger.png.meta | 45 + .../examples/goblins/images/goblin.meta | 5 + .../goblins/images/goblin/eyes-closed.png | Bin 0 -> 2387 bytes .../images/goblin/eyes-closed.png.meta | 45 + .../examples/goblins/images/goblin/head.png | Bin 0 -> 15394 bytes .../goblins/images/goblin/head.png.meta | 45 + .../goblins/images/goblin/left-arm.png | Bin 0 -> 4335 bytes .../goblins/images/goblin/left-arm.png.meta | 45 + .../goblins/images/goblin/left-foot.png | Bin 0 -> 5684 bytes .../goblins/images/goblin/left-foot.png.meta | 45 + .../goblins/images/goblin/left-hand.png | Bin 0 -> 4632 bytes .../goblins/images/goblin/left-hand.png.meta | 45 + .../goblins/images/goblin/left-lower-leg.png | Bin 0 -> 6111 bytes .../images/goblin/left-lower-leg.png.meta | 45 + .../goblins/images/goblin/left-shoulder.png | Bin 0 -> 4008 bytes .../images/goblin/left-shoulder.png.meta | 45 + .../goblins/images/goblin/left-upper-leg.png | Bin 0 -> 5738 bytes .../images/goblin/left-upper-leg.png.meta | 45 + .../examples/goblins/images/goblin/neck.png | Bin 0 -> 4488 bytes .../goblins/images/goblin/neck.png.meta | 45 + .../examples/goblins/images/goblin/pelvis.png | Bin 0 -> 6039 bytes .../goblins/images/goblin/pelvis.png.meta | 45 + .../goblins/images/goblin/right-arm.png | Bin 0 -> 3749 bytes .../goblins/images/goblin/right-arm.png.meta | 45 + .../goblins/images/goblin/right-foot.png | Bin 0 -> 5998 bytes .../goblins/images/goblin/right-foot.png.meta | 45 + .../goblins/images/goblin/right-hand.png | Bin 0 -> 4174 bytes .../goblins/images/goblin/right-hand.png.meta | 45 + .../goblins/images/goblin/right-lower-leg.png | Bin 0 -> 6365 bytes .../images/goblin/right-lower-leg.png.meta | 45 + .../goblins/images/goblin/right-shoulder.png | Bin 0 -> 4754 bytes .../images/goblin/right-shoulder.png.meta | 45 + .../goblins/images/goblin/right-upper-leg.png | Bin 0 -> 5802 bytes .../images/goblin/right-upper-leg.png.meta | 45 + .../examples/goblins/images/goblin/torso.png | Bin 0 -> 14342 bytes .../goblins/images/goblin/torso.png.meta | 45 + .../goblins/images/goblin/undie-straps.png | Bin 0 -> 3871 bytes .../images/goblin/undie-straps.png.meta | 45 + .../examples/goblins/images/goblin/undies.png | Bin 0 -> 3890 bytes .../goblins/images/goblin/undies.png.meta | 45 + .../examples/goblins/images/goblingirl.meta | 5 + .../Assets/examples/goblins/images/shield.png | Bin 0 -> 13583 bytes .../examples/goblins/images/shield.png.meta | 45 + .../Assets/examples/goblins/images/spear.png | Bin 0 -> 15868 bytes .../examples/goblins/images/spear.png.meta | 45 + .../spineboy/Spineboy SkeletonData.asset | Bin 4264 -> 4284 bytes .../Assets/examples/spineboy/Spineboy.cs | 4 +- .../examples/spineboy/spineboy.json.txt | 46 +- .../Assets/examples/spineboy/spineboy.unity | Bin 23512 -> 23584 bytes 80 files changed, 2623 insertions(+), 423 deletions(-) rename spine-tk2d/Assets/Spine/Editor/{SkeletonComponentInspector.cs => SkeletonRendererInspector.cs} (94%) rename spine-tk2d/Assets/Spine/Editor/{SkeletonComponentInspector.cs.meta => SkeletonRendererInspector.cs.meta} (78%) delete mode 100644 spine-tk2d/Assets/Spine/SkeletonComponent.cs create mode 100644 spine-tk2d/Assets/Spine/SkeletonRenderer.cs rename spine-tk2d/Assets/Spine/{SkeletonComponent.cs.meta => SkeletonRenderer.cs.meta} (78%) create mode 100644 spine-tk2d/Assets/examples/goblins.meta create mode 100644 spine-tk2d/Assets/examples/goblins/Goblins SkeletonData.asset create mode 100644 spine-tk2d/Assets/examples/goblins/Goblins SkeletonData.asset.meta create mode 100644 spine-tk2d/Assets/examples/goblins/Goblins.cs create mode 100644 spine-tk2d/Assets/examples/goblins/Goblins.cs.meta create mode 100644 spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data.meta create mode 100644 spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/GoblinsAtlas.prefab create mode 100644 spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/GoblinsAtlas.prefab.meta create mode 100644 spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0 material.mat create mode 100644 spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0 material.mat.meta create mode 100644 spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0.png create mode 100644 spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/GoblinsAtlas.prefab create mode 100644 spine-tk2d/Assets/examples/goblins/GoblinsAtlas.prefab.meta create mode 100644 spine-tk2d/Assets/examples/goblins/goblins-ffd.json.txt create mode 100644 spine-tk2d/Assets/examples/goblins/goblins-ffd.json.txt.meta create mode 100644 spine-tk2d/Assets/examples/goblins/goblins.unity create mode 100644 spine-tk2d/Assets/examples/goblins/goblins.unity.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/dagger.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/dagger.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/eyes-closed.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/eyes-closed.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/head.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/head.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/left-arm.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/left-arm.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/left-foot.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/left-foot.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/left-hand.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/left-hand.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/left-lower-leg.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/left-lower-leg.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/left-shoulder.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/left-shoulder.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/left-upper-leg.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/left-upper-leg.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/neck.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/neck.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/pelvis.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/pelvis.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/right-arm.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/right-arm.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/right-foot.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/right-foot.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/right-hand.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/right-hand.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/right-lower-leg.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/right-lower-leg.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/right-shoulder.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/right-shoulder.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/right-upper-leg.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/right-upper-leg.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/torso.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/torso.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/undie-straps.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/undie-straps.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/undies.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblin/undies.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/goblingirl.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/shield.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/shield.png.meta create mode 100644 spine-tk2d/Assets/examples/goblins/images/spear.png create mode 100644 spine-tk2d/Assets/examples/goblins/images/spear.png.meta diff --git a/spine-tk2d/Assets/Spine/BoneComponent.cs b/spine-tk2d/Assets/Spine/BoneComponent.cs index 946ef09d9..ea88c227e 100644 --- a/spine-tk2d/Assets/Spine/BoneComponent.cs +++ b/spine-tk2d/Assets/Spine/BoneComponent.cs @@ -38,44 +38,52 @@ using Spine; [ExecuteInEditMode] [AddComponentMenu("Spine/BoneComponent")] public class BoneComponent : MonoBehaviour { - public SkeletonComponent skeletonComponent; + public bool valid; + public SkeletonRenderer skeletonRenderer; public Bone bone; /// If a bone isn't set, boneName is used to find the bone. public String boneName; protected Transform cachedTransform; - protected Transform skeletonComponentTransform; + protected Transform skeletonTransform; - void Awake () { + public void Reset () { + bone = null; cachedTransform = transform; + valid = skeletonRenderer != null && skeletonRenderer.valid; + if (!valid) return; + skeletonTransform = skeletonRenderer.transform; + } - if(skeletonComponent == null) return; - skeletonComponentTransform = skeletonComponent.transform; + public void Awake () { + Reset(); } public void LateUpdate () { - if (skeletonComponent == null || skeletonComponent.skeleton == null) return; + if (!valid) { + Reset(); + return; + } + if (bone == null) { - if (boneName == null) return; - bone = skeletonComponent.skeleton.FindBone(boneName); + if (boneName == null || boneName.Length == 0) return; + bone = skeletonRenderer.skeleton.FindBone(boneName); if (bone == null) { - Debug.Log("Bone not found: " + boneName, this); + Debug.LogError("Bone not found: " + boneName, this); return; } } - if (cachedTransform.parent == skeletonComponentTransform) { + if (cachedTransform.parent == skeletonTransform) { cachedTransform.localPosition = new Vector3(bone.worldX, bone.worldY, cachedTransform.localPosition.z); Vector3 rotation = cachedTransform.localRotation.eulerAngles; cachedTransform.localRotation = Quaternion.Euler(rotation.x, rotation.y, bone.worldRotation); } else { - cachedTransform.position = skeletonComponentTransform.TransformPoint(new Vector3(bone.worldX, bone.worldY, cachedTransform.position.z)); - Vector3 rotation = skeletonComponentTransform.rotation.eulerAngles; + cachedTransform.position = skeletonTransform.TransformPoint(new Vector3(bone.worldX, bone.worldY, cachedTransform.position.z)); + Vector3 rotation = skeletonTransform.rotation.eulerAngles; cachedTransform.rotation = Quaternion.Euler(rotation.x, rotation.y, - skeletonComponentTransform.rotation.eulerAngles.z + bone.worldRotation); + skeletonTransform.rotation.eulerAngles.z + bone.worldRotation); } - } - -} +} \ No newline at end of file diff --git a/spine-tk2d/Assets/Spine/Editor/BoneComponentInspector.cs b/spine-tk2d/Assets/Spine/Editor/BoneComponentInspector.cs index 4767372eb..494b3db2d 100644 --- a/spine-tk2d/Assets/Spine/Editor/BoneComponentInspector.cs +++ b/spine-tk2d/Assets/Spine/Editor/BoneComponentInspector.cs @@ -34,10 +34,10 @@ using UnityEngine; [CustomEditor(typeof(BoneComponent))] public class BoneComponentInspector : Editor { - private SerializedProperty boneName, skeletonComponent; + private SerializedProperty boneName, skeletonRenderer; void OnEnable () { - skeletonComponent = serializedObject.FindProperty("skeletonComponent"); + skeletonRenderer = serializedObject.FindProperty("skeletonRenderer"); boneName = serializedObject.FindProperty("boneName"); } @@ -45,13 +45,13 @@ public class BoneComponentInspector : Editor { serializedObject.Update(); BoneComponent component = (BoneComponent)target; - EditorGUILayout.PropertyField(skeletonComponent); + EditorGUILayout.PropertyField(skeletonRenderer); - if (component.skeletonComponent != null) { - String[] bones = new String[component.skeletonComponent.skeleton.Data.Bones.Count + 1]; + if (component.valid) { + String[] bones = new String[component.skeletonRenderer.skeleton.Data.Bones.Count + 1]; bones[0] = ""; for (int i = 0; i < bones.Length - 1; i++) - bones[i + 1] = component.skeletonComponent.skeleton.Data.Bones[i].Name; + bones[i + 1] = component.skeletonRenderer.skeleton.Data.Bones[i].Name; Array.Sort(bones); int boneIndex = Math.Max(0, Array.IndexOf(bones, boneName.stringValue)); @@ -61,14 +61,13 @@ public class BoneComponentInspector : Editor { boneIndex = EditorGUILayout.Popup(boneIndex, bones); EditorGUILayout.EndHorizontal(); - boneName.stringValue = bones[boneIndex];; + boneName.stringValue = boneIndex == 0 ? null : bones[boneIndex]; } if (serializedObject.ApplyModifiedProperties() || (Event.current.type == EventType.ValidateCommand && Event.current.commandName == "UndoRedoPerformed") ) { - component.bone = null; - component.LateUpdate(); + component.Reset(); } } } diff --git a/spine-tk2d/Assets/Spine/Editor/Menus.cs b/spine-tk2d/Assets/Spine/Editor/Menus.cs index 1ad559627..a01ad8312 100644 --- a/spine-tk2d/Assets/Spine/Editor/Menus.cs +++ b/spine-tk2d/Assets/Spine/Editor/Menus.cs @@ -54,9 +54,9 @@ public class Menus { Selection.activeObject = asset; } - [MenuItem("GameObject/Create Other/Spine SkeletonComponent")] - static public void CreateSkeletonComponentGameObject () { - GameObject gameObject = new GameObject("New SkeletonComponent", typeof(SkeletonComponent)); + [MenuItem("GameObject/Create Other/Spine SkeletonRenderer")] + static public void CreateSkeletonRendererGameObject () { + GameObject gameObject = new GameObject("New SkeletonRenderer", typeof(SkeletonRenderer)); EditorUtility.FocusProjectWindow(); Selection.activeObject = gameObject; } diff --git a/spine-tk2d/Assets/Spine/Editor/SkeletonAnimationInspector.cs b/spine-tk2d/Assets/Spine/Editor/SkeletonAnimationInspector.cs index c0b248af5..9f646f281 100644 --- a/spine-tk2d/Assets/Spine/Editor/SkeletonAnimationInspector.cs +++ b/spine-tk2d/Assets/Spine/Editor/SkeletonAnimationInspector.cs @@ -89,10 +89,8 @@ public class SkeletonAnimationInspector : Editor { animationIndex = EditorGUILayout.Popup(animationIndex, animations); EditorGUILayout.EndHorizontal(); - if (animationIndex == 0) - component.animationName = null; - else - component.animationName = animations[animationIndex]; + component.animationName = animationIndex == 0 ? null : animations[animationIndex]; + animationName.stringValue = component.animationName; } // Animation loop. @@ -109,8 +107,7 @@ public class SkeletonAnimationInspector : Editor { (Event.current.type == EventType.ValidateCommand && Event.current.commandName == "UndoRedoPerformed") ) { if (!Application.isPlaying) { - component.Clear(); - component.Update(); + component.Reset(); } } } diff --git a/spine-tk2d/Assets/Spine/Editor/SkeletonComponentInspector.cs b/spine-tk2d/Assets/Spine/Editor/SkeletonRendererInspector.cs similarity index 94% rename from spine-tk2d/Assets/Spine/Editor/SkeletonComponentInspector.cs rename to spine-tk2d/Assets/Spine/Editor/SkeletonRendererInspector.cs index e384db750..bb3916c61 100644 --- a/spine-tk2d/Assets/Spine/Editor/SkeletonComponentInspector.cs +++ b/spine-tk2d/Assets/Spine/Editor/SkeletonRendererInspector.cs @@ -32,8 +32,8 @@ using System; using UnityEditor; using UnityEngine; -[CustomEditor(typeof(SkeletonComponent))] -public class SkeletonComponentInspector : Editor { +[CustomEditor(typeof(SkeletonRenderer))] +public class SkeletonRendererInspector : Editor { private SerializedProperty skeletonDataAsset, initialSkinName, timeScale, normals, tangents; void OnEnable () { @@ -46,7 +46,7 @@ public class SkeletonComponentInspector : Editor { override public void OnInspectorGUI () { serializedObject.Update(); - SkeletonComponent component = (SkeletonComponent)target; + SkeletonRenderer component = (SkeletonRenderer)target; EditorGUILayout.PropertyField(skeletonDataAsset); @@ -78,8 +78,7 @@ public class SkeletonComponentInspector : Editor { (Event.current.type == EventType.ValidateCommand && Event.current.commandName == "UndoRedoPerformed") ) { if (!Application.isPlaying) { - component.Clear(); - component.Update(); + component.Reset(); } } } diff --git a/spine-tk2d/Assets/Spine/Editor/SkeletonComponentInspector.cs.meta b/spine-tk2d/Assets/Spine/Editor/SkeletonRendererInspector.cs.meta similarity index 78% rename from spine-tk2d/Assets/Spine/Editor/SkeletonComponentInspector.cs.meta rename to spine-tk2d/Assets/Spine/Editor/SkeletonRendererInspector.cs.meta index 59915bafb..9d775f336 100644 --- a/spine-tk2d/Assets/Spine/Editor/SkeletonComponentInspector.cs.meta +++ b/spine-tk2d/Assets/Spine/Editor/SkeletonRendererInspector.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: dbb89dadcac8d6b48869aeb81b0ae88f +guid: 350bd1e336864e045a8d44c7afe923e8 MonoImporter: serializedVersion: 2 defaultReferences: [] diff --git a/spine-tk2d/Assets/Spine/SkeletonAnimation.cs b/spine-tk2d/Assets/Spine/SkeletonAnimation.cs index d6289b3d2..63a4be1a5 100644 --- a/spine-tk2d/Assets/Spine/SkeletonAnimation.cs +++ b/spine-tk2d/Assets/Spine/SkeletonAnimation.cs @@ -34,10 +34,10 @@ using System.Collections.Generic; using UnityEngine; using Spine; -/** Extends SkeletonComponent to apply an animation. */ -[ExecuteInEditMode, RequireComponent(typeof(MeshFilter), typeof(MeshRenderer))] +[ExecuteInEditMode] [AddComponentMenu("Spine/SkeletonAnimation")] -public class SkeletonAnimation : SkeletonComponent { +public class SkeletonAnimation : SkeletonRenderer { + public float timeScale = 1; public bool loop; public Spine.AnimationState state; @@ -59,24 +59,30 @@ public class SkeletonAnimation : SkeletonComponent { state.SetAnimation(0, value, loop); } } - - override public void Initialize () { - if (Initialized) return; - base.Initialize(); - + public override void Reset () { + base.Reset(); + if (!valid) return; + state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData()); - if (_animationName != null && _animationName.Length > 0) state.SetAnimation(0, _animationName, loop); + if (_animationName != null && _animationName.Length > 0) { + state.SetAnimation(0, _animationName, loop); + Update(0); + } } - override public void UpdateSkeleton (float deltaTime) { - // Apply the animation. + public virtual void Update () { + Update(Time.deltaTime); + } + + public virtual void Update (float deltaTime) { + if (!valid) return; + + deltaTime *= timeScale; + skeleton.Update(deltaTime); state.Update(deltaTime * timeScale); state.Apply(skeleton); - if (UpdateBones != null) UpdateBones(this); - - // Call overridden method to call skeleton Update and UpdateWorldTransform. - base.UpdateSkeleton(deltaTime); + skeleton.UpdateWorldTransform(); } } diff --git a/spine-tk2d/Assets/Spine/SkeletonComponent.cs b/spine-tk2d/Assets/Spine/SkeletonComponent.cs deleted file mode 100644 index 16f23d6dd..000000000 --- a/spine-tk2d/Assets/Spine/SkeletonComponent.cs +++ /dev/null @@ -1,334 +0,0 @@ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.1 - * - * Copyright (c) 2013, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable and - * non-transferable license to install, execute and perform the Spine Runtimes - * Software (the "Software") solely for internal use. Without the written - * permission of Esoteric Software (typically granted by licensing Spine), 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 SOFTARE 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 System; -using System.IO; -using System.Collections.Generic; -using UnityEngine; -using Spine; - -/** Renders a skeleton. Extend to apply animations, get bones and manipulate them, etc. */ -[ExecuteInEditMode, RequireComponent(typeof(MeshFilter), typeof(MeshRenderer))] -[AddComponentMenu("Spine/SkeletonComponent")] -public class SkeletonComponent : MonoBehaviour { - public SkeletonDataAsset skeletonDataAsset; - public Skeleton skeleton; - public String initialSkinName; - public float timeScale = 1; - public bool calculateNormals; - public bool calculateTangents; - public float zSpacing; - private MeshFilter meshFilter; - private Mesh mesh, mesh1, mesh2; - private bool useMesh1; - private float[] vertexPositions = new float[8]; - private int lastVertexCount; - private Vector3[] vertices; - private Color32[] colors; - private Vector2[] uvs; - private Material[] sharedMaterials = new Material[0]; - private List submeshMaterials = new List(); - private List submeshes = new List(); - - /// False if Initialize needs to be called. - public bool Initialized { - get { - if (skeletonDataAsset == null) return true; - SkeletonData skeletonData = skeletonDataAsset.GetSkeletonData(false); - if (skeletonData == null) return true; - return skeleton != null && skeleton.Data == skeletonData; - } - } - - public virtual void Clear () { - if (meshFilter != null) meshFilter.sharedMesh = null; - if (mesh != null) DestroyImmediate(mesh); - if (renderer != null) renderer.sharedMaterial = null; - mesh = null; - mesh1 = null; - mesh2 = null; - lastVertexCount = 0; - vertices = null; - colors = null; - uvs = null; - sharedMaterials = new Material[0]; - submeshMaterials.Clear(); - submeshes.Clear(); - skeleton = null; - } - - public virtual void Initialize () { - if (Initialized) return; - - meshFilter = GetComponent(); - mesh1 = newMesh(); - mesh2 = newMesh(); - - vertices = new Vector3[0]; - - skeleton = new Skeleton(skeletonDataAsset.GetSkeletonData(false)); - - if (initialSkinName != null && initialSkinName.Length > 0 && initialSkinName != "default") { - skeleton.SetSkin(initialSkinName); - skeleton.SetSlotsToSetupPose(); - } - } - - private Mesh newMesh () { - Mesh mesh = new Mesh(); - mesh.name = "Skeleton Mesh"; - mesh.hideFlags = HideFlags.HideAndDontSave; - mesh.MarkDynamic(); - return mesh; - } - - public virtual void UpdateSkeleton (float deltaTime) { - skeleton.Update(deltaTime * timeScale); - skeleton.UpdateWorldTransform(); - } - - public virtual void Update () { - if (skeletonDataAsset == null) { - Clear(); - return; - } - - SkeletonData skeletonData = skeletonDataAsset.GetSkeletonData(false); - - if (skeletonData == null) { - Clear(); - return; - } - - // Initialize fields. - if (skeleton == null || skeleton.Data != skeletonData) - Initialize(); - - UpdateSkeleton(Time.deltaTime); - - // Count quads and submeshes. - int quadCount = 0, submeshQuadCount = 0; - Material lastMaterial = null; - submeshMaterials.Clear(); - List drawOrder = skeleton.DrawOrder; - for (int i = 0, n = drawOrder.Count; i < n; i++) { - RegionAttachment regionAttachment = drawOrder[i].Attachment as RegionAttachment; - if (regionAttachment == null) - continue; - - // Add submesh when material changes. - Material material = (Material)regionAttachment.RendererObject; - if (lastMaterial != material && lastMaterial != null) { - addSubmesh(lastMaterial, quadCount, submeshQuadCount, false); - submeshQuadCount = 0; - } - lastMaterial = material; - - quadCount++; - submeshQuadCount++; - } - addSubmesh(lastMaterial, quadCount, submeshQuadCount, true); - - // Set materials. - if (submeshMaterials.Count == sharedMaterials.Length) - submeshMaterials.CopyTo(sharedMaterials); - else - sharedMaterials = submeshMaterials.ToArray(); - renderer.sharedMaterials = sharedMaterials; - - // Double buffer mesh. - Mesh mesh = useMesh1 ? mesh1 : mesh2; - meshFilter.sharedMesh = mesh; - - // Ensure mesh data is the right size. - Vector3[] vertices = this.vertices; - int vertexCount = quadCount * 4; - bool newTriangles = vertexCount > vertices.Length; - if (newTriangles) { - // Not enough vertices, increase size. - this.vertices = vertices = new Vector3[vertexCount]; - this.colors = new Color32[vertexCount]; - this.uvs = new Vector2[vertexCount]; - mesh1.Clear(); - mesh2.Clear(); - } else { - // Too many vertices, zero the extra. - Vector3 zero = Vector3.zero; - for (int i = vertexCount, n = lastVertexCount; i < n; i++) - vertices[i] = zero; - } - lastVertexCount = vertexCount; - - // Setup mesh. - float[] vertexPositions = this.vertexPositions; - Vector2[] uvs = this.uvs; - Color32[] colors = this.colors; - int vertexIndex = 0; - Color32 color = new Color32(); - float a = skeleton.A * 255, r = skeleton.R, g = skeleton.G, b = skeleton.B, zSpacing = this.zSpacing; - for (int i = 0, n = drawOrder.Count; i < n; i++) { - Slot slot = drawOrder[i]; - RegionAttachment regionAttachment = slot.Attachment as RegionAttachment; - if (regionAttachment == null) - continue; - - regionAttachment.ComputeWorldVertices(skeleton.X, skeleton.Y, slot.Bone, vertexPositions); - - float z = i * zSpacing; - vertices[vertexIndex] = new Vector3(vertexPositions[RegionAttachment.X1], vertexPositions[RegionAttachment.Y1], z); - vertices[vertexIndex + 1] = new Vector3(vertexPositions[RegionAttachment.X4], vertexPositions[RegionAttachment.Y4], z); - vertices[vertexIndex + 2] = new Vector3(vertexPositions[RegionAttachment.X2], vertexPositions[RegionAttachment.Y2], z); - vertices[vertexIndex + 3] = new Vector3(vertexPositions[RegionAttachment.X3], vertexPositions[RegionAttachment.Y3], z); - - color.a = (byte)(a * slot.A); - color.r = (byte)(r * slot.R * color.a); - color.g = (byte)(g * slot.G * color.a); - color.b = (byte)(b * slot.B * color.a); - if (slot.Data.AdditiveBlending) color.a = 0; - colors[vertexIndex] = color; - colors[vertexIndex + 1] = color; - colors[vertexIndex + 2] = color; - colors[vertexIndex + 3] = color; - - float[] regionUVs = regionAttachment.UVs; - uvs[vertexIndex] = new Vector2(regionUVs[RegionAttachment.X1], regionUVs[RegionAttachment.Y1]); - uvs[vertexIndex + 1] = new Vector2(regionUVs[RegionAttachment.X4], regionUVs[RegionAttachment.Y4]); - uvs[vertexIndex + 2] = new Vector2(regionUVs[RegionAttachment.X2], regionUVs[RegionAttachment.Y2]); - uvs[vertexIndex + 3] = new Vector2(regionUVs[RegionAttachment.X3], regionUVs[RegionAttachment.Y3]); - - vertexIndex += 4; - } - - mesh.vertices = vertices; - mesh.colors32 = colors; - mesh.uv = uvs; - - int submeshCount = submeshMaterials.Count; - mesh.subMeshCount = submeshCount; - for (int i = 0; i < submeshCount; ++i) - mesh.SetTriangles(submeshes[i].indexes, i); - mesh.RecalculateBounds(); - - if (newTriangles && calculateNormals) { - Vector3[] normals = new Vector3[vertexCount]; - Vector3 normal = new Vector3(0, 0, -1); - for (int i = 0; i < vertexCount; i++) - normals[i] = normal; - (useMesh1 ? mesh2 : mesh1).vertices = vertices; // Set other mesh vertices. - mesh1.normals = normals; - mesh2.normals = normals; - - if (calculateTangents) { - Vector4[] tangents = new Vector4[vertexCount]; - Vector3 tangent = new Vector3(0, 0, 1); - for (int i = 0; i < vertexCount; i++) - tangents[i] = tangent; - mesh1.tangents = tangents; - mesh2.tangents = tangents; - } - } - - useMesh1 = !useMesh1; - } - - /** Adds a material. Adds submesh indexes if existing indexes aren't sufficient. */ - private void addSubmesh (Material material, int endQuadCount, int submeshQuadCount, bool lastSubmesh) { - int submeshIndex = submeshMaterials.Count; - submeshMaterials.Add(material); - - int indexCount = submeshQuadCount * 6; - int vertexIndex = (endQuadCount - submeshQuadCount) * 4; - - if (submeshes.Count <= submeshIndex) submeshes.Add(new Submesh()); - Submesh submesh = submeshes[submeshIndex]; - - int[] indexes = submesh.indexes; - if (lastSubmesh && submesh.indexCount > indexCount) { - // Last submesh may have more indices than required, so zero indexes to the end. - submesh.indexCount = indexCount; - for (int i = indexCount, n = indexes.Length; i < n; i++) - indexes[i] = 0; - } else if (indexes.Length != indexCount) { - // Reallocate indexes if not the right size. - submesh.indexes = indexes = new int[indexCount]; - submesh.indexCount = 0; - } - - // Set indexes if not already set. - if (submesh.firstVertex != vertexIndex || submesh.indexCount < indexCount) { - submesh.indexCount = indexCount; - submesh.firstVertex = vertexIndex; - for (int i = 0; i < indexCount; i += 6, vertexIndex += 4) { - indexes[i] = vertexIndex; - indexes[i + 1] = vertexIndex + 2; - indexes[i + 2] = vertexIndex + 1; - indexes[i + 3] = vertexIndex + 2; - indexes[i + 4] = vertexIndex + 3; - indexes[i + 5] = vertexIndex + 1; - } - } - } - - public virtual void OnEnable () { - Initialize(); - } - - public virtual void Reset () { - Initialize(); - } - -#if UNITY_EDITOR - void OnDrawGizmos() { - // Make selection easier by drawing a clear gizmo over the skeleton. - if (vertices == null) return; - Vector3 gizmosCenter = new Vector3(); - Vector3 gizmosSize = new Vector3(); - Vector3 min = new Vector3(float.MaxValue, float.MaxValue, 0f); - Vector3 max = new Vector3(float.MinValue, float.MinValue, 0f); - foreach (Vector3 vert in vertices) { - min = Vector3.Min (min, vert); - max = Vector3.Max (max, vert); - } - float width = max.x - min.x; - float height = max.y - min.y; - gizmosCenter = new Vector3(min.x + (width / 2f), min.y + (height / 2f), 0f); - gizmosSize = new Vector3(width, height, 1f); - Gizmos.color = Color.clear; - Gizmos.matrix = transform.localToWorldMatrix; - Gizmos.DrawCube(gizmosCenter, gizmosSize); - } -#endif -} - -class Submesh { - public int[] indexes = new int[0]; - public int firstVertex = -1; - public int indexCount; -} diff --git a/spine-tk2d/Assets/Spine/SkeletonDataAsset.cs b/spine-tk2d/Assets/Spine/SkeletonDataAsset.cs index a6b2557ea..fcf90df0e 100644 --- a/spine-tk2d/Assets/Spine/SkeletonDataAsset.cs +++ b/spine-tk2d/Assets/Spine/SkeletonDataAsset.cs @@ -30,6 +30,7 @@ using System; using System.IO; +using System.Collections.Generic; using UnityEngine; using Spine; @@ -51,14 +52,14 @@ public class SkeletonDataAsset : ScriptableObject { public SkeletonData GetSkeletonData (bool quiet) { if (spriteCollection == null) { if (!quiet) - Debug.LogWarning("Sprite collection not set for skeleton data asset: " + name, this); + Debug.LogError("Sprite collection not set for skeleton data asset: " + name, this); Clear(); return null; } - + if (skeletonJSON == null) { if (!quiet) - Debug.LogWarning("Skeleton JSON file not set for skeleton data asset: " + name, this); + Debug.LogError("Skeleton JSON file not set for skeleton data asset: " + name, this); Clear(); return null; } @@ -68,19 +69,17 @@ public class SkeletonDataAsset : ScriptableObject { SkeletonJson json = new SkeletonJson(new SpriteCollectionAttachmentLoader(spriteCollection)); json.Scale = 1.0f / (spriteCollection.invOrthoSize * spriteCollection.halfTargetHeight) * scale; - try { skeletonData = json.ReadSkeletonData(new StringReader(skeletonJSON.text)); } catch (Exception ex) { - Debug.Log("Error reading skeleton JSON file for skeleton data asset: " + name + "\n" + - ex.Message + "\n" + ex.StackTrace, this); + if (!quiet) + Debug.LogError("Error reading skeleton JSON file for SkeletonData asset: " + name + "\n" + ex.Message + "\n" + ex.StackTrace, this); return null; } stateData = new AnimationStateData(skeletonData); for (int i = 0, n = fromAnimation.Length; i < n; i++) { - if (fromAnimation[i].Length == 0 || toAnimation[i].Length == 0) - continue; + if (fromAnimation[i].Length == 0 || toAnimation[i].Length == 0) continue; stateData.SetMix(fromAnimation[i], toAnimation[i], duration[i]); } diff --git a/spine-tk2d/Assets/Spine/SkeletonRenderer.cs b/spine-tk2d/Assets/Spine/SkeletonRenderer.cs new file mode 100644 index 000000000..69c668079 --- /dev/null +++ b/spine-tk2d/Assets/Spine/SkeletonRenderer.cs @@ -0,0 +1,366 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), 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 SOFTARE 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 System; +using System.IO; +using System.Collections.Generic; +using UnityEngine; +using Spine; + +/// Renders a skeleton. +[ExecuteInEditMode, RequireComponent(typeof(MeshFilter), typeof(MeshRenderer))] +public class SkeletonRenderer : MonoBehaviour { + public bool valid; + public Skeleton skeleton; + + public SkeletonDataAsset skeletonDataAsset; + public String initialSkinName; + public bool calculateNormals; + public bool calculateTangents; + public float zSpacing; + + private MeshFilter meshFilter; + private Mesh mesh, mesh1, mesh2; + private bool useMesh1; + private float[] tempVertices = new float[8]; + private int lastVertexCount; + private Vector3[] vertices; + private Color32[] colors; + private Vector2[] uvs; + private Material[] sharedMaterials = new Material[0]; + private readonly List submeshMaterials = new List(); + private readonly List submeshes = new List(); + private readonly int[] quadTriangles = {0, 2, 1, 2, 3, 1}; + + public virtual void Reset () { + if (meshFilter != null) meshFilter.sharedMesh = null; + if (mesh != null) DestroyImmediate(mesh); + if (renderer != null) renderer.sharedMaterial = null; + mesh = null; + mesh1 = null; + mesh2 = null; + lastVertexCount = 0; + vertices = null; + colors = null; + uvs = null; + sharedMaterials = new Material[0]; + submeshMaterials.Clear(); + submeshes.Clear(); + skeleton = null; + + if (!skeletonDataAsset) { + Debug.LogError("Missing SkeletonData asset.", this); + valid = false; + return; + } + valid = true; + + meshFilter = GetComponent(); + mesh1 = newMesh(); + mesh2 = newMesh(); + vertices = new Vector3[0]; + + skeleton = new Skeleton(skeletonDataAsset.GetSkeletonData(false)); + if (initialSkinName != null && initialSkinName.Length > 0 && initialSkinName != "default") + skeleton.SetSkin(initialSkinName); + } + + public void Awake () { + Reset(); + } + + private Mesh newMesh () { + Mesh mesh = new Mesh(); + mesh.name = "Skeleton Mesh"; + mesh.hideFlags = HideFlags.HideAndDontSave; + mesh.MarkDynamic(); + return mesh; + } + + public virtual void OnWillRenderObject () { + if (!valid) return; + + // Count vertices and submesh triangles. + int vertexCount = 0; + int submeshTriangleCount = 0, submeshFirstVertex = 0, submeshStartSlotIndex = 0; + Material lastMaterial = null; + submeshMaterials.Clear(); + List drawOrder = skeleton.DrawOrder; + int drawOrderCount = drawOrder.Count; + for (int i = 0; i < drawOrderCount; i++) { + Attachment attachment = drawOrder[i].attachment; + + object rendererObject; + int attachmentVertexCount, attachmentTriangleCount; + + if (attachment is RegionAttachment) { + rendererObject = ((RegionAttachment)attachment).RendererObject; + attachmentVertexCount = 4; + attachmentTriangleCount = 6; + } else if (attachment is MeshAttachment) { + MeshAttachment meshAttachment = (MeshAttachment)attachment; + rendererObject = meshAttachment.RendererObject; + attachmentVertexCount = meshAttachment.vertices.Length / 2; + attachmentTriangleCount = meshAttachment.triangles.Length; + } else if (attachment is SkinnedMeshAttachment) { + SkinnedMeshAttachment meshAttachment = (SkinnedMeshAttachment)attachment; + rendererObject = meshAttachment.RendererObject; + attachmentVertexCount = meshAttachment.uvs.Length / 2; + attachmentTriangleCount = meshAttachment.triangles.Length; + } else + continue; + + // Populate submesh when material changes. + Material material = (Material)rendererObject; + if (lastMaterial != material && lastMaterial != null) { + addSubmesh(lastMaterial, submeshStartSlotIndex, i, submeshTriangleCount, submeshFirstVertex, false); + submeshTriangleCount = 0; + submeshFirstVertex = vertexCount; + submeshStartSlotIndex = i; + } + lastMaterial = material; + + submeshTriangleCount += attachmentTriangleCount; + vertexCount += attachmentVertexCount; + } + addSubmesh(lastMaterial, submeshStartSlotIndex, drawOrderCount, submeshTriangleCount, submeshFirstVertex, true); + + // Set materials. + if (submeshMaterials.Count == sharedMaterials.Length) + submeshMaterials.CopyTo(sharedMaterials); + else + sharedMaterials = submeshMaterials.ToArray(); + renderer.sharedMaterials = sharedMaterials; + + // Ensure mesh data is the right size. + Vector3[] vertices = this.vertices; + bool newTriangles = vertexCount > vertices.Length; + if (newTriangles) { + // Not enough vertices, increase size. + this.vertices = vertices = new Vector3[vertexCount]; + this.colors = new Color32[vertexCount]; + this.uvs = new Vector2[vertexCount]; + mesh1.Clear(); + mesh2.Clear(); + } else { + // Too many vertices, zero the extra. + Vector3 zero = Vector3.zero; + for (int i = vertexCount, n = lastVertexCount; i < n; i++) + vertices[i] = zero; + } + lastVertexCount = vertexCount; + + // Setup mesh. + float[] tempVertices = this.tempVertices; + Vector2[] uvs = this.uvs; + Color32[] colors = this.colors; + int vertexIndex = 0; + Color32 color = new Color32(); + float x = skeleton.x, y = skeleton.y, zSpacing = this.zSpacing; + float a = skeleton.a * 255, r = skeleton.r, g = skeleton.g, b = skeleton.b; + for (int i = 0; i < drawOrderCount; i++) { + Slot slot = drawOrder[i]; + Attachment attachment = slot.attachment; + if (attachment is RegionAttachment) { + RegionAttachment regionAttachment = (RegionAttachment)attachment; + regionAttachment.ComputeWorldVertices(x, y, slot.bone, tempVertices); + + float z = i * zSpacing; + vertices[vertexIndex] = new Vector3(tempVertices[RegionAttachment.X1], tempVertices[RegionAttachment.Y1], z); + vertices[vertexIndex + 1] = new Vector3(tempVertices[RegionAttachment.X4], tempVertices[RegionAttachment.Y4], z); + vertices[vertexIndex + 2] = new Vector3(tempVertices[RegionAttachment.X2], tempVertices[RegionAttachment.Y2], z); + vertices[vertexIndex + 3] = new Vector3(tempVertices[RegionAttachment.X3], tempVertices[RegionAttachment.Y3], z); + + color.a = (byte)(a * slot.a * regionAttachment.a); + color.r = (byte)(r * slot.r * regionAttachment.r * color.a); + color.g = (byte)(g * slot.g * regionAttachment.g * color.a); + color.b = (byte)(b * slot.b * regionAttachment.b * color.a); + if (slot.data.additiveBlending) color.a = 0; + colors[vertexIndex] = color; + colors[vertexIndex + 1] = color; + colors[vertexIndex + 2] = color; + colors[vertexIndex + 3] = color; + + float[] regionUVs = regionAttachment.uvs; + uvs[vertexIndex] = new Vector2(regionUVs[RegionAttachment.X1], regionUVs[RegionAttachment.Y1]); + uvs[vertexIndex + 1] = new Vector2(regionUVs[RegionAttachment.X4], regionUVs[RegionAttachment.Y4]); + uvs[vertexIndex + 2] = new Vector2(regionUVs[RegionAttachment.X2], regionUVs[RegionAttachment.Y2]); + uvs[vertexIndex + 3] = new Vector2(regionUVs[RegionAttachment.X3], regionUVs[RegionAttachment.Y3]); + + vertexIndex += 4; + } else if (attachment is MeshAttachment) { + MeshAttachment meshAttachment = (MeshAttachment)attachment; + int meshVertexCount = meshAttachment.vertices.Length; + if (tempVertices.Length < meshVertexCount) tempVertices = new float[meshVertexCount]; + meshAttachment.ComputeWorldVertices(x, y, slot, tempVertices); + + color.a = (byte)(a * slot.a * meshAttachment.a); + color.r = (byte)(r * slot.r * meshAttachment.r * color.a); + color.g = (byte)(g * slot.g * meshAttachment.g * color.a); + color.b = (byte)(b * slot.b * meshAttachment.b * color.a); + if (slot.data.additiveBlending) color.a = 0; + + float[] meshUVs = meshAttachment.uvs; + float z = i * zSpacing; + for (int ii = 0; ii < meshVertexCount; ii += 2, vertexIndex++) { + vertices[vertexIndex] = new Vector3(tempVertices[ii], tempVertices[ii + 1], z); + colors[vertexIndex] = color; + uvs[vertexIndex] = new Vector2(meshUVs[ii], meshUVs[ii + 1]); + } + } else if (attachment is SkinnedMeshAttachment) { + SkinnedMeshAttachment meshAttachment = (SkinnedMeshAttachment)attachment; + int meshVertexCount = meshAttachment.uvs.Length; + if (tempVertices.Length < meshVertexCount) tempVertices = new float[meshVertexCount]; + meshAttachment.ComputeWorldVertices(x, y, slot, tempVertices); + + color.a = (byte)(a * slot.a * meshAttachment.a); + color.r = (byte)(r * slot.r * meshAttachment.r * color.a); + color.g = (byte)(g * slot.g * meshAttachment.g * color.a); + color.b = (byte)(b * slot.b * meshAttachment.b * color.a); + if (slot.data.additiveBlending) color.a = 0; + + float[] meshUVs = meshAttachment.uvs; + float z = i * zSpacing; + for (int ii = 0; ii < meshVertexCount; ii += 2, vertexIndex++) { + vertices[vertexIndex] = new Vector3(tempVertices[ii], tempVertices[ii + 1], z); + colors[vertexIndex] = color; + uvs[vertexIndex] = new Vector2(meshUVs[ii], meshUVs[ii + 1]); + } + } + } + + // Double buffer mesh. + Mesh mesh = useMesh1 ? mesh1 : mesh2; + meshFilter.sharedMesh = mesh; + + mesh.vertices = vertices; + mesh.colors32 = colors; + mesh.uv = uvs; + + int submeshCount = submeshMaterials.Count; + mesh.subMeshCount = submeshCount; + for (int i = 0; i < submeshCount; ++i) + mesh.SetTriangles(submeshes[i].triangles, i); + mesh.RecalculateBounds(); + + if (newTriangles && calculateNormals) { + Vector3[] normals = new Vector3[vertexCount]; + Vector3 normal = new Vector3(0, 0, -1); + for (int i = 0; i < vertexCount; i++) + normals[i] = normal; + (useMesh1 ? mesh2 : mesh1).vertices = vertices; // Set other mesh vertices. + mesh1.normals = normals; + mesh2.normals = normals; + + if (calculateTangents) { + Vector4[] tangents = new Vector4[vertexCount]; + Vector3 tangent = new Vector3(0, 0, 1); + for (int i = 0; i < vertexCount; i++) + tangents[i] = tangent; + mesh1.tangents = tangents; + mesh2.tangents = tangents; + } + } + + useMesh1 = !useMesh1; + } + + /** Stores vertices and triangles for a single material. */ + private void addSubmesh (Material material, int startSlot, int endSlot, int triangleCount, int firstVertex, bool lastSubmesh) { + int submeshIndex = submeshMaterials.Count; + submeshMaterials.Add(material); + + if (submeshes.Count <= submeshIndex) submeshes.Add(new Submesh()); + Submesh submesh = submeshes[submeshIndex]; + + int[] triangles = submesh.triangles; + int trianglesCapacity = triangles.Length; + if (lastSubmesh && trianglesCapacity > triangleCount) { + // Last submesh may have more triangles than required, so zero triangles to the end. + for (int i = triangleCount; i < trianglesCapacity; i++) + triangles[i] = 0; + submesh.triangleCount = triangleCount; + } else if (trianglesCapacity != triangleCount) { + // Reallocate triangles when not the exact size needed. + submesh.triangles = triangles = new int[triangleCount]; + submesh.triangleCount = 0; + } + + List drawOrder = skeleton.DrawOrder; + for (int i = startSlot, triangleIndex = 0; i < endSlot; i++) { + Attachment attachment = drawOrder[i].attachment; + int[] attachmentTriangles; + int attachmentVertexCount; + if (attachment is RegionAttachment) { + attachmentVertexCount = 4; + attachmentTriangles = quadTriangles; + } else if (attachment is MeshAttachment) { + MeshAttachment meshAttachment = (MeshAttachment)attachment; + attachmentVertexCount = meshAttachment.vertices.Length / 2; + attachmentTriangles = meshAttachment.triangles; + } else if (attachment is SkinnedMeshAttachment) { + SkinnedMeshAttachment meshAttachment = (SkinnedMeshAttachment)attachment; + attachmentVertexCount = meshAttachment.uvs.Length / 2; + attachmentTriangles = meshAttachment.triangles; + } else + continue; + for (int ii = 0, nn = attachmentTriangles.Length; ii < nn; ii++, triangleIndex++) + triangles[triangleIndex] = firstVertex + attachmentTriangles[ii]; + firstVertex += attachmentVertexCount; + } + } + + #if UNITY_EDITOR + void OnDrawGizmos() { + // Make selection easier by drawing a clear gizmo over the skeleton. + if (vertices == null) return; + Vector3 gizmosCenter = new Vector3(); + Vector3 gizmosSize = new Vector3(); + Vector3 min = new Vector3(float.MaxValue, float.MaxValue, 0f); + Vector3 max = new Vector3(float.MinValue, float.MinValue, 0f); + foreach (Vector3 vert in vertices) { + min = Vector3.Min (min, vert); + max = Vector3.Max (max, vert); + } + float width = max.x - min.x; + float height = max.y - min.y; + gizmosCenter = new Vector3(min.x + (width / 2f), min.y + (height / 2f), 0f); + gizmosSize = new Vector3(width, height, 1f); + Gizmos.color = Color.clear; + Gizmos.matrix = transform.localToWorldMatrix; + Gizmos.DrawCube(gizmosCenter, gizmosSize); + } + #endif +} + +class Submesh { + public int[] triangles = new int[0]; + public int triangleCount; +} diff --git a/spine-tk2d/Assets/Spine/SkeletonComponent.cs.meta b/spine-tk2d/Assets/Spine/SkeletonRenderer.cs.meta similarity index 78% rename from spine-tk2d/Assets/Spine/SkeletonComponent.cs.meta rename to spine-tk2d/Assets/Spine/SkeletonRenderer.cs.meta index c765d154a..1bc275571 100644 --- a/spine-tk2d/Assets/Spine/SkeletonComponent.cs.meta +++ b/spine-tk2d/Assets/Spine/SkeletonRenderer.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9da572b571dc33444bd6622951ef62ba +guid: 0f77b79230dc4c246a1194a03578bb4e MonoImporter: serializedVersion: 2 defaultReferences: [] diff --git a/spine-tk2d/Assets/examples/goblins.meta b/spine-tk2d/Assets/examples/goblins.meta new file mode 100644 index 000000000..c23c0f726 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: a9308cf14d9ae5040ad789b02f1b3baf +folderAsset: yes +DefaultImporter: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/Goblins SkeletonData.asset b/spine-tk2d/Assets/examples/goblins/Goblins SkeletonData.asset new file mode 100644 index 0000000000000000000000000000000000000000..f76e1dbf7ece1e89ac2622c57bf3d3190965fac1 GIT binary patch literal 4200 zcmeHKNpBM|6n0q4zLc%31^+ z;s^(XdIYYV_!DqNRgn+}P9?neJV~6y`2%QPRol<=`F(Fo#$l}G5@WmbjIk{+!^Bum zS9e!W?i%}BDwPtT!&JH(_(8wO^Eo$|m8_qKg0=|{1HxF5v0X6D`k_1J3#Z-n6)QZP z%sdiVHR?KI*yB?n+W-)PM{{|dN-243$Z=I5hvt<4BZ1!w=TlPTcqYZA@Rhd3THxq9 z_(#Fx3HU=@6Artc7#k#>^@so|gK(`uDX#Jn2pvK(LF9~PuKFvDwa^a53$|=(jlK` zJmJu@Z3Zrp)Jk2gb@^&*z1=((ttmWgsdQGlGYZ4gD++CgaRQgt&~_Ri3=gFtG;Bu{ z1e8IclCD1mj1!PvYGU2>5vmxaR7$?Uk~Cuf?=h?-`l>#K?qfl%wif^>CRH}iC3Cpq zwA-oyHHeBcI&%Xa55qABI^E5=LXvm;%wt8ncl!-ut9J)XBhk9nyMq=4m8nBbUw6_o z(p6$0@I3e|!v}K^g6d^q-7Zz{kYNZntkr8XK#8c88>)BM0@5zs6Z0w=h5|Y#oEDx? zfj^#}oFM)q#;KyJ;rzIf329NhtewTY!y%Qx>l<2~aR%ZH#2JV)5N9CH!2gp0ygQ)a{C(jA!(SpJLB@0aust1JyYYtrV(^lH_YAxi Oy!kQ?WAQc&75N8&k(I*$ literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/Goblins SkeletonData.asset.meta b/spine-tk2d/Assets/examples/goblins/Goblins SkeletonData.asset.meta new file mode 100644 index 000000000..8aaba0e3b --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/Goblins SkeletonData.asset.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 4a195bd4c354a814b86d191f4921f54b +NativeFormatImporter: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/Goblins.cs b/spine-tk2d/Assets/examples/goblins/Goblins.cs new file mode 100644 index 000000000..c30e677b0 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/Goblins.cs @@ -0,0 +1,63 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), 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 SOFTARE 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 UnityEngine; +using System.Collections; +using Spine; + +public class Goblins : MonoBehaviour { + private bool girlSkin; + private SkeletonAnimation skeletonAnimation; + private Bone headBone; + + public void Start () { + skeletonAnimation = GetComponent(); + headBone = skeletonAnimation.skeleton.FindBone("head"); + skeletonAnimation.UpdateBones += UpdateBones; + } + + // This is called after the animation is applied to the skeleton and can be used to adjust the bones dynamically. + public void UpdateBones (SkeletonAnimation skeletonAnimation) { + headBone.Rotation += 15; + } + + public void OnMouseDown () { + skeletonAnimation.skeleton.SetSkin(girlSkin ? "goblin" : "goblingirl"); + skeletonAnimation.skeleton.SetSlotsToSetupPose(); + + girlSkin = !girlSkin; + + if (girlSkin) { + skeletonAnimation.skeleton.SetAttachment("right hand item", null); + skeletonAnimation.skeleton.SetAttachment("left hand item", "spear"); + } else + skeletonAnimation.skeleton.SetAttachment("left hand item", "dagger"); + } +} diff --git a/spine-tk2d/Assets/examples/goblins/Goblins.cs.meta b/spine-tk2d/Assets/examples/goblins/Goblins.cs.meta new file mode 100644 index 000000000..7a04efa06 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/Goblins.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3a41b9a80b4f2c045b7ad76e0d652ddc +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data.meta b/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data.meta new file mode 100644 index 000000000..1211c5e9f --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 982b49f422d2cb04bbaf38993fef207b +folderAsset: yes +DefaultImporter: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/GoblinsAtlas.prefab b/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/GoblinsAtlas.prefab new file mode 100644 index 0000000000000000000000000000000000000000..bc65b6ebb24d78638459f00daaa814747a837501 GIT binary patch literal 20136 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 RTnFWE_&h7=roz*de*kQ->5BjW literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0 material.mat.meta b/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0 material.mat.meta new file mode 100644 index 000000000..d30a0f6fe --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0 material.mat.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 0b38b0b706d87b04ab4621c37c7d5019 +NativeFormatImporter: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0.png b/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0.png new file mode 100644 index 0000000000000000000000000000000000000000..d6820aa68e544b7b0c3fed3257b82c7051dcd069 GIT binary patch literal 98105 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 AGynhq literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0.png.meta b/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0.png.meta new file mode 100644 index 000000000..19b7c864d --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: e76e8228e3b38264194b3dfad10b7af7 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas.prefab b/spine-tk2d/Assets/examples/goblins/GoblinsAtlas.prefab new file mode 100644 index 0000000000000000000000000000000000000000..08d4890a3fefee49789c93fb2d3b9358800b46da GIT binary patch literal 24448 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 literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas.prefab.meta b/spine-tk2d/Assets/examples/goblins/GoblinsAtlas.prefab.meta new file mode 100644 index 000000000..788714172 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/GoblinsAtlas.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: db91f44e9acec474fb74db538fe06935 +NativeFormatImporter: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/goblins-ffd.json.txt b/spine-tk2d/Assets/examples/goblins/goblins-ffd.json.txt new file mode 100644 index 000000000..a778c0f15 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/goblins-ffd.json.txt @@ -0,0 +1,1005 @@ +{ +"bones": [ + { "name": "root" }, + { "name": "hip", "parent": "root", "x": 0.64, "y": 114.41 }, + { "name": "left upper leg", "parent": "hip", "length": 50.39, "x": 14.45, "y": 2.81, "rotation": -89.09 }, + { "name": "pelvis", "parent": "hip", "x": 1.41, "y": -6.57 }, + { "name": "right upper leg", "parent": "hip", "length": 42.45, "x": -20.07, "y": -6.83, "rotation": -97.49 }, + { "name": "torso", "parent": "hip", "length": 85.82, "x": -6.42, "y": 1.97, "rotation": 93.92 }, + { "name": "left lower leg", "parent": "left upper leg", "length": 49.89, "x": 56.34, "y": 0.98, "rotation": -16.65 }, + { "name": "left shoulder", "parent": "torso", "length": 35.43, "x": 74.04, "y": -20.38, "rotation": -156.96 }, + { "name": "neck", "parent": "torso", "length": 18.38, "x": 81.67, "y": -6.34, "rotation": -1.51 }, + { "name": "right lower leg", "parent": "right upper leg", "length": 58.52, "x": 42.99, "y": -0.61, "rotation": -14.34 }, + { "name": "right shoulder", "parent": "torso", "length": 37.24, "x": 76.02, "y": 18.14, "rotation": 133.88 }, + { "name": "head", "parent": "neck", "length": 68.28, "x": 20.93, "y": 11.59, "rotation": -13.92 }, + { "name": "left arm", "parent": "left shoulder", "length": 35.62, "x": 37.85, "y": -2.34, "rotation": 28.16 }, + { "name": "left foot", "parent": "left lower leg", "length": 46.5, "x": 58.94, "y": -7.61, "rotation": 102.43 }, + { "name": "right arm", "parent": "right shoulder", "length": 36.74, "x": 37.6, "y": 0.31, "rotation": 36.32 }, + { "name": "right foot", "parent": "right lower leg", "length": 45.45, "x": 64.88, "y": 0.04, "rotation": 110.3 }, + { "name": "left hand", "parent": "left arm", "length": 11.52, "x": 35.62, "y": 0.07, "rotation": 2.7 }, + { "name": "right hand", "parent": "right arm", "length": 15.32, "x": 36.9, "y": 0.34, "rotation": 2.35 }, + { "name": "spear1", "parent": "left hand", "length": 65.06, "x": 0.48, "y": 17.03, "rotation": 102.43 }, + { "name": "spear2", "parent": "spear1", "length": 61.41, "x": 65.05, "y": 0.04, "rotation": 0.9 }, + { "name": "spear3", "parent": "spear2", "length": 76.79, "x": 61.88, "y": 0.57, "rotation": -0.9 } +], +"slots": [ + { "name": "left shoulder", "bone": "left shoulder", "attachment": "left shoulder" }, + { "name": "left arm", "bone": "left arm", "attachment": "left arm" }, + { "name": "left hand item", "bone": "left hand", "attachment": "spear" }, + { "name": "left hand", "bone": "left hand", "attachment": "left hand" }, + { "name": "left foot", "bone": "left foot", "attachment": "left foot" }, + { "name": "left lower leg", "bone": "left lower leg", "attachment": "left lower leg" }, + { "name": "left upper leg", "bone": "left upper leg", "attachment": "left upper leg" }, + { "name": "neck", "bone": "neck", "attachment": "neck" }, + { "name": "torso", "bone": "torso", "attachment": "torso" }, + { "name": "pelvis", "bone": "pelvis", "attachment": "pelvis" }, + { "name": "right foot", "bone": "right foot", "attachment": "right foot" }, + { "name": "right lower leg", "bone": "right lower leg", "attachment": "right lower leg" }, + { "name": "undie straps", "bone": "pelvis", "attachment": "undie straps" }, + { "name": "undies", "bone": "pelvis", "attachment": "undies" }, + { "name": "right upper leg", "bone": "right upper leg", "attachment": "right upper leg" }, + { "name": "head", "bone": "head", "attachment": "head" }, + { "name": "eyes", "bone": "head" }, + { "name": "right shoulder", "bone": "right shoulder", "attachment": "right shoulder" }, + { "name": "right arm", "bone": "right arm", "attachment": "right arm" }, + { "name": "right hand thumb", "bone": "right hand", "attachment": "right hand thumb" }, + { "name": "right hand item", "bone": "right hand", "attachment": "dagger" }, + { "name": "right hand", "bone": "right hand", "attachment": "right hand" }, + { "name": "right hand item 2", "bone": "right hand", "attachment": "shield" } +], +"skins": { + "default": { + "left hand item": { + "dagger": { "x": 7.88, "y": -23.45, "rotation": 10.47, "width": 26, "height": 108 }, + "spear": { + "type": "skinnedmesh", + "uvs": [ 1, 0.11236, 0.77096, 0.13278, 0.76608, 0.21781, 0.75642, 0.386, 0.74723, 0.54607, 0.72117, 1, 0.28838, 1, 0.24208, 0.54327, 0.22589, 0.38361, 0.2089, 0.21605, 0.20043, 0.13242, 0, 0.11519, 0.4527, 0, 0.58399, 0 ], + "triangles": [ 4, 7, 3, 6, 7, 4, 5, 6, 4, 10, 11, 12, 1, 13, 0, 12, 13, 1, 10, 12, 1, 9, 10, 1, 2, 9, 1, 8, 9, 2, 3, 8, 2, 7, 8, 3 ], + "vertices": [ 1, 20, 38.54, -10.88, 1, 1, 20, 30.97, -5.93, 1, 2, 19, 61.48, -5.58, 0.51, 20, -0.31, -6.16, 0.48, 2, 18, 64.73, -5.03, 0.5, 19, -0.4, -5.06, 0.49, 1, 16, 4.56, 23.91, 1, 1, 16, 41.7, -138.95, 1, 1, 16, 32.42, -141.1, 1, 1, 16, -6.49, 22.4, 1, 2, 18, 65.48, 6.64, 0.5, 19, 0.53, 6.59, 0.49, 2, 19, 62.18, 6.66, 0.51, 20, 0.2, 6.09, 0.48, 1, 20, 30.96, 6.61, 1, 1, 20, 37.26, 11.09, 1, 1, 20, 79.75, 1.59, 1, 1, 20, 79.78, -1.29, 1 ], + "edges": [ 24, 22, 22, 20, 10, 12, 2, 0, 24, 26, 0, 26, 8, 10, 12, 14, 6, 8, 14, 16, 2, 4, 4, 6, 16, 18, 18, 20, 20, 2 ], + "hull": 14, + "width": 22, + "height": 368 + } + }, + "right hand item": { + "dagger": { + "type": "mesh", + "uvs": [ 0.78091, 0.38453, 1, 0.38405, 1, 0.44881, 0.73953, 0.4687, 0.74641, 0.81344, 0.34022, 1, 0.15434, 1, 0.11303, 0.78858, 0.23007, 0.47367, 0, 0.45047, 0, 0.38621, 0.22367, 0.38573, 0.24384, 0, 1, 0 ], + "triangles": [ 5, 7, 8, 4, 8, 3, 4, 5, 8, 5, 6, 7, 9, 11, 8, 8, 11, 3, 3, 0, 2, 3, 11, 0, 9, 10, 11, 0, 1, 2, 11, 12, 0, 0, 12, 13 ], + "vertices": [ 15.49, -12.82, 21.13, -13.57, 20.16, -20.49, 13.15, -21.67, 8.13, -58.56, -5.13, -77.04, -9.92, -76.36, -7.79, -53.6, -0.03, -20.36, -5.6, -17.04, -4.63, -10.17, 1.12, -10.93, 7.46, 30.24, 26.93, 27.49 ], + "edges": [ 22, 20, 24, 26, 22, 24, 2, 0, 0, 22, 0, 26, 12, 14, 14, 16, 18, 20, 16, 18, 2, 4, 4, 6, 6, 8, 10, 12, 8, 10 ], + "hull": 14, + "width": 26, + "height": 108 + } + }, + "right hand item 2": { + "shield": { "rotation": 93.49, "width": 70, "height": 72 } + } + }, + "goblin": { + "eyes": { + "eyes closed": { "name": "goblin/eyes-closed", "x": 29.19, "y": -24.89, "rotation": -88.92, "width": 34, "height": 12 } + }, + "head": { + "head": { + "name": "goblin/head", + "type": "mesh", + "uvs": [ 0, 0.60494, 0.14172, 0.5145, 0.24218, 0.55229, 0.32667, 0.67806, 0.37969, 0.79352, 0.53505, 0.93014, 0.86056, 1, 0.94071, 0.94169, 0.92098, 0.69923, 0.9888, 0.65497, 0.99003, 0.51643, 0.89632, 0.43561, 0.94487, 0.41916, 1, 0.39713, 1, 0.2836, 0.94017, 0.27027, 0.87906, 0.25666, 0.80754, 0.16044, 0.66698, 0.01997, 0.4734, 0.01805, 0.29215, 0.19893, 0.25392, 0.31823, 0.09117, 0.324, 0, 0.44331, 0.43271, 0.69153, 0.466, 0.47794, 0.35996, 0.31246, 0.73473, 0.68593, 0.72215, 0.57425, 0.88179, 0.5583, 0.80267, 0.51015 ], + "triangles": [ 5, 27, 6, 7, 27, 8, 7, 6, 27, 4, 24, 5, 5, 24, 27, 4, 3, 24, 27, 29, 8, 8, 29, 9, 24, 28, 27, 24, 25, 28, 24, 3, 25, 29, 28, 30, 29, 27, 28, 25, 2, 26, 25, 3, 2, 9, 29, 10, 0, 23, 1, 28, 25, 30, 29, 11, 10, 29, 30, 11, 2, 21, 26, 2, 1, 21, 23, 22, 1, 1, 22, 21, 30, 16, 11, 30, 17, 16, 30, 25, 17, 17, 26, 18, 18, 26, 19, 26, 17, 25, 11, 15, 12, 11, 16, 15, 12, 15, 13, 15, 14, 13, 21, 20, 26, 26, 20, 19 ], + "vertices": [ 14.56, 50.42, 23.12, 35.47, 17.46, 26.36, 11.57, 16.86, 3.74, 11.71, -5.89, -3.91, -11.83, -37.23, -8.31, -45.63, 7.75, -44.24, 10.39, -51.33, 19.52, -51.82, 25.21, -43.15, 26.12, -47.43, 27.35, -53.16, 34.84, -53.46, 35.96, -47.33, 37.11, -41.08, 43.75, -33.97, 53.58, -19.87, 54.5, 0.03, 43.31, 19.16, 35.6, 23.41, 35.89, 40.17, 28.39, 49.87, 10.25, 5.99, 24.2, 2, 35.55, 12.48, 9.39, -25.1, 16.8, -24.31, 17.2, -40.65, 20.68, -33.02 ], + "edges": [ 0, 2, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 26, 28, 32, 34, 34, 36, 36, 38, 38, 40, 40, 42, 42, 44, 44, 46, 0, 46, 6, 48, 48, 50, 50, 52, 52, 42, 2, 4, 4, 6, 4, 52, 2, 44, 22, 32, 22, 24, 24, 26, 28, 30, 30, 32, 24, 30, 16, 54, 54, 56, 20, 58, 58, 54, 16, 58, 22, 60, 60, 56, 58, 60 ], + "hull": 24, + "width": 103, + "height": 66 + } + }, + "left arm": { + "left arm": { + "name": "goblin/left-arm", + "type": "mesh", + "uvs": [ 0.68992, 0.29284, 1, 0.46364, 1, 0.74643, 0.84089, 1, 0.66344, 1, 0.33765, 0.64284, 0, 0.44124, 0, 0, 0.34295, 0 ], + "triangles": [ 3, 4, 2, 4, 5, 2, 5, 0, 2, 0, 1, 2, 0, 5, 8, 5, 6, 8, 6, 7, 8 ], + "vertices": [ 18.6, 8.81, 32.19, 10.31, 38.02, 1.62, 38.08, -9.63, 32.31, -13.49, 14.37, -9.62, -0.75, -10.78, -9.84, 2.77, 1.29, 10.25 ], + "edges": [ 14, 16, 16, 0, 0, 2, 2, 4, 6, 4, 6, 8, 8, 10, 12, 14, 10, 12 ], + "hull": 9, + "width": 37, + "height": 35 + } + }, + "left foot": { + "left foot": { + "name": "goblin/left-foot", + "type": "mesh", + "uvs": [ 0.15733, 0.31873, 0.08195, 0.78502, 0.15884, 0.99366, 0.41633, 0.96804, 0.68822, 0.97636, 1, 0.96388, 0.99385, 0.73501, 0.85294, 0.51862, 0.61479, 0.31056, 0.46991, 0, 0.48032, 0.75604, 0.75994, 0.77706 ], + "triangles": [ 2, 1, 3, 3, 10, 4, 4, 11, 5, 4, 10, 11, 3, 1, 10, 11, 6, 5, 1, 0, 10, 11, 7, 6, 11, 10, 7, 10, 8, 7, 10, 0, 8, 0, 9, 8 ], + "vertices": [ 2.28, 13.07, -1.76, -1.64, 3.59, -7.8, 20.25, -6.04, 37.91, -5.27, 58.12, -3.71, 57.31, 3.34, 47.78, 9.51, 31.95, 15.05, 21.99, 24.11, 24.03, 0.75, 42.21, 1.16 ], + "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 18, 6, 20, 20, 16, 2, 20, 8, 22, 22, 14, 20, 22, 22, 10 ], + "hull": 10, + "width": 65, + "height": 31 + } + }, + "left hand": { + "left hand": { + "name": "goblin/left-hand", + "type": "mesh", + "uvs": [ 0.518, 0.12578, 1, 0.16285, 0.99788, 0.50578, 0.69745, 1, 0.37445, 1, 0, 0.80051, 0, 0.42792, 0.17601, 0, 0.43567, 0 ], + "triangles": [ 2, 3, 0, 4, 5, 0, 3, 4, 0, 0, 7, 8, 6, 7, 0, 0, 5, 6, 2, 0, 1 ], + "vertices": [ -3.11, 15.42, 10.83, 22.27, 15.5, 14.55, 18.35, -8.96, 9.48, -14.32, -4.58, -14.3, -11.63, -2.63, -14.89, 13.68, -7.75, 17.99 ], + "edges": [ 16, 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 14, 16, 12, 14 ], + "hull": 9, + "width": 36, + "height": 41 + } + }, + "left lower leg": { + "left lower leg": { + "name": "goblin/left-lower-leg", + "type": "mesh", + "uvs": [ 0.95508, 0.20749, 0.81927, 0.65213, 0.94754, 0.77308, 0.67842, 0.97346, 0.46463, 1, 0.26845, 1, 0.04963, 0.90706, 0.2106, 0.60115, 0.07478, 0.40195, 0.18545, 0, 0.28857, 0 ], + "triangles": [ 1, 3, 4, 7, 4, 5, 5, 6, 7, 3, 1, 2, 1, 4, 7, 0, 1, 10, 7, 8, 10, 1, 7, 10, 10, 8, 9 ], + "vertices": [ -0.19, 6.82, 30.97, 10.96, 37.97, 17.33, 53.88, 12.6, 57.58, 6.31, 59.34, 0.08, 55.04, -8.63, 32.99, -9.33, 20.79, -17.43, -7.27, -21.56, -8.19, -18.29 ], + "edges": [ 20, 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 18, 20, 16, 18 ], + "hull": 11, + "width": 33, + "height": 70 + } + }, + "left shoulder": { + "left shoulder": { + "name": "goblin/left-shoulder", + "type": "mesh", + "uvs": [ 0.7377, 0.40692, 1, 0.75237, 1, 1, 0.62046, 1, 0.26184, 0.56601, 0, 0.29783, 0, 0, 0.44115, 0 ], + "triangles": [ 3, 1, 2, 3, 0, 1, 3, 4, 0, 4, 7, 0, 4, 5, 7, 5, 6, 7 ], + "vertices": [ 15.18, 5.74, 32.17, 5.32, 41.79, 0.21, 36.63, -9.5, 14.88, -9.72, 0.9, -10.89, -10.66, -4.74, -4.66, 6.54 ], + "edges": [ 12, 14, 14, 0, 4, 2, 0, 2, 4, 6, 6, 8, 10, 12, 8, 10 ], + "hull": 8, + "width": 29, + "height": 44 + } + }, + "left upper leg": { + "left upper leg": { + "name": "goblin/left-upper-leg", + "type": "mesh", + "uvs": [ 1, 0.12167, 1, 0.54873, 0.91067, 0.78907, 0.76567, 1, 0.3087, 0.9579, 0, 0.68777, 0, 0.219, 0.51961, 0, 0.87552, 0 ], + "triangles": [ 3, 4, 2, 2, 4, 1, 1, 4, 7, 4, 5, 7, 0, 1, 7, 5, 6, 7, 7, 8, 0 ], + "vertices": [ 2.33, 13.06, 33.5, 12.57, 51, 9.34, 66.32, 4.31, 63, -10.71, 43.13, -20.58, 8.91, -20.04, -6.79, -2.64, -6.61, 9.1 ], + "edges": [ 10, 8, 8, 6, 6, 4, 4, 2, 10, 12, 12, 14, 14, 16, 2, 0, 16, 0 ], + "hull": 9, + "width": 33, + "height": 73 + } + }, + "neck": { + "neck": { + "name": "goblin/neck", + "type": "mesh", + "uvs": [ 0.81967, 0.27365, 0.92101, 0.82048, 0.47134, 1, 0.15679, 0.9354, 0, 0.7556, 0.19268, 0.51833, 0.15468, 0.35706, 0, 0.21989, 0.13568, 0, 0.68878, 0, 0.70145, 0.53872 ], + "triangles": [ 3, 5, 2, 2, 10, 1, 2, 5, 10, 3, 4, 5, 10, 0, 1, 0, 10, 6, 10, 5, 6, 7, 8, 6, 6, 9, 0, 6, 8, 9 ], + "vertices": [ 18.62, -11.65, -3.98, -13.85, -10.28, 2.76, -6.91, 13.89, 0.8, 19.05, 10.06, 11.51, 16.74, 12.45, 22.71, 17.64, 31.4, 12.19, 30.12, -7.67, 8.05, -6.71 ], + "edges": [ 14, 12, 12, 10, 10, 8, 8, 6, 6, 4, 4, 2, 2, 20, 20, 0, 0, 18, 16, 18, 14, 16, 0, 2 ], + "hull": 10, + "width": 36, + "height": 41 + } + }, + "pelvis": { + "pelvis": { + "name": "goblin/pelvis", + "type": "mesh", + "uvs": [ 1, 1, 0, 1, 0, 0, 1, 0 ], + "triangles": [ 1, 3, 0, 1, 2, 3 ], + "vertices": [ 25.38, -20.73, -36.61, -20.73, -36.61, 22.26, 25.38, 22.26 ], + "edges": [ 0, 2, 2, 4, 4, 6, 0, 6 ], + "hull": 4, + "width": 62, + "height": 43 + } + }, + "right arm": { + "right arm": { + "name": "goblin/right-arm", + "type": "mesh", + "uvs": [ 1, 0.09223, 1, 0.8501, 0.72058, 1, 0.24384, 1, 0, 0.86558, 0.20822, 0.10919, 0.50903, 0, 0.85342, 0 ], + "triangles": [ 1, 2, 6, 6, 2, 5, 1, 6, 0, 4, 5, 3, 2, 3, 5, 6, 7, 0 ], + "vertices": [ -4.75, 8.89, 33.03, 11.74, 40.99, 5.89, 41.81, -5.03, 35.53, -11.13, -2.53, -9.2, -8.5, -2.71, -9.09, 5.18 ], + "edges": [ 8, 6, 4, 6, 4, 2, 12, 14, 2, 0, 14, 0, 10, 12, 8, 10 ], + "hull": 8, + "width": 23, + "height": 50 + } + }, + "right foot": { + "right foot": { + "name": "goblin/right-foot", + "type": "mesh", + "uvs": [ 0.40851, 0.0047, 0.59087, 0.33404, 0.75959, 0.48311, 0.88907, 0.59751, 0.97532, 0.89391, 0.90385, 1, 0.6722, 1, 0.38633, 1, 0.08074, 1, 0, 0.88921, 0, 0.65984, 0, 0.46577, 0.0906, 0.0988, 0.305, 0, 0.47461, 0.71257, 0.715, 0.74681 ], + "triangles": [ 4, 5, 15, 7, 14, 6, 5, 6, 15, 6, 14, 15, 14, 7, 9, 7, 8, 9, 15, 3, 4, 9, 10, 14, 15, 2, 3, 15, 14, 2, 14, 10, 1, 12, 1, 11, 1, 12, 13, 14, 1, 2, 1, 13, 0, 1, 10, 11 ], + "vertices": [ 17.36, 25.99, 29.13, 15.44, 39.89, 10.8, 48.14, 7.24, 53.84, -2.38, 49.43, -6, 34.84, -6.39, 16.84, -6.87, -2.4, -7.38, -7.58, -3.86, -7.78, 3.7, -7.95, 10.1, -2.57, 22.36, 10.84, 25.97, 22.14, 2.75, 37.31, 2.03 ], + "edges": [ 0, 2, 6, 8, 8, 10, 16, 18, 22, 24, 24, 26, 0, 26, 10, 12, 2, 4, 4, 6, 12, 14, 14, 16, 18, 20, 20, 22, 2, 28, 28, 14, 20, 28, 4, 30, 30, 12, 28, 30, 30, 8 ], + "hull": 14, + "width": 63, + "height": 33 + } + }, + "right hand": { + "right hand": { + "name": "goblin/right-hand", + "type": "mesh", + "uvs": [ 0.17957, 0, 0, 0.44772, 0, 0.79734, 0.20057, 0.94264, 0.55057, 1, 0.8539, 1, 0.89823, 0.82004, 0.8259, 0.74285, 0.84223, 0.49993, 0.96356, 0.34102, 0.66023, 0 ], + "triangles": [ 4, 7, 5, 5, 7, 6, 4, 3, 7, 3, 2, 8, 7, 3, 8, 8, 1, 10, 8, 2, 1, 0, 10, 1, 8, 10, 9 ], + "vertices": [ -10.82, -9.45, 5.95, -15.34, 18.88, -14.9, 24, -7.5, 25.69, 5.16, 25.31, 16.07, 18.61, 17.44, 15.84, 14.74, 6.84, 15.02, 0.81, 19.18, -11.41, 7.83 ], + "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 0, 20 ], + "hull": 11, + "width": 36, + "height": 37 + } + }, + "right hand thumb": { + "right hand thumb": { + "name": "goblin/right-hand", + "type": "mesh", + "uvs": [ 0.88538, 0.22262, 0.76167, 0.3594, 0.75088, 0.78308, 0.95326, 0.84981, 1, 0.60302 ], + "triangles": [ 3, 2, 4, 2, 1, 4, 1, 0, 4 ], + "vertices": [ -2.82, 15.97, 2.4, 11.71, 18.08, 11.9, 20.27, 19.27, 11.09, 20.62 ], + "edges": [ 2, 4, 4, 6, 6, 8, 2, 0, 0, 8 ], + "hull": 5, + "width": 36, + "height": 37 + } + }, + "right lower leg": { + "right lower leg": { + "name": "goblin/right-lower-leg", + "type": "mesh", + "uvs": [ 1, 0.27261, 0.81312, 0.52592, 0.79587, 0.71795, 0.95544, 0.80988, 0.85193, 0.95493, 0.47241, 1, 0.14033, 1, 0, 0.8773, 0.14896, 0.67914, 0.1619, 0.30325, 0.60611, 0 ], + "triangles": [ 4, 5, 2, 2, 5, 8, 5, 6, 8, 6, 7, 8, 4, 2, 3, 2, 8, 1, 8, 9, 1, 9, 10, 1, 1, 10, 0 ], + "vertices": [ 6.26, 8.46, 23.32, 8.04, 37.1, 12.89, 41.45, 20.82, 53.07, 21.46, 61.33, 10.06, 65.77, -1.03, 58.99, -9.19, 43.02, -9.81, 16.33, -20, -12.79, -9.26 ], + "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 20, 18, 20 ], + "hull": 11, + "width": 36, + "height": 76 + } + }, + "right shoulder": { + "right shoulder": { + "name": "goblin/right-shoulder", + "type": "mesh", + "uvs": [ 0.62008, 0.03708, 0.92131, 0.09048, 1, 0.38319, 0.72049, 0.6937, 0.31656, 1, 0, 1, 0, 0.75106, 0.28233, 0.49988 ], + "triangles": [ 4, 6, 7, 4, 7, 3, 4, 5, 6, 7, 0, 3, 2, 0, 1, 2, 3, 0 ], + "vertices": [ -3.17, -11.05, -9, -0.57, -1.01, 10.33, 16.69, 11.17, 37.41, 8.2, 45.45, -1.16, 36.95, -8.46, 21.2, -7.47 ], + "edges": [ 10, 12, 12, 14, 14, 0, 0, 2, 2, 4, 4, 6, 8, 10, 6, 8 ], + "hull": 8, + "width": 39, + "height": 45 + } + }, + "right upper leg": { + "right upper leg": { + "name": "goblin/right-upper-leg", + "type": "mesh", + "uvs": [ 0.27018, 0, 0.11618, 0.18177, 0, 0.70688, 0, 0.89577, 0.26668, 1, 0.48718, 1, 0.67618, 0.83532, 1, 0.5161, 1, 0.25543, 0.74618, 0.0571 ], + "triangles": [ 5, 4, 6, 6, 4, 2, 4, 3, 2, 2, 1, 6, 6, 1, 9, 6, 9, 7, 9, 1, 0, 9, 8, 7 ], + "vertices": [ -9.85, -10.37, 2.17, -14.07, 35.49, -13.66, 47.29, -12.11, 52.61, -2.26, 51.63, 5.16, 40.51, 10.18, 19.13, 18.47, 2.85, 16.32, -8.4, 6.14 ], + "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 18 ], + "hull": 10, + "width": 34, + "height": 63 + } + }, + "torso": { + "torso": { + "name": "goblin/torso", + "type": "mesh", + "uvs": [ 0, 0.33287, 0.15945, 0.46488, 0.15761, 0.60314, 0.15502, 0.79806, 0.32807, 0.93478, 0.6875, 1, 0.80731, 1, 1, 0.77763, 1, 0.66147, 1, 0.56703, 0.93207, 0.4771, 0.86944, 0.39416, 0.83837, 0.226, 0.68085, 0, 0.14836, 0, 0, 0.07199, 0.78734, 0.86249, 0.43679, 0.79649, 0.76738, 0.61733, 0.44345, 0.58747, 0.54329, 0.38316, 0.77692, 0.73446, 0.66478, 0.51012 ], + "triangles": [ 5, 16, 6, 6, 16, 7, 4, 17, 5, 5, 17, 16, 4, 3, 17, 17, 21, 16, 16, 21, 7, 3, 2, 17, 21, 19, 18, 21, 17, 19, 17, 2, 19, 21, 8, 7, 21, 18, 8, 18, 9, 8, 19, 22, 18, 18, 10, 9, 18, 22, 10, 2, 1, 19, 19, 20, 22, 19, 1, 20, 22, 11, 10, 22, 20, 11, 20, 1, 14, 20, 12, 11, 1, 0, 14, 20, 13, 12, 20, 14, 13, 0, 15, 14 ], + "vertices": [ 56.93, 27.95, 43.37, 18.23, 30.16, 19.5, 11.53, 21.28, -2.55, 10.69, -10.89, -13.12, -11.59, -21.23, 8.54, -36.12, 19.65, -37.08, 28.68, -37.86, 37.68, -34, 45.98, -30.44, 56.4, -29.07, 84.78, -20.92, 87.9, 15.15, 81.88, 25.79, 1.67, -21.01, 10.03, 2.18, 25.23, -18.25, 29.98, 0, 48.54, -8.39, 13.98, -21.36, 35.9, -15.6 ], + "edges": [ 0, 2, 6, 8, 8, 10, 10, 12, 12, 14, 22, 24, 24, 26, 26, 28, 28, 30, 0, 30, 14, 32, 32, 34, 34, 6, 18, 36, 36, 38, 2, 4, 4, 6, 38, 4, 2, 40, 40, 22, 40, 38, 38, 34, 32, 10, 34, 8, 40, 28, 14, 16, 16, 18, 32, 42, 42, 36, 16, 42, 42, 34, 18, 20, 20, 22, 36, 44, 44, 40, 20, 44 ], + "hull": 16, + "width": 68, + "height": 96 + } + }, + "undie straps": { + "undie straps": { + "name": "goblin/undie-straps", + "type": "mesh", + "uvs": [ 0.36097, 0.44959, 0.66297, 0.60591, 1, 0.19486, 1, 0.57117, 0.75897, 1, 0.38697, 1, 0, 0.26433, 0, 0, 0.12497, 0 ], + "triangles": [ 5, 1, 4, 4, 1, 3, 6, 0, 5, 5, 0, 1, 3, 1, 2, 6, 8, 0, 6, 7, 8 ], + "vertices": [ -10.56, 12.87, 6.53, 9.9, 25.62, 17.71, 25.62, 10.56, 11.97, 2.41, -9.09, 2.41, -31, 16.39, -31, 21.41, -23.92, 21.41 ], + "edges": [ 14, 16, 16, 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 12, 14, 10, 12, 0, 10, 2, 8 ], + "hull": 9, + "width": 55, + "height": 19 + } + }, + "undies": { + "undies": { + "name": "goblin/undies", + "type": "mesh", + "uvs": [ 0, 0.32029, 0.14893, 0.59457, 0.22437, 1, 0.35909, 1, 0.50998, 1, 0.79559, 0.58453, 0.9842, 0.28015, 1, 0.00588, 0.46957, 0.17646, 0, 0.03933, 0.48843, 0.59122, 0.48114, 0.43099 ], + "triangles": [ 3, 10, 4, 4, 10, 5, 10, 3, 1, 3, 2, 1, 1, 11, 10, 1, 0, 11, 10, 11, 5, 5, 11, 6, 0, 8, 11, 11, 8, 6, 0, 9, 8, 6, 8, 7 ], + "vertices": [ -13.22, 5.56, -8, -2.47, -5.49, -14.27, -0.64, -14.36, 4.78, -14.45, 15.27, -2.59, 22.22, 6.11, 22.92, 14.05, 3.75, 9.44, -13.08, 13.71, 4.21, -2.59, 4.03, 2.05 ], + "edges": [ 0, 2, 2, 4, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 18, 4, 6, 6, 8, 6, 20, 16, 22, 22, 20, 0, 22, 22, 12, 2, 20, 20, 10 ], + "hull": 10, + "width": 36, + "height": 29 + } + } + } +}, +"animations": { + "walk": { + "slots": { + "eyes": { + "attachment": [ + { "time": 0.7, "name": "eyes closed" }, + { "time": 0.8, "name": null } + ] + } + }, + "bones": { + "left upper leg": { + "rotate": [ + { "time": 0, "angle": -26.55 }, + { "time": 0.1333, "angle": -8.78 }, + { "time": 0.2333, "angle": 9.51 }, + { "time": 0.3666, "angle": 30.74 }, + { "time": 0.5, "angle": 25.33 }, + { "time": 0.6333, "angle": 26.11 }, + { "time": 0.7333, "angle": 7.45 }, + { "time": 0.8666, "angle": -21.19 }, + { "time": 1, "angle": -26.55 } + ], + "translate": [ + { "time": 0, "x": -1.32, "y": 1.7 }, + { "time": 0.3666, "x": -0.06, "y": 2.42 }, + { "time": 1, "x": -1.32, "y": 1.7 } + ] + }, + "right upper leg": { + "rotate": [ + { "time": 0, "angle": 42.45 }, + { + "time": 0.1333, + "angle": 49.86, + "curve": [ 0.414, 0, 0.705, 0.99 ] + }, + { "time": 0.2333, "angle": 22.51 }, + { "time": 0.5, "angle": -16.93 }, + { "time": 0.6333, "angle": 1.89 }, + { + "time": 0.7333, + "angle": 34.86, + "curve": [ 0.462, 0.11, 1, 1 ] + }, + { + "time": 0.8666, + "angle": 58.68, + "curve": [ 0.5, 0.02, 1, 1 ] + }, + { "time": 1, "angle": 42.45 } + ], + "translate": [ + { "time": 0, "x": 6.23, "y": 0 }, + { "time": 0.2333, "x": 2.14, "y": 2.4 }, + { "time": 0.5, "x": 2.44, "y": 4.8 }, + { "time": 1, "x": 6.23, "y": 0 } + ] + }, + "left lower leg": { + "rotate": [ + { "time": 0, "angle": -18.05 }, + { "time": 0.1333, "angle": -63.5 }, + { "time": 0.2333, "angle": -83.01 }, + { "time": 0.5, "angle": 5.11 }, + { "time": 0.6333, "angle": -28.29 }, + { "time": 0.7333, "angle": -27.52 }, + { "time": 0.8666, "angle": 3.53 }, + { "time": 1, "angle": -18.05 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.2333, "x": 2.55, "y": -0.47 }, + { "time": 0.5, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0 } + ] + }, + "left foot": { + "rotate": [ + { "time": 0, "angle": -14.56 }, + { "time": 0.1333, "angle": -10.42 }, + { "time": 0.2333, "angle": -5.01 }, + { "time": 0.3, "angle": 6.67 }, + { "time": 0.3666, "angle": 3.87 }, + { "time": 0.5, "angle": -3.87 }, + { "time": 0.6333, "angle": 2.78 }, + { "time": 0.7333, "angle": -11.99 }, + { "time": 0.8666, "angle": -12.45 }, + { "time": 1, "angle": -14.56 } + ] + }, + "right shoulder": { + "rotate": [ + { + "time": 0, + "angle": 5.29, + "curve": [ 0.264, 0, 0.75, 1 ] + }, + { "time": 0.6333, "angle": 6.65 }, + { "time": 1, "angle": 5.29 } + ] + }, + "right arm": { + "rotate": [ + { + "time": 0, + "angle": -4.02, + "curve": [ 0.267, 0, 0.804, 0.99 ] + }, + { + "time": 0.6333, + "angle": 19.78, + "curve": [ 0.307, 0, 0.787, 0.99 ] + }, + { "time": 1, "angle": -4.02 } + ] + }, + "right hand": { + "rotate": [ + { "time": 0, "angle": 8.98 }, + { "time": 0.6333, "angle": 0.51 }, + { "time": 1, "angle": 8.98 } + ] + }, + "left shoulder": { + "rotate": [ + { + "time": 0, + "angle": 6.25, + "curve": [ 0.339, 0, 0.683, 1 ] + }, + { + "time": 0.5, + "angle": -11.78, + "curve": [ 0.281, 0, 0.686, 0.99 ] + }, + { "time": 1, "angle": 6.25 } + ], + "translate": [ + { "time": 0, "x": 1.15, "y": 0.23 } + ] + }, + "left hand": { + "rotate": [ + { + "time": 0, + "angle": -21.23, + "curve": [ 0.295, 0, 0.755, 0.98 ] + }, + { + "time": 0.5, + "angle": -27.28, + "curve": [ 0.241, 0, 0.75, 0.97 ] + }, + { "time": 1, "angle": -21.23 } + ] + }, + "left arm": { + "rotate": [ + { + "time": 0, + "angle": 28.37, + "curve": [ 0.339, 0, 0.683, 1 ] + }, + { + "time": 0.5, + "angle": 60.09, + "curve": [ 0.281, 0, 0.686, 0.99 ] + }, + { "time": 1, "angle": 28.37 } + ] + }, + "torso": { + "rotate": [ + { "time": 0, "angle": -10.28 }, + { + "time": 0.1333, + "angle": -15.38, + "curve": [ 0.545, 0, 0.818, 1 ] + }, + { + "time": 0.3666, + "angle": -9.78, + "curve": [ 0.58, 0.17, 0.669, 0.99 ] + }, + { + "time": 0.6333, + "angle": -15.75, + "curve": [ 0.235, 0.01, 0.795, 1 ] + }, + { + "time": 0.8666, + "angle": -7.06, + "curve": [ 0.209, 0, 0.816, 0.98 ] + }, + { "time": 1, "angle": -10.28 } + ], + "translate": [ + { "time": 0, "x": -3.72, "y": -0.01 } + ] + }, + "right foot": { + "rotate": [ + { "time": 0, "angle": -5.25 }, + { "time": 0.2333, "angle": -17.76 }, + { "time": 0.3666, "angle": -20.09 }, + { "time": 0.5, "angle": -19.73 }, + { "time": 0.7333, "angle": -11.68 }, + { "time": 0.8, "angle": 4.46 }, + { "time": 0.8666, "angle": 0.46 }, + { "time": 1, "angle": -5.25 } + ] + }, + "right lower leg": { + "rotate": [ + { + "time": 0, + "angle": -3.39, + "curve": [ 0.316, 0.01, 0.741, 0.98 ] + }, + { + "time": 0.1333, + "angle": -43.21, + "curve": [ 0.414, 0, 0.705, 0.99 ] + }, + { "time": 0.2333, "angle": -25.98 }, + { "time": 0.5, "angle": -19.53 }, + { "time": 0.6333, "angle": -64.8 }, + { + "time": 0.7333, + "angle": -89.54, + "curve": [ 0.557, 0.18, 1, 1 ] + }, + { "time": 1, "angle": -3.39 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.5, "x": 0, "y": 0 }, + { "time": 0.6333, "x": 2.18, "y": 0.21 }, + { "time": 1, "x": 0, "y": 0 } + ] + }, + "hip": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": -8.4 }, + { + "time": 0.1333, + "x": 0, + "y": -9.35, + "curve": [ 0.326, 0.05, 0.674, 0.93 ] + }, + { + "time": 0.2333, + "x": 0, + "y": -0.59, + "curve": [ 0.325, 0.39, 0.643, 0.7 ] + }, + { "time": 0.3666, "x": 0, "y": -3.96 }, + { "time": 0.5, "x": 0, "y": -8.4 }, + { + "time": 0.6333, + "x": 0, + "y": -10, + "curve": [ 0.359, 0.47, 0.646, 0.74 ] + }, + { + "time": 0.7333, + "x": 0, + "y": -5.29, + "curve": [ 0.333, 0.36, 0.662, 0.69 ] + }, + { + "time": 0.8, + "x": 0, + "y": -2.49, + "curve": [ 0.322, 0.35, 0.651, 0.68 ] + }, + { "time": 0.8666, "x": 0, "y": -3.96 }, + { "time": 1, "x": 0, "y": -8.4 } + ] + }, + "neck": { + "rotate": [ + { "time": 0, "angle": 3.6 }, + { "time": 0.1333, "angle": 17.49 }, + { "time": 0.2333, "angle": 6.1 }, + { "time": 0.3666, "angle": 3.45 }, + { "time": 0.5, "angle": 5.17 }, + { "time": 0.6333, "angle": 18.36 }, + { "time": 0.7333, "angle": 6.09 }, + { "time": 0.8666, "angle": 2.28 }, + { "time": 1, "angle": 3.6 } + ] + }, + "head": { + "rotate": [ + { + "time": 0, + "angle": 3.6, + "curve": [ 0, 0, 0.704, 1.17 ] + }, + { "time": 0.1333, "angle": -0.2 }, + { "time": 0.2333, "angle": 6.1 }, + { "time": 0.3666, "angle": 3.45 }, + { + "time": 0.5, + "angle": 5.17, + "curve": [ 0, 0, 0.704, 1.61 ] + }, + { "time": 0.6666, "angle": 1.1 }, + { "time": 0.7333, "angle": 6.09 }, + { "time": 0.8666, "angle": 2.28 }, + { "time": 1, "angle": 3.6 } + ] + }, + "pelvis": { + "rotate": [ + { "time": 0, "angle": -1.33 } + ], + "translate": [ + { "time": 0, "x": 0.39, "y": -0.78 } + ] + }, + "spear1": { + "rotate": [ + { "time": 0, "angle": 1.84 }, + { "time": 0.2, "angle": -5.38 }, + { "time": 0.5, "angle": 2.95 }, + { "time": 0.7333, "angle": -3.67 }, + { "time": 1, "angle": 1.84 } + ] + }, + "spear2": { + "rotate": [ + { "time": 0, "angle": 1.84 }, + { "time": 0.2, "angle": -5.38 }, + { "time": 0.5, "angle": 2.95 }, + { "time": 0.7333, "angle": -3.67 }, + { "time": 1, "angle": 1.84 } + ] + }, + "spear3": { + "rotate": [ + { "time": 0, "angle": 3.64 }, + { "time": 0.2, "angle": -3.59 }, + { "time": 0.5, "angle": 4.74 }, + { "time": 0.7333, "angle": -1.87 }, + { "time": 1, "angle": 3.64 } + ] + } + }, + "ffd": { + "default": { + "right hand item": { + "dagger": [ + { + "time": 0, + "offset": 26, + "vertices": [ 2.34, 0.14 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "offset": 8, + "vertices": [ -1.19, 4.31, 0.07, 6.41, 1.66, 6.18, 1.75, 3.59 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1, + "offset": 26, + "vertices": [ 2.34, 0.14 ] + } + ] + } + }, + "goblin": { + "head": { + "head": [ + { + "time": 0, + "curve": [ 0.632, 0, 0.75, 1 ] + }, + { + "time": 0.2, + "vertices": [ -10.97, -6.68, -4.68, -2.46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.08, 0.08, -1.08, 0.08, -1.08, 0.08, 0, 0, -2.22, 2.66, -4.83, 2.7, -5.7, -0.51, -3.15, -1.61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.64, 0.81, -11.82, -1.34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.08, 0.08 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.3666, + "vertices": [ 10.69, 4.05, 3.66, 1.85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.47, 0.09, 1.47, 0.09, 1.47, 0.09, 0, 0, 2.69, -0.22, 3.77, 0.11, 3.68, 1.55, 2.49, 1.65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.45, -3.91, 9.19, -1.66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.47, 0.09 ], + "curve": [ 0.621, 0, 0.75, 1 ] + }, + { + "time": 0.7, + "vertices": [ -10.97, -6.68, -4.68, -2.46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.17, -0.17, -1.17, -0.17, -1.17, -0.17, 0, 0, -2.22, 2.66, -4.83, 2.7, -5.7, -0.51, -3.15, -1.61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.64, 0.81, -11.82, -1.34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.17, -0.17 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.8666, + "vertices": [ 10.69, 4.05, 3.66, 1.85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.38, 0.08, 0.38, 0.08, 0.38, 0.08, 0, 0, 2.69, -0.22, 3.77, 0.11, 3.68, 1.55, 2.49, 1.65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.45, -3.91, 9.19, -1.66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.38, 0.08 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1 } + ] + }, + "left foot": { + "left foot": [ + { + "time": 0, + "offset": 8, + "vertices": [ 3.69, 2.37, -7.16, 18.79, -12.78, 14.77, -12.75, 6.5, -3.13, 1.98, -0.44, 0.36, 0, 0, -3.8, 2.98 ] + }, + { "time": 0.1333 }, + { + "time": 0.2333, + "offset": 8, + "vertices": [ -3.96, -2.34, -5.8, -12.47, -2.23, -12.99, 2.02, -9.1, 0, 0, 0, 0, 0, 0, -1.35, -5.28 ] + }, + { + "time": 0.3666, + "offset": 8, + "vertices": [ 0.66, 0.33, 0.33, 2.69, -0.48, 2.54, -1.13, 1.38, 0, 0, 0, 0, 0, 0, -0.11, 0.79 ] + }, + { "time": 0.5, "curve": "stepped" }, + { "time": 0.6333 }, + { + "time": 0.7333, + "offset": 8, + "vertices": [ -2.97, 9.4, -6.91, 19.92, -10.55, 18.41, -12.37, 12.38, -4.72, 6.3, 0, 0, -1.48, 4.88, -7.06, 10.7 ] + }, + { + "time": 0.8333, + "offset": 6, + "vertices": [ 1.05, 1.56, -2.52, 7.99, -5.52, 17.14, -8.93, 15.79, -10.73, 10.22, -4.23, 5.36, 0, 0, 0, 0, -5.83, 8.55 ] + }, + { + "time": 1, + "offset": 8, + "vertices": [ 3.69, 2.37, -7.16, 18.79, -12.78, 14.77, -12.75, 6.5, -3.13, 1.98, -0.44, 0.36, 0, 0, -3.8, 2.98 ] + } + ] + }, + "pelvis": { + "pelvis": [ + { "time": 0 }, + { + "time": 0.1333, + "offset": 6, + "vertices": [ -0.68, -4.13 ] + }, + { + "time": 0.3333, + "offset": 6, + "vertices": [ -1.04, -3.1 ] + }, + { + "time": 0.7, + "offset": 6, + "vertices": [ -1.42, -6.3 ] + }, + { + "time": 0.8666, + "offset": 6, + "vertices": [ -1.13, -1.79 ] + }, + { "time": 1 } + ] + }, + "right foot": { + "right foot": [ + { "time": 0 }, + { + "time": 0.1333, + "offset": 2, + "vertices": [ -2.81, 2.63, -2.35, 3.89, -1.99, 4.86, -0.93, 5.57, -0.48, 5.09, -0.34, 3.42, -0.17, 1.36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.31, 1.91, -1.32, 3.65 ] + }, + { + "time": 0.2333, + "offset": 2, + "vertices": [ -6.39, 6.41, -7.74, 8.27, -7.02, 11.35, -4.03, 13.93, -2.5, 12.62, -1.46, 7.58, -0.17, 1.36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.84, 2.61, -4.53, 7.92 ] + }, + { + "time": 0.3, + "offset": 2, + "vertices": [ -8.27, 6.68, -9.29, 10.13, -8.62, 14.71, -4.58, 18.81, -2.2, 17.1, -0.07, 9.9, 2.54, 1.01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.94, 2.38, -4.59, 10.01 ] + }, + { + "time": 0.3666, + "offset": 2, + "vertices": [ -10.47, 9.44, -13.36, 12.4, -14.32, 16.94, -9.24, 23.55, -5.51, 21.51, -1.19, 11.53, 2.54, 1.01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.14, 2.29, -6.63, 11.37 ] + }, + { + "time": 0.5, + "offset": 2, + "vertices": [ -5.42, 4.36, -10.59, 7.04, -11.64, 11.55, -6.19, 20.12, -1.45, 18.05, 4.86, 6.41, 2.81, 0.27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.96, 4.94 ] + }, + { "time": 0.6333 }, + { + "time": 0.7333, + "offset": 4, + "vertices": [ 1.31, -6.84, -0.87, -12.54, -5.98, -14.08, -7.15, -11.63, -5.67, -4.83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.06, -6.93 ] + }, + { + "time": 0.8, + "offset": 4, + "vertices": [ 0.65, -3.42, -0.43, -6.27, -2.99, -7.04, -3.57, -5.81, -2.83, -2.41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.79, -1.28, 0, 0, 0, 0, -1.03, -3.46 ] + }, + { "time": 0.8666 } + ] + }, + "right hand": { + "right hand": [ + { + "time": 0, + "offset": 4, + "vertices": [ -1.48, 0.34, 0, 0, 1.31, 0.08, 1.6, 0.09, 0.13, 0.15, 0, 0, 0, 0, -0.72, -0.04 ] + }, + { "time": 0.5 }, + { + "time": 1, + "offset": 4, + "vertices": [ -1.48, 0.34, 0, 0, 1.31, 0.08, 1.6, 0.09, 0.13, 0.15, 0, 0, 0, 0, -0.72, -0.04 ] + } + ] + }, + "right lower leg": { + "right lower leg": [ + { "time": 0 }, + { + "time": 0.6, + "offset": 6, + "vertices": [ 1.8, -1.56 ] + }, + { "time": 1 } + ] + }, + "right upper leg": { + "right upper leg": [ + { + "time": 0, + "vertices": [ -6.03, -1.46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.34, -1.93, -1.86, -5.05, -2.5, -3.09 ] + }, + { "time": 0.3333 }, + { + "time": 0.8666, + "offset": 14, + "vertices": [ 0.13, -2.35, -1.33, -5.99, -1.35, -4.43 ] + }, + { + "time": 1, + "vertices": [ -6.03, -1.46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.34, -1.93, -1.86, -5.05, -2.5, -3.09 ] + } + ] + }, + "torso": { + "torso": [ + { + "time": 0, + "offset": 14, + "vertices": [ -1.48, -0.24, -2.72, -2.15, -0.51, -3.39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.09, -2.61, 0, 0, 0.57, -1.24, 0, 0, 0, 0, -2.11, -3.29 ] + }, + { + "time": 0.1333, + "offset": 14, + "vertices": [ 1.31, -0.59, -0.97, -1.62, 0.74, -0.61, -1.44, 1.97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.65, -3.95, 0, 0, -1.46, -0.31, 0, 0, 0, 0, -3.31, -3.55, -2.56, 0.29 ] + }, + { + "time": 0.3, + "offset": 14, + "vertices": [ 6.03, -3.13, 7.55, -1.38, 6.79, 0.31, 4.23, 1.14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.07, -5.16, 0, 0, 4, 0.27, 0, 0, 0, 0, 3.43, -3.52 ] + }, + { + "time": 0.5, + "offset": 14, + "vertices": [ 2.25, -0.87, 2.57, -0.56, 3.17, -0.57, 1.48, 0.99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.22, -4.43, 0, 0, 1.48, 0.01, 0, 0, 0, 0, 0.31, -3.28, -1.53, 0.17 ] + }, + { + "time": 0.6333, + "offset": 14, + "vertices": [ 0.75, -1.51, -0.97, -1.62, 0.74, -0.61, -1.44, 1.97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.65, -3.95, 0, 0, -1.46, -0.31, 0, 0, 0, 0, -3.31, -3.55, -2.56, 0.29 ] + }, + { + "time": 0.8666, + "offset": 14, + "vertices": [ 0.62, -1.26, 0.38, -2.2, 3.25, -0.5, 2.41, 2.39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.66, -3.1, 0, 0, 2.3, -1.15, 0, 0, 0, 0, -0.07, -3.63, -0.93, 0.1 ] + }, + { + "time": 1, + "offset": 14, + "vertices": [ -1.48, -0.24, -2.72, -2.15, -0.51, -3.39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.09, -2.61, 0, 0, 0.57, -1.24, 0, 0, 0, 0, -2.11, -3.29 ] + } + ] + }, + "undie straps": { + "undie straps": [ + { + "time": 0, + "offset": 2, + "vertices": [ -1.77, 0.54, -0.96, -1.03, -0.39, -0.24, -1.77, 0.54 ] + }, + { + "time": 0.1333, + "offset": 2, + "vertices": [ -2.25, -1.03, -1.49, -4.23, -0.74, -2.84, -1.9, 0.54 ] + }, + { + "time": 0.3333, + "offset": 2, + "vertices": [ -2.37, -0.05, -0.49, 0.19, -0.9, 1.16, -1.6, 2.7, 0.96, 0.8 ] + }, + { + "time": 0.7, + "offset": 2, + "vertices": [ -0.91, -2.76, -0.62, -3.63, -0.84, -2.26, -2.56, 0.52 ] + }, + { + "time": 0.8666, + "offset": 2, + "vertices": [ -2.56, 0.52, -1.58, 0.32, -1.38, 0.32, -2.56, 0.52 ] + }, + { + "time": 1, + "offset": 2, + "vertices": [ -1.77, 0.54, -0.8, 0.53, -0.8, 0.53, -1.77, 0.54 ] + } + ] + }, + "undies": { + "undies": [ + { + "time": 0, + "vertices": [ 0.43, 0.72, 10.6, -0.11, 2.29, 0, 2.29, 0, 2.29, 0, 0.58, 0.24, -2.4, -0.65, -2.27, -0.77, 2.29, 0, 0.58, -0.48, 4.98, -0.11, 6.5, -0.23 ] + }, + { + "time": 0.1333, + "vertices": [ 0.72, 0.43, 7.2, -0.16, 1.37, 0, 1.37, 0, 1.37, 0, 1.25, 0.04, -0.99, -2.95, -1.37, -3.07, 1.37, 0, 0.35, -0.29, 2.99, -0.07, 3.9, -0.14 ] + }, + { + "time": 0.3333, + "vertices": [ 1.16, 0, 2.1, -0.23, 0, 0, 0, 0, 0, 0, 2.24, -0.24, -0.43, 0.6, -1.55, 0.48 ] + }, + { + "time": 0.5333, + "vertices": [ 1.16, 0, -0.23, -0.93, -2.92, 0.35, 0, 0, 0, 0, 0.49, -0.24, -0.64, -2.07, -0.64, -2.07 ] + }, + { + "time": 0.7, + "vertices": [ 1.86, -0.11, 4.66, -0.09, -1.76, 0.21, 0, 0, -0.56, 0.32, -1.13, -1.15, -2.19, -3.47, -1.29, -3.47, 0, 0, 0, 0, 1.58, -0.04, 2.65, 0.16 ] + }, + { + "time": 0.8333, + "vertices": [ 2.41, -0.2, 8.58, 0.58, -0.83, 0.1, 0, 0, -1.02, 0.59, -2.44, -1.87, -1.62, 0, 0, 0, 0, 0, 0, 0, 2.85, -0.08, 4.78, 0.3 ] + }, + { + "time": 0.8666, + "vertices": [ 2.01, -0.02, 8.98, 0.44, -0.2, 0.08, 0.45, 0, -0.35, 0.47, -1.84, -1.44, -0.79, 1.26, 0.53, 1.23, 0.45, 0, 0.11, -0.09, 3.28, -0.09, 5.13, 0.19 ] + }, + { + "time": 1, + "vertices": [ 0.43, 0.72, 10.6, -0.11, 2.29, 0, 2.29, 0, 2.29, 0, 0.58, 0.24, -2.4, -0.65, -2.27, -0.77, 2.29, 0, 0.58, -0.48, 4.98, -0.11, 6.5, -0.23 ] + } + ] + } + } + } + } +} +} \ No newline at end of file diff --git a/spine-tk2d/Assets/examples/goblins/goblins-ffd.json.txt.meta b/spine-tk2d/Assets/examples/goblins/goblins-ffd.json.txt.meta new file mode 100644 index 000000000..680370fa4 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/goblins-ffd.json.txt.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 03dfe4c9b91b93b47816439a1f91a48a +TextScriptImporter: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/goblins.unity b/spine-tk2d/Assets/examples/goblins/goblins.unity new file mode 100644 index 0000000000000000000000000000000000000000..816643e01efdd11345cbb3dbb1d0093556a4a1ce GIT binary patch literal 20384 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 literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/eyes-closed.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/eyes-closed.png.meta new file mode 100644 index 000000000..700d6c794 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/goblin/eyes-closed.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 2f9da4d291a7421488b5d8c4c33fc5b4 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/head.png b/spine-tk2d/Assets/examples/goblins/images/goblin/head.png new file mode 100644 index 0000000000000000000000000000000000000000..81c1b5e1b18a7ea22636fd27423032e0805cc686 GIT binary patch literal 15394 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 M07*qoM6N<$g2Xovq5uE@ literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/head.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/head.png.meta new file mode 100644 index 000000000..9ae734efd --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/goblin/head.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: bcce48841f8498e49876846c151dc4d7 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-arm.png b/spine-tk2d/Assets/examples/goblins/images/goblin/left-arm.png new file mode 100644 index 0000000000000000000000000000000000000000..42f60e0aad6542cc6c98de4b1bdee1b04e7cf3e5 GIT binary patch literal 4335 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 literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-arm.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/left-arm.png.meta new file mode 100644 index 000000000..68c269c84 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/goblin/left-arm.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: cf0aa5059c48db64380b5d8d9d48bbf7 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-foot.png b/spine-tk2d/Assets/examples/goblins/images/goblin/left-foot.png new file mode 100644 index 0000000000000000000000000000000000000000..89c142b7cfb27cdd003d399da5e44e52ef2d55a6 GIT binary patch literal 5684 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 literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-foot.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/left-foot.png.meta new file mode 100644 index 000000000..f6ba394a8 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/goblin/left-foot.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 14451be1ccd40764e9be7944b1b35d7e +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-hand.png b/spine-tk2d/Assets/examples/goblins/images/goblin/left-hand.png new file mode 100644 index 0000000000000000000000000000000000000000..39700f0140ee3215fa7b068cb30b3e86bd4f360f GIT binary patch literal 4632 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 RQ$NpYtjz2Q)ux^a{{sYl5!(O& literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-hand.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/left-hand.png.meta new file mode 100644 index 000000000..6eaa71a39 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/goblin/left-hand.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 2f39487177b6d0f429497745e64e1db0 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-lower-leg.png b/spine-tk2d/Assets/examples/goblins/images/goblin/left-lower-leg.png new file mode 100644 index 0000000000000000000000000000000000000000..dd3e83b671edb3654d39b95814a3a69751bf016e GIT binary patch literal 6111 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 A00000 literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-lower-leg.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/left-lower-leg.png.meta new file mode 100644 index 000000000..b4be08c2f --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/goblin/left-lower-leg.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: d875337f331493b448affcae727ab7b0 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-shoulder.png b/spine-tk2d/Assets/examples/goblins/images/goblin/left-shoulder.png new file mode 100644 index 0000000000000000000000000000000000000000..220b09cbf6d646dbfc4a2829554f5d5fdfc7542e GIT binary patch literal 4008 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 N+1|zxUyk#O{~ye~>+%2q literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-shoulder.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/left-shoulder.png.meta new file mode 100644 index 000000000..f5255ab88 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/goblin/left-shoulder.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 6c0265e742cac734e86738c88cac3187 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-upper-leg.png b/spine-tk2d/Assets/examples/goblins/images/goblin/left-upper-leg.png new file mode 100644 index 0000000000000000000000000000000000000000..a031cf6827610f352c4eae6dff6a561dcba20345 GIT binary patch literal 5738 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 literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-upper-leg.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/left-upper-leg.png.meta new file mode 100644 index 000000000..cf0fb0e1e --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/goblin/left-upper-leg.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 30edd05fdf3f3ec4897c5f095cfba8f9 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/neck.png b/spine-tk2d/Assets/examples/goblins/images/goblin/neck.png new file mode 100644 index 0000000000000000000000000000000000000000..f4f3f04dc929d19aadba6c314e50886261edbf0b GIT binary patch literal 4488 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 byQInE@AZ~bSh4N*uW}Uy4b(e1%i#Y3y`S)W literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/pelvis.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/pelvis.png.meta new file mode 100644 index 000000000..5989ae20d --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/goblin/pelvis.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 34721831e8dc33048a1c642af9c91860 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-arm.png b/spine-tk2d/Assets/examples/goblins/images/goblin/right-arm.png new file mode 100644 index 0000000000000000000000000000000000000000..c7b752bb2edd0cf780526d91860e2fbe5e70b5ec GIT binary patch literal 3749 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 JE3JLw{sY=bZL0tP literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-arm.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/right-arm.png.meta new file mode 100644 index 000000000..c98922722 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/goblin/right-arm.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 0fc0421ba4507d7479276646539febf7 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-foot.png b/spine-tk2d/Assets/examples/goblins/images/goblin/right-foot.png new file mode 100644 index 0000000000000000000000000000000000000000..ce982d31000a558e330238254b28a425c654f346 GIT binary patch literal 5998 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 literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-foot.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/right-foot.png.meta new file mode 100644 index 000000000..8e4e299ef --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/goblin/right-foot.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 232f1d4aee7e76547b4a3349b7fd4f29 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-hand.png b/spine-tk2d/Assets/examples/goblins/images/goblin/right-hand.png new file mode 100644 index 0000000000000000000000000000000000000000..2363fba02c8eee201e3376f175bb94b54ff75af3 GIT binary patch literal 4174 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 Vt!`t?@6Llid}F*ht{m$U@jv&|GVA~V literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-hand.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/right-hand.png.meta new file mode 100644 index 000000000..dec41eb80 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/goblin/right-hand.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: e89eca7d89b489f4491b5ec1cbb3ddf7 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-lower-leg.png b/spine-tk2d/Assets/examples/goblins/images/goblin/right-lower-leg.png new file mode 100644 index 0000000000000000000000000000000000000000..b9bb49654ad69ffeab9264d1633f63339fa7b2ab GIT binary patch literal 6365 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 Awg3PC literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-lower-leg.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/right-lower-leg.png.meta new file mode 100644 index 000000000..f5cca1a75 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/goblin/right-lower-leg.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: aab7b79018a3ec84baccbeb6d9c40554 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-shoulder.png b/spine-tk2d/Assets/examples/goblins/images/goblin/right-shoulder.png new file mode 100644 index 0000000000000000000000000000000000000000..48baa266cea39c9423c2f8e264c65ebfb3771550 GIT binary patch literal 4754 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 literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-upper-leg.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/right-upper-leg.png.meta new file mode 100644 index 000000000..a5298629c --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/goblin/right-upper-leg.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 438e00f2d68cac24bace724555e443b5 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/torso.png b/spine-tk2d/Assets/examples/goblins/images/goblin/torso.png new file mode 100644 index 0000000000000000000000000000000000000000..f9b4314aea092a045c832b11b6516f233072c05d GIT binary patch literal 14342 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 XMqO17bCb(If9A1ONcQKJ0Of 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 ATL1t6 literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/undies.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/undies.png.meta new file mode 100644 index 000000000..de460e4e0 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/goblin/undies.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 10fccc8bd5aead04ca7376a040205f6f +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblingirl.meta b/spine-tk2d/Assets/examples/goblins/images/goblingirl.meta new file mode 100644 index 000000000..6d452d669 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/goblingirl.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 1c61c40d4513f844b9c4bb7bfb8992a6 +folderAsset: yes +DefaultImporter: + userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/shield.png b/spine-tk2d/Assets/examples/goblins/images/shield.png new file mode 100644 index 0000000000000000000000000000000000000000..de431217ccc0a038e0c7cbe3d49cfc2be3b850da GIT binary patch literal 13583 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 literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/examples/goblins/images/spear.png.meta b/spine-tk2d/Assets/examples/goblins/images/spear.png.meta new file mode 100644 index 000000000..b14274471 --- /dev/null +++ b/spine-tk2d/Assets/examples/goblins/images/spear.png.meta @@ -0,0 +1,45 @@ +fileFormatVersion: 2 +guid: 54e7cc7562d107b4d96e0422dc7ed587 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/examples/spineboy/Spineboy SkeletonData.asset b/spine-tk2d/Assets/examples/spineboy/Spineboy SkeletonData.asset index bd6d5fa8732a21fe16df55294f574c0d5abc96bc..e93322ba065f6c0e0a57dcb9f8e7f001af71e562 100644 GIT binary patch delta 73 zcmZ3XxJQwLfq_Gtfk9x;Mvf=!jC(e}WiRGnWSN{OAkE3bz`#(Rn3K&ixmG}02E@xM S%`E`YXV3W9fiRE>W&;4W5)+vK delta 75 zcmdm^xI&SGfq_Gtfk9x!Mvf=!j4L+3WiRGnWS*QTAg#m9z`(!)#95`e1t4}&X&wsy N>=_?B5C%#y005k<5qtmu diff --git a/spine-tk2d/Assets/examples/spineboy/Spineboy.cs b/spine-tk2d/Assets/examples/spineboy/Spineboy.cs index 2ca754fab..615b0e4e0 100644 --- a/spine-tk2d/Assets/examples/spineboy/Spineboy.cs +++ b/spine-tk2d/Assets/examples/spineboy/Spineboy.cs @@ -41,8 +41,8 @@ public class Spineboy : MonoBehaviour { skeletonAnimation = GetComponent(); // Call our method any time an animation fires an event. skeletonAnimation.state.Event += Event; - // Queue jump to be played on track 0 after the starting animation. - skeletonAnimation.state.AddAnimation(0, "jump", false, 0); + // Queue jump to be played on track 0 three seconds after the starting animation. + skeletonAnimation.state.AddAnimation(0, "jump", false, 3); // Queue walk to be looped on track 0 after the jump animation. skeletonAnimation.state.AddAnimation(0, "run", true, 0); } diff --git a/spine-tk2d/Assets/examples/spineboy/spineboy.json.txt b/spine-tk2d/Assets/examples/spineboy/spineboy.json.txt index a673cd0f8..1ffa7aad5 100644 --- a/spine-tk2d/Assets/examples/spineboy/spineboy.json.txt +++ b/spine-tk2d/Assets/examples/spineboy/spineboy.json.txt @@ -1815,55 +1815,55 @@ "slots": { "front_fist": { "attachment": [ - { "time": 0, "name": "front_fist_closed" }, - { "time": 0.2666, "name": "front_fist_open" } + { "time": 0.1333, "name": "front_fist_closed" }, + { "time": 0.4, "name": "front_fist_open" } ] }, "mouth": { "attachment": [ - { "time": 0, "name": "mouth_grind" } + { "time": 0.1333, "name": "mouth_grind" } ] }, "muzzle": { "attachment": [ - { "time": 0, "name": "muzzle" }, - { "time": 0.1333, "name": null } + { "time": 0.1333, "name": "muzzle" }, + { "time": 0.2666, "name": null } ], "color": [ { - "time": 0, + "time": 0.1333, "color": "ffffff00", "curve": [ 0.118, 0.99, 0.75, 1 ] }, { - "time": 0.0333, + "time": 0.1666, "color": "ffffffff", "curve": [ 0.821, 0, 0.909, 0.89 ] }, - { "time": 0.1333, "color": "ffffff00" } + { "time": 0.2666, "color": "ffffff00" } ] } }, "bones": { "front_fist": { "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.2666, "x": 1, "y": 1 } + { "time": 0.1333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.4, "x": 1, "y": 1 } ] }, "gunTip": { "translate": [ - { "time": 0, "x": 0, "y": 0 }, - { "time": 0.0666, "x": 20.93, "y": 1.57 } + { "time": 0.1333, "x": 0, "y": 0 }, + { "time": 0.2, "x": 20.93, "y": 1.57 } ], "scale": [ - { "time": 0, "x": 1, "y": 1 }, - { "time": 0.0666, "x": 1.247, "y": 1.516 } + { "time": 0.1333, "x": 1, "y": 1 }, + { "time": 0.2, "x": 1.247, "y": 1.516 } ] }, "gun": { "rotate": [ - { "time": 0, "angle": 0 } + { "time": 0, "angle": 1.9 } ], "translate": [ { @@ -1872,13 +1872,13 @@ "y": 5.84, "curve": [ 0, 0.3, 0.678, 1 ] }, - { "time": 0.1666, "x": -9.3, "y": -1.41 }, - { "time": 0.2666, "x": 0, "y": 0 } + { "time": 0.3, "x": -9.3, "y": -1.41 }, + { "time": 0.4, "x": 0, "y": 0 } ] }, "rear_bracer": { "rotate": [ - { "time": 0, "angle": 0 } + { "time": 0, "angle": -30.47 } ], "translate": [ { @@ -1887,13 +1887,13 @@ "y": 0, "curve": [ 0, 0.3, 0.678, 1 ] }, - { "time": 0.1666, "x": -5.99, "y": -3.71 }, - { "time": 0.2666, "x": 0, "y": 0 } + { "time": 0.3, "x": -5.99, "y": -3.71 }, + { "time": 0.4, "x": 0, "y": 0 } ] }, "rear_upper_arm": { "rotate": [ - { "time": 0, "angle": 0 } + { "time": 0, "angle": 62.3 } ], "translate": [ { @@ -1902,8 +1902,8 @@ "y": 0, "curve": [ 0, 0.3, 0.678, 1 ] }, - { "time": 0.1666, "x": 2.81, "y": 11.41 }, - { "time": 0.2666, "x": 0, "y": 0 } + { "time": 0.3, "x": 2.81, "y": 11.41 }, + { "time": 0.4, "x": 0, "y": 0 } ] } } diff --git a/spine-tk2d/Assets/examples/spineboy/spineboy.unity b/spine-tk2d/Assets/examples/spineboy/spineboy.unity index 14bfa345cd37537fa652a0389af5745c04e13b1c..49906caddc2009e0a8c1a6d2c53ee17a2753cf88 100644 GIT binary patch delta 873 zcmaKq%WD%+6vodrX_IQ2NljW?TWh3KaZxRzVgzfVyRMu`86p^@!H%RPrV>M?Qb<=Z zQ8#+jb&4*kAXH{ycNI5wkwWRJpkn?2-zyjO@!fC(Rj?PnnR9+~?s?3;8!tt5Nd$<@ zk3`8Z5w#J;>0Tfzd@qbuSKJ!S6(Tg9%1%y@z~^pAE@{)Kd=ME%A%9vQ%h*}FFqMnj zxd}UO=g-jfe+YRI+{5)FI=>IL^K;F^cTaYRUY^&2{LCE^eZ1@*5c~L&78d;tI^_3@ z{nBzywdiiAGrS_4Ay4a${_XqX!S)m4f0dTnd$+5^)BaNDmF!fiK!wSx_SofA)+RSP zA7IfJ*Hi{S2T9mG5QAyWpMK@28ts13}E`#T;1X#Uon zfN8)OSaXtHU<+VdC-H%;@tU#etefXtLU4!Gvln}?R%^8pqPeK7BY)zJR5rs$!XVzTK(=Yfhy>Qk2&Wz=brPOVX8BtJ}tsT z>BmGvbs}m;JbN#ku-d{W1e?)mtIzdDaHzxEq4bYxdCky^$MnLOUet<4oUZ=*y;9u@y-xM?J>=L|9~6}0~Ixx7XmINilh54Z3{upG{w zEE?UE*YztZgH@2jWXX1V3-F?sC(5C