mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
Refactored spine-unity to support multiple materials.
This commit is contained in:
parent
f9d538d6e7
commit
288e520b25
5
.gitignore
vendored
5
.gitignore
vendored
@ -38,8 +38,8 @@ spine-xna/obj
|
|||||||
spine-xna/example/bin
|
spine-xna/example/bin
|
||||||
spine-xna/example/obj
|
spine-xna/example/obj
|
||||||
|
|
||||||
spine-unity/Assets/Plugins/Spine/spine-csharp
|
spine-unity/Assets/Spine/spine-csharp
|
||||||
!spine-unity/Assets/Plugins/Spine/spine-csharp/Place spine-csharp here.txt
|
!spine-unity/Assets/Spine/spine-csharp/Place spine-csharp here.txt
|
||||||
spine-unity/ProjectSettings
|
spine-unity/ProjectSettings
|
||||||
spine-unity/Temp
|
spine-unity/Temp
|
||||||
spine-unity/Library
|
spine-unity/Library
|
||||||
@ -48,7 +48,6 @@ spine-unity/*.sln
|
|||||||
*.pidb
|
*.pidb
|
||||||
Assembly-*.csproj
|
Assembly-*.csproj
|
||||||
Assembly-*.pidb
|
Assembly-*.pidb
|
||||||
spine-unity-test*
|
|
||||||
|
|
||||||
spine-corona/spine-lua/
|
spine-corona/spine-lua/
|
||||||
!spine-corona/spine-lua/Place spine-lua here.txt
|
!spine-corona/spine-lua/Place spine-lua here.txt
|
||||||
|
|||||||
@ -1,5 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 89dad76e10ea944ee9f29109535294be
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
userData:
|
|
||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 3ac78ae082927411cba77d73efde27d4
|
guid: 460170723785f0448822b8dcc876fe7f
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
userData:
|
userData:
|
||||||
@ -29,7 +29,7 @@ using Spine;
|
|||||||
|
|
||||||
public class AtlasAsset : ScriptableObject {
|
public class AtlasAsset : ScriptableObject {
|
||||||
public TextAsset atlasFile;
|
public TextAsset atlasFile;
|
||||||
public Material material;
|
public Material[] materials;
|
||||||
private Atlas atlas;
|
private Atlas atlas;
|
||||||
|
|
||||||
public void Clear () {
|
public void Clear () {
|
||||||
@ -44,8 +44,8 @@ public class AtlasAsset : ScriptableObject {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (material == null) {
|
if (materials == null || materials.Length == 0) {
|
||||||
Debug.LogWarning("Material not set for atlas asset: " + name, this);
|
Debug.LogWarning("Materials not set for atlas asset: " + name, this);
|
||||||
Clear();
|
Clear();
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -54,7 +54,7 @@ public class AtlasAsset : ScriptableObject {
|
|||||||
return atlas;
|
return atlas;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
atlas = new Atlas(new StringReader(atlasFile.text), "", new SingleTextureLoader(material));
|
atlas = new Atlas(new StringReader(atlasFile.text), "", new MaterialsTextureLoader(this));
|
||||||
return atlas;
|
return atlas;
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
Debug.Log("Error reading atlas file for atlas asset: " + name + "\n" + ex.Message + "\n" + ex.StackTrace, this);
|
Debug.Log("Error reading atlas file for atlas asset: " + name + "\n" + ex.Message + "\n" + ex.StackTrace, this);
|
||||||
@ -63,14 +63,27 @@ public class AtlasAsset : ScriptableObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SingleTextureLoader : TextureLoader {
|
public class MaterialsTextureLoader : TextureLoader {
|
||||||
Material material;
|
AtlasAsset atlasAsset;
|
||||||
|
|
||||||
public SingleTextureLoader (Material material) {
|
public MaterialsTextureLoader (AtlasAsset atlasAsset) {
|
||||||
this.material = material;
|
this.atlasAsset = atlasAsset;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Load (AtlasPage page, String path) {
|
public void Load (AtlasPage page, String path) {
|
||||||
|
String name = Path.GetFileNameWithoutExtension(path);
|
||||||
|
Material material = null;
|
||||||
|
foreach (Material other in atlasAsset.materials) {
|
||||||
|
if (other.name == name) {
|
||||||
|
material = other;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (material == null) {
|
||||||
|
Debug.LogWarning("Material with name \"" + name + "\" not found for atlas asset: " + atlasAsset.name, atlasAsset);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
page.rendererObject = material;
|
||||||
page.width = material.mainTexture.width;
|
page.width = material.mainTexture.width;
|
||||||
page.height = material.mainTexture.height;
|
page.height = material.mainTexture.height;
|
||||||
}
|
}
|
||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 65ba3309ea8c447678ade95f3fa398da
|
guid: f0e95036e72b08544a9d295dd4366f40
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
userData:
|
userData:
|
||||||
@ -29,11 +29,11 @@ using UnityEngine;
|
|||||||
|
|
||||||
[CustomEditor(typeof(AtlasAsset))]
|
[CustomEditor(typeof(AtlasAsset))]
|
||||||
public class AtlasAssetInspector : Editor {
|
public class AtlasAssetInspector : Editor {
|
||||||
private SerializedProperty atlasFile, material;
|
private SerializedProperty atlasFile, materials;
|
||||||
|
|
||||||
void OnEnable () {
|
void OnEnable () {
|
||||||
atlasFile = serializedObject.FindProperty("atlasFile");
|
atlasFile = serializedObject.FindProperty("atlasFile");
|
||||||
material = serializedObject.FindProperty("material");
|
materials = serializedObject.FindProperty("materials");
|
||||||
}
|
}
|
||||||
|
|
||||||
override public void OnInspectorGUI () {
|
override public void OnInspectorGUI () {
|
||||||
@ -42,7 +42,7 @@ public class AtlasAssetInspector : Editor {
|
|||||||
|
|
||||||
EditorGUIUtility.LookLikeInspector();
|
EditorGUIUtility.LookLikeInspector();
|
||||||
EditorGUILayout.PropertyField(atlasFile);
|
EditorGUILayout.PropertyField(atlasFile);
|
||||||
EditorGUILayout.PropertyField(material);
|
EditorGUILayout.PropertyField(materials, true);
|
||||||
|
|
||||||
if (serializedObject.ApplyModifiedProperties() ||
|
if (serializedObject.ApplyModifiedProperties() ||
|
||||||
(Event.current.type == EventType.ValidateCommand && Event.current.commandName == "UndoRedoPerformed")
|
(Event.current.type == EventType.ValidateCommand && Event.current.commandName == "UndoRedoPerformed")
|
||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: b41395738f68d4fbba8311d333db62b1
|
guid: ef8189a68a74bec4eba582e65fb98dbd
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
userData:
|
userData:
|
||||||
@ -40,8 +40,10 @@ public class SkeletonComponent : MonoBehaviour {
|
|||||||
private Vector3[] vertices;
|
private Vector3[] vertices;
|
||||||
private Color32[] colors;
|
private Color32[] colors;
|
||||||
private Vector2[] uvs;
|
private Vector2[] uvs;
|
||||||
private int[] triangles;
|
|
||||||
private float[] vertexPositions = new float[8];
|
private float[] vertexPositions = new float[8];
|
||||||
|
private List<Material> submeshMaterials = new List<Material>();
|
||||||
|
private List<int[]> submeshIndexes = new List<int[]>();
|
||||||
|
private Material[] sharedMaterials = new Material[0];
|
||||||
|
|
||||||
public virtual void Clear () {
|
public virtual void Clear () {
|
||||||
GetComponent<MeshFilter>().mesh = null;
|
GetComponent<MeshFilter>().mesh = null;
|
||||||
@ -58,7 +60,8 @@ public class SkeletonComponent : MonoBehaviour {
|
|||||||
mesh.hideFlags = HideFlags.HideAndDontSave;
|
mesh.hideFlags = HideFlags.HideAndDontSave;
|
||||||
mesh.MarkDynamic();
|
mesh.MarkDynamic();
|
||||||
|
|
||||||
renderer.sharedMaterial = skeletonDataAsset.atlasAsset.material;
|
// BOZO
|
||||||
|
//renderer.sharedMaterial = skeletonDataAsset.atlasAsset.material;
|
||||||
|
|
||||||
vertices = new Vector3[0];
|
vertices = new Vector3[0];
|
||||||
|
|
||||||
@ -76,50 +79,60 @@ public class SkeletonComponent : MonoBehaviour {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public virtual void Update () {
|
public virtual void Update () {
|
||||||
|
SkeletonData skeletonData = skeletonDataAsset.GetSkeletonData(false);
|
||||||
// Clear fields if missing information to render.
|
// Clear fields if missing information to render.
|
||||||
if (skeletonDataAsset == null || skeletonDataAsset.GetSkeletonData(false) == null) {
|
if (skeletonDataAsset == null || skeletonData == null) {
|
||||||
Clear();
|
Clear();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize fields.
|
// Initialize fields.
|
||||||
if (skeleton == null || skeleton.Data != skeletonDataAsset.GetSkeletonData(false))
|
if (skeleton == null || skeleton.Data != skeletonData)
|
||||||
Initialize();
|
Initialize();
|
||||||
|
|
||||||
UpdateSkeleton();
|
UpdateSkeleton();
|
||||||
|
|
||||||
// Count quads.
|
// Count quads and submeshes.
|
||||||
int quadCount = 0;
|
int quadCount = 0, submeshQuadCount = 0;
|
||||||
|
Material lastMaterial = null;
|
||||||
|
submeshMaterials.Clear();
|
||||||
List<Slot> drawOrder = skeleton.DrawOrder;
|
List<Slot> drawOrder = skeleton.DrawOrder;
|
||||||
for (int i = 0, n = drawOrder.Count; i < n; i++) {
|
for (int i = 0, n = drawOrder.Count; i < n; i++) {
|
||||||
Slot slot = drawOrder[i];
|
RegionAttachment regionAttachment = drawOrder[i].Attachment as RegionAttachment;
|
||||||
Attachment attachment = slot.Attachment;
|
if (regionAttachment == null)
|
||||||
if (attachment is RegionAttachment)
|
continue;
|
||||||
quadCount++;
|
|
||||||
|
// Add submesh when material changes.
|
||||||
|
Material material = (Material)((AtlasRegion)regionAttachment.RendererObject).page.rendererObject;
|
||||||
|
if (lastMaterial != material && lastMaterial != null) {
|
||||||
|
addSubmesh(lastMaterial, quadCount, submeshQuadCount, false);
|
||||||
|
submeshQuadCount = 0;
|
||||||
|
}
|
||||||
|
lastMaterial = material;
|
||||||
|
|
||||||
|
quadCount++;
|
||||||
|
submeshQuadCount++;
|
||||||
}
|
}
|
||||||
|
addSubmesh(lastMaterial, quadCount, submeshQuadCount, false);
|
||||||
|
|
||||||
|
// Set materials.
|
||||||
|
if (submeshMaterials.Count == sharedMaterials.Length)
|
||||||
|
submeshMaterials.CopyTo(sharedMaterials);
|
||||||
|
else
|
||||||
|
sharedMaterials = submeshMaterials.ToArray();
|
||||||
|
renderer.sharedMaterials = sharedMaterials;
|
||||||
|
|
||||||
// Ensure mesh data is the right size.
|
// Ensure mesh data is the right size.
|
||||||
|
Mesh mesh = this.mesh;
|
||||||
Vector3[] vertices = this.vertices;
|
Vector3[] vertices = this.vertices;
|
||||||
int vertexCount = quadCount * 4;
|
int vertexCount = quadCount * 4;
|
||||||
bool newTriangles = vertexCount > vertices.Length;
|
bool newTriangles = vertexCount > vertices.Length;
|
||||||
if (newTriangles) {
|
if (newTriangles) {
|
||||||
// Not enough vertices, increase size.
|
// Not enough vertices, increase size.
|
||||||
this.vertices = vertices = new Vector3[vertexCount];
|
this.vertices = vertices = new Vector3[vertexCount];
|
||||||
colors = new Color32[vertexCount];
|
this.colors = new Color32[vertexCount];
|
||||||
uvs = new Vector2[vertexCount];
|
this.uvs = new Vector2[vertexCount];
|
||||||
triangles = new int[quadCount * 6];
|
|
||||||
mesh.Clear();
|
mesh.Clear();
|
||||||
|
|
||||||
for (int i = 0, n = quadCount; i < n; i++) {
|
|
||||||
int index = i * 6;
|
|
||||||
int vertex = i * 4;
|
|
||||||
triangles[index] = vertex;
|
|
||||||
triangles[index + 1] = vertex + 2;
|
|
||||||
triangles[index + 2] = vertex + 1;
|
|
||||||
triangles[index + 3] = vertex + 2;
|
|
||||||
triangles[index + 4] = vertex + 3;
|
|
||||||
triangles[index + 5] = vertex + 1;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
// Too many vertices, zero the extra.
|
// Too many vertices, zero the extra.
|
||||||
Vector3 zero = new Vector3(0, 0, 0);
|
Vector3 zero = new Vector3(0, 0, 0);
|
||||||
@ -130,12 +143,15 @@ public class SkeletonComponent : MonoBehaviour {
|
|||||||
|
|
||||||
// Setup mesh.
|
// Setup mesh.
|
||||||
float[] vertexPositions = this.vertexPositions;
|
float[] vertexPositions = this.vertexPositions;
|
||||||
|
Vector2[] uvs = this.uvs;
|
||||||
|
Color32[] colors = this.colors;
|
||||||
int vertexIndex = 0;
|
int vertexIndex = 0;
|
||||||
Color32 color = new Color32();
|
Color32 color = new Color32();
|
||||||
for (int i = 0, n = drawOrder.Count; i < n; i++) {
|
for (int i = 0, n = drawOrder.Count; i < n; i++) {
|
||||||
Slot slot = drawOrder[i];
|
Slot slot = drawOrder[i];
|
||||||
RegionAttachment regionAttachment = slot.Attachment as RegionAttachment;
|
RegionAttachment regionAttachment = slot.Attachment as RegionAttachment;
|
||||||
if (regionAttachment == null) continue;
|
if (regionAttachment == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
regionAttachment.ComputeVertices(skeleton.X, skeleton.Y, slot.Bone, vertexPositions);
|
regionAttachment.ComputeVertices(skeleton.X, skeleton.Y, slot.Bone, vertexPositions);
|
||||||
|
|
||||||
@ -164,26 +180,56 @@ public class SkeletonComponent : MonoBehaviour {
|
|||||||
mesh.vertices = vertices;
|
mesh.vertices = vertices;
|
||||||
mesh.colors32 = colors;
|
mesh.colors32 = colors;
|
||||||
mesh.uv = uvs;
|
mesh.uv = uvs;
|
||||||
if (newTriangles) mesh.triangles = triangles;
|
mesh.subMeshCount = submeshMaterials.Count;
|
||||||
|
for (int i = 0; i < mesh.subMeshCount; ++i)
|
||||||
|
mesh.SetTriangles(submeshIndexes[i], i);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Adds a material. Adds submesh indexes if existing indexes aren't sufficient. */
|
||||||
|
private void addSubmesh (Material material, int endQuadCount, int submeshQuadCount, bool exact) {
|
||||||
|
int submeshIndex = submeshMaterials.Count;
|
||||||
|
submeshMaterials.Add(material);
|
||||||
|
|
||||||
|
// Return if the existing submesh is big enough.
|
||||||
|
int indexCount = submeshQuadCount * 6;
|
||||||
|
if (submeshIndexes.Count > submeshIndex) {
|
||||||
|
if (exact) {
|
||||||
|
if (submeshIndexes[submeshIndex].Length == indexCount)
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
if (submeshIndexes[submeshIndex].Length >= indexCount)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
submeshIndexes.Add(null);
|
||||||
|
|
||||||
|
int vertexIndex = (endQuadCount - submeshQuadCount) * 4;
|
||||||
|
int[] indexes = new int[indexCount];
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
submeshIndexes[submeshIndex] = indexes;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void OnEnable () {
|
public virtual void OnEnable () {
|
||||||
Update();
|
Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void OnDisable () {
|
|
||||||
#region Unity Editor
|
|
||||||
#if UNITY_EDITOR
|
#if UNITY_EDITOR
|
||||||
|
public virtual void OnDisable () {
|
||||||
Clear();
|
Clear();
|
||||||
#endif
|
|
||||||
#endregion
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
public virtual void Reset () {
|
public virtual void Reset () {
|
||||||
Update();
|
Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Unity Editor
|
|
||||||
#if UNITY_EDITOR
|
#if UNITY_EDITOR
|
||||||
void OnDrawGizmos() {
|
void OnDrawGizmos() {
|
||||||
Vector3 gizmosCenter = new Vector3();
|
Vector3 gizmosCenter = new Vector3();
|
||||||
@ -203,5 +249,4 @@ public class SkeletonComponent : MonoBehaviour {
|
|||||||
Gizmos.DrawCube(gizmosCenter, gizmosSize);
|
Gizmos.DrawCube(gizmosCenter, gizmosSize);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endregion
|
|
||||||
}
|
}
|
||||||
@ -86,7 +86,7 @@ public class SkeletonDataAsset : ScriptableObject {
|
|||||||
return skeletonData;
|
return skeletonData;
|
||||||
}
|
}
|
||||||
|
|
||||||
public AnimationStateData GetAnimationStateData () {
|
public AnimationStateData GetAnimationStateData () {
|
||||||
if (stateData != null)
|
if (stateData != null)
|
||||||
return stateData;
|
return stateData;
|
||||||
GetSkeletonData(false);
|
GetSkeletonData(false);
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 66 KiB |
44
spine-unity/Assets/examples/goblins/Goblins.cs
Normal file
44
spine-unity/Assets/examples/goblins/Goblins.cs
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2013, Esoteric Software
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice, this
|
||||||
|
* list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 THE COPYRIGHT OWNER OR CONTRIBUTORS 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;
|
||||||
|
|
||||||
|
public class Goblins : MonoBehaviour {
|
||||||
|
private bool girlSkin;
|
||||||
|
|
||||||
|
public void OnMouseDown () {
|
||||||
|
SkeletonAnimation skeletonAnimation = GetComponent<SkeletonAnimation>();
|
||||||
|
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");
|
||||||
|
}
|
||||||
|
}
|
||||||
8
spine-unity/Assets/examples/goblins/Goblins.cs.meta
Normal file
8
spine-unity/Assets/examples/goblins/Goblins.cs.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 40a82af6554a7594f9ffa9ac8dde212f
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 63d11713f97bfe54bb06572e24050ecb
|
guid: 690c0cb1c3b49c84a8f645eb77fb297e
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
userData:
|
userData:
|
||||||
|
Before Width: | Height: | Size: 148 KiB After Width: | Height: | Size: 148 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: c6674329008ae4c65a7b7e8f1b2a6523
|
guid: 6f3b21d2789786c4d9c0c61411be3fde
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
userData:
|
userData:
|
||||||
@ -1,166 +1,136 @@
|
|||||||
|
|
||||||
spineboy.png
|
spineboy.png
|
||||||
format: RGBA8888
|
format: RGBA8888
|
||||||
filter: Linear,Linear
|
filter: Nearest,Nearest
|
||||||
repeat: none
|
repeat: none
|
||||||
head
|
head
|
||||||
rotate: false
|
rotate: true
|
||||||
xy: 1, 122
|
xy: 2, 5
|
||||||
size: 121, 132
|
size: 121, 132
|
||||||
orig: 121, 132
|
orig: 121, 132
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
torso
|
|
||||||
rotate: false
|
|
||||||
xy: 1, 28
|
|
||||||
size: 68, 92
|
|
||||||
orig: 68, 92
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
left-pant-bottom
|
|
||||||
rotate: false
|
|
||||||
xy: 1, 4
|
|
||||||
size: 44, 22
|
|
||||||
orig: 44, 22
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
right-pant-bottom
|
|
||||||
rotate: false
|
|
||||||
xy: 47, 8
|
|
||||||
size: 46, 18
|
|
||||||
orig: 46, 18
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
right-upper-leg
|
|
||||||
rotate: false
|
|
||||||
xy: 71, 50
|
|
||||||
size: 44, 70
|
|
||||||
orig: 44, 70
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
pelvis
|
|
||||||
rotate: false
|
|
||||||
xy: 95, 1
|
|
||||||
size: 63, 47
|
|
||||||
orig: 63, 47
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
left-upper-leg
|
|
||||||
rotate: false
|
|
||||||
xy: 117, 53
|
|
||||||
size: 33, 67
|
|
||||||
orig: 33, 67
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
right-foot
|
|
||||||
rotate: false
|
|
||||||
xy: 160, 224
|
|
||||||
size: 67, 30
|
|
||||||
orig: 67, 30
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
left-shoulder
|
|
||||||
rotate: false
|
|
||||||
xy: 124, 201
|
|
||||||
size: 34, 53
|
|
||||||
orig: 34, 53
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
left-ankle
|
|
||||||
rotate: false
|
|
||||||
xy: 229, 222
|
|
||||||
size: 25, 32
|
|
||||||
orig: 25, 32
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
left-foot
|
|
||||||
rotate: false
|
|
||||||
xy: 160, 192
|
|
||||||
size: 65, 30
|
|
||||||
orig: 65, 30
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
neck
|
|
||||||
rotate: false
|
|
||||||
xy: 124, 171
|
|
||||||
size: 34, 28
|
|
||||||
orig: 34, 28
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
right-arm
|
|
||||||
rotate: false
|
|
||||||
xy: 124, 124
|
|
||||||
size: 21, 45
|
|
||||||
orig: 21, 45
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
right-ankle
|
|
||||||
rotate: false
|
|
||||||
xy: 227, 190
|
|
||||||
size: 25, 30
|
|
||||||
orig: 25, 30
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
left-hand
|
|
||||||
rotate: false
|
|
||||||
xy: 147, 131
|
|
||||||
size: 35, 38
|
|
||||||
orig: 35, 38
|
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
left-arm
|
left-arm
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 184, 161
|
xy: 205, 2
|
||||||
size: 35, 29
|
size: 35, 29
|
||||||
orig: 35, 29
|
orig: 35, 29
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
eyes-closed
|
right-arm
|
||||||
|
rotate: true
|
||||||
|
xy: 206, 33
|
||||||
|
size: 21, 45
|
||||||
|
orig: 21, 45
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
right-foot
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 221, 161
|
xy: 136, 2
|
||||||
|
size: 67, 30
|
||||||
|
orig: 67, 30
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
right-upper-leg
|
||||||
|
rotate: false
|
||||||
|
xy: 206, 56
|
||||||
|
size: 44, 70
|
||||||
|
orig: 44, 70
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
torso
|
||||||
|
rotate: false
|
||||||
|
xy: 136, 34
|
||||||
|
size: 68, 92
|
||||||
|
orig: 68, 92
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
|
||||||
|
spineboy2.png
|
||||||
|
format: RGBA8888
|
||||||
|
filter: Nearest,Nearest
|
||||||
|
repeat: none
|
||||||
|
eyes
|
||||||
|
rotate: true
|
||||||
|
xy: 227, 57
|
||||||
size: 34, 27
|
size: 34, 27
|
||||||
orig: 34, 27
|
orig: 34, 27
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
right-lower-leg
|
eyes-closed
|
||||||
rotate: false
|
rotate: true
|
||||||
xy: 152, 65
|
xy: 133, 2
|
||||||
size: 51, 64
|
size: 34, 27
|
||||||
orig: 51, 64
|
orig: 34, 27
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
right-foot-idle
|
left-foot
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 184, 131
|
xy: 160, 61
|
||||||
size: 53, 28
|
size: 65, 30
|
||||||
orig: 53, 28
|
orig: 65, 30
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
left-hand
|
||||||
|
rotate: true
|
||||||
|
xy: 106, 38
|
||||||
|
size: 35, 38
|
||||||
|
orig: 35, 38
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
left-lower-leg
|
left-lower-leg
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 205, 65
|
xy: 55, 62
|
||||||
size: 49, 64
|
size: 49, 64
|
||||||
orig: 49, 64
|
orig: 49, 64
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
right-shoulder
|
left-shoulder
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 160, 12
|
xy: 67, 7
|
||||||
size: 52, 51
|
size: 34, 53
|
||||||
orig: 52, 51
|
orig: 34, 53
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
eyes
|
left-upper-leg
|
||||||
|
rotate: true
|
||||||
|
xy: 160, 93
|
||||||
|
size: 33, 67
|
||||||
|
orig: 33, 67
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
neck
|
||||||
|
rotate: true
|
||||||
|
xy: 103, 2
|
||||||
|
size: 34, 28
|
||||||
|
orig: 34, 28
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
pelvis
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 214, 36
|
xy: 2, 13
|
||||||
size: 34, 27
|
size: 63, 47
|
||||||
orig: 34, 27
|
orig: 63, 47
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
right-hand
|
right-hand
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 214, 2
|
xy: 162, 27
|
||||||
size: 32, 32
|
size: 32, 32
|
||||||
orig: 32, 32
|
orig: 32, 32
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
|
right-lower-leg
|
||||||
|
rotate: false
|
||||||
|
xy: 2, 62
|
||||||
|
size: 51, 64
|
||||||
|
orig: 51, 64
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
right-shoulder
|
||||||
|
rotate: false
|
||||||
|
xy: 106, 75
|
||||||
|
size: 52, 51
|
||||||
|
orig: 52, 51
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
@ -3,21 +3,21 @@
|
|||||||
{ "name": "root" },
|
{ "name": "root" },
|
||||||
{ "name": "hip", "parent": "root", "x": 0.64, "y": 114.41 },
|
{ "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 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": "pelvis", "parent": "hip", "x": 1.41, "y": -6.57 },
|
||||||
{ "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 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": "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": "left lower leg", "parent": "left upper leg", "length": 56.45, "x": 51.78, "y": 3.46, "rotation": -16.65 },
|
||||||
{ "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 shoulder", "parent": "torso", "length": 44.19, "x": 78.96, "y": -15.75, "rotation": -156.96 },
|
||||||
|
{ "name": "neck", "parent": "torso", "length": 18.38, "x": 83.64, "y": -1.78, "rotation": 0.9 },
|
||||||
|
{ "name": "right lower leg", "parent": "right upper leg", "length": 58.52, "x": 50.21, "y": 0.6, "rotation": -10.7 },
|
||||||
|
{ "name": "right shoulder", "parent": "torso", "length": 49.95, "x": 81.9, "y": 6.79, "rotation": 130.6 },
|
||||||
|
{ "name": "head", "parent": "neck", "length": 68.28, "x": 19.09, "y": 6.97, "rotation": -8.94 },
|
||||||
{ "name": "left arm", "parent": "left shoulder", "length": 35.62, "x": 44.19, "y": -0.01, "rotation": 28.16 },
|
{ "name": "left arm", "parent": "left shoulder", "length": 35.62, "x": 44.19, "y": -0.01, "rotation": 28.16 },
|
||||||
|
{ "name": "left foot", "parent": "left lower leg", "length": 46.5, "x": 64.02, "y": -8.67, "rotation": 102.43 },
|
||||||
|
{ "name": "right arm", "parent": "right shoulder", "length": 36.74, "x": 49.95, "y": -0.12, "rotation": 40.12 },
|
||||||
|
{ "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": "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 }
|
{ "name": "right hand", "parent": "right arm", "length": 15.32, "x": 36.9, "y": 0.34, "rotation": 2.35 }
|
||||||
],
|
],
|
||||||
"slots": [
|
"slots": [
|
||||||
{ "name": "left shoulder", "bone": "left shoulder", "attachment": "left-shoulder" },
|
{ "name": "left shoulder", "bone": "left shoulder", "attachment": "left-shoulder" },
|
||||||
@ -40,339 +40,62 @@
|
|||||||
],
|
],
|
||||||
"skins": {
|
"skins": {
|
||||||
"default": {
|
"default": {
|
||||||
"left shoulder": {
|
"eyes": {
|
||||||
"left-shoulder": { "x": 23.74, "y": 0.11, "rotation": 62.01, "width": 34, "height": 53 }
|
"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 }
|
||||||
|
},
|
||||||
|
"head": {
|
||||||
|
"head": { "x": 53.94, "y": -5.75, "rotation": -86.9, "width": 121, "height": 132 }
|
||||||
},
|
},
|
||||||
"left arm": {
|
"left arm": {
|
||||||
"left-arm": { "x": 15.11, "y": -0.44, "rotation": 33.84, "width": 35, "height": 29 }
|
"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": {
|
||||||
"left-foot": { "x": 24.35, "y": 8.88, "rotation": 3.32, "width": 65, "height": 30 }
|
"left-foot": { "x": 24.35, "y": 8.88, "rotation": 3.32, "width": 65, "height": 30 }
|
||||||
},
|
},
|
||||||
|
"left hand": {
|
||||||
|
"left-hand": { "x": 0.75, "y": 1.86, "rotation": 31.14, "width": 35, "height": 38 }
|
||||||
|
},
|
||||||
"left lower leg": {
|
"left lower leg": {
|
||||||
"left-lower-leg": { "x": 24.55, "y": -1.92, "rotation": 105.75, "width": 49, "height": 64 }
|
"left-lower-leg": { "x": 24.55, "y": -1.92, "rotation": 105.75, "width": 49, "height": 64 }
|
||||||
},
|
},
|
||||||
|
"left shoulder": {
|
||||||
|
"left-shoulder": { "x": 23.74, "y": 0.11, "rotation": 62.01, "width": 34, "height": 53 }
|
||||||
|
},
|
||||||
"left upper leg": {
|
"left upper leg": {
|
||||||
"left-upper-leg": { "x": 26.12, "y": -1.85, "rotation": 89.09, "width": 33, "height": 67 }
|
"left-upper-leg": { "x": 26.12, "y": -1.85, "rotation": 89.09, "width": 33, "height": 67 }
|
||||||
},
|
},
|
||||||
|
"neck": {
|
||||||
|
"neck": { "x": 9.42, "y": -3.66, "rotation": -100.15, "width": 34, "height": 28 }
|
||||||
|
},
|
||||||
"pelvis": {
|
"pelvis": {
|
||||||
"pelvis": { "x": -4.83, "y": 10.62, "width": 63, "height": 47 }
|
"pelvis": { "x": -4.83, "y": 10.62, "width": 63, "height": 47 }
|
||||||
},
|
},
|
||||||
|
"right arm": {
|
||||||
|
"right-arm": { "x": 18.34, "y": -2.64, "rotation": 94.32, "width": 21, "height": 45 }
|
||||||
|
},
|
||||||
"right foot": {
|
"right foot": {
|
||||||
"right-foot": { "x": 19.02, "y": 8.47, "rotation": 1.52, "width": 67, "height": 30 }
|
"right-foot": { "x": 19.02, "y": 8.47, "rotation": 1.52, "width": 67, "height": 30 }
|
||||||
},
|
},
|
||||||
|
"right hand": {
|
||||||
|
"right-hand": { "x": 6.82, "y": 1.25, "rotation": 91.96, "width": 32, "height": 32 }
|
||||||
|
},
|
||||||
"right lower leg": {
|
"right lower leg": {
|
||||||
"right-lower-leg": { "x": 23.28, "y": -2.59, "rotation": 111.83, "width": 51, "height": 64 }
|
"right-lower-leg": { "x": 23.28, "y": -2.59, "rotation": 111.83, "width": 51, "height": 64 }
|
||||||
},
|
},
|
||||||
|
"right shoulder": {
|
||||||
|
"right-shoulder": { "x": 25.86, "y": 0.03, "rotation": 134.44, "width": 52, "height": 51 }
|
||||||
|
},
|
||||||
"right upper leg": {
|
"right upper leg": {
|
||||||
"right-upper-leg": { "x": 23.03, "y": 0.25, "rotation": 101.13, "width": 44, "height": 70 }
|
"right-upper-leg": { "x": 23.03, "y": 0.25, "rotation": 101.13, "width": 44, "height": 70 }
|
||||||
},
|
},
|
||||||
"torso": {
|
"torso": {
|
||||||
"torso": { "x": 44.57, "y": -7.08, "rotation": -94.95, "width": 68, "height": 92 }
|
"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 }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"events": {},
|
||||||
"animations": {
|
"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": {
|
"jump": {
|
||||||
"bones": {
|
"bones": {
|
||||||
"hip": {
|
"hip": {
|
||||||
@ -782,6 +505,284 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"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 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
BIN
spine-unity/Assets/examples/spineboy/data/spineboy.png
Normal file
BIN
spine-unity/Assets/examples/spineboy/data/spineboy.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 31 KiB |
BIN
spine-unity/Assets/examples/spineboy/data/spineboy2.png
Normal file
BIN
spine-unity/Assets/examples/spineboy/data/spineboy2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
36
spine-unity/Assets/examples/spineboy/data/spineboy2.png.meta
Normal file
36
spine-unity/Assets/examples/spineboy/data/spineboy2.png.meta
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d2fb6a3988dc1c84eb629148095cabdb
|
||||||
|
TextureImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 1
|
||||||
|
linearTexture: 0
|
||||||
|
correctGamma: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: .25
|
||||||
|
normalMapFilter: 0
|
||||||
|
isReadable: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: -1
|
||||||
|
maxTextureSize: 1024
|
||||||
|
textureSettings:
|
||||||
|
filterMode: -1
|
||||||
|
aniso: -1
|
||||||
|
mipBias: -1
|
||||||
|
wrapMode: -1
|
||||||
|
nPOTScale: 1
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
alphaIsTransparency: 0
|
||||||
|
textureType: -1
|
||||||
|
buildTargetSettings: []
|
||||||
|
userData:
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,4 +1,4 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 66434ac89c9a4b24284759ae97d48205
|
guid: 95fc37a815534f3428ffadc65ee619d2
|
||||||
NativeFormatImporter:
|
NativeFormatImporter:
|
||||||
userData:
|
userData:
|
||||||
@ -1,18 +1,13 @@
|
|||||||
The Spine runtime for Unity 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 for your version of Unity.
|
The Spine runtime for Unity comes with an example project which has "spineboy" walking. When clicked, he jumps and the transition to/from walking/jumping is blended smoothly.
|
||||||
|
|
||||||
# Unity 4
|
# Requirements
|
||||||
|
|
||||||
1. Copy `spine-csharp/src` to `spine-unity/Assets/Plugins/Spine/spine-csharp`.
|
1. Unity 4.2+
|
||||||
1. Delete the `Assets/examples/Unity 3.5` directory.
|
|
||||||
1. Open the `Assets/examples/Unity 4/spineboy.unity` scene.
|
|
||||||
|
|
||||||
# Unity 3.5.7
|
# Instructions
|
||||||
|
|
||||||
Note that you **must** delete the `Unity 4` directory or Unity will crash.
|
1. Copy `spine-csharp/src` to `spine-unity/Assets/Spine/spine-csharp`.
|
||||||
|
1. Open the `Assets/examples/spineboy/spineboy.unity` scene.
|
||||||
1. Copy `spine-csharp/src` to `spine-unity/Assets/Plugins/Spine/spine-csharp`.
|
|
||||||
1. Delete the `Assets/examples/Unity 4` directory.
|
|
||||||
1. Open the `Assets/examples/Unity 3.5/spineboy.unity` scene.
|
|
||||||
|
|
||||||
# Notes
|
# Notes
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user