diff --git a/spine-tk2d/Code.meta b/spine-tk2d/Code.meta new file mode 100644 index 000000000..21b8433d2 --- /dev/null +++ b/spine-tk2d/Code.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: f9e5e7e3c96f7624fadc23d2dd2a213e +DefaultImporter: + userData: diff --git a/spine-tk2d/Code/tk2dSpineAttachmentLoader.cs b/spine-tk2d/Code/tk2dSpineAttachmentLoader.cs new file mode 100644 index 000000000..14f1096bc --- /dev/null +++ b/spine-tk2d/Code/tk2dSpineAttachmentLoader.cs @@ -0,0 +1,75 @@ +using System; +using UnityEngine; +using Spine; + +// TODO: handle TPackerCW flip mode (probably not swap uv horizontaly) + +/* + */ +public class tk2dSpineAttachmentLoader : AttachmentLoader { + + /* + */ + private tk2dSpriteCollectionData sprites; + + /* + */ + public tk2dSpineAttachmentLoader(tk2dSpriteCollectionData s) { + if(s == null) throw new ArgumentNullException("sprites cannot be null."); + sprites = s; + } + + public Attachment NewAttachment(Skin skin,AttachmentType type,String name) { + if(type != AttachmentType.region) throw new Exception("Unknown attachment type: " + type); + + tk2dSpriteDefinition attachmentParameters = null; + for(int i = 0; i < sprites.spriteDefinitions.Length; ++i) { + tk2dSpriteDefinition def = sprites.spriteDefinitions[i]; + if(def.name == name) { + attachmentParameters = def; + break; + } + } + + if(attachmentParameters == null ) throw new Exception("Sprite not found in atlas: " + name + " (" + type + ")"); + if(attachmentParameters.complexGeometry) throw new NotImplementedException("Complex geometry is not supported: " + name + " (" + type + ")"); + if(attachmentParameters.flipped == tk2dSpriteDefinition.FlipMode.TPackerCW) throw new NotImplementedException("Only 2d toolkit atlases are supported: " + name + " (" + type + ")"); + Texture tex = attachmentParameters.material.mainTexture; + + Vector2 minTexCoords = Vector2.one; + Vector2 maxTexCoords = Vector2.zero; + for(int i = 0; i < attachmentParameters.uvs.Length; ++i) { + Vector2 uv = attachmentParameters.uvs[i]; + minTexCoords = Vector2.Min(minTexCoords,uv); + maxTexCoords = Vector2.Max(maxTexCoords,uv); + } + + int width = (int)(Mathf.Abs(maxTexCoords.x - minTexCoords.x) * tex.width); + int height = (int)(Mathf.Abs(maxTexCoords.y - minTexCoords.y) * tex.height); + + bool rotated = (attachmentParameters.flipped == tk2dSpriteDefinition.FlipMode.Tk2d); + + if(rotated) { + float temp = minTexCoords.x; + minTexCoords.x = maxTexCoords.x; + maxTexCoords.x = temp; + } + + RegionAttachment attachment = new RegionAttachment(name); + + attachment.SetUVs( + minTexCoords.x, + maxTexCoords.y, + maxTexCoords.x, + minTexCoords.y, + rotated + ); + + attachment.RegionWidth = width; + attachment.RegionHeight = height; + attachment.RegionOriginalWidth = width; + attachment.RegionOriginalHeight = height; + + return attachment; + } +} diff --git a/spine-tk2d/Code/tk2dSpineAttachmentLoader.cs.meta b/spine-tk2d/Code/tk2dSpineAttachmentLoader.cs.meta new file mode 100644 index 000000000..75b7cc390 --- /dev/null +++ b/spine-tk2d/Code/tk2dSpineAttachmentLoader.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9b8ea7c2b29e5814eb0b4b692b828869 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Code/tk2dSpineSkeleton.cs b/spine-tk2d/Code/tk2dSpineSkeleton.cs new file mode 100644 index 000000000..33528e2e9 --- /dev/null +++ b/spine-tk2d/Code/tk2dSpineSkeleton.cs @@ -0,0 +1,191 @@ +using UnityEngine; +using Spine; + +// TODO: multiple atlas support +// TODO: split skeleton and animation components +// TODO: add events in animation component + +/* + */ +[ExecuteInEditMode] +[RequireComponent(typeof(MeshFilter))] +[RequireComponent(typeof(MeshRenderer))] +public class tk2dSpineSkeleton : MonoBehaviour { + + /* + */ + public tk2dSpineSkeletonDataAsset skeletonDataAsset; + public Skeleton skeleton; + + public string animationName; + public bool loop; + public float animationSpeed = 1; + public Spine.AnimationState state; + + /* + */ + private Mesh mesh; + private Vector3[] vertices; + private Color[] colors; + private Vector2[] uvs; + private int[] triangles; + private int cachedQuadCount; + private float[] vertexPositions; + + /* + */ + void Awake() { + vertexPositions = new float[8]; + } + + /* + */ + void Update() { + SkeletonData skeletonData = (skeletonDataAsset != null) ? skeletonDataAsset.GetSkeletonData() : null; + + if(skeletonData == null) { + Clear(); + return; + } + + if(skeleton == null || skeleton.Data != skeletonData) Initialize(); + + UpdateAnimation(); + UpdateSkeleton(); + UpdateCache(); + UpdateMesh(); + } + + /* + */ + private void Clear() { + GetComponent().mesh = null; + DestroyImmediate(mesh); + mesh = null; + + renderer.sharedMaterial = null; + + skeleton = null; + state = null; + } + + /* + */ + private void Initialize() { + mesh = new Mesh(); + GetComponent().mesh = mesh; + mesh.name = "tk2dSkeleton Mesh"; + mesh.hideFlags = HideFlags.HideAndDontSave; + + state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData()); + skeleton = new Skeleton(skeletonDataAsset.GetSkeletonData()); + } + + /* + */ + private void UpdateMesh() { + int quadIndex = 0; + int drawCount = skeleton.DrawOrder.Count; + Color currentColor = new Color(); + + for(int i = 0; i < drawCount; i++) { + Slot slot = skeleton.DrawOrder[i]; + Attachment attachment = slot.Attachment; + + if(attachment is RegionAttachment) { + RegionAttachment regionAttachment = attachment as RegionAttachment; + + regionAttachment.ComputeVertices(slot.Bone,vertexPositions); + int vertexIndex = quadIndex * 4; + + vertices[vertexIndex + 0] = new Vector3(vertexPositions[RegionAttachment.X1],vertexPositions[RegionAttachment.Y1],0); + vertices[vertexIndex + 1] = new Vector3(vertexPositions[RegionAttachment.X4],vertexPositions[RegionAttachment.Y4],0); + vertices[vertexIndex + 2] = new Vector3(vertexPositions[RegionAttachment.X2],vertexPositions[RegionAttachment.Y2],0); + vertices[vertexIndex + 3] = new Vector3(vertexPositions[RegionAttachment.X3],vertexPositions[RegionAttachment.Y3],0); + + float[] regionUVs = regionAttachment.UVs; + uvs[vertexIndex + 0] = 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]); + + currentColor.a = skeleton.A * slot.A; + currentColor.r = skeleton.R * slot.R * slot.A; + currentColor.g = skeleton.G * slot.G * slot.A; + currentColor.b = skeleton.B * slot.B * slot.A; + + colors[vertexIndex] = currentColor; + colors[vertexIndex + 1] = currentColor; + colors[vertexIndex + 2] = currentColor; + colors[vertexIndex + 3] = currentColor; + + int index = quadIndex * 6; + triangles[index + 0] = vertexIndex; + triangles[index + 1] = vertexIndex + 2; + triangles[index + 2] = vertexIndex + 1; + triangles[index + 3] = vertexIndex + 2; + triangles[index + 4] = vertexIndex + 3; + triangles[index + 5] = vertexIndex + 1; + + quadIndex++; + } + } + + mesh.vertices = vertices; + mesh.colors = colors; + mesh.uv = uvs; + mesh.triangles = triangles; + mesh.RecalculateNormals(); + + renderer.sharedMaterial = skeletonDataAsset.sprites.spriteCollection.materials[0]; + } + + /* + */ + private void UpdateCache() { + int quadCount = 0; + int drawCount = skeleton.DrawOrder.Count; + + for(int i = 0; i < drawCount; i++) { + Attachment attachment = skeleton.DrawOrder[i].Attachment; + if(attachment is RegionAttachment) quadCount++; + } + + if(quadCount == cachedQuadCount) return; + + cachedQuadCount = quadCount; + vertices = new Vector3[quadCount * 4]; + uvs = new Vector2[quadCount * 4]; + colors = new Color[quadCount * 4]; + triangles = new int[quadCount * 6]; + } + + /* + */ + private void UpdateSkeleton() { + skeleton.Update(Time.deltaTime * animationSpeed); + skeleton.UpdateWorldTransform(); + } + + /* + */ + private void UpdateAnimation() { + + // Check if we need to stop current animation + if(state.Animation != null && animationName == null) { + state.ClearAnimation(); + } + + // Check for different animation name or animation end + else if(state.Animation == null || animationName != state.Animation.Name) { + Spine.Animation animation = skeleton.Data.FindAnimation(animationName); + if(animation != null) state.SetAnimation(animation,loop); + } + + state.Loop = loop; + + // Update animation + state.Update(Time.deltaTime * animationSpeed); + state.Apply(skeleton); + } +} diff --git a/spine-tk2d/Code/tk2dSpineSkeleton.cs.meta b/spine-tk2d/Code/tk2dSpineSkeleton.cs.meta new file mode 100644 index 000000000..fa2a45a66 --- /dev/null +++ b/spine-tk2d/Code/tk2dSpineSkeleton.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b2ccbecf56104874f886da59557ff3e4 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Code/tk2dSpineSkeletonDataAsset.cs b/spine-tk2d/Code/tk2dSpineSkeletonDataAsset.cs new file mode 100644 index 000000000..a47e40da1 --- /dev/null +++ b/spine-tk2d/Code/tk2dSpineSkeletonDataAsset.cs @@ -0,0 +1,71 @@ +using System; +using System.IO; +using UnityEngine; +using Spine; + +/* + */ +public class tk2dSpineSkeletonDataAsset : ScriptableObject { + + /* + */ + public tk2dSpriteCollection sprites; + public TextAsset skeletonJSON; + + public float scale = 1; + + public string[] fromAnimation; + public string[] toAnimation; + public float[] duration; + + /* + */ + private SkeletonData skeletonData; + private AnimationStateData stateData; + + /* + */ + public SkeletonData GetSkeletonData() { + if(skeletonData != null) return skeletonData; + + MakeSkeletonAndAnimationData(); + return skeletonData; + } + + public AnimationStateData GetAnimationStateData () { + if(stateData != null) return stateData; + + MakeSkeletonAndAnimationData(); + return stateData; + } + + /* + */ + private void MakeSkeletonAndAnimationData() { + if(sprites == null) { + Debug.LogWarning("Sprite collection not set for skeleton data asset: " + name,this); + return; + } + + if(skeletonJSON == null) { + Debug.LogWarning("Skeleton JSON file not set for skeleton data asset: " + name,this); + return; + } + + SkeletonJson json = new SkeletonJson(new tk2dSpineAttachmentLoader(sprites.spriteCollection)); + json.Scale = 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); + return; + } + + stateData = new AnimationStateData(skeletonData); + for(int i = 0, n = fromAnimation.Length; i < n; i++) { + if(fromAnimation[i].Length == 0 || toAnimation[i].Length == 0) continue; + stateData.SetMix(fromAnimation[i],toAnimation[i],duration[i]); + } + } +} diff --git a/spine-tk2d/Code/tk2dSpineSkeletonDataAsset.cs.meta b/spine-tk2d/Code/tk2dSpineSkeletonDataAsset.cs.meta new file mode 100644 index 000000000..ef43eb95e --- /dev/null +++ b/spine-tk2d/Code/tk2dSpineSkeletonDataAsset.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c62fe2307a465b14793b8fdde54fdbe4 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Editor.meta b/spine-tk2d/Editor.meta new file mode 100644 index 000000000..e6f5ac62d --- /dev/null +++ b/spine-tk2d/Editor.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: d08845badc896464e8b2e5402b1178f4 +DefaultImporter: + userData: diff --git a/spine-tk2d/Editor/tk2dSpineMenus.cs b/spine-tk2d/Editor/tk2dSpineMenus.cs new file mode 100644 index 000000000..ebd92426f --- /dev/null +++ b/spine-tk2d/Editor/tk2dSpineMenus.cs @@ -0,0 +1,51 @@ +using System; +using System.IO; +using UnityEditor; +using UnityEngine; +using Spine; + +/* + */ +public class tk2dSpineMenus { + + /* + */ + [MenuItem("Assets/Create/tk2d/Spine Skeleton Data")] + static public void CreateSkeletonData() { + string path = ""; + try { + path = Path.GetDirectoryName(AssetDatabase.GetAssetPath(Selection.activeObject)) + "/"; + } catch (Exception) { + path = "Assets/"; + } + + ScriptableObject asset = ScriptableObject.CreateInstance(); + AssetDatabase.CreateAsset(asset,path + "New Spine Skeleton Data.asset"); + AssetDatabase.SaveAssets(); + EditorUtility.FocusProjectWindow(); + Selection.activeObject = asset; + } + + /* + */ + [MenuItem("GameObject/Create Other/tk2d/Spine Skeleton")] + static public void CreateSkeletonGameObject() { + GameObject gameObject = new GameObject("New tk2d Spine Skeleton",typeof(tk2dSpineSkeleton)); + EditorUtility.FocusProjectWindow(); + Selection.activeObject = gameObject; + } + + /* + */ + [MenuItem("Component/2D Toolkit/Spine Skeleton")] + static public void CreateSkeletonComponent() { + Selection.activeGameObject.AddComponent(typeof(tk2dSpineSkeleton)); + } + + /* + */ + [MenuItem("Component/2d Toolkit/Spine Skeleton",true)] + static public bool ValidateCreateSkeletonComponent() { + return Selection.activeGameObject != null && Selection.activeGameObject.GetComponent(typeof(tk2dSpineSkeleton)) == null; + } +} diff --git a/spine-tk2d/Editor/tk2dSpineMenus.cs.meta b/spine-tk2d/Editor/tk2dSpineMenus.cs.meta new file mode 100644 index 000000000..b87f858f6 --- /dev/null +++ b/spine-tk2d/Editor/tk2dSpineMenus.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5673189c5c1030b4783c8945f5a5f52e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Editor/tk2dSpineSkeletonDataAssetInspector.cs b/spine-tk2d/Editor/tk2dSpineSkeletonDataAssetInspector.cs new file mode 100644 index 000000000..286007fcc --- /dev/null +++ b/spine-tk2d/Editor/tk2dSpineSkeletonDataAssetInspector.cs @@ -0,0 +1,90 @@ +using System; +using UnityEditor; +using UnityEngine; +using Spine; + +/* + */ +[CustomEditor(typeof(tk2dSpineSkeletonDataAsset))] +public class tk2dSpineSkeletonDataAssetInspector : Editor { + + /* + */ + private SerializedProperty sprites; + private SerializedProperty skeletonJSON; + private SerializedProperty scale; + private SerializedProperty fromAnimation; + private SerializedProperty toAnimation; + private SerializedProperty duration; + private bool showAnimationStateData = true; + + /* + */ + void OnEnable () { + sprites = serializedObject.FindProperty("sprites"); + skeletonJSON = serializedObject.FindProperty("skeletonJSON"); + scale = serializedObject.FindProperty("scale"); + fromAnimation = serializedObject.FindProperty("fromAnimation"); + toAnimation = serializedObject.FindProperty("toAnimation"); + duration = serializedObject.FindProperty("duration"); + } + + /* + */ + public override void OnInspectorGUI () { + serializedObject.Update(); + + tk2dSpineSkeletonDataAsset asset = target as tk2dSpineSkeletonDataAsset; + + EditorGUIUtility.LookLikeInspector(); + EditorGUILayout.PropertyField(sprites); + EditorGUILayout.PropertyField(skeletonJSON); + EditorGUILayout.PropertyField(scale); + + SkeletonData skeletonData = asset.GetSkeletonData(); + if(skeletonData != null) { + showAnimationStateData = EditorGUILayout.Foldout(showAnimationStateData,"Animation State Data"); + if(showAnimationStateData) { + + String[] animations = new String[skeletonData.Animations.Count]; + for (int i = 0; i < animations.Length; i++) { + animations[i] = skeletonData.Animations[i].Name; + } + + for(int i = 0; i < fromAnimation.arraySize; i++) { + SerializedProperty from = fromAnimation.GetArrayElementAtIndex(i); + SerializedProperty to = toAnimation.GetArrayElementAtIndex(i); + SerializedProperty durationProp = duration.GetArrayElementAtIndex(i); + + EditorGUILayout.BeginHorizontal(); + + from.stringValue = animations[EditorGUILayout.Popup(Math.Max(Array.IndexOf(animations,from.stringValue),0),animations)]; + to.stringValue = animations[EditorGUILayout.Popup(Math.Max(Array.IndexOf(animations,to.stringValue),0),animations)]; + durationProp.floatValue = EditorGUILayout.FloatField(durationProp.floatValue); + + if(GUILayout.Button("Delete")) { + duration.DeleteArrayElementAtIndex(i); + toAnimation.DeleteArrayElementAtIndex(i); + fromAnimation.DeleteArrayElementAtIndex(i); + } + + EditorGUILayout.EndHorizontal(); + } + + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.Space(); + + if(GUILayout.Button("Add Mix")) { + duration.arraySize++; + toAnimation.arraySize++; + fromAnimation.arraySize++; + } + + EditorGUILayout.Space(); + EditorGUILayout.EndHorizontal(); + } + } + + serializedObject.ApplyModifiedProperties(); + } +} diff --git a/spine-tk2d/Editor/tk2dSpineSkeletonDataAssetInspector.cs.meta b/spine-tk2d/Editor/tk2dSpineSkeletonDataAssetInspector.cs.meta new file mode 100644 index 000000000..d9414a9cf --- /dev/null +++ b/spine-tk2d/Editor/tk2dSpineSkeletonDataAssetInspector.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7d6409f1851f307478265bb32705931c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Example.meta b/spine-tk2d/Example.meta new file mode 100644 index 000000000..ac24569ed --- /dev/null +++ b/spine-tk2d/Example.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: d7fb4e32bd1ec744aa7d9baa92bf4665 +DefaultImporter: + userData: diff --git a/spine-tk2d/Example/Example.unity b/spine-tk2d/Example/Example.unity new file mode 100644 index 000000000..984945f60 Binary files /dev/null and b/spine-tk2d/Example/Example.unity differ diff --git a/spine-tk2d/Example/Example.unity.meta b/spine-tk2d/Example/Example.unity.meta new file mode 100644 index 000000000..bd083a187 --- /dev/null +++ b/spine-tk2d/Example/Example.unity.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: a6669a1e8d1cb5c45b165fe92714942b +DefaultImporter: + userData: diff --git a/spine-tk2d/Example/Scripts.meta b/spine-tk2d/Example/Scripts.meta new file mode 100644 index 000000000..e71894526 --- /dev/null +++ b/spine-tk2d/Example/Scripts.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 0d6ddec953cd68340ad934b7dbc49aee +DefaultImporter: + userData: diff --git a/spine-tk2d/Example/Scripts/tk2dSpineboy.cs b/spine-tk2d/Example/Scripts/tk2dSpineboy.cs new file mode 100644 index 000000000..a9461d03c --- /dev/null +++ b/spine-tk2d/Example/Scripts/tk2dSpineboy.cs @@ -0,0 +1,35 @@ +using UnityEngine; +using System.Collections; + +/* + */ +public class tk2dSpineboy : MonoBehaviour { + + /* + */ + private tk2dSpineSkeleton skeleton; + + /* + */ + void Start() { + skeleton = GetComponent(); + } + + /* + */ + void Update() { + if(skeleton.loop) return; + + if(skeleton.state.Time >= skeleton.state.Animation.Duration - 0.25) { + skeleton.animationName = "walk"; + skeleton.loop = true; + } + } + + /* + */ + void OnMouseDown() { + skeleton.animationName = "jump"; + skeleton.loop = false; + } +} diff --git a/spine-tk2d/Example/Scripts/tk2dSpineboy.cs.meta b/spine-tk2d/Example/Scripts/tk2dSpineboy.cs.meta new file mode 100644 index 000000000..f72d4bd42 --- /dev/null +++ b/spine-tk2d/Example/Scripts/tk2dSpineboy.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f759d8e3f055a02448de557d18984e50 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Example/Shaders.meta b/spine-tk2d/Example/Shaders.meta new file mode 100644 index 000000000..27c25c0eb --- /dev/null +++ b/spine-tk2d/Example/Shaders.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 8ca40ac45f5827b4cb73b6350a93ba0c +DefaultImporter: + userData: diff --git a/spine-tk2d/Example/Shaders/Skeleton.shader b/spine-tk2d/Example/Shaders/Skeleton.shader new file mode 100644 index 000000000..b9008410b --- /dev/null +++ b/spine-tk2d/Example/Shaders/Skeleton.shader @@ -0,0 +1,17 @@ +Shader "Skeleton" { + Properties { + _MainTex ("Texture to blend", 2D) = "black" {} + } + SubShader { + Tags { "Queue" = "Transparent" } + Cull Off + Lighting Off + ZWrite Off + Blend One OneMinusSrcAlpha + Pass { + SetTexture [_MainTex] { + combine texture + } + } + } +} \ No newline at end of file diff --git a/spine-tk2d/Example/Shaders/Skeleton.shader.meta b/spine-tk2d/Example/Shaders/Skeleton.shader.meta new file mode 100644 index 000000000..885b1a13d --- /dev/null +++ b/spine-tk2d/Example/Shaders/Skeleton.shader.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: a02018010e423474383a6781a025f491 +ShaderImporter: + userData: diff --git a/spine-tk2d/Example/Spineboy.meta b/spine-tk2d/Example/Spineboy.meta new file mode 100644 index 000000000..579741202 --- /dev/null +++ b/spine-tk2d/Example/Spineboy.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: ffc1cb83c8d59e94e8f56a1656ea21f4 +DefaultImporter: + userData: diff --git a/spine-tk2d/Example/Spineboy/Altas.meta b/spine-tk2d/Example/Spineboy/Altas.meta new file mode 100644 index 000000000..1441e5ced --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Altas.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 1b290ad24ac5c0d48a707d637f1fa95b +DefaultImporter: + userData: diff --git a/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlas.png b/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlas.png new file mode 100644 index 000000000..0de4fa319 Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlas.png differ diff --git a/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlas.png.meta b/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlas.png.meta new file mode 100644 index 000000000..0d933c9d1 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlas.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 95ec4cafdddd2864899a670bcfe663bb +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: 512 + textureSettings: + filterMode: 1 + aniso: 0 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + textureType: -1 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlas.prefab b/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlas.prefab new file mode 100644 index 000000000..d16f8559a Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlas.prefab differ diff --git a/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlas.prefab.meta b/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlas.prefab.meta new file mode 100644 index 000000000..89ea0d2ca --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlas.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: fd73ca199e8da1b45ad5acbcb2852f85 +NativeFormatImporter: + userData: diff --git a/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlasData.prefab b/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlasData.prefab new file mode 100644 index 000000000..d88de194d Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlasData.prefab differ diff --git a/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlasData.prefab.meta b/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlasData.prefab.meta new file mode 100644 index 000000000..10fcfc35c --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Altas/SpineboyAtlasData.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: d851f51ee5bf0f4478d45aec10e9e3fb +NativeFormatImporter: + userData: diff --git a/spine-tk2d/Example/Spineboy/Altas/SpineboyMaterial.mat b/spine-tk2d/Example/Spineboy/Altas/SpineboyMaterial.mat new file mode 100644 index 000000000..f593b1321 Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Altas/SpineboyMaterial.mat differ diff --git a/spine-tk2d/Example/Spineboy/Altas/SpineboyMaterial.mat.meta b/spine-tk2d/Example/Spineboy/Altas/SpineboyMaterial.mat.meta new file mode 100644 index 000000000..c3c63a3c8 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Altas/SpineboyMaterial.mat.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 74d9d6e85eeb5ec448f2c0c636345ed8 +NativeFormatImporter: + userData: diff --git a/spine-tk2d/Example/Spineboy/Skeleton.meta b/spine-tk2d/Example/Spineboy/Skeleton.meta new file mode 100644 index 000000000..e2af3c822 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Skeleton.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 1bbae6252278b4f4797821285fca644d +DefaultImporter: + userData: diff --git a/spine-tk2d/Example/Spineboy/Skeleton/Spineboy.json.txt b/spine-tk2d/Example/Spineboy/Skeleton/Spineboy.json.txt new file mode 100644 index 000000000..57b0f6cbe --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Skeleton/Spineboy.json.txt @@ -0,0 +1,787 @@ +{ +"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": "left lower leg", "parent": "left upper leg", "length": 56.45, "x": 51.78, "y": 3.46, "rotation": -16.65 }, + { "name": "left foot", "parent": "left lower leg", "length": 46.5, "x": 64.02, "y": -8.67, "rotation": 102.43 }, + { "name": "right upper leg", "parent": "hip", "length": 45.76, "x": -18.27, "rotation": -101.13 }, + { "name": "right lower leg", "parent": "right upper leg", "length": 58.52, "x": 50.21, "y": 0.6, "rotation": -10.7 }, + { "name": "right foot", "parent": "right lower leg", "length": 45.45, "x": 64.88, "y": 0.04, "rotation": 110.3 }, + { "name": "torso", "parent": "hip", "length": 85.82, "x": -6.42, "y": 1.97, "rotation": 94.95 }, + { "name": "neck", "parent": "torso", "length": 18.38, "x": 83.64, "y": -1.78, "rotation": 0.9 }, + { "name": "head", "parent": "neck", "length": 68.28, "x": 19.09, "y": 6.97, "rotation": -8.94 }, + { "name": "right shoulder", "parent": "torso", "length": 49.95, "x": 81.9, "y": 6.79, "rotation": 130.6 }, + { "name": "right arm", "parent": "right shoulder", "length": 36.74, "x": 49.95, "y": -0.12, "rotation": 40.12 }, + { "name": "right hand", "parent": "right arm", "length": 15.32, "x": 36.9, "y": 0.34, "rotation": 2.35 }, + { "name": "left shoulder", "parent": "torso", "length": 44.19, "x": 78.96, "y": -15.75, "rotation": -156.96 }, + { "name": "left arm", "parent": "left shoulder", "length": 35.62, "x": 44.19, "y": -0.01, "rotation": 28.16 }, + { "name": "left hand", "parent": "left arm", "length": 11.52, "x": 35.62, "y": 0.07, "rotation": 2.7 }, + { "name": "pelvis", "parent": "hip", "x": 1.41, "y": -6.57 } +], +"slots": [ + { "name": "left shoulder", "bone": "left shoulder", "attachment": "left-shoulder" }, + { "name": "left arm", "bone": "left arm", "attachment": "left-arm" }, + { "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": "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": "right upper leg", "bone": "right upper leg", "attachment": "right-upper-leg" }, + { "name": "torso", "bone": "torso", "attachment": "torso" }, + { "name": "neck", "bone": "neck", "attachment": "neck" }, + { "name": "head", "bone": "head", "attachment": "head" }, + { "name": "eyes", "bone": "head", "attachment": "eyes" }, + { "name": "right shoulder", "bone": "right shoulder", "attachment": "right-shoulder" }, + { "name": "right arm", "bone": "right arm", "attachment": "right-arm" }, + { "name": "right hand", "bone": "right hand", "attachment": "right-hand" } +], +"skins": { + "default": { + "left shoulder": { + "left-shoulder": { "x": 23.74, "y": 0.11, "rotation": 62.01, "width": 34, "height": 53 } + }, + "left arm": { + "left-arm": { "x": 15.11, "y": -0.44, "rotation": 33.84, "width": 35, "height": 29 } + }, + "left hand": { + "left-hand": { "x": 0.75, "y": 1.86, "rotation": 31.14, "width": 35, "height": 38 } + }, + "left foot": { + "left-foot": { "x": 24.35, "y": 8.88, "rotation": 3.32, "width": 65, "height": 30 } + }, + "left lower leg": { + "left-lower-leg": { "x": 24.55, "y": -1.92, "rotation": 105.75, "width": 49, "height": 64 } + }, + "left upper leg": { + "left-upper-leg": { "x": 26.12, "y": -1.85, "rotation": 89.09, "width": 33, "height": 67 } + }, + "pelvis": { + "pelvis": { "x": -4.83, "y": 10.62, "width": 63, "height": 47 } + }, + "right foot": { + "right-foot": { "x": 19.02, "y": 8.47, "rotation": 1.52, "width": 67, "height": 30 } + }, + "right lower leg": { + "right-lower-leg": { "x": 23.28, "y": -2.59, "rotation": 111.83, "width": 51, "height": 64 } + }, + "right upper leg": { + "right-upper-leg": { "x": 23.03, "y": 0.25, "rotation": 101.13, "width": 44, "height": 70 } + }, + "torso": { + "torso": { "x": 44.57, "y": -7.08, "rotation": -94.95, "width": 68, "height": 92 } + }, + "neck": { + "neck": { "x": 9.42, "y": -3.66, "rotation": -100.15, "width": 34, "height": 28 } + }, + "head": { + "head": { "x": 53.94, "y": -5.75, "rotation": -86.9, "width": 121, "height": 132 } + }, + "eyes": { + "eyes": { "x": 28.94, "y": -32.92, "rotation": -86.9, "width": 34, "height": 27 }, + "eyes-closed": { "x": 28.77, "y": -32.86, "rotation": -86.9, "width": 34, "height": 27 } + }, + "right shoulder": { + "right-shoulder": { "x": 25.86, "y": 0.03, "rotation": 134.44, "width": 52, "height": 51 } + }, + "right arm": { + "right-arm": { "x": 18.34, "y": -2.64, "rotation": 94.32, "width": 21, "height": 45 } + }, + "right hand": { + "right-hand": { "x": 6.82, "y": 1.25, "rotation": 91.96, "width": 32, "height": 32 } + } + } +}, +"animations": { + "walk": { + "bones": { + "left upper leg": { + "rotate": [ + { "time": 0, "angle": -26.55 }, + { "time": 0.1333, "angle": -8.78 }, + { "time": 0.2666, "angle": 9.51 }, + { "time": 0.4, "angle": 30.74 }, + { "time": 0.5333, "angle": 25.33 }, + { "time": 0.6666, "angle": 26.11 }, + { "time": 0.8, "angle": -7.7 }, + { "time": 0.9333, "angle": -21.19 }, + { "time": 1.0666, "angle": -26.55 } + ], + "translate": [ + { "time": 0, "x": -3, "y": -2.25 }, + { "time": 0.4, "x": -2.18, "y": -2.25 }, + { "time": 1.0666, "x": -3, "y": -2.25 } + ] + }, + "right upper leg": { + "rotate": [ + { "time": 0, "angle": 42.45 }, + { "time": 0.1333, "angle": 52.1 }, + { "time": 0.2666, "angle": 5.96 }, + { "time": 0.5333, "angle": -16.93 }, + { "time": 0.6666, "angle": 1.89 }, + { + "time": 0.8, + "angle": 28.06, + "curve": [ 0.462, 0.11, 1, 1 ] + }, + { + "time": 0.9333, + "angle": 58.68, + "curve": [ 0.5, 0.02, 1, 1 ] + }, + { "time": 1.0666, "angle": 42.45 } + ], + "translate": [ + { "time": 0, "x": 8.11, "y": -2.36 }, + { "time": 0.1333, "x": 10.03, "y": -2.56 }, + { "time": 0.4, "x": 2.76, "y": -2.97 }, + { "time": 0.5333, "x": 2.76, "y": -2.81 }, + { "time": 0.9333, "x": 8.67, "y": -2.54 }, + { "time": 1.0666, "x": 8.11, "y": -2.36 } + ] + }, + "left lower leg": { + "rotate": [ + { "time": 0, "angle": -10.21 }, + { "time": 0.1333, "angle": -55.64 }, + { "time": 0.2666, "angle": -68.12 }, + { "time": 0.5333, "angle": 5.11 }, + { "time": 0.6666, "angle": -28.29 }, + { "time": 0.8, "angle": 4.08 }, + { "time": 0.9333, "angle": 3.53 }, + { "time": 1.0666, "angle": -10.21 } + ] + }, + "left foot": { + "rotate": [ + { "time": 0, "angle": -3.69 }, + { "time": 0.1333, "angle": -10.42 }, + { "time": 0.2666, "angle": -17.14 }, + { "time": 0.4, "angle": -2.83 }, + { "time": 0.5333, "angle": -3.87 }, + { "time": 0.6666, "angle": 2.78 }, + { "time": 0.8, "angle": 1.68 }, + { "time": 0.9333, "angle": -8.54 }, + { "time": 1.0666, "angle": -3.69 } + ] + }, + "right shoulder": { + "rotate": [ + { + "time": 0, + "angle": 20.89, + "curve": [ 0.264, 0, 0.75, 1 ] + }, + { + "time": 0.1333, + "angle": 3.72, + "curve": [ 0.272, 0, 0.841, 1 ] + }, + { "time": 0.6666, "angle": -278.28 }, + { "time": 1.0666, "angle": 20.89 } + ], + "translate": [ + { "time": 0, "x": -7.84, "y": 7.19 }, + { "time": 0.1333, "x": -6.36, "y": 6.42 }, + { "time": 0.6666, "x": -11.07, "y": 5.25 }, + { "time": 1.0666, "x": -7.84, "y": 7.19 } + ] + }, + "right arm": { + "rotate": [ + { + "time": 0, + "angle": -4.02, + "curve": [ 0.267, 0, 0.804, 0.99 ] + }, + { + "time": 0.1333, + "angle": -13.99, + "curve": [ 0.341, 0, 1, 1 ] + }, + { + "time": 0.6666, + "angle": 36.54, + "curve": [ 0.307, 0, 0.787, 0.99 ] + }, + { "time": 1.0666, "angle": -4.02 } + ] + }, + "right hand": { + "rotate": [ + { "time": 0, "angle": 22.92 }, + { "time": 0.4, "angle": -8.97 }, + { "time": 0.6666, "angle": 0.51 }, + { "time": 1.0666, "angle": 22.92 } + ] + }, + "left shoulder": { + "rotate": [ + { "time": 0, "angle": -1.47 }, + { "time": 0.1333, "angle": 13.6 }, + { "time": 0.6666, "angle": 280.74 }, + { "time": 1.0666, "angle": -1.47 } + ], + "translate": [ + { "time": 0, "x": -1.76, "y": 0.56 }, + { "time": 0.6666, "x": -2.47, "y": 8.14 }, + { "time": 1.0666, "x": -1.76, "y": 0.56 } + ] + }, + "left hand": { + "rotate": [ + { + "time": 0, + "angle": 11.58, + "curve": [ 0.169, 0.37, 0.632, 1.55 ] + }, + { + "time": 0.1333, + "angle": 28.13, + "curve": [ 0.692, 0, 0.692, 0.99 ] + }, + { + "time": 0.6666, + "angle": -27.42, + "curve": [ 0.117, 0.41, 0.738, 1.76 ] + }, + { "time": 0.8, "angle": -36.32 }, + { "time": 1.0666, "angle": 11.58 } + ] + }, + "left arm": { + "rotate": [ + { "time": 0, "angle": -8.27 }, + { "time": 0.1333, "angle": 18.43 }, + { "time": 0.6666, "angle": 0.88 }, + { "time": 1.0666, "angle": -8.27 } + ] + }, + "torso": { + "rotate": [ + { "time": 0, "angle": -10.28 }, + { + "time": 0.1333, + "angle": -15.38, + "curve": [ 0.545, 0, 1, 1 ] + }, + { + "time": 0.4, + "angle": -9.78, + "curve": [ 0.58, 0.17, 1, 1 ] + }, + { "time": 0.6666, "angle": -15.75 }, + { "time": 0.9333, "angle": -7.06 }, + { "time": 1.0666, "angle": -10.28 } + ], + "translate": [ + { "time": 0, "x": -3.67, "y": 1.68 }, + { "time": 0.1333, "x": -3.67, "y": 0.68 }, + { "time": 0.4, "x": -3.67, "y": 1.97 }, + { "time": 0.6666, "x": -3.67, "y": -0.14 }, + { "time": 1.0666, "x": -3.67, "y": 1.68 } + ] + }, + "right foot": { + "rotate": [ + { "time": 0, "angle": -5.25 }, + { "time": 0.2666, "angle": -4.08 }, + { "time": 0.4, "angle": -6.45 }, + { "time": 0.5333, "angle": -5.39 }, + { "time": 0.8, "angle": -11.68 }, + { "time": 0.9333, "angle": 0.46 }, + { "time": 1.0666, "angle": -5.25 } + ] + }, + "right lower leg": { + "rotate": [ + { "time": 0, "angle": -3.39 }, + { "time": 0.1333, "angle": -45.53 }, + { "time": 0.2666, "angle": -2.59 }, + { "time": 0.5333, "angle": -19.53 }, + { "time": 0.6666, "angle": -64.8 }, + { + "time": 0.8, + "angle": -82.56, + "curve": [ 0.557, 0.18, 1, 1 ] + }, + { "time": 1.0666, "angle": -3.39 } + ] + }, + "hip": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { + "time": 0.1333, + "x": 0, + "y": -7.61, + "curve": [ 0.272, 0.86, 1, 1 ] + }, + { "time": 0.4, "x": 0, "y": 8.7 }, + { "time": 0.5333, "x": 0, "y": -0.41 }, + { + "time": 0.6666, + "x": 0, + "y": -7.05, + "curve": [ 0.235, 0.89, 1, 1 ] + }, + { "time": 0.8, "x": 0, "y": 2.92 }, + { "time": 0.9333, "x": 0, "y": 6.78 }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "neck": { + "rotate": [ + { "time": 0, "angle": 3.6 }, + { "time": 0.1333, "angle": 17.49 }, + { "time": 0.2666, "angle": 6.1 }, + { "time": 0.4, "angle": 3.45 }, + { "time": 0.5333, "angle": 5.17 }, + { "time": 0.6666, "angle": 18.36 }, + { "time": 0.8, "angle": 6.09 }, + { "time": 0.9333, "angle": 2.28 }, + { "time": 1.0666, "angle": 3.6 } + ] + }, + "head": { + "rotate": [ + { + "time": 0, + "angle": 3.6, + "curve": [ 0, 0, 0.704, 1.61 ] + }, + { "time": 0.1666, "angle": -0.2 }, + { "time": 0.2666, "angle": 6.1 }, + { "time": 0.4, "angle": 3.45 }, + { + "time": 0.5333, + "angle": 5.17, + "curve": [ 0, 0, 0.704, 1.61 ] + }, + { "time": 0.7, "angle": 1.1 }, + { "time": 0.8, "angle": 6.09 }, + { "time": 0.9333, "angle": 2.28 }, + { "time": 1.0666, "angle": 3.6 } + ] + } + } + }, + "jump": { + "bones": { + "hip": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.9333, "angle": 0, "curve": "stepped" }, + { "time": 1.3666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -11.57, "y": -3 }, + { "time": 0.2333, "x": -16.2, "y": -19.43 }, + { + "time": 0.3333, + "x": 7.66, + "y": -8.48, + "curve": [ 0.057, 0.06, 0.712, 1 ] + }, + { "time": 0.3666, "x": 15.38, "y": 5.01 }, + { "time": 0.4666, "x": -7.84, "y": 57.22 }, + { + "time": 0.6, + "x": -10.81, + "y": 96.34, + "curve": [ 0.241, 0, 1, 1 ] + }, + { "time": 0.7333, "x": -7.01, "y": 54.7 }, + { "time": 0.8, "x": -10.58, "y": 32.2 }, + { "time": 0.9333, "x": -31.99, "y": 0.45 }, + { "time": 1.0666, "x": -12.48, "y": -29.47 }, + { "time": 1.3666, "x": -11.57, "y": -3 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "left upper leg": { + "rotate": [ + { "time": 0, "angle": 17.13 }, + { "time": 0.2333, "angle": 44.35 }, + { "time": 0.3333, "angle": 16.46 }, + { "time": 0.4, "angle": -9.88 }, + { "time": 0.4666, "angle": -11.42 }, + { "time": 0.5666, "angle": 23.46 }, + { "time": 0.7666, "angle": 71.82 }, + { "time": 0.9333, "angle": 65.53 }, + { "time": 1.0666, "angle": 51.01 }, + { "time": 1.3666, "angle": 17.13 } + ], + "translate": [ + { "time": 0, "x": -3, "y": -2.25, "curve": "stepped" }, + { "time": 0.9333, "x": -3, "y": -2.25, "curve": "stepped" }, + { "time": 1.3666, "x": -3, "y": -2.25 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "left lower leg": { + "rotate": [ + { "time": 0, "angle": -16.25 }, + { "time": 0.2333, "angle": -52.21 }, + { "time": 0.4, "angle": 15.04 }, + { "time": 0.4666, "angle": -8.95 }, + { "time": 0.5666, "angle": -39.53 }, + { "time": 0.7666, "angle": -27.27 }, + { "time": 0.9333, "angle": -3.52 }, + { "time": 1.0666, "angle": -61.92 }, + { "time": 1.3666, "angle": -16.25 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "left foot": { + "rotate": [ + { "time": 0, "angle": 0.33 }, + { "time": 0.2333, "angle": 6.2 }, + { "time": 0.3333, "angle": 14.73 }, + { "time": 0.4, "angle": -15.54 }, + { "time": 0.4333, "angle": -21.2 }, + { "time": 0.5666, "angle": -7.55 }, + { "time": 0.7666, "angle": -0.67 }, + { "time": 0.9333, "angle": -0.58 }, + { "time": 1.0666, "angle": 14.64 }, + { "time": 1.3666, "angle": 0.33 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "right upper leg": { + "rotate": [ + { "time": 0, "angle": 25.97 }, + { "time": 0.2333, "angle": 46.43 }, + { "time": 0.3333, "angle": 22.61 }, + { "time": 0.4, "angle": 2.13 }, + { + "time": 0.4666, + "angle": 0.04, + "curve": [ 0, 0, 0.637, 0.98 ] + }, + { "time": 0.6, "angle": 65.55 }, + { "time": 0.7666, "angle": 64.93 }, + { "time": 0.9333, "angle": 41.08 }, + { "time": 1.0666, "angle": 66.25 }, + { "time": 1.3666, "angle": 25.97 } + ], + "translate": [ + { "time": 0, "x": 5.74, "y": 0.61 }, + { "time": 0.2333, "x": 4.79, "y": 1.79 }, + { "time": 0.3333, "x": 6.05, "y": -4.55 }, + { "time": 0.9333, "x": 4.79, "y": 1.79, "curve": "stepped" }, + { "time": 1.0666, "x": 4.79, "y": 1.79 }, + { "time": 1.3666, "x": 5.74, "y": 0.61 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "right lower leg": { + "rotate": [ + { "time": 0, "angle": -27.46 }, + { "time": 0.2333, "angle": -64.03 }, + { "time": 0.4, "angle": -48.36 }, + { "time": 0.5666, "angle": -76.86 }, + { "time": 0.7666, "angle": -26.89 }, + { "time": 0.9, "angle": -18.97 }, + { "time": 0.9333, "angle": -14.18 }, + { "time": 1.0666, "angle": -80.45 }, + { "time": 1.3666, "angle": -27.46 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "right foot": { + "rotate": [ + { "time": 0, "angle": 1.08 }, + { "time": 0.2333, "angle": 16.02 }, + { "time": 0.3, "angle": 12.94 }, + { "time": 0.3333, "angle": 15.16 }, + { "time": 0.4, "angle": -14.7 }, + { "time": 0.4333, "angle": -12.85 }, + { "time": 0.4666, "angle": -19.18 }, + { "time": 0.5666, "angle": -15.82 }, + { "time": 0.6, "angle": -3.59 }, + { "time": 0.7666, "angle": -3.56 }, + { "time": 0.9333, "angle": 1.86 }, + { "time": 1.0666, "angle": 16.02 }, + { "time": 1.3666, "angle": 1.08 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "torso": { + "rotate": [ + { "time": 0, "angle": -13.35 }, + { "time": 0.2333, "angle": -48.95 }, + { "time": 0.4333, "angle": -35.77 }, + { "time": 0.6, "angle": -4.59 }, + { "time": 0.7666, "angle": 14.61 }, + { "time": 0.9333, "angle": 15.74 }, + { "time": 1.0666, "angle": -32.44 }, + { "time": 1.3666, "angle": -13.35 } + ], + "translate": [ + { "time": 0, "x": -3.67, "y": 1.68, "curve": "stepped" }, + { "time": 0.9333, "x": -3.67, "y": 1.68, "curve": "stepped" }, + { "time": 1.3666, "x": -3.67, "y": 1.68 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "neck": { + "rotate": [ + { "time": 0, "angle": 12.78 }, + { "time": 0.2333, "angle": 16.46 }, + { "time": 0.4, "angle": 26.49 }, + { "time": 0.6, "angle": 15.51 }, + { "time": 0.7666, "angle": 1.34 }, + { "time": 0.9333, "angle": 2.35 }, + { "time": 1.0666, "angle": 6.08 }, + { "time": 1.3, "angle": 21.23 }, + { "time": 1.3666, "angle": 12.78 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "head": { + "rotate": [ + { "time": 0, "angle": 5.19 }, + { "time": 0.2333, "angle": 20.27 }, + { "time": 0.4, "angle": 15.27 }, + { "time": 0.6, "angle": -24.69 }, + { "time": 0.7666, "angle": -11.02 }, + { "time": 0.9333, "angle": -24.38 }, + { "time": 1.0666, "angle": 11.99 }, + { "time": 1.3, "angle": 4.86 }, + { "time": 1.3666, "angle": 5.19 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "left shoulder": { + "rotate": [ + { + "time": 0, + "angle": 0.05, + "curve": [ 0, 0, 0.62, 1 ] + }, + { + "time": 0.2333, + "angle": 279.66, + "curve": [ 0.218, 0.67, 0.66, 0.99 ] + }, + { + "time": 0.5, + "angle": 62.27, + "curve": [ 0.462, 0, 0.764, 0.58 ] + }, + { "time": 0.9333, "angle": 28.91 }, + { "time": 1.0666, "angle": -8.62 }, + { "time": 1.1666, "angle": -18.43 }, + { "time": 1.3666, "angle": 0.05 } + ], + "translate": [ + { "time": 0, "x": -1.76, "y": 0.56, "curve": "stepped" }, + { "time": 0.9333, "x": -1.76, "y": 0.56, "curve": "stepped" }, + { "time": 1.3666, "x": -1.76, "y": 0.56 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "left hand": { + "rotate": [ + { "time": 0, "angle": 11.58, "curve": "stepped" }, + { "time": 0.9333, "angle": 11.58, "curve": "stepped" }, + { "time": 1.3666, "angle": 11.58 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "left arm": { + "rotate": [ + { "time": 0, "angle": 0.51 }, + { "time": 0.4333, "angle": 12.82 }, + { "time": 0.6, "angle": 47.55 }, + { "time": 0.9333, "angle": 12.82 }, + { "time": 1.1666, "angle": -6.5 }, + { "time": 1.3666, "angle": 0.51 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "right shoulder": { + "rotate": [ + { + "time": 0, + "angle": 43.82, + "curve": [ 0, 0, 0.62, 1 ] + }, + { + "time": 0.2333, + "angle": -8.74, + "curve": [ 0.304, 0.58, 0.709, 0.97 ] + }, + { + "time": 0.5333, + "angle": -208.02, + "curve": [ 0.462, 0, 0.764, 0.58 ] + }, + { "time": 0.9333, "angle": -246.72 }, + { "time": 1.0666, "angle": -307.13 }, + { "time": 1.1666, "angle": 37.15 }, + { "time": 1.3666, "angle": 43.82 } + ], + "translate": [ + { "time": 0, "x": -7.84, "y": 7.19, "curve": "stepped" }, + { "time": 0.9333, "x": -7.84, "y": 7.19, "curve": "stepped" }, + { "time": 1.3666, "x": -7.84, "y": 7.19 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "right arm": { + "rotate": [ + { "time": 0, "angle": -4.02 }, + { "time": 0.6, "angle": 17.5 }, + { "time": 0.9333, "angle": -4.02 }, + { "time": 1.1666, "angle": -16.72 }, + { "time": 1.3666, "angle": -4.02 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "right hand": { + "rotate": [ + { "time": 0, "angle": 22.92, "curve": "stepped" }, + { "time": 0.9333, "angle": 22.92, "curve": "stepped" }, + { "time": 1.3666, "angle": 22.92 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "root": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.4333, "angle": -14.52 }, + { "time": 0.8, "angle": 9.86 }, + { "time": 1.3666, "angle": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + } + } + } +} +} \ No newline at end of file diff --git a/spine-tk2d/Example/Spineboy/Skeleton/Spineboy.json.txt.meta b/spine-tk2d/Example/Spineboy/Skeleton/Spineboy.json.txt.meta new file mode 100644 index 000000000..359dc92fe --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Skeleton/Spineboy.json.txt.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 153d8a09aeac7fa468630055fbf61c00 +TextScriptImporter: + userData: diff --git a/spine-tk2d/Example/Spineboy/Skeleton/SpineboySkeletonAsset.asset b/spine-tk2d/Example/Spineboy/Skeleton/SpineboySkeletonAsset.asset new file mode 100644 index 000000000..147b1191e Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Skeleton/SpineboySkeletonAsset.asset differ diff --git a/spine-tk2d/Example/Spineboy/Skeleton/SpineboySkeletonAsset.asset.meta b/spine-tk2d/Example/Spineboy/Skeleton/SpineboySkeletonAsset.asset.meta new file mode 100644 index 000000000..3da7130c0 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Skeleton/SpineboySkeletonAsset.asset.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: def3cb5fb0c27fe41995a7ecf2924e83 +NativeFormatImporter: + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures.meta b/spine-tk2d/Example/Spineboy/Textures.meta new file mode 100644 index 000000000..d89c257db --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 440ce1c2387029f48a05c43573aedc8c +DefaultImporter: + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/eyes-closed.png b/spine-tk2d/Example/Spineboy/Textures/eyes-closed.png new file mode 100644 index 000000000..60718e101 Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/eyes-closed.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/eyes-closed.png.meta b/spine-tk2d/Example/Spineboy/Textures/eyes-closed.png.meta new file mode 100644 index 000000000..fd4fca291 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/eyes-closed.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: bab2bc2171d249048990e56ff8dc150e +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/eyes.png b/spine-tk2d/Example/Spineboy/Textures/eyes.png new file mode 100644 index 000000000..707c91b72 Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/eyes.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/eyes.png.meta b/spine-tk2d/Example/Spineboy/Textures/eyes.png.meta new file mode 100644 index 000000000..3dde41aef --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/eyes.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: e8d06d84fe3fb0940aebd89e50186b67 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/head.png b/spine-tk2d/Example/Spineboy/Textures/head.png new file mode 100644 index 000000000..5a98aa37a Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/head.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/head.png.meta b/spine-tk2d/Example/Spineboy/Textures/head.png.meta new file mode 100644 index 000000000..386aa883b --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/head.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 14fa7cc064f366c46ba083cc8b3f6588 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/left-ankle.png b/spine-tk2d/Example/Spineboy/Textures/left-ankle.png new file mode 100644 index 000000000..fcf9a2813 Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/left-ankle.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/left-ankle.png.meta b/spine-tk2d/Example/Spineboy/Textures/left-ankle.png.meta new file mode 100644 index 000000000..264ef901c --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/left-ankle.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 01e73ca366ce3b54bb4087bf34ea3780 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/left-arm.png b/spine-tk2d/Example/Spineboy/Textures/left-arm.png new file mode 100644 index 000000000..4447dec8a Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/left-arm.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/left-arm.png.meta b/spine-tk2d/Example/Spineboy/Textures/left-arm.png.meta new file mode 100644 index 000000000..37f6ce2dd --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/left-arm.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 64d2ee256e7837243ae969fabe2abf13 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/left-foot.png b/spine-tk2d/Example/Spineboy/Textures/left-foot.png new file mode 100644 index 000000000..9b8768277 Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/left-foot.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/left-foot.png.meta b/spine-tk2d/Example/Spineboy/Textures/left-foot.png.meta new file mode 100644 index 000000000..fb200da05 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/left-foot.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: fdb6e092284153146b14ad82b936112c +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/left-hand.png b/spine-tk2d/Example/Spineboy/Textures/left-hand.png new file mode 100644 index 000000000..b95a3523c Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/left-hand.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/left-hand.png.meta b/spine-tk2d/Example/Spineboy/Textures/left-hand.png.meta new file mode 100644 index 000000000..33c2f709d --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/left-hand.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 4164e461833c7ad4991d0df2f53506c5 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/left-lower-leg.png b/spine-tk2d/Example/Spineboy/Textures/left-lower-leg.png new file mode 100644 index 000000000..f316b6500 Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/left-lower-leg.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/left-lower-leg.png.meta b/spine-tk2d/Example/Spineboy/Textures/left-lower-leg.png.meta new file mode 100644 index 000000000..5c2c1e598 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/left-lower-leg.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: beb8b29b06f1b8a4bbe29f7ba3947435 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/left-pant-bottom.png b/spine-tk2d/Example/Spineboy/Textures/left-pant-bottom.png new file mode 100644 index 000000000..29a05bc4f Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/left-pant-bottom.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/left-pant-bottom.png.meta b/spine-tk2d/Example/Spineboy/Textures/left-pant-bottom.png.meta new file mode 100644 index 000000000..857b0f522 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/left-pant-bottom.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 6819bb1a487d4e7468d3cca3bc563455 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/left-shoulder.png b/spine-tk2d/Example/Spineboy/Textures/left-shoulder.png new file mode 100644 index 000000000..7fd429dc3 Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/left-shoulder.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/left-shoulder.png.meta b/spine-tk2d/Example/Spineboy/Textures/left-shoulder.png.meta new file mode 100644 index 000000000..c79eb6af8 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/left-shoulder.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: f54c1ea69e95f7b4686801f6e3479ae9 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/left-upper-leg.png b/spine-tk2d/Example/Spineboy/Textures/left-upper-leg.png new file mode 100644 index 000000000..f076d5c91 Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/left-upper-leg.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/left-upper-leg.png.meta b/spine-tk2d/Example/Spineboy/Textures/left-upper-leg.png.meta new file mode 100644 index 000000000..0bee98bfb --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/left-upper-leg.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 110675c0d21d411469aff96dc86f82b9 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/neck.png b/spine-tk2d/Example/Spineboy/Textures/neck.png new file mode 100644 index 000000000..c7b938863 Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/neck.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/neck.png.meta b/spine-tk2d/Example/Spineboy/Textures/neck.png.meta new file mode 100644 index 000000000..b8d3e0cc8 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/neck.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 5efaad89af5d0484a870721e289ba2f0 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/pelvis.png b/spine-tk2d/Example/Spineboy/Textures/pelvis.png new file mode 100644 index 000000000..f52c33cdd Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/pelvis.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/pelvis.png.meta b/spine-tk2d/Example/Spineboy/Textures/pelvis.png.meta new file mode 100644 index 000000000..f4266bf70 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/pelvis.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: da857df5d97ec254388f6aa337550084 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/right-ankle.png b/spine-tk2d/Example/Spineboy/Textures/right-ankle.png new file mode 100644 index 000000000..92fc568cf Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/right-ankle.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/right-ankle.png.meta b/spine-tk2d/Example/Spineboy/Textures/right-ankle.png.meta new file mode 100644 index 000000000..4c1577599 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/right-ankle.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 96654d3edca33aa41b3e00836917fc81 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/right-arm.png b/spine-tk2d/Example/Spineboy/Textures/right-arm.png new file mode 100644 index 000000000..cac970f4b Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/right-arm.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/right-arm.png.meta b/spine-tk2d/Example/Spineboy/Textures/right-arm.png.meta new file mode 100644 index 000000000..21ba8fb96 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/right-arm.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: f57516850db04ce46888c3af845cdbe1 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/right-foot-idle.png b/spine-tk2d/Example/Spineboy/Textures/right-foot-idle.png new file mode 100644 index 000000000..aaf609f4e Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/right-foot-idle.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/right-foot-idle.png.meta b/spine-tk2d/Example/Spineboy/Textures/right-foot-idle.png.meta new file mode 100644 index 000000000..0ee303589 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/right-foot-idle.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: f4d80e5181dec264997165ae7dff99f8 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/right-foot.png b/spine-tk2d/Example/Spineboy/Textures/right-foot.png new file mode 100644 index 000000000..7a06bf2de Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/right-foot.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/right-foot.png.meta b/spine-tk2d/Example/Spineboy/Textures/right-foot.png.meta new file mode 100644 index 000000000..d07b7a3b8 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/right-foot.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 4817e7545f82b79409591c3f7ab58783 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/right-hand.png b/spine-tk2d/Example/Spineboy/Textures/right-hand.png new file mode 100644 index 000000000..17c62bf4a Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/right-hand.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/right-hand.png.meta b/spine-tk2d/Example/Spineboy/Textures/right-hand.png.meta new file mode 100644 index 000000000..67a5d6113 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/right-hand.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: c8e415a8259d2a640956e800c693f696 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/right-lower-leg.png b/spine-tk2d/Example/Spineboy/Textures/right-lower-leg.png new file mode 100644 index 000000000..1f00e8ec9 Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/right-lower-leg.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/right-lower-leg.png.meta b/spine-tk2d/Example/Spineboy/Textures/right-lower-leg.png.meta new file mode 100644 index 000000000..53b1a4222 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/right-lower-leg.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 4e48f3162f322954c99321c9888a56d2 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/right-pant-bottom.png b/spine-tk2d/Example/Spineboy/Textures/right-pant-bottom.png new file mode 100644 index 000000000..73309c05d Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/right-pant-bottom.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/right-pant-bottom.png.meta b/spine-tk2d/Example/Spineboy/Textures/right-pant-bottom.png.meta new file mode 100644 index 000000000..f0e6675ab --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/right-pant-bottom.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: be58ee0714843a446b965af869f83832 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/right-shoulder.png b/spine-tk2d/Example/Spineboy/Textures/right-shoulder.png new file mode 100644 index 000000000..23e9a2fd1 Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/right-shoulder.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/right-shoulder.png.meta b/spine-tk2d/Example/Spineboy/Textures/right-shoulder.png.meta new file mode 100644 index 000000000..b089841b3 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/right-shoulder.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: 95705e65b28f712498999597b1785815 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/right-upper-leg.png b/spine-tk2d/Example/Spineboy/Textures/right-upper-leg.png new file mode 100644 index 000000000..df0b11661 Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/right-upper-leg.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/right-upper-leg.png.meta b/spine-tk2d/Example/Spineboy/Textures/right-upper-leg.png.meta new file mode 100644 index 000000000..aa2e90a94 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/right-upper-leg.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: f6a659c035ea7cd4ca4b46b6f45dbe3e +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/Example/Spineboy/Textures/torso.png b/spine-tk2d/Example/Spineboy/Textures/torso.png new file mode 100644 index 000000000..d5a318e72 Binary files /dev/null and b/spine-tk2d/Example/Spineboy/Textures/torso.png differ diff --git a/spine-tk2d/Example/Spineboy/Textures/torso.png.meta b/spine-tk2d/Example/Spineboy/Textures/torso.png.meta new file mode 100644 index 000000000..7aa019960 --- /dev/null +++ b/spine-tk2d/Example/Spineboy/Textures/torso.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: c9d347920dea372469c0bafcc27a6320 +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 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/spine-tk2d/README.md b/spine-tk2d/README.md new file mode 100644 index 000000000..7bb8ce1d1 --- /dev/null +++ b/spine-tk2d/README.md @@ -0,0 +1,17 @@ +The Spine runtime for Unity with 2d Toolkit comes with an example project which has "spineboy" walking. When clicked, he jumps and the transition to/from walking/jumping is blended smoothly. Use the instructions below. + +# Requirements + +1. Latest 2d toolkit imported in your project +1. Latest Spine C# runtime + +# Usage + +1. Drag spine-csharp into your project +1. Drag spine-tk2d into your project +1. Open spine-tk2d/Example/Example.scene + +# Notes + +- Atlas images should use premultiplied alpha. +- All skeleton game objects should use Skeleton.shader