diff --git a/spine-unity/Assets/Examples/Getting Started/6 SkeletonGraphic.unity b/spine-unity/Assets/Examples/Getting Started/6 SkeletonGraphic.unity index 43719bd00..9deef7c07 100644 --- a/spine-unity/Assets/Examples/Getting Started/6 SkeletonGraphic.unity +++ b/spine-unity/Assets/Examples/Getting Started/6 SkeletonGraphic.unity @@ -358,7 +358,7 @@ RectTransform: m_RootOrder: 0 m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0.000004069, y: 1363} + m_AnchoredPosition: {x: 0.000004069, y: 0} m_SizeDelta: {x: 0, y: 1872} m_Pivot: {x: 0, y: 1} --- !u!1 &611702901 @@ -996,7 +996,7 @@ MonoBehaviour: m_TargetGraphic: {fileID: 2091633436} m_HandleRect: {fileID: 2091633435} m_Direction: 2 - m_Value: 0 + m_Value: 1 m_Size: 0.2719017 m_NumberOfSteps: 0 m_OnValueChanged: diff --git a/spine-unity/Assets/Examples/Getting Started/Scripts/BasicPlatformerController.cs b/spine-unity/Assets/Examples/Getting Started/Scripts/BasicPlatformerController.cs index 48b234728..9209dbc73 100644 --- a/spine-unity/Assets/Examples/Getting Started/Scripts/BasicPlatformerController.cs +++ b/spine-unity/Assets/Examples/Getting Started/Scripts/BasicPlatformerController.cs @@ -31,188 +31,174 @@ // Contributed by: Mitch Thompson using UnityEngine; -using System.Collections; using Spine.Unity; -[RequireComponent(typeof(CharacterController))] -public class BasicPlatformerController : MonoBehaviour { +namespace Spine.Unity.Examples { + [RequireComponent(typeof(CharacterController))] + public class BasicPlatformerController : MonoBehaviour { -#if UNITY_4_5 - [Header("Controls")] -#endif - public string XAxis = "Horizontal"; - public string YAxis = "Vertical"; - public string JumpButton = "Jump"; + [Header("Controls")] + public string XAxis = "Horizontal"; + public string YAxis = "Vertical"; + public string JumpButton = "Jump"; -#if UNITY_4_5 - [Header("Moving")] -#endif - public float walkSpeed = 4; - public float runSpeed = 10; - public float gravity = 65; + [Header("Moving")] + public float walkSpeed = 4; + public float runSpeed = 10; + public float gravity = 65; -#if UNITY_4_5 - [Header("Jumping")] -#endif - public float jumpSpeed = 25; - public float jumpDuration = 0.5f; - public float jumpInterruptFactor = 100; - public float forceCrouchVelocity = 25; - public float forceCrouchDuration = 0.5f; + [Header("Jumping")] + public float jumpSpeed = 25; + public float jumpDuration = 0.5f; + public float jumpInterruptFactor = 100; + public float forceCrouchVelocity = 25; + public float forceCrouchDuration = 0.5f; -#if UNITY_4_5 - [Header("Graphics")] -#endif - public Transform graphicsRoot; - public SkeletonAnimation skeletonAnimation; + [Header("Graphics")] + public Transform graphicsRoot; + public SkeletonAnimation skeletonAnimation; -#if UNITY_4_5 - [Header("Animation")] -#endif - [SpineAnimation(dataField: "skeletonAnimation")] - public string walkName = "Walk"; - [SpineAnimation(dataField: "skeletonAnimation")] - public string runName = "Run"; - [SpineAnimation(dataField: "skeletonAnimation")] - public string idleName = "Idle"; - [SpineAnimation(dataField: "skeletonAnimation")] - public string jumpName = "Jump"; - [SpineAnimation(dataField: "skeletonAnimation")] - public string fallName = "Fall"; - [SpineAnimation(dataField: "skeletonAnimation")] - public string crouchName = "Crouch"; + [Header("Animation")] + [SpineAnimation(dataField: "skeletonAnimation")] + public string walkName = "Walk"; + [SpineAnimation(dataField: "skeletonAnimation")] + public string runName = "Run"; + [SpineAnimation(dataField: "skeletonAnimation")] + public string idleName = "Idle"; + [SpineAnimation(dataField: "skeletonAnimation")] + public string jumpName = "Jump"; + [SpineAnimation(dataField: "skeletonAnimation")] + public string fallName = "Fall"; + [SpineAnimation(dataField: "skeletonAnimation")] + public string crouchName = "Crouch"; -#if UNITY_4_5 - [Header("Audio")] -#endif - public AudioSource jumpAudioSource; - public AudioSource hardfallAudioSource; - public AudioSource footstepAudioSource; - [SpineEvent] - public string footstepEventName = "Footstep"; - CharacterController controller; - Vector2 velocity = Vector2.zero; - Vector2 lastVelocity = Vector2.zero; - bool lastGrounded = false; - float jumpEndTime = 0; - bool jumpInterrupt = false; - float forceCrouchEndTime; - Quaternion flippedRotation = Quaternion.Euler(0, 180, 0); + [Header("Audio")] + public AudioSource jumpAudioSource; + public AudioSource hardfallAudioSource; + public AudioSource footstepAudioSource; + [SpineEvent] + public string footstepEventName = "Footstep"; + CharacterController controller; + Vector2 velocity = Vector2.zero; + Vector2 lastVelocity = Vector2.zero; + bool lastGrounded = false; + float jumpEndTime = 0; + bool jumpInterrupt = false; + float forceCrouchEndTime; + Quaternion flippedRotation = Quaternion.Euler(0, 180, 0); - void Awake () { - controller = GetComponent(); - } - - void Start () { - // Register a callback for Spine Events (in this case, Footstep) - skeletonAnimation.state.Event += HandleEvent; - } - - void HandleEvent (Spine.TrackEntry trackEntry, Spine.Event e) { - // Play some sound if footstep event fired - if (e.Data.Name == footstepEventName) { - footstepAudioSource.Stop(); - footstepAudioSource.pitch = GetRandomPitch(0.2f); - footstepAudioSource.Play(); - } - } - - void Update () { - //control inputs - float x = Input.GetAxis(XAxis); - float y = Input.GetAxis(YAxis); - //check for force crouch - bool crouching = (controller.isGrounded && y < -0.5f) || (forceCrouchEndTime > Time.time); - velocity.x = 0; - - //Calculate control velocity - if (!crouching) { - if (Input.GetButtonDown(JumpButton) && controller.isGrounded) { - //jump - jumpAudioSource.Stop(); - jumpAudioSource.Play(); - velocity.y = jumpSpeed; - jumpEndTime = Time.time + jumpDuration; - } else if (Time.time < jumpEndTime && Input.GetButtonUp(JumpButton)) { - jumpInterrupt = true; - } - - - if (x != 0) { - //walk or run - velocity.x = Mathf.Abs(x) > 0.6f ? runSpeed : walkSpeed; - velocity.x *= Mathf.Sign(x); - } - - if (jumpInterrupt) { - //interrupt jump and smoothly cut Y velocity - if (velocity.y > 0) { - velocity.y = Mathf.MoveTowards(velocity.y, 0, Time.deltaTime * 100); - } else { - jumpInterrupt = false; - } - } + void Awake () { + controller = GetComponent(); } - //apply gravity F = mA (Learn it, love it, live it) - velocity.y -= gravity * Time.deltaTime; - - //move - controller.Move(new Vector3(velocity.x, velocity.y, 0) * Time.deltaTime); - - if (controller.isGrounded) { - //cancel out Y velocity if on ground - velocity.y = -gravity * Time.deltaTime; - jumpInterrupt = false; + void Start () { + // Register a callback for Spine Events (in this case, Footstep) + skeletonAnimation.state.Event += HandleEvent; } - - Vector2 deltaVelocity = lastVelocity - velocity; - - if (!lastGrounded && controller.isGrounded) { - //detect hard fall - if ((gravity * Time.deltaTime) - deltaVelocity.y > forceCrouchVelocity) { - forceCrouchEndTime = Time.time + forceCrouchDuration; - hardfallAudioSource.Play(); - } else { - //play footstep audio if light fall because why not + void HandleEvent (Spine.TrackEntry trackEntry, Spine.Event e) { + // Play some sound if footstep event fired + if (e.Data.Name == footstepEventName) { + footstepAudioSource.Stop(); + footstepAudioSource.pitch = GetRandomPitch(0.2f); footstepAudioSource.Play(); } - } - //graphics updates - if (controller.isGrounded) { - if (crouching) { //crouch - skeletonAnimation.AnimationName = crouchName; - } else { - if (x == 0) //idle - skeletonAnimation.AnimationName = idleName; - else //move - skeletonAnimation.AnimationName = Mathf.Abs(x) > 0.6f ? runName : walkName; + void Update () { + //control inputs + float x = Input.GetAxis(XAxis); + float y = Input.GetAxis(YAxis); + //check for force crouch + bool crouching = (controller.isGrounded && y < -0.5f) || (forceCrouchEndTime > Time.time); + velocity.x = 0; + + //Calculate control velocity + if (!crouching) { + if (Input.GetButtonDown(JumpButton) && controller.isGrounded) { + //jump + jumpAudioSource.Stop(); + jumpAudioSource.Play(); + velocity.y = jumpSpeed; + jumpEndTime = Time.time + jumpDuration; + } else if (Time.time < jumpEndTime && Input.GetButtonUp(JumpButton)) { + jumpInterrupt = true; + } + + + if (x != 0) { + //walk or run + velocity.x = Mathf.Abs(x) > 0.6f ? runSpeed : walkSpeed; + velocity.x *= Mathf.Sign(x); + } + + if (jumpInterrupt) { + //interrupt jump and smoothly cut Y velocity + if (velocity.y > 0) { + velocity.y = Mathf.MoveTowards(velocity.y, 0, Time.deltaTime * 100); + } else { + jumpInterrupt = false; + } + } } - } else { - if (velocity.y > 0) //jump - skeletonAnimation.AnimationName = jumpName; - else //fall - skeletonAnimation.AnimationName = fallName; - } - //flip left or right - if (x > 0) - graphicsRoot.localRotation = Quaternion.identity; - else if (x < 0) + //apply gravity F = mA (Learn it, love it, live it) + velocity.y -= gravity * Time.deltaTime; + + //move + controller.Move(new Vector3(velocity.x, velocity.y, 0) * Time.deltaTime); + + if (controller.isGrounded) { + //cancel out Y velocity if on ground + velocity.y = -gravity * Time.deltaTime; + jumpInterrupt = false; + } + + + Vector2 deltaVelocity = lastVelocity - velocity; + + if (!lastGrounded && controller.isGrounded) { + //detect hard fall + if ((gravity * Time.deltaTime) - deltaVelocity.y > forceCrouchVelocity) { + forceCrouchEndTime = Time.time + forceCrouchDuration; + hardfallAudioSource.Play(); + } else { + //play footstep audio if light fall because why not + footstepAudioSource.Play(); + } + + } + + //graphics updates + if (controller.isGrounded) { + if (crouching) { //crouch + skeletonAnimation.AnimationName = crouchName; + } else { + if (x == 0) //idle + skeletonAnimation.AnimationName = idleName; + else //move + skeletonAnimation.AnimationName = Mathf.Abs(x) > 0.6f ? runName : walkName; + } + } else { + if (velocity.y > 0) //jump + skeletonAnimation.AnimationName = jumpName; + else //fall + skeletonAnimation.AnimationName = fallName; + } + + //flip left or right + if (x > 0) + graphicsRoot.localRotation = Quaternion.identity; + else if (x < 0) graphicsRoot.localRotation = flippedRotation; - - //store previous state - lastVelocity = velocity; - lastGrounded = controller.isGrounded; + //store previous state + lastVelocity = velocity; + lastGrounded = controller.isGrounded; + } + + static float GetRandomPitch (float maxOffset) { + return 1f + Random.Range(-maxOffset, maxOffset); + } } - - #region Utility - static float GetRandomPitch (float maxOffset) { - return 1f + Random.Range(-maxOffset, maxOffset); - } - #endregion -} +} \ No newline at end of file diff --git a/spine-unity/Assets/Examples/Getting Started/Scripts/ConstrainedCamera.cs b/spine-unity/Assets/Examples/Getting Started/Scripts/ConstrainedCamera.cs index ded5fe8d4..39cecbd63 100644 --- a/spine-unity/Assets/Examples/Getting Started/Scripts/ConstrainedCamera.cs +++ b/spine-unity/Assets/Examples/Getting Started/Scripts/ConstrainedCamera.cs @@ -31,22 +31,23 @@ // Contributed by: Mitch Thompson using UnityEngine; -using System.Collections; -public class ConstrainedCamera : MonoBehaviour { - public Transform target; - public Vector3 offset; - public Vector3 min; - public Vector3 max; - public float smoothing = 5f; +namespace Spine.Unity.Examples { + public class ConstrainedCamera : MonoBehaviour { + public Transform target; + public Vector3 offset; + public Vector3 min; + public Vector3 max; + public float smoothing = 5f; - // Update is called once per frame - void LateUpdate () { - Vector3 goalPoint = target.position + offset; - goalPoint.x = Mathf.Clamp(goalPoint.x, min.x, max.x); - goalPoint.y = Mathf.Clamp(goalPoint.y, min.y, max.y); - goalPoint.z = Mathf.Clamp(goalPoint.z, min.z, max.z); + // Update is called once per frame + void LateUpdate () { + Vector3 goalPoint = target.position + offset; + goalPoint.x = Mathf.Clamp(goalPoint.x, min.x, max.x); + goalPoint.y = Mathf.Clamp(goalPoint.y, min.y, max.y); + goalPoint.z = Mathf.Clamp(goalPoint.z, min.z, max.z); - transform.position = Vector3.Lerp(transform.position, goalPoint, smoothing * Time.deltaTime); + transform.position = Vector3.Lerp(transform.position, goalPoint, smoothing * Time.deltaTime); + } } -} +} \ No newline at end of file diff --git a/spine-unity/Assets/Examples/Getting Started/Scripts/Raptor.cs b/spine-unity/Assets/Examples/Getting Started/Scripts/Raptor.cs index 7dd573862..32d6b8ce7 100644 --- a/spine-unity/Assets/Examples/Getting Started/Scripts/Raptor.cs +++ b/spine-unity/Assets/Examples/Getting Started/Scripts/Raptor.cs @@ -32,54 +32,54 @@ using UnityEngine; using System.Collections; using Spine.Unity; -public class Raptor : MonoBehaviour { +namespace Spine.Unity.Examples { + public class Raptor : MonoBehaviour { - #region Inspector - [SpineAnimation] - public string walk = "walk"; + #region Inspector + [SpineAnimation] + public string walk = "walk"; - [SpineAnimation] - public string gungrab = "gungrab"; + [SpineAnimation] + public string gungrab = "gungrab"; - [SpineAnimation] - public string gunkeep = "gunkeep"; + [SpineAnimation] + public string gunkeep = "gunkeep"; - [SpineEvent] - public string footstepEvent = "footstep"; + [SpineEvent] + public string footstepEvent = "footstep"; - public AudioSource footstepAudioSource; - #endregion + public AudioSource footstepAudioSource; + #endregion - SkeletonAnimation skeletonAnimation; + SkeletonAnimation skeletonAnimation; - void Start () { - skeletonAnimation = GetComponent(); - skeletonAnimation.state.Event += HandleEvent; - StartCoroutine(GunGrabRoutine()); - } - - void HandleEvent (Spine.TrackEntry trackEntry, Spine.Event e) { - if (e.Data.Name == footstepEvent) { - footstepAudioSource.pitch = 0.5f + Random.Range(-0.2f, 0.2f); - footstepAudioSource.Play(); + void Start () { + skeletonAnimation = GetComponent(); + skeletonAnimation.state.Event += HandleEvent; + StartCoroutine(GunGrabRoutine()); } - } - IEnumerator GunGrabRoutine () { - // Play the walk animation on track 0. - skeletonAnimation.state.SetAnimation(0, walk, true); + void HandleEvent (Spine.TrackEntry trackEntry, Spine.Event e) { + if (e.Data.Name == footstepEvent) { + footstepAudioSource.pitch = 0.5f + Random.Range(-0.2f, 0.2f); + footstepAudioSource.Play(); + } + } - // Repeatedly play the gungrab and gunkeep animation on track 1. - while (true) { - - yield return new WaitForSeconds(Random.Range(0.5f, 3f)); - skeletonAnimation.state.SetAnimation(1, gungrab, false); + IEnumerator GunGrabRoutine () { + // Play the walk animation on track 0. + skeletonAnimation.state.SetAnimation(0, walk, true); - yield return new WaitForSeconds(Random.Range(0.5f, 3f)); - skeletonAnimation.state.SetAnimation(1, gunkeep, false); + // Repeatedly play the gungrab and gunkeep animation on track 1. + while (true) { + yield return new WaitForSeconds(Random.Range(0.5f, 3f)); + skeletonAnimation.state.SetAnimation(1, gungrab, false); + + yield return new WaitForSeconds(Random.Range(0.5f, 3f)); + skeletonAnimation.state.SetAnimation(1, gunkeep, false); + } } } - -} +} \ No newline at end of file diff --git a/spine-unity/Assets/Examples/Getting Started/Scripts/SpineBeginnerTwo.cs b/spine-unity/Assets/Examples/Getting Started/Scripts/SpineBeginnerTwo.cs index c4608d076..b53e1613f 100644 --- a/spine-unity/Assets/Examples/Getting Started/Scripts/SpineBeginnerTwo.cs +++ b/spine-unity/Assets/Examples/Getting Started/Scripts/SpineBeginnerTwo.cs @@ -32,61 +32,64 @@ using UnityEngine; using System.Collections; using Spine.Unity; -public class SpineBeginnerTwo : MonoBehaviour { +namespace Spine.Unity.Examples { + public class SpineBeginnerTwo : MonoBehaviour { - #region Inspector - // [SpineAnimation] attribute allows an Inspector dropdown of Spine animation names coming form SkeletonAnimation. - [SpineAnimation] - public string runAnimationName; + #region Inspector + // [SpineAnimation] attribute allows an Inspector dropdown of Spine animation names coming form SkeletonAnimation. + [SpineAnimation] + public string runAnimationName; - [SpineAnimation] - public string idleAnimationName; + [SpineAnimation] + public string idleAnimationName; - [SpineAnimation] - public string walkAnimationName; + [SpineAnimation] + public string walkAnimationName; - [SpineAnimation] - public string shootAnimationName; - #endregion + [SpineAnimation] + public string shootAnimationName; + #endregion - SkeletonAnimation skeletonAnimation; + SkeletonAnimation skeletonAnimation; - // Spine.AnimationState and Spine.Skeleton are not Unity-serialized objects. You will not see them as fields in the inspector. - public Spine.AnimationState spineAnimationState; - public Spine.Skeleton skeleton; + // Spine.AnimationState and Spine.Skeleton are not Unity-serialized objects. You will not see them as fields in the inspector. + public Spine.AnimationState spineAnimationState; + public Spine.Skeleton skeleton; - void Start () { - // Make sure you get these AnimationState and Skeleton references in Start or Later. Getting and using them in Awake is not guaranteed by default execution order. - skeletonAnimation = GetComponent(); - spineAnimationState = skeletonAnimation.state; - skeleton = skeletonAnimation.skeleton; + void Start () { + // Make sure you get these AnimationState and Skeleton references in Start or Later. Getting and using them in Awake is not guaranteed by default execution order. + skeletonAnimation = GetComponent(); + spineAnimationState = skeletonAnimation.state; + skeleton = skeletonAnimation.skeleton; - StartCoroutine(DoDemoRoutine()); - } - - /// This is an infinitely repeating Unity Coroutine. Read the Unity documentation on Coroutines to learn more. - IEnumerator DoDemoRoutine () { - - while (true) { - // SetAnimation is the basic way to set an animation. - // SetAnimation sets the animation and starts playing it from the beginning. - // Common Mistake: If you keep calling it in Update, it will keep showing the first pose of the animation, do don't do that. + StartCoroutine(DoDemoRoutine()); + } - spineAnimationState.SetAnimation(0, walkAnimationName, true); - yield return new WaitForSeconds(1.5f); + /// This is an infinitely repeating Unity Coroutine. Read the Unity documentation on Coroutines to learn more. + IEnumerator DoDemoRoutine () { - // skeletonAnimation.AnimationName = runAnimationName; // this line also works for quick testing/simple uses. - spineAnimationState.SetAnimation(0, runAnimationName, true); - yield return new WaitForSeconds(1.5f); + while (true) { + // SetAnimation is the basic way to set an animation. + // SetAnimation sets the animation and starts playing it from the beginning. + // Common Mistake: If you keep calling it in Update, it will keep showing the first pose of the animation, do don't do that. - spineAnimationState.SetAnimation(0, idleAnimationName, true); - yield return new WaitForSeconds(1f); + spineAnimationState.SetAnimation(0, walkAnimationName, true); + yield return new WaitForSeconds(1.5f); - skeleton.FlipX = true; // skeleton allows you to flip the skeleton. - yield return new WaitForSeconds(0.5f); - skeleton.FlipX = false; - yield return new WaitForSeconds(0.5f); + // skeletonAnimation.AnimationName = runAnimationName; // this line also works for quick testing/simple uses. + spineAnimationState.SetAnimation(0, runAnimationName, true); + yield return new WaitForSeconds(1.5f); + spineAnimationState.SetAnimation(0, idleAnimationName, true); + yield return new WaitForSeconds(1f); + + skeleton.FlipX = true; // skeleton allows you to flip the skeleton. + yield return new WaitForSeconds(0.5f); + skeleton.FlipX = false; + yield return new WaitForSeconds(0.5f); + + } } } + } diff --git a/spine-unity/Assets/Examples/Getting Started/Scripts/SpineBlinkPlayer.cs b/spine-unity/Assets/Examples/Getting Started/Scripts/SpineBlinkPlayer.cs index 081e69123..cf9393511 100644 --- a/spine-unity/Assets/Examples/Getting Started/Scripts/SpineBlinkPlayer.cs +++ b/spine-unity/Assets/Examples/Getting Started/Scripts/SpineBlinkPlayer.cs @@ -32,20 +32,22 @@ using UnityEngine; using System.Collections; using Spine.Unity; -public class SpineBlinkPlayer : MonoBehaviour { - const int BlinkTrack = 1; +namespace Spine.Unity.Examples { + public class SpineBlinkPlayer : MonoBehaviour { + const int BlinkTrack = 1; - [SpineAnimation] - public string blinkAnimation; - public float minimumDelay = 0.15f; - public float maximumDelay = 3f; + [SpineAnimation] + public string blinkAnimation; + public float minimumDelay = 0.15f; + public float maximumDelay = 3f; - IEnumerator Start () { - var skeletonAnimation = GetComponent(); if (skeletonAnimation == null) yield break; - while (true) { - skeletonAnimation.state.SetAnimation(SpineBlinkPlayer.BlinkTrack, blinkAnimation, false); - yield return new WaitForSeconds(Random.Range(minimumDelay, maximumDelay)); + IEnumerator Start () { + var skeletonAnimation = GetComponent(); if (skeletonAnimation == null) yield break; + while (true) { + skeletonAnimation.state.SetAnimation(SpineBlinkPlayer.BlinkTrack, blinkAnimation, false); + yield return new WaitForSeconds(Random.Range(minimumDelay, maximumDelay)); + } } - } + } } diff --git a/spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerInput.cs b/spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerInput.cs index 27629e05b..6beca6df6 100644 --- a/spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerInput.cs +++ b/spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerInput.cs @@ -31,34 +31,33 @@ using UnityEngine; using System.Collections; -public class SpineboyBeginnerInput : MonoBehaviour { +namespace Spine.Unity.Examples { + public class SpineboyBeginnerInput : MonoBehaviour { + #region Inspector + public string horizontalAxis = "Horizontal"; + public string attackButton = "Fire1"; + public string jumpButton = "Jump"; - #region Inspector - public string horizontalAxis = "Horizontal"; - public string attackButton = "Fire1"; - public string jumpButton = "Jump"; + public SpineboyBeginnerModel model; - public SpineboyBeginnerModel model; + void OnValidate () { + if (model == null) + model = GetComponent(); + } + #endregion - void OnValidate () { - if (model == null) - model = GetComponent(); + void Update () { + if (model == null) return; + + float currentHorizontal = Input.GetAxisRaw(horizontalAxis); + model.TryMove(currentHorizontal); + + if (Input.GetButton(attackButton)) + model.TryShoot(); + + if (Input.GetButtonDown(jumpButton)) + model.TryJump(); + } } - #endregion - - void Update () { - if (model == null) return; - - float currentHorizontal = Input.GetAxisRaw(horizontalAxis); - model.TryMove(currentHorizontal); - - if (Input.GetButton(attackButton)) - model.TryShoot(); - - if (Input.GetButtonDown(jumpButton)) - model.TryJump(); - - } - } diff --git a/spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerModel.cs b/spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerModel.cs index f41e698aa..3de67726f 100644 --- a/spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerModel.cs +++ b/spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerModel.cs @@ -31,83 +31,85 @@ using UnityEngine; using System.Collections; -[SelectionBase] -public class SpineboyBeginnerModel : MonoBehaviour { +namespace Spine.Unity.Examples { + [SelectionBase] + public class SpineboyBeginnerModel : MonoBehaviour { - #region Inspector - [Header("Current State")] - public SpineBeginnerBodyState state; - public bool facingLeft; - [Range(-1f, 1f)] - public float currentSpeed; + #region Inspector + [Header("Current State")] + public SpineBeginnerBodyState state; + public bool facingLeft; + [Range(-1f, 1f)] + public float currentSpeed; - [Header("Balance")] - public float shootInterval = 0.12f; - #endregion + [Header("Balance")] + public float shootInterval = 0.12f; + #endregion - float lastShootTime; - public event System.Action ShootEvent; // Lets other scripts know when Spineboy is shooting. Check C# Documentation to learn more about events and delegates. + float lastShootTime; + public event System.Action ShootEvent; // Lets other scripts know when Spineboy is shooting. Check C# Documentation to learn more about events and delegates. - #region API - public void TryJump () { - StartCoroutine(JumpRoutine()); - } - - public void TryShoot () { - float currentTime = Time.time; - - if (currentTime - lastShootTime > shootInterval) { - lastShootTime = currentTime; - if (ShootEvent != null) ShootEvent(); // Fire the "ShootEvent" event. - } - } - - public void TryMove (float speed) { - currentSpeed = speed; // show the "speed" in the Inspector. - - if (speed != 0) { - bool speedIsNegative = (speed < 0f); - facingLeft = speedIsNegative; // Change facing direction whenever speed is not 0. - } - - if (state != SpineBeginnerBodyState.Jumping) { - state = (speed == 0) ? SpineBeginnerBodyState.Idle : SpineBeginnerBodyState.Running; + #region API + public void TryJump () { + StartCoroutine(JumpRoutine()); } - } - #endregion + public void TryShoot () { + float currentTime = Time.time; - IEnumerator JumpRoutine () { - if (state == SpineBeginnerBodyState.Jumping) yield break; // Don't jump when already jumping. - - state = SpineBeginnerBodyState.Jumping; - - // Terribly-coded Fake jumping. - { - var pos = transform.localPosition; - const float jumpTime = 1.2f; - const float half = jumpTime * 0.5f; - const float jumpPower = 20f; - for (float t = 0; t < half; t += Time.deltaTime) { - float d = jumpPower * (half - t); - transform.Translate((d * Time.deltaTime) * Vector3.up); - yield return null; + if (currentTime - lastShootTime > shootInterval) { + lastShootTime = currentTime; + if (ShootEvent != null) ShootEvent(); // Fire the "ShootEvent" event. } - for (float t = 0; t < half; t += Time.deltaTime) { - float d = jumpPower * t; - transform.Translate((d * Time.deltaTime) * Vector3.down); - yield return null; - } - transform.localPosition = pos; } - state = SpineBeginnerBodyState.Idle; + public void TryMove (float speed) { + currentSpeed = speed; // show the "speed" in the Inspector. + + if (speed != 0) { + bool speedIsNegative = (speed < 0f); + facingLeft = speedIsNegative; // Change facing direction whenever speed is not 0. + } + + if (state != SpineBeginnerBodyState.Jumping) { + state = (speed == 0) ? SpineBeginnerBodyState.Idle : SpineBeginnerBodyState.Running; + } + + } + #endregion + + IEnumerator JumpRoutine () { + if (state == SpineBeginnerBodyState.Jumping) yield break; // Don't jump when already jumping. + + state = SpineBeginnerBodyState.Jumping; + + // Fake jumping. + { + var pos = transform.localPosition; + const float jumpTime = 1.2f; + const float half = jumpTime * 0.5f; + const float jumpPower = 20f; + for (float t = 0; t < half; t += Time.deltaTime) { + float d = jumpPower * (half - t); + transform.Translate((d * Time.deltaTime) * Vector3.up); + yield return null; + } + for (float t = 0; t < half; t += Time.deltaTime) { + float d = jumpPower * t; + transform.Translate((d * Time.deltaTime) * Vector3.down); + yield return null; + } + transform.localPosition = pos; + } + + state = SpineBeginnerBodyState.Idle; + } + } -} - -public enum SpineBeginnerBodyState { - Idle, - Running, - Jumping + public enum SpineBeginnerBodyState { + Idle, + Running, + Jumping + } } diff --git a/spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerView.cs b/spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerView.cs index 71acbfc85..8c382c534 100644 --- a/spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerView.cs +++ b/spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerView.cs @@ -32,113 +32,115 @@ using UnityEngine; using System.Collections; using Spine.Unity; -public class SpineboyBeginnerView : MonoBehaviour { - - #region Inspector - [Header("Components")] - public SpineboyBeginnerModel model; - public SkeletonAnimation skeletonAnimation; - //public ParticleSystem gunParticles; +namespace Spine.Unity.Examples { + public class SpineboyBeginnerView : MonoBehaviour { - [SpineAnimation] public string run, idle, shoot, jump; - [SpineEvent] public string footstepEventName; + #region Inspector + [Header("Components")] + public SpineboyBeginnerModel model; + public SkeletonAnimation skeletonAnimation; - [Header("Audio")] - public float footstepPitchOffset = 0.2f; - public float gunsoundPitchOffset = 0.13f; - public AudioSource footstepSource, gunSource, jumpSource; + [SpineAnimation] public string run, idle, shoot, jump; + [SpineEvent] public string footstepEventName; - [Header("Effects")] - public ParticleSystem gunParticles; - #endregion + [Header("Audio")] + public float footstepPitchOffset = 0.2f; + public float gunsoundPitchOffset = 0.13f; + public AudioSource footstepSource, gunSource, jumpSource; - SpineBeginnerBodyState previousViewState; + [Header("Effects")] + public ParticleSystem gunParticles; + #endregion - void Start () { - if (skeletonAnimation == null) return; - model.ShootEvent += PlayShoot; - skeletonAnimation.state.Event += HandleEvent; - } + SpineBeginnerBodyState previousViewState; - void HandleEvent (Spine.TrackEntry trackEntry, Spine.Event e) { - if (e.Data.Name == footstepEventName) - PlayFootstepSound(); - } - - void Update () { - if (skeletonAnimation == null) return; - if (model == null) return; - - if (skeletonAnimation.skeleton.FlipX != model.facingLeft) { // Detect changes in model.facingLeft - Turn(model.facingLeft); + void Start () { + if (skeletonAnimation == null) return; + model.ShootEvent += PlayShoot; + skeletonAnimation.state.Event += HandleEvent; } - // Detect changes in model.state - var currentModelState = model.state; - - if (previousViewState != currentModelState) { - PlayNewStableAnimation(); - } - - previousViewState = currentModelState; - } - - void PlayNewStableAnimation () { - var newModelState = model.state; - string nextAnimation; - - // Add conditionals to not interrupt transient animations. - - if (previousViewState == SpineBeginnerBodyState.Jumping && newModelState != SpineBeginnerBodyState.Jumping) { - PlayFootstepSound(); + void HandleEvent (Spine.TrackEntry trackEntry, Spine.Event e) { + if (e.Data.Name == footstepEventName) + PlayFootstepSound(); } - if (newModelState == SpineBeginnerBodyState.Jumping) { - jumpSource.Play(); - nextAnimation = jump; - } else { - if (newModelState == SpineBeginnerBodyState.Running) { - nextAnimation = run; - } else { - nextAnimation = idle; + void Update () { + if (skeletonAnimation == null) return; + if (model == null) return; + + if (skeletonAnimation.skeleton.FlipX != model.facingLeft) { // Detect changes in model.facingLeft + Turn(model.facingLeft); } + + // Detect changes in model.state + var currentModelState = model.state; + + if (previousViewState != currentModelState) { + PlayNewStableAnimation(); + } + + previousViewState = currentModelState; } - skeletonAnimation.state.SetAnimation(0, nextAnimation, true); + void PlayNewStableAnimation () { + var newModelState = model.state; + string nextAnimation; + + // Add conditionals to not interrupt transient animations. + + if (previousViewState == SpineBeginnerBodyState.Jumping && newModelState != SpineBeginnerBodyState.Jumping) { + PlayFootstepSound(); + } + + if (newModelState == SpineBeginnerBodyState.Jumping) { + jumpSource.Play(); + nextAnimation = jump; + } else { + if (newModelState == SpineBeginnerBodyState.Running) { + nextAnimation = run; + } else { + nextAnimation = idle; + } + } + + skeletonAnimation.state.SetAnimation(0, nextAnimation, true); + } + + void PlayFootstepSound () { + footstepSource.Play(); + footstepSource.pitch = GetRandomPitch(footstepPitchOffset); + } + + [ContextMenu("Check Tracks")] + void CheckTracks () { + var state = skeletonAnimation.state; + Debug.Log(state.GetCurrent(0)); + Debug.Log(state.GetCurrent(1)); + } + + #region Transient Actions + public void PlayShoot () { + // Play the shoot animation on track 1. + skeletonAnimation.state.SetAnimation(1, shoot, false); + //skeletonAnimation.state.AddEmptyAnimation(1, 0.1f, 0f); + gunSource.pitch = GetRandomPitch(gunsoundPitchOffset); + gunSource.Play(); + gunParticles.randomSeed = (uint)Random.Range(0, 100); + gunParticles.Play(); + } + + public void Turn (bool facingLeft) { + skeletonAnimation.skeleton.FlipX = facingLeft; + // Maybe play a transient turning animation too, then call ChangeStableAnimation. + } + #endregion + + #region Utility + public float GetRandomPitch (float maxPitchOffset) { + return 1f + Random.Range(-maxPitchOffset, maxPitchOffset); + } + #endregion } - void PlayFootstepSound () { - footstepSource.Play(); - footstepSource.pitch = GetRandomPitch(footstepPitchOffset); - } - - [ContextMenu("Check Tracks")] - void CheckTracks () { - var state = skeletonAnimation.state; - Debug.Log(state.GetCurrent(0)); - Debug.Log(state.GetCurrent(1)); - } - - #region Transient Actions - public void PlayShoot () { - // Play the shoot animation on track 1. - skeletonAnimation.state.SetAnimation(1, shoot, false); - //skeletonAnimation.state.AddEmptyAnimation(1, 0.1f, 0f); - gunSource.pitch = GetRandomPitch(gunsoundPitchOffset); - gunSource.Play(); - gunParticles.randomSeed = (uint)Random.Range(0, 100); - gunParticles.Play(); - } - - public void Turn (bool facingLeft) { - skeletonAnimation.skeleton.FlipX = facingLeft; - // Maybe play a transient turning animation too, then call ChangeStableAnimation. - } - #endregion - - #region Utility - public float GetRandomPitch (float maxPitchOffset) { - return 1f + Random.Range(-maxPitchOffset, maxPitchOffset); - } - #endregion } diff --git a/spine-unity/Assets/Examples/Other Examples/AtlasRegionAttacher.unity b/spine-unity/Assets/Examples/Other Examples/AtlasRegionAttacher.unity index 80223fcad..d2ab7ed3e 100644 --- a/spine-unity/Assets/Examples/Other Examples/AtlasRegionAttacher.unity +++ b/spine-unity/Assets/Examples/Other Examples/AtlasRegionAttacher.unity @@ -13,7 +13,7 @@ SceneSettings: --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 7 m_Fog: 0 m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 @@ -37,12 +37,12 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} --- !u!157 &4 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 7 m_GIWorkflowMode: 1 - m_LightmapsMode: 1 m_GISettings: serializedVersion: 2 m_BounceScale: 1 @@ -53,17 +53,22 @@ LightmapSettings: m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 0 m_LightmapEditorSettings: - serializedVersion: 3 + serializedVersion: 4 m_Resolution: 1 m_BakeResolution: 50 m_TextureWidth: 1024 m_TextureHeight: 1024 + m_AO: 0 m_AOMaxDistance: 1 - m_Padding: 2 m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 m_TextureCompression: 0 + m_DirectLightInLightProbes: 1 m_FinalGather: 0 + m_FinalGatherFiltering: 1 m_FinalGatherRayCount: 1024 m_ReflectionCompression: 2 m_LightingDataAsset: {fileID: 0} @@ -168,6 +173,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 1, z: -10} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 @@ -248,9 +254,9 @@ MonoBehaviour: renderMeshes: 1 immutableTriangles: 0 pmaVertexColors: 1 + clearStateOnDisable: 0 calculateNormals: 0 calculateTangents: 0 - frontFacing: 0 logErrors: 0 disableRenderingOnOverride: 1 _animationName: @@ -265,17 +271,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 2100000, guid: 5a3598dafa118754db95756064347da7, type: 2} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -298,6 +307,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 1 diff --git a/spine-unity/Assets/Examples/Other Examples/Dragon.unity b/spine-unity/Assets/Examples/Other Examples/Dragon.unity index 068358d61..1ee90cec7 100644 --- a/spine-unity/Assets/Examples/Other Examples/Dragon.unity +++ b/spine-unity/Assets/Examples/Other Examples/Dragon.unity @@ -13,7 +13,7 @@ SceneSettings: --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 7 m_Fog: 0 m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 @@ -37,12 +37,12 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} --- !u!157 &4 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 7 m_GIWorkflowMode: 1 - m_LightmapsMode: 1 m_GISettings: serializedVersion: 2 m_BounceScale: 1 @@ -53,17 +53,22 @@ LightmapSettings: m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 0 m_LightmapEditorSettings: - serializedVersion: 3 + serializedVersion: 4 m_Resolution: 1 m_BakeResolution: 50 m_TextureWidth: 1024 m_TextureHeight: 1024 + m_AO: 0 m_AOMaxDistance: 1 - m_Padding: 2 m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 m_TextureCompression: 0 + m_DirectLightInLightProbes: 1 m_FinalGather: 0 + m_FinalGatherFiltering: 1 m_FinalGatherRayCount: 1024 m_ReflectionCompression: 2 m_LightingDataAsset: {fileID: 0} @@ -108,7 +113,7 @@ Light: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 133751936} m_Enabled: 1 - serializedVersion: 6 + serializedVersion: 7 m_Type: 1 m_Color: {r: 1, g: 1, b: 1, a: 1} m_Intensity: 1.1 @@ -116,8 +121,9 @@ Light: m_SpotAngle: 30 m_CookieSize: 10 m_Shadows: - m_Type: 1 + m_Type: 2 m_Resolution: -1 + m_CustomResolution: -1 m_Strength: 1 m_Bias: 0.05 m_NormalBias: 0.4 @@ -130,10 +136,10 @@ Light: serializedVersion: 2 m_Bits: 4294967295 m_Lightmapping: 1 + m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 m_ShadowRadius: 0 m_ShadowAngle: 0 - m_AreaSize: {x: 1, y: 1} --- !u!4 &133751938 Transform: m_ObjectHideFlags: 0 @@ -147,53 +153,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 ---- !u!1001 &244083694 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 400000, guid: d51ed5943e10bcb4394b5eec480293f8, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: d51ed5943e10bcb4394b5eec480293f8, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: d51ed5943e10bcb4394b5eec480293f8, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: d51ed5943e10bcb4394b5eec480293f8, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: d51ed5943e10bcb4394b5eec480293f8, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: d51ed5943e10bcb4394b5eec480293f8, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: d51ed5943e10bcb4394b5eec480293f8, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 400000, guid: d51ed5943e10bcb4394b5eec480293f8, type: 2} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 3300000, guid: d51ed5943e10bcb4394b5eec480293f8, type: 2} - propertyPath: m_Mesh - value: - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: d51ed5943e10bcb4394b5eec480293f8, type: 2} - m_RootGameObject: {fileID: 2143290130} - m_IsPrefabParent: 0 --- !u!1 &560289061 GameObject: m_ObjectHideFlags: 0 @@ -220,17 +179,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 0 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -348,7 +310,7 @@ Transform: GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 100000, guid: d51ed5943e10bcb4394b5eec480293f8, type: 2} - m_PrefabInternal: {fileID: 244083694} + m_PrefabInternal: {fileID: 0} serializedVersion: 4 m_Component: - 4: {fileID: 2143290134} @@ -367,7 +329,7 @@ MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 11400000, guid: d51ed5943e10bcb4394b5eec480293f8, type: 2} - m_PrefabInternal: {fileID: 244083694} + m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 2143290130} m_Enabled: 1 m_EditorHideFlags: 0 @@ -381,6 +343,7 @@ MonoBehaviour: renderMeshes: 1 immutableTriangles: 0 pmaVertexColors: 1 + clearStateOnDisable: 0 calculateNormals: 1 calculateTangents: 0 logErrors: 0 @@ -393,11 +356,14 @@ MeshRenderer: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 2300000, guid: d51ed5943e10bcb4394b5eec480293f8, type: 2} - m_PrefabInternal: {fileID: 244083694} + m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 2143290130} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 2100000, guid: d58543c96f991934ca874395eb40222c, type: 2} - {fileID: 2100000, guid: 3277fd5561d95724e83c6ca4a1dd28a4, type: 2} @@ -413,13 +379,13 @@ MeshRenderer: - {fileID: 2100000, guid: 3277fd5561d95724e83c6ca4a1dd28a4, type: 2} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -431,14 +397,14 @@ MeshFilter: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 3300000, guid: d51ed5943e10bcb4394b5eec480293f8, type: 2} - m_PrefabInternal: {fileID: 244083694} + m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 2143290130} m_Mesh: {fileID: 0} --- !u!4 &2143290134 Transform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 400000, guid: d51ed5943e10bcb4394b5eec480293f8, type: 2} - m_PrefabInternal: {fileID: 244083694} + m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 2143290130} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} diff --git a/spine-unity/Assets/Examples/Other Examples/Mix and Match.unity b/spine-unity/Assets/Examples/Other Examples/Mix and Match.unity index 34505ceb3..bb8145282 100644 --- a/spine-unity/Assets/Examples/Other Examples/Mix and Match.unity +++ b/spine-unity/Assets/Examples/Other Examples/Mix and Match.unity @@ -13,16 +13,16 @@ SceneSettings: --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 7 m_Fog: 0 m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 m_FogDensity: 0.01 m_LinearFogStart: 0 m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} m_AmbientIntensity: 1 m_AmbientMode: 3 m_SkyboxMaterial: {fileID: 0} @@ -37,12 +37,12 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} ---- !u!157 &4 + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 7 m_GIWorkflowMode: 1 - m_LightmapsMode: 1 m_GISettings: serializedVersion: 2 m_BounceScale: 1 @@ -50,25 +50,30 @@ LightmapSettings: m_AlbedoBoost: 1 m_TemporalCoherenceThreshold: 1 m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 + m_EnableBakedLightmaps: 0 m_EnableRealtimeLightmaps: 0 m_LightmapEditorSettings: - serializedVersion: 3 - m_Resolution: 1 - m_BakeResolution: 50 + serializedVersion: 4 + m_Resolution: 2 + m_BakeResolution: 40 m_TextureWidth: 1024 m_TextureHeight: 1024 + m_AO: 0 m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 m_Padding: 2 - m_CompAOExponent: 0 m_LightmapParameters: {fileID: 0} - m_TextureCompression: 0 + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_DirectLightInLightProbes: 1 m_FinalGather: 0 - m_FinalGatherRayCount: 1024 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 m_ReflectionCompression: 2 m_LightingDataAsset: {fileID: 0} m_RuntimeCPUUsage: 25 ---- !u!196 &5 +--- !u!196 &4 NavMeshSettings: serializedVersion: 2 m_ObjectHideFlags: 0 @@ -82,296 +87,285 @@ NavMeshSettings: maxJumpAcrossDistance: 0 accuratePlacement: 0 minRegionArea: 2 - cellSize: 0.16666666 + cellSize: 0.16666667 manualCellSize: 0 m_NavMeshData: {fileID: 0} ---- !u!1 &298071074 +--- !u!1 &164478200 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 4 m_Component: - - 4: {fileID: 298071076} - - 108: {fileID: 298071075} + - 4: {fileID: 164478205} + - 114: {fileID: 164478201} + - 33: {fileID: 164478204} + - 23: {fileID: 164478203} + - 114: {fileID: 164478202} m_Layer: 0 - m_Name: Point light + m_Name: Equipped Hero [see my inspector!] m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!108 &298071075 -Light: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 298071074} - m_Enabled: 1 - serializedVersion: 6 - m_Type: 2 - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_Intensity: 1.72 - m_Range: 30 - m_SpotAngle: 30 - m_CookieSize: 10 - m_Shadows: - m_Type: 0 - m_Resolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_Lightmapping: 4 - m_BounceIntensity: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 - m_AreaSize: {x: 1, y: 1} ---- !u!4 &298071076 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 298071074} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0.18, y: 2.84, z: -2.32} - m_LocalScale: {x: 1, y: 1, z: 1} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 3 ---- !u!1 &376395955 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 4 - m_Component: - - 4: {fileID: 376395960} - - 33: {fileID: 376395959} - - 23: {fileID: 376395958} - - 114: {fileID: 376395957} - - 114: {fileID: 376395956} - m_Layer: 0 - m_Name: goblins-mesh (Custom Skin) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &376395956 +--- !u!114 &164478201 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 376395955} + m_GameObject: {fileID: 164478200} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6e55c8477eccddc4cb5c3551a3945ca7, type: 3} + m_Script: {fileID: 11500000, guid: fdd7c8b428f700c438a6a14addca0346, type: 3} m_Name: m_EditorClassIdentifier: - skinSource: {fileID: 11400000, guid: 44691b56ed7d1f04da0cbc2a52a91b8d, type: 2} - skinItems: - - sourceAttachmentPath: default/head/head - targetSlot: head - targetAttachment: head - - sourceAttachmentPath: default/gun/gun - targetSlot: right hand item 2 - targetAttachment: shield ---- !u!114 &376395957 + handSource: {fileID: 11400000, guid: b4b8457d6cb8fec49a40be5b71d79e51, type: 2} + handRegion: front_fist_closed + handAttachmentName: hand1 + handSlot: hand1 + newHandOffset: {x: 0.34, y: -0.07} + newHandRotation: 62.23 + handTexture: {fileID: 0} + dagger: {fileID: 21300000, guid: 2412d1d8498463f49ae6ebe3a66ffae9, type: 3} + daggerName: dagger + weaponSlot: weapon + applyHeadRegion: 0 + headSource: {fileID: 11400000, guid: a9d85e8796d75384199c06f6fdbb0d73, type: 2} + headRegion: head + headSlot: head + headAttachmentName: head + repack: 1 + repackedShader: {fileID: 4800000, guid: 1e8a610c9e01c3648bac42585e5fc676, type: 3} + runtimeAtlas: {fileID: 0} + runtimeMaterial: {fileID: 0} +--- !u!114 &164478202 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 376395955} + m_GameObject: {fileID: 164478200} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} m_Name: m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: 2e4e11d4dd87d844a876d18c4d76a612, type: 2} - initialSkinName: goblin + skeletonDataAsset: {fileID: 11400000, guid: a5967d74cd1f3c741ba7758da7511bcf, type: 2} + initialSkinName: default separatorSlotNames: [] zSpacing: 0 renderMeshes: 1 immutableTriangles: 0 pmaVertexColors: 1 - calculateNormals: 1 + clearStateOnDisable: 0 + calculateNormals: 0 calculateTangents: 0 logErrors: 0 disableRenderingOnOverride: 1 - _animationName: walk + _animationName: Run loop: 1 timeScale: 1 ---- !u!23 &376395958 +--- !u!23 &164478203 MeshRenderer: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 376395955} + m_GameObject: {fileID: 164478200} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 m_Materials: - - {fileID: 2100000, guid: 54091ef934c41eb4192f72bfd8e3bcc9, type: 2} + - {fileID: 2100000, guid: b04b8c6e4c57e78449f243c27617a2cd, type: 2} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} m_SortingLayerID: 0 m_SortingOrder: 0 ---- !u!33 &376395959 +--- !u!33 &164478204 MeshFilter: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 376395955} + m_GameObject: {fileID: 164478200} m_Mesh: {fileID: 0} ---- !u!4 &376395960 +--- !u!4 &164478205 Transform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 376395955} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -2, y: 0, z: 0} + m_GameObject: {fileID: 164478200} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.36, y: -0.15, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 2 ---- !u!1 &686004282 +--- !u!1 &325050139 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 4 m_Component: - - 4: {fileID: 686004287} - - 33: {fileID: 686004286} - - 23: {fileID: 686004285} - - 114: {fileID: 686004284} - - 114: {fileID: 686004283} + - 4: {fileID: 325050143} + - 33: {fileID: 325050142} + - 23: {fileID: 325050140} m_Layer: 0 - m_Name: goblins-mesh (Direct Attachment) + m_Name: Raggedy Atlas m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &686004283 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 686004282} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5053fe97a7657b5418b0c307b7338b0c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataSource: {fileID: 11400000, guid: 76506fa7fbeed084ab2dfb084648c628, type: 2} - attachmentPath: default/head/head - targetSlot: head ---- !u!114 &686004284 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 686004282} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: 2e4e11d4dd87d844a876d18c4d76a612, type: 2} - initialSkinName: goblin - separatorSlotNames: [] - zSpacing: 0 - renderMeshes: 1 - immutableTriangles: 0 - pmaVertexColors: 1 - calculateNormals: 1 - calculateTangents: 0 - logErrors: 0 - disableRenderingOnOverride: 1 - _animationName: walk - loop: 1 - timeScale: 1 ---- !u!23 &686004285 +--- !u!23 &325050140 MeshRenderer: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 686004282} + m_GameObject: {fileID: 325050139} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 m_Materials: - - {fileID: 2100000, guid: 54091ef934c41eb4192f72bfd8e3bcc9, type: 2} + - {fileID: 2100000, guid: 4ad4f7167d4983147ad870f93ebc9416, type: 2} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_PreserveUVs: 0 + m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} m_SortingLayerID: 0 m_SortingOrder: 0 ---- !u!33 &686004286 +--- !u!33 &325050142 MeshFilter: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 686004282} - m_Mesh: {fileID: 0} ---- !u!4 &686004287 + m_GameObject: {fileID: 325050139} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &325050143 Transform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 686004282} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 2, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_GameObject: {fileID: 325050139} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4.22, y: 3.36, z: 0} + m_LocalScale: {x: 2.7800474, y: 2.7800474, z: 2.7800474} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 1 ---- !u!1 &803254441 + m_Father: {fileID: 635124235} + m_RootOrder: 0 +--- !u!1 &379340246 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 4 m_Component: - - 4: {fileID: 803254446} - - 20: {fileID: 803254445} - - 92: {fileID: 803254444} - - 124: {fileID: 803254443} - - 81: {fileID: 803254442} + - 224: {fileID: 379340247} + - 222: {fileID: 379340249} + - 114: {fileID: 379340248} + m_Layer: 5 + m_Name: Text (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &379340247 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 379340246} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1442798444} + m_RootOrder: 2 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -181, y: 451} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &379340248 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 379340246} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 55 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Sourced from Unity Sprite. +--- !u!222 &379340249 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 379340246} +--- !u!1 &520624624 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 520624629} + - 20: {fileID: 520624628} + - 92: {fileID: 520624627} + - 124: {fileID: 520624626} + - 81: {fileID: 520624625} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -379,37 +373,37 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &803254442 +--- !u!81 &520624625 AudioListener: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 803254441} + m_GameObject: {fileID: 520624624} m_Enabled: 1 ---- !u!124 &803254443 +--- !u!124 &520624626 Behaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 803254441} + m_GameObject: {fileID: 520624624} m_Enabled: 1 ---- !u!92 &803254444 +--- !u!92 &520624627 Behaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 803254441} + m_GameObject: {fileID: 520624624} m_Enabled: 1 ---- !u!20 &803254445 +--- !u!20 &520624628 Camera: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 803254441} + m_GameObject: {fileID: 520624624} m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_BackGroundColor: {r: 0.32828724, g: 0.2661116, b: 0.33823532, a: 0} m_NormalizedViewPortRect: serializedVersion: 2 x: 0 @@ -419,7 +413,7 @@ Camera: near clip plane: 0.3 far clip plane: 1000 field of view: 60 - orthographic: 0 + orthographic: 1 orthographic size: 5 m_Depth: -1 m_CullingMask: @@ -434,16 +428,724 @@ Camera: m_StereoConvergence: 10 m_StereoSeparation: 0.022 m_StereoMirrorMode: 0 ---- !u!4 &803254446 +--- !u!4 &520624629 Transform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 803254441} + m_GameObject: {fileID: 520624624} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: -0.23, z: -10} + m_LocalPosition: {x: 0, y: 0, z: -10} m_LocalScale: {x: 1, y: 1, z: 1} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 +--- !u!1 &554311660 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 554311661} + - 222: {fileID: 554311663} + - 114: {fileID: 554311662} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &554311661 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 554311660} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1442798444} + m_RootOrder: 0 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 713, y: 478} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &554311662 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 554311660} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 55 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 55 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Mix and Match +--- !u!222 &554311663 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 554311660} +--- !u!1 &635124234 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 635124235} + m_Layer: 0 + m_Name: Sources + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &635124235 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 635124234} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 325050143} + - {fileID: 1344877042} + - {fileID: 1082233923} + m_Father: {fileID: 0} + m_RootOrder: 4 +--- !u!1 &952321879 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 952321880} + - 222: {fileID: 952321882} + - 114: {fileID: 952321881} + m_Layer: 5 + m_Name: Text (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &952321880 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 952321879} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1442798444} + m_RootOrder: 4 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 476, y: -45} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &952321881 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 952321879} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 55 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Original +--- !u!222 &952321882 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 952321879} +--- !u!1 &1082233921 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1082233923} + - 212: {fileID: 1082233922} + m_Layer: 0 + m_Name: dagger sprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &1082233922 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1082233921} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 1 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 2412d1d8498463f49ae6ebe3a66ffae9, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 +--- !u!4 &1082233923 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1082233921} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.37, y: 4.51, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 635124235} + m_RootOrder: 2 +--- !u!1 &1262477660 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1262477661} + - 222: {fileID: 1262477663} + - 114: {fileID: 1262477662} + m_Layer: 5 + m_Name: Text (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1262477661 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1262477660} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1442798444} + m_RootOrder: 5 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 330.5, y: -247} + m_SizeDelta: {x: 661, y: 181} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1262477662 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1262477660} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 55 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: 'The sample script on Equipped Hero shows how to create a new custom Spine.Skin, + create new attachments from various sources, and repack that skin into a runtime + atlas to optimize draw calls/batching. + + + Enter PLAY MODE in Unity to see the changes.' +--- !u!222 &1262477663 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1262477660} +--- !u!1 &1279309432 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1279309433} + - 222: {fileID: 1279309435} + - 114: {fileID: 1279309434} + m_Layer: 5 + m_Name: Text (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1279309433 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1279309432} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1442798444} + m_RootOrder: 1 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -342, y: 129} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1279309434 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1279309432} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 55 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Sourced from atlases. +--- !u!222 &1279309435 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1279309432} +--- !u!1 &1344877038 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1344877042} + - 33: {fileID: 1344877041} + - 23: {fileID: 1344877039} + m_Layer: 0 + m_Name: Spineboy Atlas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1344877039 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1344877038} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1344877041 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1344877038} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1344877042 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1344877038} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -3.72, y: 0.03, z: 0} + m_LocalScale: {x: 9.797575, y: 9.797575, z: 9.797575} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 635124235} + m_RootOrder: 1 +--- !u!1 &1442798440 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1442798444} + - 223: {fileID: 1442798443} + - 114: {fileID: 1442798442} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1442798442 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1442798440} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1442798443 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1442798440} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1442798444 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1442798440} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 554311661} + - {fileID: 1279309433} + - {fileID: 379340247} + - {fileID: 1620489274} + - {fileID: 952321880} + - {fileID: 1262477661} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1620489273 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1620489274} + - 222: {fileID: 1620489276} + - 114: {fileID: 1620489275} + m_Layer: 5 + m_Name: Text (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1620489274 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1620489273} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1442798444} + m_RootOrder: 3 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 127, y: -45} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1620489275 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1620489273} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 24 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 55 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Custom Equipped +--- !u!222 &1620489276 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1620489273} +--- !u!1 &1673248251 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1673248255} + - 33: {fileID: 1673248254} + - 23: {fileID: 1673248253} + - 114: {fileID: 1673248252} + m_Layer: 0 + m_Name: Original Hero + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1673248252 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1673248251} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} + m_Name: + m_EditorClassIdentifier: + skeletonDataAsset: {fileID: 11400000, guid: a5967d74cd1f3c741ba7758da7511bcf, type: 2} + initialSkinName: default + separatorSlotNames: [] + zSpacing: 0 + renderMeshes: 1 + immutableTriangles: 0 + pmaVertexColors: 1 + clearStateOnDisable: 0 + calculateNormals: 0 + calculateTangents: 0 + logErrors: 0 + disableRenderingOnOverride: 1 + _animationName: Run + loop: 1 + timeScale: 1 +--- !u!23 &1673248253 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1673248251} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: b04b8c6e4c57e78449f243c27617a2cd, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1673248254 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1673248251} + m_Mesh: {fileID: 0} +--- !u!4 &1673248255 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1673248251} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4.49, y: -0.18, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 diff --git a/spine-unity/Assets/Examples/Other Examples/Mix and Match.unity.meta b/spine-unity/Assets/Examples/Other Examples/Mix and Match.unity.meta index a220c5fd4..b31ad48d2 100644 --- a/spine-unity/Assets/Examples/Other Examples/Mix and Match.unity.meta +++ b/spine-unity/Assets/Examples/Other Examples/Mix and Match.unity.meta @@ -1,4 +1,8 @@ fileFormatVersion: 2 -guid: c5673b83016f67a4c99772dfb7b3c437 +guid: 9b55bcfc2181c68418e59ee61ef5afc9 +timeCreated: 1480087951 +licenseType: Free DefaultImporter: userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Other Examples/SkeletonRenderSeparator.unity b/spine-unity/Assets/Examples/Other Examples/SkeletonRenderSeparator.unity index 7d21b862e..6bb6c1810 100644 --- a/spine-unity/Assets/Examples/Other Examples/SkeletonRenderSeparator.unity +++ b/spine-unity/Assets/Examples/Other Examples/SkeletonRenderSeparator.unity @@ -13,7 +13,7 @@ SceneSettings: --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 7 m_Fog: 0 m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 @@ -37,12 +37,12 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 7 m_GIWorkflowMode: 1 - m_LightmapsMode: 1 m_GISettings: serializedVersion: 2 m_BounceScale: 1 @@ -53,17 +53,22 @@ LightmapSettings: m_EnableBakedLightmaps: 0 m_EnableRealtimeLightmaps: 0 m_LightmapEditorSettings: - serializedVersion: 3 + serializedVersion: 4 m_Resolution: 2 m_BakeResolution: 40 m_TextureWidth: 1024 m_TextureHeight: 1024 + m_AO: 0 m_AOMaxDistance: 1 - m_Padding: 2 m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 m_TextureCompression: 1 + m_DirectLightInLightProbes: 1 m_FinalGather: 0 + m_FinalGatherFiltering: 1 m_FinalGatherRayCount: 1024 m_ReflectionCompression: 2 m_LightingDataAsset: {fileID: 0} @@ -168,6 +173,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.02, y: 0.02, z: 0.1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 2142418131} m_Father: {fileID: 0} @@ -232,9 +238,9 @@ MonoBehaviour: renderMeshes: 1 immutableTriangles: 0 pmaVertexColors: 1 + clearStateOnDisable: 0 calculateNormals: 0 calculateTangents: 0 - frontFacing: 0 logErrors: 0 disableRenderingOnOverride: 1 _animationName: run @@ -249,18 +255,21 @@ MeshRenderer: m_Enabled: 0 m_CastShadows: 1 m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 0} - - {fileID: 2100000, guid: 4083cd422558e2540a62bbafb94f57b5, type: 2} + - {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -283,6 +292,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 6.75, y: -0.08, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1769987563} - {fileID: 1619823304} @@ -327,17 +337,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 m_Materials: - - {fileID: 2100000, guid: 4083cd422558e2540a62bbafb94f57b5, type: 2} + - {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 1 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -360,6 +373,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1918225119} m_RootOrder: 0 @@ -390,6 +404,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -1.3629907, y: 3.7230203, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 93048079} m_RootOrder: 2 @@ -402,17 +417,20 @@ ParticleSystemRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 0 m_Materials: - - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 1 - m_ReflectionProbeUsage: 0 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -449,14 +467,15 @@ MonoBehaviour: boneName: front_fist followZPosition: 0 followBoneRotation: 0 - resetOnAwake: 1 + followSkeletonFlip: 0 + initializeOnAwake: 1 --- !u!198 &565117365 ParticleSystem: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 565117361} - serializedVersion: 2 + serializedVersion: 4 lengthInSec: 5 startDelay: scalar: 0 @@ -494,12 +513,13 @@ ParticleSystem: m_RotationOrder: 4 minMaxState: 0 speed: 1 - randomSeed: 0 looping: 1 prewarm: 0 playOnAwake: 1 moveWithTransform: 0 + autoRandomSeed: 1 scalingMode: 1 + randomSeed: 0 InitialModule: serializedVersion: 2 enabled: 1 @@ -574,6 +594,7 @@ ParticleSystem: m_RotationOrder: 4 minMaxState: 0 startColor: + serializedVersion: 2 maxGradient: key0: serializedVersion: 2 @@ -660,12 +681,8 @@ ParticleSystem: atime7: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 - minColor: - serializedVersion: 2 - rgba: 4294967295 - maxColor: - serializedVersion: 2 - rgba: 4278224127 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 0.5176471, b: 0, a: 1} minMaxState: 0 startSize: scalar: 0.5 @@ -702,6 +719,76 @@ ParticleSystem: m_PostInfinity: 2 m_RotationOrder: 4 minMaxState: 0 + startSizeY: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + startSizeZ: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 startRotationX: scalar: 0 maxCurve: @@ -810,6 +897,7 @@ ParticleSystem: randomizeRotationDirection: 0 gravityModifier: 0 maxNumParticles: 100 + size3D: 0 rotation3D: 0 ShapeModule: serializedVersion: 2 @@ -925,6 +1013,77 @@ ParticleSystem: m_PostInfinity: 2 m_RotationOrder: 4 minMaxState: 1 + y: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 1 + z: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 1 + separateAxes: 0 RotationModule: enabled: 0 x: @@ -1036,6 +1195,7 @@ ParticleSystem: ColorModule: enabled: 0 gradient: + serializedVersion: 2 maxGradient: key0: serializedVersion: 2 @@ -1122,17 +1282,13 @@ ParticleSystem: atime7: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 - minColor: - serializedVersion: 2 - rgba: 4294967295 - maxColor: - serializedVersion: 2 - rgba: 4294967295 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} minMaxState: 1 UVModule: enabled: 0 frameOverTime: - scalar: 1 + scalar: 0.9999 maxCurve: serializedVersion: 2 m_Curve: @@ -1166,11 +1322,47 @@ ParticleSystem: m_PostInfinity: 2 m_RotationOrder: 4 minMaxState: 1 + startFrame: + scalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 tilesX: 1 tilesY: 1 animationType: 0 rowIndex: 0 cycles: 1 + uvChannelMask: -1 randomRow: 1 VelocityModule: enabled: 0 @@ -1612,7 +1804,78 @@ ParticleSystem: m_PostInfinity: 2 m_RotationOrder: 4 minMaxState: 1 + y: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 1 + z: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 1 range: {x: 0, y: 1} + separateAxes: 0 RotationBySpeedModule: enabled: 0 x: @@ -1725,6 +1988,7 @@ ParticleSystem: ColorBySpeedModule: enabled: 0 gradient: + serializedVersion: 2 maxGradient: key0: serializedVersion: 2 @@ -1811,17 +2075,13 @@ ParticleSystem: atime7: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 2 - minColor: - serializedVersion: 2 - rgba: 4294967295 - maxColor: - serializedVersion: 2 - rgba: 4294967295 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} minMaxState: 1 range: {x: 0, y: 1} CollisionModule: enabled: 0 - serializedVersion: 2 + serializedVersion: 3 type: 0 collisionMode: 0 plane0: {fileID: 0} @@ -1936,6 +2196,7 @@ ParticleSystem: m_RotationOrder: 4 minMaxState: 0 minKillSpeed: 0 + maxKillSpeed: 10000 radiusScale: 1 collidesWith: serializedVersion: 2 @@ -1946,6 +2207,19 @@ ParticleSystem: collisionMessages: 0 collidesWithDynamic: 1 interiorCollisions: 1 + TriggerModule: + enabled: 0 + collisionShape0: {fileID: 0} + collisionShape1: {fileID: 0} + collisionShape2: {fileID: 0} + collisionShape3: {fileID: 0} + collisionShape4: {fileID: 0} + collisionShape5: {fileID: 0} + inside: 1 + outside: 0 + enter: 0 + exit: 0 + radiusScale: 1 SubModule: enabled: 0 subEmitterBirth: {fileID: 0} @@ -2037,6 +2311,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.02, y: 0.02, z: 0.1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1618699050} m_Father: {fileID: 0} @@ -2071,17 +2346,20 @@ SpriteRenderer: m_Enabled: 1 m_CastShadows: 0 m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 m_Materials: - - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 0 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 1 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -2101,6 +2379,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 5.5483284, y: 48.482475, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1675659861} m_RootOrder: 0 @@ -2129,6 +2408,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.06, y: 0, z: 0} m_LocalScale: {x: 4.661441, y: 48.482475, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1675659861} m_RootOrder: 1 @@ -2141,17 +2421,20 @@ SpriteRenderer: m_Enabled: 1 m_CastShadows: 0 m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 m_Materials: - - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 0 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 1 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -2187,6 +2470,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.44, y: 0, z: 0} m_LocalScale: {x: 0.44441086, y: 48.482475, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1675659861} m_RootOrder: 2 @@ -2199,17 +2483,20 @@ SpriteRenderer: m_Enabled: 1 m_CastShadows: 0 m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 m_Materials: - - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 0 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 1 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -2303,6 +2590,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: -10} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 @@ -2332,6 +2620,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 624843597} m_RootOrder: 0 @@ -2422,17 +2711,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 m_Materials: - - {fileID: 2100000, guid: 4083cd422558e2540a62bbafb94f57b5, type: 2} + - {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 1 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -2455,6 +2747,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 93048079} m_RootOrder: 1 @@ -2482,6 +2775,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 3.5889997, y: 0.001999855, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 774732877} - {fileID: 1149289854} @@ -2526,17 +2820,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 m_Materials: - - {fileID: 2100000, guid: 4083cd422558e2540a62bbafb94f57b5, type: 2} + - {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 1 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -2559,6 +2856,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1918225119} m_RootOrder: 1 @@ -2600,17 +2898,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 m_Materials: - - {fileID: 2100000, guid: 4083cd422558e2540a62bbafb94f57b5, type: 2} + - {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 1 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -2633,6 +2934,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 93048079} m_RootOrder: 0 @@ -2692,9 +2994,9 @@ MonoBehaviour: renderMeshes: 1 immutableTriangles: 0 pmaVertexColors: 1 + clearStateOnDisable: 0 calculateNormals: 0 calculateTangents: 0 - frontFacing: 0 logErrors: 0 disableRenderingOnOverride: 1 _animationName: @@ -2709,18 +3011,21 @@ MeshRenderer: m_Enabled: 0 m_CastShadows: 1 m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 0} - - {fileID: 2100000, guid: 4083cd422558e2540a62bbafb94f57b5, type: 2} + - {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -2743,6 +3048,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -6.18, y: -3.53, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 122287543} - {fileID: 1698487795} @@ -2791,6 +3097,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 51877973} m_RootOrder: 0 diff --git a/spine-unity/Assets/Examples/Other Examples/SkeletonUtility Eyes.unity b/spine-unity/Assets/Examples/Other Examples/SkeletonUtility Eyes.unity index b800ce2d1..ae1e88006 100644 --- a/spine-unity/Assets/Examples/Other Examples/SkeletonUtility Eyes.unity +++ b/spine-unity/Assets/Examples/Other Examples/SkeletonUtility Eyes.unity @@ -13,7 +13,7 @@ SceneSettings: --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 7 m_Fog: 0 m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 @@ -37,12 +37,12 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} --- !u!157 &4 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 7 m_GIWorkflowMode: 1 - m_LightmapsMode: 1 m_GISettings: serializedVersion: 2 m_BounceScale: 1 @@ -53,17 +53,22 @@ LightmapSettings: m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 0 m_LightmapEditorSettings: - serializedVersion: 3 + serializedVersion: 4 m_Resolution: 1 m_BakeResolution: 50 m_TextureWidth: 1024 m_TextureHeight: 1024 + m_AO: 0 m_AOMaxDistance: 1 - m_Padding: 2 m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 m_TextureCompression: 0 + m_DirectLightInLightProbes: 1 m_FinalGather: 0 + m_FinalGatherFiltering: 1 m_FinalGatherRayCount: 1024 m_ReflectionCompression: 2 m_LightingDataAsset: {fileID: 0} @@ -111,17 +116,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 0 m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 m_Materials: - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 0 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 1 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -144,8 +152,10 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 5.82, y: 3.59, z: -0.53} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1003754206} + - {fileID: 148233142} m_Father: {fileID: 0} m_RootOrder: 2 --- !u!1 &122140872 @@ -174,6 +184,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: -3.1, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 693495377} m_RootOrder: 0 @@ -209,17 +220,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 1 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -251,6 +265,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 2.3732, y: 0.064, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1960622790} m_RootOrder: 1 @@ -265,16 +280,1792 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} m_Name: m_EditorClassIdentifier: + boneName: R_Eye + parentReference: {fileID: 0} mode: 1 - zPosition: 1 position: 1 rotation: 1 scale: 1 - flip: 0 - flipX: 0 + zPosition: 1 overrideAlpha: 1 - boneName: R_Eye - parentReference: {fileID: 0} +--- !u!1 &148233141 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 148233142} + - 198: {fileID: 148233144} + - 199: {fileID: 148233143} + m_Layer: 0 + m_Name: Particle System + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &148233142 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 148233141} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 32415402} + m_RootOrder: 1 +--- !u!199 &148233143 +ParticleSystemRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 148233141} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 1 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 14 + m_RenderMode: 0 + m_SortMode: 0 + m_MinParticleSize: 0 + m_MaxParticleSize: 0.5 + m_CameraVelocityScale: 0 + m_VelocityScale: 0 + m_LengthScale: 2 + m_SortingFudge: 0 + m_NormalDirection: 1 + m_RenderAlignment: 0 + m_Pivot: {x: 0, y: 0, z: 0} + m_Mesh: {fileID: 0} + m_Mesh1: {fileID: 0} + m_Mesh2: {fileID: 0} + m_Mesh3: {fileID: 0} +--- !u!198 &148233144 +ParticleSystem: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 148233141} + serializedVersion: 4 + lengthInSec: 5 + startDelay: + scalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + speed: 1 + looping: 1 + prewarm: 1 + playOnAwake: 1 + moveWithTransform: 0 + autoRandomSeed: 1 + scalingMode: 1 + randomSeed: -1951367272 + InitialModule: + serializedVersion: 2 + enabled: 1 + startLifetime: + scalar: 0.5 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + startSpeed: + scalar: 5 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + startColor: + serializedVersion: 2 + maxGradient: + key0: + serializedVersion: 2 + rgba: 4294967295 + key1: + serializedVersion: 2 + rgba: 4294967295 + key2: + serializedVersion: 2 + rgba: 0 + key3: + serializedVersion: 2 + rgba: 0 + key4: + serializedVersion: 2 + rgba: 0 + key5: + serializedVersion: 2 + rgba: 0 + key6: + serializedVersion: 2 + rgba: 0 + key7: + serializedVersion: 2 + rgba: 0 + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + key0: + serializedVersion: 2 + rgba: 4294967295 + key1: + serializedVersion: 2 + rgba: 4294967295 + key2: + serializedVersion: 2 + rgba: 0 + key3: + serializedVersion: 2 + rgba: 0 + key4: + serializedVersion: 2 + rgba: 0 + key5: + serializedVersion: 2 + rgba: 0 + key6: + serializedVersion: 2 + rgba: 0 + key7: + serializedVersion: 2 + rgba: 0 + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + minMaxState: 0 + startSize: + scalar: 0.1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minMaxState: 3 + startSizeY: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + startSizeZ: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + startRotationX: + scalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + startRotationY: + scalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + startRotation: + scalar: 0.87266463 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: -1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minMaxState: 3 + randomizeRotationDirection: 0 + gravityModifier: 0 + maxNumParticles: 1000 + size3D: 0 + rotation3D: 0 + ShapeModule: + serializedVersion: 2 + enabled: 1 + type: 11 + radius: 0.444762 + angle: 25 + length: 5 + boxX: 1 + boxY: 1 + boxZ: 1 + arc: 360 + placementMode: 0 + m_Mesh: {fileID: 0} + m_MeshRenderer: {fileID: 0} + m_SkinnedMeshRenderer: {fileID: 0} + m_MeshMaterialIndex: 0 + m_MeshNormalOffset: 0 + m_UseMeshMaterialIndex: 0 + m_UseMeshColors: 1 + randomDirection: 0 + EmissionModule: + enabled: 1 + serializedVersion: 2 + m_Type: 0 + rate: + scalar: 10 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + cnt0: 30 + cnt1: 30 + cnt2: 30 + cnt3: 30 + cntmax0: 30 + cntmax1: 30 + cntmax2: 30 + cntmax3: 30 + time0: 0 + time1: 0 + time2: 0 + time3: 0 + m_BurstCount: 0 + SizeModule: + enabled: 0 + curve: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 1 + y: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 1 + z: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 1 + separateAxes: 0 + RotationModule: + enabled: 1 + x: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minMaxState: 3 + y: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minMaxState: 3 + curve: + scalar: 5.2359877 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: -1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minMaxState: 3 + separateAxes: 0 + ColorModule: + enabled: 1 + gradient: + serializedVersion: 2 + maxGradient: + key0: + serializedVersion: 2 + rgba: 4294967295 + key1: + serializedVersion: 2 + rgba: 16777215 + key2: + serializedVersion: 2 + rgba: 0 + key3: + serializedVersion: 2 + rgba: 0 + key4: + serializedVersion: 2 + rgba: 0 + key5: + serializedVersion: 2 + rgba: 0 + key6: + serializedVersion: 2 + rgba: 0 + key7: + serializedVersion: 2 + rgba: 0 + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + key0: + serializedVersion: 2 + rgba: 4294967295 + key1: + serializedVersion: 2 + rgba: 4294967295 + key2: + serializedVersion: 2 + rgba: 0 + key3: + serializedVersion: 2 + rgba: 0 + key4: + serializedVersion: 2 + rgba: 0 + key5: + serializedVersion: 2 + rgba: 0 + key6: + serializedVersion: 2 + rgba: 0 + key7: + serializedVersion: 2 + rgba: 0 + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + minMaxState: 1 + UVModule: + enabled: 0 + frameOverTime: + scalar: 0.9999 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 1 + startFrame: + scalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + tilesX: 1 + tilesY: 1 + animationType: 0 + rowIndex: 0 + cycles: 1 + uvChannelMask: -1 + randomRow: 1 + VelocityModule: + enabled: 0 + x: + scalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + y: + scalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + z: + scalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + inWorldSpace: 0 + InheritVelocityModule: + enabled: 0 + m_Mode: 0 + m_Curve: + scalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + ForceModule: + enabled: 0 + x: + scalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + y: + scalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + z: + scalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + inWorldSpace: 0 + randomizePerFrame: 0 + ExternalForcesModule: + enabled: 0 + multiplier: 1 + ClampVelocityModule: + enabled: 1 + x: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + y: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + z: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + magnitude: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + separateAxis: 0 + inWorldSpace: 0 + dampen: 1 + SizeBySpeedModule: + enabled: 0 + curve: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 1 + y: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 1 + z: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 1 + range: {x: 0, y: 1} + separateAxes: 0 + RotationBySpeedModule: + enabled: 0 + x: + scalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + y: + scalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + curve: + scalar: 0.7853981 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + separateAxes: 0 + range: {x: 0, y: 1} + ColorBySpeedModule: + enabled: 0 + gradient: + serializedVersion: 2 + maxGradient: + key0: + serializedVersion: 2 + rgba: 4294967295 + key1: + serializedVersion: 2 + rgba: 4294967295 + key2: + serializedVersion: 2 + rgba: 0 + key3: + serializedVersion: 2 + rgba: 0 + key4: + serializedVersion: 2 + rgba: 0 + key5: + serializedVersion: 2 + rgba: 0 + key6: + serializedVersion: 2 + rgba: 0 + key7: + serializedVersion: 2 + rgba: 0 + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + key0: + serializedVersion: 2 + rgba: 4294967295 + key1: + serializedVersion: 2 + rgba: 4294967295 + key2: + serializedVersion: 2 + rgba: 0 + key3: + serializedVersion: 2 + rgba: 0 + key4: + serializedVersion: 2 + rgba: 0 + key5: + serializedVersion: 2 + rgba: 0 + key6: + serializedVersion: 2 + rgba: 0 + key7: + serializedVersion: 2 + rgba: 0 + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + minMaxState: 1 + range: {x: 0, y: 1} + CollisionModule: + enabled: 0 + serializedVersion: 3 + type: 0 + collisionMode: 0 + plane0: {fileID: 0} + plane1: {fileID: 0} + plane2: {fileID: 0} + plane3: {fileID: 0} + plane4: {fileID: 0} + plane5: {fileID: 0} + m_Dampen: + scalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + m_Bounce: + scalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + m_EnergyLossOnCollision: + scalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minMaxState: 0 + minKillSpeed: 0 + maxKillSpeed: 10000 + radiusScale: 1 + collidesWith: + serializedVersion: 2 + m_Bits: 4294967295 + maxCollisionShapes: 256 + quality: 0 + voxelSize: 0.5 + collisionMessages: 0 + collidesWithDynamic: 1 + interiorCollisions: 1 + TriggerModule: + enabled: 0 + collisionShape0: {fileID: 0} + collisionShape1: {fileID: 0} + collisionShape2: {fileID: 0} + collisionShape3: {fileID: 0} + collisionShape4: {fileID: 0} + collisionShape5: {fileID: 0} + inside: 1 + outside: 0 + enter: 0 + exit: 0 + radiusScale: 1 + SubModule: + enabled: 0 + subEmitterBirth: {fileID: 0} + subEmitterBirth1: {fileID: 0} + subEmitterCollision: {fileID: 0} + subEmitterCollision1: {fileID: 0} + subEmitterDeath: {fileID: 0} + subEmitterDeath1: {fileID: 0} --- !u!1 &376564975 GameObject: m_ObjectHideFlags: 0 @@ -299,6 +2090,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1960622790} m_Father: {fileID: 554350588} @@ -331,6 +2123,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 376564976} m_Father: {fileID: 0} @@ -366,9 +2159,9 @@ MonoBehaviour: renderMeshes: 1 immutableTriangles: 0 pmaVertexColors: 1 + clearStateOnDisable: 0 calculateNormals: 0 calculateTangents: 0 - frontFacing: 0 logErrors: 0 disableRenderingOnOverride: 1 _animationName: @@ -383,17 +2176,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 2100000, guid: 4f9d106a1e4d45b468b980311947a225, type: 2} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -431,6 +2227,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 122140873} m_Father: {fileID: 0} @@ -461,6 +2258,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: -0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 32415402} m_RootOrder: 0 @@ -496,17 +2294,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 1 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -538,6 +2339,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -2.2317998, y: 0.0299, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 1960622790} m_RootOrder: 0 @@ -552,16 +2354,14 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} m_Name: m_EditorClassIdentifier: + boneName: L_Eye + parentReference: {fileID: 0} mode: 1 - zPosition: 1 position: 1 rotation: 1 scale: 1 - flip: 0 - flipX: 0 + zPosition: 1 overrideAlpha: 1 - boneName: L_Eye - parentReference: {fileID: 0} --- !u!1 &1842554116 GameObject: m_ObjectHideFlags: 0 @@ -645,6 +2445,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 1, z: -10} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 @@ -671,9 +2472,10 @@ Transform: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1960622789} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1145190454} - {fileID: 136651048} @@ -708,13 +2510,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} m_Name: m_EditorClassIdentifier: + boneName: root + parentReference: {fileID: 0} mode: 0 - zPosition: 1 position: 1 rotation: 1 scale: 1 - flip: 0 - flipX: 0 + zPosition: 1 overrideAlpha: 1 - boneName: root - parentReference: {fileID: 0} diff --git a/spine-unity/Assets/Examples/Other Examples/SkeletonUtility GroundConstraint.unity b/spine-unity/Assets/Examples/Other Examples/SkeletonUtility GroundConstraint.unity index 2dcb70d43..948654623 100644 --- a/spine-unity/Assets/Examples/Other Examples/SkeletonUtility GroundConstraint.unity +++ b/spine-unity/Assets/Examples/Other Examples/SkeletonUtility GroundConstraint.unity @@ -13,7 +13,7 @@ SceneSettings: --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 7 m_Fog: 0 m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 @@ -37,12 +37,12 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} --- !u!157 &4 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 7 m_GIWorkflowMode: 1 - m_LightmapsMode: 1 m_GISettings: serializedVersion: 2 m_BounceScale: 1 @@ -53,17 +53,22 @@ LightmapSettings: m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 0 m_LightmapEditorSettings: - serializedVersion: 3 + serializedVersion: 4 m_Resolution: 1 m_BakeResolution: 50 m_TextureWidth: 1024 m_TextureHeight: 1024 + m_AO: 0 m_AOMaxDistance: 1 - m_Padding: 2 m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 m_TextureCompression: 0 + m_DirectLightInLightProbes: 1 m_FinalGather: 0 + m_FinalGatherFiltering: 1 m_FinalGatherRayCount: 1024 m_ReflectionCompression: 2 m_LightingDataAsset: {fileID: 0} @@ -108,9 +113,10 @@ Transform: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 36219066} - m_LocalRotation: {x: 0, y: 0, z: -0.52048814, w: 0.8538689} + m_LocalRotation: {x: -0, y: -0, z: -0.5187491, w: 0.8549265} m_LocalPosition: {x: -2.3325999, y: 1.2458895, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 973814792} m_RootOrder: 1 @@ -146,16 +152,14 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} m_Name: m_EditorClassIdentifier: + boneName: rear_foot_goal + parentReference: {fileID: 0} mode: 0 - zPosition: 1 position: 1 rotation: 1 scale: 1 - flip: 0 - flipX: 0 + zPosition: 1 overrideAlpha: 1 - boneName: rear_foot_goal - parentReference: {fileID: 0} --- !u!1 &44654812 GameObject: m_ObjectHideFlags: 0 @@ -180,6 +184,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 973814792} m_Father: {fileID: 120294521} @@ -212,6 +217,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: -0.15, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 44654813} m_Father: {fileID: 0} @@ -247,9 +253,9 @@ MonoBehaviour: renderMeshes: 1 immutableTriangles: 0 pmaVertexColors: 1 + clearStateOnDisable: 0 calculateNormals: 0 calculateTangents: 0 - frontFacing: 0 logErrors: 0 disableRenderingOnOverride: 1 _animationName: walk @@ -264,17 +270,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 2100000, guid: 4e2feebfcaa26a54ab19f1ff3e0eae35, type: 2} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -310,9 +319,10 @@ Transform: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 973814791} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: - {fileID: 1984548219} - {fileID: 36219067} @@ -329,16 +339,14 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} m_Name: m_EditorClassIdentifier: + boneName: root + parentReference: {fileID: 0} mode: 0 - zPosition: 1 position: 1 rotation: 1 scale: 1 - flip: 0 - flipX: 0 + zPosition: 1 overrideAlpha: 1 - boneName: root - parentReference: {fileID: 0} --- !u!1 &976394122 GameObject: m_ObjectHideFlags: 0 @@ -422,6 +430,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 1, z: -12} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 @@ -452,17 +461,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -497,6 +509,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: -0.08522272, w: 0.996362} m_LocalPosition: {x: 0.29366082, y: 0.13593975, z: 2} m_LocalScale: {x: 13, y: 1, z: 2.6603487} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 2 @@ -549,25 +562,24 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b238dfcde8209044b97d23f62bcaadf6, type: 3} m_Name: m_EditorClassIdentifier: + boneName: front_foot_goal + parentReference: {fileID: 0} mode: 0 - zPosition: 1 position: 1 rotation: 1 scale: 1 - flip: 0 - flipX: 0 + zPosition: 1 overrideAlpha: 1 - boneName: front_foot_goal - parentReference: {fileID: 0} --- !u!4 &1984548219 Transform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1984548216} - m_LocalRotation: {x: 0, y: 0, z: -0.008202955, w: 0.9999664} + m_LocalRotation: {x: -0, y: -0, z: -0.00795751, w: 0.99996835} m_LocalPosition: {x: 2.9748998, y: 0.3312556, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 973814792} m_RootOrder: 0 diff --git a/spine-unity/Assets/Examples/Other Examples/SkeletonUtility Ragdoll.unity b/spine-unity/Assets/Examples/Other Examples/SkeletonUtility Ragdoll.unity index 17b539782..aa998d98a 100644 --- a/spine-unity/Assets/Examples/Other Examples/SkeletonUtility Ragdoll.unity +++ b/spine-unity/Assets/Examples/Other Examples/SkeletonUtility Ragdoll.unity @@ -13,7 +13,7 @@ SceneSettings: --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 7 m_Fog: 0 m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 @@ -37,12 +37,12 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} --- !u!157 &4 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 7 m_GIWorkflowMode: 1 - m_LightmapsMode: 1 m_GISettings: serializedVersion: 2 m_BounceScale: 1 @@ -53,17 +53,22 @@ LightmapSettings: m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 0 m_LightmapEditorSettings: - serializedVersion: 3 + serializedVersion: 4 m_Resolution: 1 m_BakeResolution: 50 m_TextureWidth: 1024 m_TextureHeight: 1024 + m_AO: 0 m_AOMaxDistance: 1 - m_Padding: 2 m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 m_TextureCompression: 0 + m_DirectLightInLightProbes: 1 m_FinalGather: 0 + m_FinalGatherFiltering: 1 m_FinalGatherRayCount: 1024 m_ReflectionCompression: 2 m_LightingDataAsset: {fileID: 0} @@ -172,12 +177,174 @@ RectTransform: m_Children: - {fileID: 2122594306} m_Father: {fileID: 0} - m_RootOrder: 6 + m_RootOrder: 5 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!1 &138285500 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 183998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 138285507} + - 33: {fileID: 138285506} + - 23: {fileID: 138285505} + - 114: {fileID: 138285504} + - 114: {fileID: 138285503} + - 114: {fileID: 138285502} + - 60: {fileID: 138285501} + m_Layer: 0 + m_Name: Raggedy Spineboy + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!60 &138285501 +PolygonCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 6083998, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 138285500} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_Offset: {x: 0, y: 0} + m_Points: + m_Paths: + - - {x: -0.25825587, y: 3.1820273} + - {x: 0.31586242, y: 3.1818907} + - {x: 0.55882263, y: 2.040349} + - {x: 0.434707, y: 0.0013669459} + - {x: -0.45539615, y: 0.0013672132} + - {x: -0.61691463, y: 2.0021477} +--- !u!114 &138285502 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11483998, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 138285500} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 849a7739a7df0754882fcb34c09df4c1, type: 3} + m_Name: + m_EditorClassIdentifier: + groundMask: + serializedVersion: 2 + m_Bits: 4294967295 + restoreDuration: 0.5 + launchVelocity: {x: 40, y: 85} +--- !u!114 &138285503 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11483996, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 138285500} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e74a49a26242a214d9084fde00bfe3ab, type: 3} + m_Name: + m_EditorClassIdentifier: + startingBoneName: hip + stopBoneNames: [] + applyOnStart: 0 + disableIK: 1 + disableOtherConstraints: 0 + pinStartBone: 0 + gravityScale: 3 + thickness: 0.125 + rotationLimit: 20 + rootMass: 40 + massFalloffFactor: 0.504 + colliderLayer: 0 + mix: 1 +--- !u!114 &138285504 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11483994, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 138285500} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} + m_Name: + m_EditorClassIdentifier: + skeletonDataAsset: {fileID: 11400000, guid: 57484171e9b9c7243aa3117bc663e7b9, type: 2} + initialSkinName: default + separatorSlotNames: [] + zSpacing: 0 + renderMeshes: 1 + immutableTriangles: 0 + pmaVertexColors: 1 + clearStateOnDisable: 0 + calculateNormals: 0 + calculateTangents: 0 + logErrors: 0 + disableRenderingOnOverride: 1 + _animationName: animation + loop: 1 + timeScale: 1 +--- !u!23 &138285505 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2383998, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 138285500} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 4ad4f7167d4983147ad870f93ebc9416, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &138285506 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3383998, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 138285500} + m_Mesh: {fileID: 0} +--- !u!4 &138285507 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 138285500} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.55, y: -3.07, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 --- !u!1 &279948894 GameObject: m_ObjectHideFlags: 0 @@ -219,17 +386,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -310,17 +480,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -334,60 +507,6 @@ MeshFilter: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 281786970} m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1001 &410436501 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalPosition.x - value: 4.67 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalPosition.y - value: -3.07 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_RootOrder - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 3383998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_Mesh - value: - objectReference: {fileID: 0} - - target: {fileID: 11483996, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: colliderLayer - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: groundMask.m_Bits - value: 4294967295 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - m_IsPrefabParent: 0 --- !u!1 &469940167 GameObject: m_ObjectHideFlags: 0 @@ -442,17 +561,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -466,60 +588,168 @@ MeshFilter: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 469940167} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1001 &678089918 -Prefab: +--- !u!1 &689192947 +GameObject: m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalPosition.x - value: -2.55 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalPosition.y - value: -3.07 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3383998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_Mesh - value: - objectReference: {fileID: 0} - - target: {fileID: 11483996, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: colliderLayer - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: groundMask.m_Bits - value: 4294967295 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - m_IsPrefabParent: 0 + m_PrefabParentObject: {fileID: 183998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 689192954} + - 33: {fileID: 689192953} + - 23: {fileID: 689192952} + - 114: {fileID: 689192951} + - 114: {fileID: 689192950} + - 114: {fileID: 689192949} + - 60: {fileID: 689192948} + m_Layer: 0 + m_Name: Raggedy Spineboy + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!60 &689192948 +PolygonCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 6083998, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 689192947} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_Offset: {x: 0, y: 0} + m_Points: + m_Paths: + - - {x: -0.25825587, y: 3.1820273} + - {x: 0.31586242, y: 3.1818907} + - {x: 0.55882263, y: 2.040349} + - {x: 0.434707, y: 0.0013669459} + - {x: -0.45539615, y: 0.0013672132} + - {x: -0.61691463, y: 2.0021477} +--- !u!114 &689192949 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11483998, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 689192947} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 849a7739a7df0754882fcb34c09df4c1, type: 3} + m_Name: + m_EditorClassIdentifier: + groundMask: + serializedVersion: 2 + m_Bits: 4294967295 + restoreDuration: 0.5 + launchVelocity: {x: 40, y: 85} +--- !u!114 &689192950 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11483996, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 689192947} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e74a49a26242a214d9084fde00bfe3ab, type: 3} + m_Name: + m_EditorClassIdentifier: + startingBoneName: hip + stopBoneNames: [] + applyOnStart: 0 + disableIK: 1 + disableOtherConstraints: 0 + pinStartBone: 0 + gravityScale: 3 + thickness: 0.125 + rotationLimit: 20 + rootMass: 40 + massFalloffFactor: 0.504 + colliderLayer: 0 + mix: 1 +--- !u!114 &689192951 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11483994, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 689192947} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} + m_Name: + m_EditorClassIdentifier: + skeletonDataAsset: {fileID: 11400000, guid: 57484171e9b9c7243aa3117bc663e7b9, type: 2} + initialSkinName: default + separatorSlotNames: [] + zSpacing: 0 + renderMeshes: 1 + immutableTriangles: 0 + pmaVertexColors: 1 + clearStateOnDisable: 0 + calculateNormals: 0 + calculateTangents: 0 + logErrors: 0 + disableRenderingOnOverride: 1 + _animationName: animation + loop: 1 + timeScale: 1 +--- !u!23 &689192952 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2383998, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 689192947} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 4ad4f7167d4983147ad870f93ebc9416, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &689192953 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3383998, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 689192947} + m_Mesh: {fileID: 0} +--- !u!4 &689192954 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 689192947} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4.67, y: -3.07, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 --- !u!1 &890899334 GameObject: m_ObjectHideFlags: 0 @@ -561,17 +791,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -639,17 +872,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -712,7 +948,7 @@ Transform: - {fileID: 1446269955} - {fileID: 469940168} m_Father: {fileID: 0} - m_RootOrder: 5 + m_RootOrder: 4 --- !u!1 &1332258640 GameObject: m_ObjectHideFlags: 0 @@ -841,17 +1077,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -878,6 +1117,168 @@ Transform: m_Children: [] m_Father: {fileID: 1241879115} m_RootOrder: 1 +--- !u!1 &1417061241 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 183998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1417061248} + - 33: {fileID: 1417061247} + - 23: {fileID: 1417061246} + - 114: {fileID: 1417061245} + - 114: {fileID: 1417061244} + - 114: {fileID: 1417061243} + - 60: {fileID: 1417061242} + m_Layer: 0 + m_Name: Raggedy Spineboy + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!60 &1417061242 +PolygonCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 6083998, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1417061241} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_Offset: {x: 0, y: 0} + m_Points: + m_Paths: + - - {x: -0.25825587, y: 3.1820273} + - {x: 0.31586242, y: 3.1818907} + - {x: 0.55882263, y: 2.040349} + - {x: 0.434707, y: 0.0013669459} + - {x: -0.45539615, y: 0.0013672132} + - {x: -0.61691463, y: 2.0021477} +--- !u!114 &1417061243 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11483998, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1417061241} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 849a7739a7df0754882fcb34c09df4c1, type: 3} + m_Name: + m_EditorClassIdentifier: + groundMask: + serializedVersion: 2 + m_Bits: 4294967295 + restoreDuration: 0.5 + launchVelocity: {x: 40, y: 85} +--- !u!114 &1417061244 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11483996, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1417061241} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e74a49a26242a214d9084fde00bfe3ab, type: 3} + m_Name: + m_EditorClassIdentifier: + startingBoneName: hip + stopBoneNames: [] + applyOnStart: 0 + disableIK: 1 + disableOtherConstraints: 0 + pinStartBone: 0 + gravityScale: 3 + thickness: 0.125 + rotationLimit: 20 + rootMass: 40 + massFalloffFactor: 0.504 + colliderLayer: 0 + mix: 1 +--- !u!114 &1417061245 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11483994, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1417061241} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} + m_Name: + m_EditorClassIdentifier: + skeletonDataAsset: {fileID: 11400000, guid: 57484171e9b9c7243aa3117bc663e7b9, type: 2} + initialSkinName: default + separatorSlotNames: [] + zSpacing: 0 + renderMeshes: 1 + immutableTriangles: 0 + pmaVertexColors: 1 + clearStateOnDisable: 0 + calculateNormals: 0 + calculateTangents: 0 + logErrors: 0 + disableRenderingOnOverride: 1 + _animationName: animation + loop: 1 + timeScale: 1 +--- !u!23 &1417061246 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2383998, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1417061241} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 4ad4f7167d4983147ad870f93ebc9416, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1417061247 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3383998, guid: 5c60df38c5334a249b38ac8cddc6433b, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1417061241} + m_Mesh: {fileID: 0} +--- !u!4 &1417061248 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1417061241} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.5, y: -3.06, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 --- !u!1 &1442886939 GameObject: m_ObjectHideFlags: 0 @@ -919,17 +1320,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -1010,17 +1414,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -1034,60 +1441,6 @@ MeshFilter: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1446269954} m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1001 &1702096498 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalPosition.x - value: 2.5 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalPosition.y - value: -3.06 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_RootOrder - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 3383998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: m_Mesh - value: - objectReference: {fileID: 0} - - target: {fileID: 11483996, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: colliderLayer - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 11483998, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - propertyPath: groundMask.m_Bits - value: 4294967295 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 5c60df38c5334a249b38ac8cddc6433b, type: 2} - m_IsPrefabParent: 0 --- !u!1 &1938155299 GameObject: m_ObjectHideFlags: 0 @@ -1217,17 +1570,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -1338,7 +1694,7 @@ Light: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 2147465172} m_Enabled: 1 - serializedVersion: 6 + serializedVersion: 7 m_Type: 2 m_Color: {r: 1, g: 1, b: 1, a: 1} m_Intensity: 2 @@ -1348,6 +1704,7 @@ Light: m_Shadows: m_Type: 0 m_Resolution: -1 + m_CustomResolution: -1 m_Strength: 1 m_Bias: 0.05 m_NormalBias: 0.4 @@ -1360,10 +1717,10 @@ Light: serializedVersion: 2 m_Bits: 4294967295 m_Lightmapping: 1 + m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 m_ShadowRadius: 0 m_ShadowAngle: 0 - m_AreaSize: {x: 1, y: 1} --- !u!4 &2147465174 Transform: m_ObjectHideFlags: 0 @@ -1376,4 +1733,4 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 4 + m_RootOrder: 3 diff --git a/spine-unity/Assets/Examples/Other Examples/SpineGauge.unity b/spine-unity/Assets/Examples/Other Examples/SpineGauge.unity index 5efb61299..603ac7ff9 100644 --- a/spine-unity/Assets/Examples/Other Examples/SpineGauge.unity +++ b/spine-unity/Assets/Examples/Other Examples/SpineGauge.unity @@ -13,7 +13,7 @@ SceneSettings: --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 7 m_Fog: 0 m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} m_FogMode: 3 @@ -37,12 +37,12 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} --- !u!157 &4 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 6 + serializedVersion: 7 m_GIWorkflowMode: 1 - m_LightmapsMode: 1 m_GISettings: serializedVersion: 2 m_BounceScale: 1 @@ -53,17 +53,22 @@ LightmapSettings: m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 0 m_LightmapEditorSettings: - serializedVersion: 3 + serializedVersion: 4 m_Resolution: 1 m_BakeResolution: 50 m_TextureWidth: 1024 m_TextureHeight: 1024 + m_AO: 0 m_AOMaxDistance: 1 - m_Padding: 2 m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 m_TextureCompression: 0 + m_DirectLightInLightProbes: 1 m_FinalGather: 0 + m_FinalGatherFiltering: 1 m_FinalGatherRayCount: 1024 m_ReflectionCompression: 2 m_LightingDataAsset: {fileID: 0} @@ -85,6 +90,99 @@ NavMeshSettings: cellSize: 0.16666666 manualCellSize: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &351144566 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 351144570} + - 33: {fileID: 351144569} + - 23: {fileID: 351144568} + - 114: {fileID: 351144567} + m_Layer: 0 + m_Name: Spine GameObject (spineboy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &351144567 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 351144566} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} + m_Name: + m_EditorClassIdentifier: + skeletonDataAsset: {fileID: 11400000, guid: 44691b56ed7d1f04da0cbc2a52a91b8d, type: 2} + initialSkinName: default + separatorSlotNames: [] + zSpacing: 0 + renderMeshes: 1 + immutableTriangles: 0 + pmaVertexColors: 1 + clearStateOnDisable: 0 + calculateNormals: 0 + calculateTangents: 0 + logErrors: 0 + disableRenderingOnOverride: 1 + _animationName: idle + loop: 1 + timeScale: 1 +--- !u!23 &351144568 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 351144566} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &351144569 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 351144566} + m_Mesh: {fileID: 0} +--- !u!4 &351144570 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 351144566} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.3, y: -3.48, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 --- !u!1 &795271513 GameObject: m_ObjectHideFlags: 0 @@ -98,7 +196,7 @@ GameObject: - 114: {fileID: 795271515} - 114: {fileID: 795271514} m_Layer: 0 - m_Name: Gauge + m_Name: Spine GameObject (gauge) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -115,7 +213,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c888ce38da699d143a68153f26379a37, type: 3} m_Name: m_EditorClassIdentifier: - fillPercent: 0.388 + fillPercent: 1 fillAnimationName: Fill --- !u!114 &795271515 MonoBehaviour: @@ -135,9 +233,9 @@ MonoBehaviour: renderMeshes: 1 immutableTriangles: 0 pmaVertexColors: 1 + clearStateOnDisable: 0 calculateNormals: 0 calculateTangents: 0 - frontFacing: 0 logErrors: 0 disableRenderingOnOverride: 1 --- !u!23 &795271516 @@ -149,17 +247,20 @@ MeshRenderer: m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 m_Materials: - {fileID: 2100000, guid: 9ab9bdbda020b3e46b5a3b0558ef591d, type: 2} m_SubsetIndices: m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 @@ -173,9 +274,11 @@ Transform: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 795271513} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0, y: 4.09, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1025516230} m_Father: {fileID: 0} m_RootOrder: 1 --- !u!33 &795271518 @@ -185,6 +288,127 @@ MeshFilter: m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 795271513} m_Mesh: {fileID: 0} +--- !u!1 &1025516229 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1025516230} + - 114: {fileID: 1025516231} + m_Layer: 0 + m_Name: Attack Spineboy + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1025516230 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1025516229} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2.672, y: -1.3108752, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1695530253} + m_Father: {fileID: 795271517} + m_RootOrder: 0 +--- !u!114 &1025516231 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1025516229} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7eab8e63d650dc74c80d142cd4b9fe4b, type: 3} + m_Name: + m_EditorClassIdentifier: + spineboy: {fileID: 351144567} + gauge: {fileID: 795271514} + healthText: {fileID: 1847717249} +--- !u!1 &1053578423 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1053578424} + - 222: {fileID: 1053578426} + - 114: {fileID: 1053578425} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1053578424 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1053578423} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1695530253} + m_RootOrder: 0 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 436.7, y: 225.4} + m_SizeDelta: {x: 339.8, y: 53.2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1053578425 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1053578423} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 48 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: 'Press Spacebar to Attack Spineboy! + + + The health bar is a Spine skeleton.' +--- !u!222 &1053578426 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1053578423} --- !u!1 &1611520402 GameObject: m_ObjectHideFlags: 0 @@ -268,6 +492,158 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 1, z: -10} m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 +--- !u!1 &1695530249 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1695530253} + - 223: {fileID: 1695530252} + - 114: {fileID: 1695530251} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1695530251 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1695530249} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1695530252 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1695530249} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1695530253 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1695530249} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1053578424} + - {fileID: 1847717248} + m_Father: {fileID: 1025516230} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 2.672, y: -2.779125} + m_SizeDelta: {x: 1920, y: 1080} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1847717247 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1847717248} + - 222: {fileID: 1847717250} + - 114: {fileID: 1847717249} + m_Layer: 5 + m_Name: Health Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1847717248 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1847717247} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1695530253} + m_RootOrder: 1 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -13, y: 343} + m_SizeDelta: {x: 339.8, y: 53.2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1847717249 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1847717247} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 36 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 48 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: 100/100 +--- !u!222 &1847717250 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1847717247} diff --git a/spine-unity/Assets/Examples/Other Examples/Sprite Shaders.unity b/spine-unity/Assets/Examples/Other Examples/Sprite Shaders.unity new file mode 100644 index 000000000..92d9eb64c --- /dev/null +++ b/spine-unity/Assets/Examples/Other Examples/Sprite Shaders.unity @@ -0,0 +1,852 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 7 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.007352948, g: 0.007352948, b: 0.007352948, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 7 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 4 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_DirectLightInLightProbes: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_LightingDataAsset: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: 0.16666667 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &188173730 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 188173732} + - 108: {fileID: 188173731} + m_Layer: 0 + m_Name: '[LIGHT] Spotlight' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &188173731 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 188173730} + m_Enabled: 1 + serializedVersion: 7 + m_Type: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 2.57 + m_Range: 12.94 + m_SpotAngle: 56 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.1 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &188173732 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 188173730} + m_LocalRotation: {x: 0.28993335, y: -0.20459291, z: -0.5390386, w: 0.7638834} + m_LocalPosition: {x: -1.85, y: 2.64, z: -6.397} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 12.793, y: -40.131, z: -75.40501} + m_Children: [] + m_Father: {fileID: 195821303} + m_RootOrder: 1 +--- !u!1 &195821302 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 195821303} + m_Layer: 0 + m_Name: LIGHTS + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &195821303 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 195821302} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 935283315} + - {fileID: 188173732} + - {fileID: 1387304066} + - {fileID: 770573971} + m_Father: {fileID: 0} + m_RootOrder: 4 +--- !u!1 &770573969 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 770573971} + - 108: {fileID: 770573970} + m_Layer: 0 + m_Name: '[LIGHT] Green Spotlight' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &770573970 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 770573969} + m_Enabled: 1 + serializedVersion: 7 + m_Type: 0 + m_Color: {r: 0.07586217, g: 1, b: 0, a: 1} + m_Intensity: 2.68 + m_Range: 15 + m_SpotAngle: 37 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &770573971 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 770573969} + m_LocalRotation: {x: 0.0023665242, y: -0.5134523, z: -0.8581137, w: 0.0014160047} + m_LocalPosition: {x: 4.56, y: -8.77, z: -3.03} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 241.77, y: 179.351, z: 0.57199097} + m_Children: [] + m_Father: {fileID: 195821303} + m_RootOrder: 3 +--- !u!1 &845252278 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 845252281} + - 33: {fileID: 845252280} + - 23: {fileID: 845252279} + m_Layer: 0 + m_Name: Wall + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &845252279 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 845252278} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &845252280 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 845252278} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &845252281 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 845252278} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.28, y: 0.77, z: 2} + m_LocalScale: {x: 19.353024, y: 6.9264994, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 +--- !u!1 &933136133 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 933136137} + - 33: {fileID: 933136136} + - 23: {fileID: 933136135} + - 114: {fileID: 933136134} + m_Layer: 0 + m_Name: stretchyman static + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &933136134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 933136133} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e075b9a3e08e2f74fbd651c858ab16ed, type: 3} + m_Name: + m_EditorClassIdentifier: + skeletonDataAsset: {fileID: 11400000, guid: 162719d41016c854abf0355feb0e14e8, type: 2} + initialSkinName: default + separatorSlotNames: [] + zSpacing: 0 + renderMeshes: 1 + immutableTriangles: 0 + pmaVertexColors: 1 + clearStateOnDisable: 0 + calculateNormals: 0 + calculateTangents: 1 + logErrors: 0 + disableRenderingOnOverride: 1 +--- !u!23 &933136135 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 933136133} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 824cfb62bcbe3db49a3ce6db7e3757d1, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &933136136 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 933136133} + m_Mesh: {fileID: 0} +--- !u!4 &933136137 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 933136133} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -5.61, y: -3.69, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 +--- !u!1 &935283313 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 935283315} + - 108: {fileID: 935283314} + m_Layer: 0 + m_Name: '[LIGHT] Point light' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &935283314 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 935283313} + m_Enabled: 1 + serializedVersion: 7 + m_Type: 2 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 5 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &935283315 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 935283313} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -5.81, y: 0.56, z: -0.9} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 195821303} + m_RootOrder: 0 +--- !u!1 &1313996752 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1313996753} + - 212: {fileID: 1313996754} + m_Layer: 0 + m_Name: New Sprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1313996753 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1313996752} + m_LocalRotation: {x: 0.27059805, y: 0.65328157, z: 0.27059805, w: 0.6532815} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 90.00001, z: 45} + m_Children: [] + m_Father: {fileID: 1387304066} + m_RootOrder: 0 +--- !u!212 &1313996754 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1313996752} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 1 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 718074e4e56a5404e824bf8e6571ea7d, type: 3} + m_Color: {r: 1, g: 0, b: 0, a: 1} + m_FlipX: 0 + m_FlipY: 0 +--- !u!1 &1387304064 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1387304066} + - 108: {fileID: 1387304065} + - 114: {fileID: 1387304067} + m_Layer: 0 + m_Name: '[LIGHT] Rotating light' + m_TagString: Untagged + m_Icon: {fileID: 5132851093641282708, guid: 0000000000000000d000000000000000, type: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1387304065 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1387304064} + m_Enabled: 1 + serializedVersion: 7 + m_Type: 1 + m_Color: {r: 1, g: 0.14482759, b: 0, a: 1} + m_Intensity: 1.96 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1387304066 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1387304064} + m_LocalRotation: {x: -0.7059173, y: -0.04099956, z: 0.705917, w: -0.04099958} + m_LocalPosition: {x: 0.077, y: 3.594, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: -186.648, y: 89.99999, z: 0} + m_Children: + - {fileID: 1313996753} + - {fileID: 1443231423} + m_Father: {fileID: 195821303} + m_RootOrder: 2 +--- !u!114 &1387304067 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1387304064} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 12e291cb54756d04c9dd53ad6e00a126, type: 3} + m_Name: + m_EditorClassIdentifier: + direction: {x: 1, y: 0, z: 0} + speed: 1.5 +--- !u!1 &1443231422 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1443231423} + - 212: {fileID: 1443231424} + m_Layer: 0 + m_Name: New Sprite (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1443231423 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1443231422} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.70710677} + m_LocalPosition: {x: 0, y: 0.015, z: -0.234} + m_LocalScale: {x: 1.5390148, y: 1.5390143, z: 1.5390143} + m_LocalEulerAnglesHint: {x: 0, y: 90.00001, z: 0} + m_Children: [] + m_Father: {fileID: 1387304066} + m_RootOrder: 1 +--- !u!212 &1443231424 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1443231422} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 1 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 7 + m_Sprite: {fileID: 21300000, guid: 718074e4e56a5404e824bf8e6571ea7d, type: 3} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_FlipX: 0 + m_FlipY: 0 +--- !u!1 &1628453470 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1628453474} + - 33: {fileID: 1628453473} + - 23: {fileID: 1628453472} + - 114: {fileID: 1628453471} + m_Layer: 0 + m_Name: stretchyman animated + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1628453471 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1628453470} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} + m_Name: + m_EditorClassIdentifier: + skeletonDataAsset: {fileID: 11400000, guid: 162719d41016c854abf0355feb0e14e8, type: 2} + initialSkinName: default + separatorSlotNames: [] + zSpacing: 0 + renderMeshes: 1 + immutableTriangles: 0 + pmaVertexColors: 1 + clearStateOnDisable: 0 + calculateNormals: 0 + calculateTangents: 1 + logErrors: 0 + disableRenderingOnOverride: 1 + _animationName: sneak + loop: 1 + timeScale: 0.25 +--- !u!23 &1628453472 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1628453470} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 824cfb62bcbe3db49a3ce6db7e3757d1, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1628453473 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1628453470} + m_Mesh: {fileID: 0} +--- !u!4 &1628453474 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1628453470} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6.47, y: -3.59, z: 1.03} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1 &1667748200 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1667748205} + - 20: {fileID: 1667748204} + - 92: {fileID: 1667748203} + - 124: {fileID: 1667748202} + - 81: {fileID: 1667748201} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1667748201 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1667748200} + m_Enabled: 1 +--- !u!124 &1667748202 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1667748200} + m_Enabled: 1 +--- !u!92 &1667748203 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1667748200} + m_Enabled: 1 +--- !u!20 &1667748204 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1667748200} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.029411793, g: 0.028979266, b: 0.028979266, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &1667748205 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1667748200} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 diff --git a/spine-unity/Assets/Examples/Other Examples/Sprite Shaders.unity.meta b/spine-unity/Assets/Examples/Other Examples/Sprite Shaders.unity.meta new file mode 100644 index 000000000..13a2c4506 --- /dev/null +++ b/spine-unity/Assets/Examples/Other Examples/Sprite Shaders.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0862248ab668ce749845b0d7de5c6355 +timeCreated: 1479531945 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Scripts/Chimera.cs b/spine-unity/Assets/Examples/Scripts/AttackSpineboy.cs similarity index 67% rename from spine-unity/Assets/Examples/Scripts/Chimera.cs rename to spine-unity/Assets/Examples/Scripts/AttackSpineboy.cs index 469086b8e..5579ed32d 100644 --- a/spine-unity/Assets/Examples/Scripts/Chimera.cs +++ b/spine-unity/Assets/Examples/Scripts/AttackSpineboy.cs @@ -1,4 +1,4 @@ -/****************************************************************************** +/****************************************************************************** * Spine Runtimes Software License v2.5 * * Copyright (c) 2013-2016, Esoteric Software @@ -28,22 +28,36 @@ * POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ -// Contributed by: Mitch Thompson - using UnityEngine; -using Spine.Unity; +using UnityEngine.UI; -public class Chimera : MonoBehaviour { +namespace Spine.Unity.Examples { + public class AttackSpineboy : MonoBehaviour { - public SkeletonDataAsset skeletonDataSource; + public SkeletonAnimation spineboy; + public SpineGauge gauge; + public Text healthText; - [SpineAttachment(currentSkinOnly: false, returnAttachmentPath: true, dataField: "skeletonDataSource")] - public string attachmentPath; + int currentHealth = 100; + const int maxHealth = 100; - [SpineSlot] - public string targetSlot; + void Update () { + if (Input.GetKeyDown(KeyCode.Space)) { + currentHealth -= 10; + healthText.text = currentHealth + "/" + maxHealth; - void Start() { - GetComponent().skeleton.FindSlot(targetSlot).Attachment = SpineAttachment.GetAttachment(attachmentPath, skeletonDataSource); + if (currentHealth > 0) { + spineboy.state.SetAnimation(0, "hit", false); + spineboy.state.AddAnimation(0, "idle", true, 0); + gauge.fillPercent = (float)currentHealth/(float)maxHealth; + } else { + if (currentHealth >= 0) { + gauge.fillPercent = 0; + spineboy.state.SetAnimation(0, "death", false).TrackEnd = float.PositiveInfinity; + } + } + } + } } + } diff --git a/spine-unity/Assets/Examples/Scripts/Chimera.cs.meta b/spine-unity/Assets/Examples/Scripts/AttackSpineboy.cs.meta similarity index 69% rename from spine-unity/Assets/Examples/Scripts/Chimera.cs.meta rename to spine-unity/Assets/Examples/Scripts/AttackSpineboy.cs.meta index d38c663e5..ec4a1f94b 100644 --- a/spine-unity/Assets/Examples/Scripts/Chimera.cs.meta +++ b/spine-unity/Assets/Examples/Scripts/AttackSpineboy.cs.meta @@ -1,5 +1,7 @@ fileFormatVersion: 2 -guid: 5053fe97a7657b5418b0c307b7338b0c +guid: 7eab8e63d650dc74c80d142cd4b9fe4b +timeCreated: 1480095094 +licenseType: Free MonoImporter: serializedVersion: 2 defaultReferences: [] diff --git a/spine-unity/Assets/Examples/Scripts/FootSoldierExample.cs b/spine-unity/Assets/Examples/Scripts/FootSoldierExample.cs index da294c19b..4ae760744 100644 --- a/spine-unity/Assets/Examples/Scripts/FootSoldierExample.cs +++ b/spine-unity/Assets/Examples/Scripts/FootSoldierExample.cs @@ -34,69 +34,71 @@ using UnityEngine; using System.Collections; using Spine.Unity; -public class FootSoldierExample : MonoBehaviour { - [SpineAnimation("Idle")] - public string idleAnimation; +namespace Spine.Unity.Examples { + public class FootSoldierExample : MonoBehaviour { + [SpineAnimation("Idle")] + public string idleAnimation; - [SpineAnimation] - public string attackAnimation; + [SpineAnimation] + public string attackAnimation; - [SpineAnimation] - public string moveAnimation; + [SpineAnimation] + public string moveAnimation; - [SpineSlot] - public string eyesSlot; + [SpineSlot] + public string eyesSlot; - [SpineAttachment(currentSkinOnly: true, slotField: "eyesSlot")] - public string eyesOpenAttachment; + [SpineAttachment(currentSkinOnly: true, slotField: "eyesSlot")] + public string eyesOpenAttachment; - [SpineAttachment(currentSkinOnly: true, slotField: "eyesSlot")] - public string blinkAttachment; + [SpineAttachment(currentSkinOnly: true, slotField: "eyesSlot")] + public string blinkAttachment; - [Range(0, 0.2f)] - public float blinkDuration = 0.05f; + [Range(0, 0.2f)] + public float blinkDuration = 0.05f; - public KeyCode attackKey = KeyCode.Mouse0; - public KeyCode rightKey = KeyCode.D; - public KeyCode leftKey = KeyCode.A; + public KeyCode attackKey = KeyCode.Mouse0; + public KeyCode rightKey = KeyCode.D; + public KeyCode leftKey = KeyCode.A; - public float moveSpeed = 3; + public float moveSpeed = 3; - private SkeletonAnimation skeletonAnimation; + SkeletonAnimation skeletonAnimation; - void Awake() { - skeletonAnimation = GetComponent(); - skeletonAnimation.OnRebuild += Apply; - } + void Awake () { + skeletonAnimation = GetComponent(); + skeletonAnimation.OnRebuild += Apply; + } - void Apply(SkeletonRenderer skeletonRenderer) { - StartCoroutine("Blink"); - } + void Apply (SkeletonRenderer skeletonRenderer) { + StartCoroutine("Blink"); + } - void Update() { - if (Input.GetKey(attackKey)) { - skeletonAnimation.AnimationName = attackAnimation; - } else { - if (Input.GetKey(rightKey)) { - skeletonAnimation.AnimationName = moveAnimation; - skeletonAnimation.skeleton.FlipX = false; - transform.Translate(moveSpeed * Time.deltaTime, 0, 0); - } else if(Input.GetKey(leftKey)) { - skeletonAnimation.AnimationName = moveAnimation; - skeletonAnimation.skeleton.FlipX = true; - transform.Translate(-moveSpeed * Time.deltaTime, 0, 0); + void Update () { + if (Input.GetKey(attackKey)) { + skeletonAnimation.AnimationName = attackAnimation; } else { - skeletonAnimation.AnimationName = idleAnimation; + if (Input.GetKey(rightKey)) { + skeletonAnimation.AnimationName = moveAnimation; + skeletonAnimation.skeleton.FlipX = false; + transform.Translate(moveSpeed * Time.deltaTime, 0, 0); + } else if(Input.GetKey(leftKey)) { + skeletonAnimation.AnimationName = moveAnimation; + skeletonAnimation.skeleton.FlipX = true; + transform.Translate(-moveSpeed * Time.deltaTime, 0, 0); + } else { + skeletonAnimation.AnimationName = idleAnimation; + } + } + } + + IEnumerator Blink() { + while (true) { + yield return new WaitForSeconds(Random.Range(0.25f, 3f)); + skeletonAnimation.skeleton.SetAttachment(eyesSlot, blinkAttachment); + yield return new WaitForSeconds(blinkDuration); + skeletonAnimation.skeleton.SetAttachment(eyesSlot, eyesOpenAttachment); } } } - - IEnumerator Blink() { - while (true) { - yield return new WaitForSeconds(Random.Range(0.25f, 3f)); - skeletonAnimation.skeleton.SetAttachment(eyesSlot, blinkAttachment); - yield return new WaitForSeconds(blinkDuration); - skeletonAnimation.skeleton.SetAttachment(eyesSlot, eyesOpenAttachment); - } - } -} +} \ No newline at end of file diff --git a/spine-unity/Assets/Examples/Scripts/Goblins.cs b/spine-unity/Assets/Examples/Scripts/Goblins.cs index e4c813b3b..2dc3232c3 100644 --- a/spine-unity/Assets/Examples/Scripts/Goblins.cs +++ b/spine-unity/Assets/Examples/Scripts/Goblins.cs @@ -29,36 +29,40 @@ *****************************************************************************/ using UnityEngine; -using System.Collections; using Spine; using Spine.Unity; -public class Goblins : MonoBehaviour { - private bool girlSkin; - private SkeletonAnimation skeletonAnimation; - private Bone headBone; - - public void Start () { - skeletonAnimation = GetComponent(); - headBone = skeletonAnimation.skeleton.FindBone("head"); - skeletonAnimation.UpdateLocal += UpdateLocal; - } +namespace Spine.Unity.Examples { + public class Goblins : MonoBehaviour { + SkeletonAnimation skeletonAnimation; + Bone headBone; + bool girlSkin; - // This is called after the animation is applied to the skeleton and can be used to adjust the bones dynamically. - public void UpdateLocal (ISkeletonAnimation skeletonRenderer) { - headBone.Rotation += 15; - } - - public void OnMouseDown () { - skeletonAnimation.skeleton.SetSkin(girlSkin ? "goblin" : "goblingirl"); - skeletonAnimation.skeleton.SetSlotsToSetupPose(); + [Range(-360, 360)] + public float extraRotation; - girlSkin = !girlSkin; + public void Start () { + skeletonAnimation = GetComponent(); + headBone = skeletonAnimation.skeleton.FindBone("head"); + skeletonAnimation.UpdateLocal += UpdateLocal; + } + + // This is called after the animation is applied to the skeleton and can be used to adjust the bones dynamically. + public void UpdateLocal (ISkeletonAnimation skeletonRenderer) { + headBone.Rotation += extraRotation; + } - if (girlSkin) { - skeletonAnimation.skeleton.SetAttachment("right hand item", null); - skeletonAnimation.skeleton.SetAttachment("left hand item", "spear"); - } else - skeletonAnimation.skeleton.SetAttachment("left hand item", "dagger"); + public void OnMouseDown () { + skeletonAnimation.skeleton.SetSkin(girlSkin ? "goblin" : "goblingirl"); + skeletonAnimation.skeleton.SetSlotsToSetupPose(); + + girlSkin = !girlSkin; + + if (girlSkin) { + skeletonAnimation.skeleton.SetAttachment("right hand item", null); + skeletonAnimation.skeleton.SetAttachment("left hand item", "spear"); + } else + skeletonAnimation.skeleton.SetAttachment("left hand item", "dagger"); + } } -} +} \ No newline at end of file diff --git a/spine-unity/Assets/Examples/Scripts/MixAndMatch.cs b/spine-unity/Assets/Examples/Scripts/MixAndMatch.cs new file mode 100644 index 000000000..c404dbdc2 --- /dev/null +++ b/spine-unity/Assets/Examples/Scripts/MixAndMatch.cs @@ -0,0 +1,112 @@ +/****************************************************************************** + * Spine Runtimes Software License v2.5 + * + * Copyright (c) 2013-2016, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable, and + * non-transferable license to use, install, execute, and perform the Spine + * Runtimes software and derivative works solely for personal or internal + * use. Without the written permission of Esoteric Software (see Section 2 of + * the Spine Software License Agreement), you may not (a) modify, translate, + * adapt, or develop new applications using the Spine Runtimes or otherwise + * create derivative works or improvements of the Spine Runtimes or (b) remove, + * delete, alter, or obscure any trademarks or any copyright, trademark, patent, + * or other intellectual property or proprietary rights notices on or in the + * Software, including any copy thereof. Redistributions in binary or source + * form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF + * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER + * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +using UnityEngine; +using Spine.Unity.Modules.AttachmentTools; + +namespace Spine.Unity.Examples { + public class MixAndMatch : MonoBehaviour { + + #region Inspector + [Header("From AtlasAsset")] + public AtlasAsset handSource; + [SpineAtlasRegion("handSource")] public string handRegion = "hand"; + [SpineAttachment] public string handAttachmentName; + [SpineSlot] public string handSlot; + public Vector2 newHandOffset; + public float newHandRotation; + public Texture2D handTexture; + + [Header("From Sprite")] + public Sprite dagger; + public string daggerName = "dagger"; + [SpineSlot] public string weaponSlot; + + [Header("MeshAttachment.SetRegion")] + public bool applyHeadRegion = false; + public AtlasAsset headSource; + [SpineAtlasRegion("headSource")] public string headRegion; + [SpineSlot] public string headSlot; + [SpineAttachment] public string headAttachmentName; + + [Header("Runtime Repack")] + public bool repack = true; + public Shader repackedShader; + + [Header("Do not assign")] + public Texture2D runtimeAtlas; + public Material runtimeMaterial; + + #endregion + + void Start () { + var skeletonAnimation = GetComponent(); + var skeleton = skeletonAnimation.Skeleton; + + // All attachment changes will be applied to the skin. We use a clone so other instances will not be affected. + var newSkin = skeleton.UnshareSkin(true, false, skeletonAnimation.AnimationState); + + // Case 1: Create an attachment from an atlas. + RegionAttachment newHand = handSource.GetAtlas().FindRegion(handRegion).ToRegionAttachment("new hand"); + newHand.SetPositionOffset(newHandOffset); + newHand.rotation = newHandRotation; + newHand.UpdateOffset(); + int handSlotIndex = skeleton.FindSlotIndex(handSlot); + handTexture = newHand.GetRegion().ToTexture(); + newSkin.AddAttachment(handSlotIndex, handAttachmentName, newHand); + + // Case 2: Create an attachment from a Unity Sprite (Sprite texture needs to be Read/Write Enabled in the inspector. + RegionAttachment newWeapon = dagger.ToRegionAttachmentPMAClone(Shader.Find("Spine/Skeleton")); + newWeapon.SetScale(1.5f, 1.5f); + newWeapon.UpdateOffset(); + int weaponSlotIndex = skeleton.FindSlotIndex(weaponSlot); + newSkin.AddAttachment(weaponSlotIndex, daggerName, newWeapon); + + // Case 3: Change an existing attachment's backing region. + if (applyHeadRegion) { + AtlasRegion spineBoyHead = headSource.GetAtlas().FindRegion(headRegion); + int headSlotIndex = skeleton.FindSlotIndex(headSlot); + var newHead = newSkin.GetAttachment(headSlotIndex, headAttachmentName).GetClone(true); + newHead.SetRegion(spineBoyHead); + newSkin.AddAttachment(headSlotIndex, headAttachmentName, newHead); + } + + // Case 4: Repacking a mixed-and-matched skin to minimize draw calls. + // Repacking requires that you set all source textures/sprites/atlases to be Read/Write enabled in the inspector. + if (repack) + newSkin = newSkin.GetRepackedSkin("repacked", repackedShader, out runtimeMaterial, out runtimeAtlas); + + skeleton.SetSkin(newSkin); + skeleton.SetToSetupPose(); + skeleton.SetAttachment(weaponSlot, daggerName); + } + + } +} diff --git a/spine-unity/Assets/Examples/Scripts/MixAndMatch.cs.meta b/spine-unity/Assets/Examples/Scripts/MixAndMatch.cs.meta new file mode 100644 index 000000000..5e7d9f7ff --- /dev/null +++ b/spine-unity/Assets/Examples/Scripts/MixAndMatch.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fdd7c8b428f700c438a6a14addca0346 +timeCreated: 1480089275 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Scripts/RaggedySpineboy.cs b/spine-unity/Assets/Examples/Scripts/RaggedySpineboy.cs index ae4cc4165..ceded486c 100644 --- a/spine-unity/Assets/Examples/Scripts/RaggedySpineboy.cs +++ b/spine-unity/Assets/Examples/Scripts/RaggedySpineboy.cs @@ -32,85 +32,76 @@ using UnityEngine; using System.Collections; using Spine.Unity; -public class RaggedySpineboy : MonoBehaviour { +namespace Spine.Unity.Examples { + public class RaggedySpineboy : MonoBehaviour { - public LayerMask groundMask; - public float restoreDuration = 0.5f; - public Vector2 launchVelocity = new Vector2(50,100); + public LayerMask groundMask; + public float restoreDuration = 0.5f; + public Vector2 launchVelocity = new Vector2(50,100); - Spine.Unity.Modules.SkeletonRagdoll2D ragdoll; - Collider2D naturalCollider; + Spine.Unity.Modules.SkeletonRagdoll2D ragdoll; + Collider2D naturalCollider; - void Start () { - - ragdoll = GetComponent(); - naturalCollider = GetComponent(); - } - - void AddRigidbody () { - var rb = gameObject.AddComponent(); - #if UNITY_5_1 || UNITY_5_2 || UNITY_5_3 || UNITY_5_4 || UNITY_5_5 - rb.freezeRotation = true; - #else - rb.fixedAngle = true; - #endif - naturalCollider.enabled = true; - } - - void RemoveRigidbody () { - Destroy(GetComponent()); - naturalCollider.enabled = false; - } - - void Update () { - - } - - void OnMouseUp () { - if (naturalCollider.enabled) { - Launch(); - } - } - - void Launch () { - RemoveRigidbody(); - ragdoll.Apply(); - ragdoll.RootRigidbody.velocity = new Vector2(Random.Range(-launchVelocity.x, launchVelocity.x), launchVelocity.y); - StartCoroutine(WaitUntilStopped()); - } - - IEnumerator Restore () { - Vector3 estimatedPos = ragdoll.EstimatedSkeletonPosition; - Vector3 rbPosition = ragdoll.RootRigidbody.position; - - Vector3 skeletonPoint = estimatedPos; - RaycastHit2D hit = Physics2D.Raycast((Vector2)rbPosition, (Vector2)(estimatedPos - rbPosition), Vector3.Distance(estimatedPos, rbPosition), groundMask); - if (hit.collider != null) - skeletonPoint = hit.point; - - - ragdoll.RootRigidbody.isKinematic = true; - ragdoll.SetSkeletonPosition(skeletonPoint); - - yield return ragdoll.SmoothMix(0, restoreDuration); - ragdoll.Remove(); - - AddRigidbody(); - } - - IEnumerator WaitUntilStopped () { - yield return new WaitForSeconds(0.5f); - - float t = 0; - while (t < 0.5f) { - if (ragdoll.RootRigidbody.velocity.magnitude > 0.09f) - t = 0; - else - t += Time.deltaTime; - - yield return null; + void Start () { + ragdoll = GetComponent(); + naturalCollider = GetComponent(); } - StartCoroutine(Restore()); + void AddRigidbody () { + var rb = gameObject.AddComponent(); + #if UNITY_5_1 || UNITY_5_2 || UNITY_5_3 || UNITY_5_4 || UNITY_5_5 + rb.freezeRotation = true; + #else + rb.fixedAngle = true; + #endif + naturalCollider.enabled = true; + } + + void RemoveRigidbody () { + Destroy(GetComponent()); + naturalCollider.enabled = false; + } + + void OnMouseUp () { + if (naturalCollider.enabled) + Launch(); + } + + void Launch () { + RemoveRigidbody(); + ragdoll.Apply(); + ragdoll.RootRigidbody.velocity = new Vector2(Random.Range(-launchVelocity.x, launchVelocity.x), launchVelocity.y); + StartCoroutine(WaitUntilStopped()); + } + + IEnumerator Restore () { + Vector3 estimatedPos = ragdoll.EstimatedSkeletonPosition; + Vector3 rbPosition = ragdoll.RootRigidbody.position; + + Vector3 skeletonPoint = estimatedPos; + RaycastHit2D hit = Physics2D.Raycast((Vector2)rbPosition, (Vector2)(estimatedPos - rbPosition), Vector3.Distance(estimatedPos, rbPosition), groundMask); + if (hit.collider != null) + skeletonPoint = hit.point; + + ragdoll.RootRigidbody.isKinematic = true; + ragdoll.SetSkeletonPosition(skeletonPoint); + + yield return ragdoll.SmoothMix(0, restoreDuration); + ragdoll.Remove(); + + AddRigidbody(); + } + + IEnumerator WaitUntilStopped () { + yield return new WaitForSeconds(0.5f); + + float t = 0; + while (t < 0.5f) { + t = (ragdoll.RootRigidbody.velocity.magnitude > 0.09f) ? 0 : t + Time.deltaTime; + yield return null; + } + + StartCoroutine(Restore()); + } } } diff --git a/spine-unity/Assets/Examples/Scripts/Rotator.cs b/spine-unity/Assets/Examples/Scripts/Rotator.cs new file mode 100644 index 000000000..147aa9c3a --- /dev/null +++ b/spine-unity/Assets/Examples/Scripts/Rotator.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +namespace Spine.Unity.Examples { + public class Rotator : MonoBehaviour { + public Vector3 direction = new Vector3(0, 0, 1f); + public float speed = 1f; + + void Update () { + transform.Rotate(direction * (speed * Time.deltaTime * 100f)); + } + } +} diff --git a/spine-unity/Assets/Examples/Scripts/Rotator.cs.meta b/spine-unity/Assets/Examples/Scripts/Rotator.cs.meta new file mode 100644 index 000000000..98efc6a13 --- /dev/null +++ b/spine-unity/Assets/Examples/Scripts/Rotator.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 12e291cb54756d04c9dd53ad6e00a126 +timeCreated: 1479532891 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Scripts/SpineGauge.cs b/spine-unity/Assets/Examples/Scripts/SpineGauge.cs index 10ddc4c97..ffe0a8505 100644 --- a/spine-unity/Assets/Examples/Scripts/SpineGauge.cs +++ b/spine-unity/Assets/Examples/Scripts/SpineGauge.cs @@ -29,46 +29,47 @@ *****************************************************************************/ using UnityEngine; -using System.Collections; using Spine.Unity; -[ExecuteInEditMode] -[RequireComponent(typeof(SkeletonRenderer))] -public class SpineGauge : MonoBehaviour { +namespace Spine.Unity.Examples { + [ExecuteInEditMode] + [RequireComponent(typeof(SkeletonRenderer))] + public class SpineGauge : MonoBehaviour { - #region Inspector - [Range(0,1)] - public float fillPercent = 0; + #region Inspector + [Range(0,1)] + public float fillPercent = 0; - [SpineAnimation] - public string fillAnimationName; - #endregion + [SpineAnimation] + public string fillAnimationName; + #endregion - SkeletonRenderer skeletonRenderer; - Spine.Animation fillAnimation; + SkeletonRenderer skeletonRenderer; + Spine.Animation fillAnimation; - void Awake () { - skeletonRenderer = GetComponent(); - - } - - void Update () { - SetGaugePercent(fillPercent); - } - - public void SetGaugePercent (float x) { - if (skeletonRenderer == null) return; - var skeleton = skeletonRenderer.skeleton; if (skeleton == null) return; - - // Make super-sure that fillAnimation isn't null. Early exit if it is. - if (fillAnimation == null) { - fillAnimation = skeleton.Data.FindAnimation(fillAnimationName); - if (fillAnimation == null) return; + void Awake () { + skeletonRenderer = GetComponent(); } - - fillAnimation.Apply(skeleton, 0, x, false, null, 1f, true, false); - skeleton.Update(Time.deltaTime); - skeleton.UpdateWorldTransform(); + void Update () { + SetGaugePercent(fillPercent); + } + + public void SetGaugePercent (float percent) { + if (skeletonRenderer == null) return; + var skeleton = skeletonRenderer.skeleton; if (skeleton == null) return; + + // Make super-sure that fillAnimation isn't null. + if (fillAnimation == null) { + fillAnimation = skeleton.Data.FindAnimation(fillAnimationName); + if (fillAnimation == null) return; + } + + fillAnimation.Apply(skeleton, 0, percent, false, null, 1f, true, false); + + skeleton.Update(Time.deltaTime); + skeleton.UpdateWorldTransform(); + } } + } diff --git a/spine-unity/Assets/Examples/Scripts/Spineboy.cs b/spine-unity/Assets/Examples/Scripts/Spineboy.cs index ccb227e61..3705ad99e 100644 --- a/spine-unity/Assets/Examples/Scripts/Spineboy.cs +++ b/spine-unity/Assets/Examples/Scripts/Spineboy.cs @@ -33,25 +33,28 @@ using UnityEngine; using Spine; using Spine.Unity; -public class Spineboy : MonoBehaviour { - SkeletonAnimation skeletonAnimation; +namespace Spine.Unity.Examples { + public class Spineboy : MonoBehaviour { + SkeletonAnimation skeletonAnimation; - public void Start () { - skeletonAnimation = GetComponent(); // Get the SkeletonAnimation component for the GameObject this script is attached to. + public void Start () { + skeletonAnimation = GetComponent(); // Get the SkeletonAnimation component for the GameObject this script is attached to. - skeletonAnimation.state.Event += HandleEvent;; // Call our method any time an animation fires an event. - skeletonAnimation.state.End += (entry) => Debug.Log("start: " + entry.trackIndex); // A lambda can be used for the callback instead of a method. + skeletonAnimation.state.Event += HandleEvent;; // Call our method any time an animation fires an event. + skeletonAnimation.state.End += (entry) => Debug.Log("start: " + entry.trackIndex); // A lambda can be used for the callback instead of a method. - skeletonAnimation.state.AddAnimation(0, "jump", false, 2); // Queue jump to be played on track 0 two seconds after the starting animation. - skeletonAnimation.state.AddAnimation(0, "run", true, 0); // Queue walk to be looped on track 0 after the jump animation. + skeletonAnimation.state.AddAnimation(0, "jump", false, 2); // Queue jump to be played on track 0 two seconds after the starting animation. + skeletonAnimation.state.AddAnimation(0, "run", true, 0); // Queue walk to be looped on track 0 after the jump animation. + } + + void HandleEvent (TrackEntry trackEntry, Spine.Event e) { + Debug.Log(trackEntry.trackIndex + " " + trackEntry.animation.name + ": event " + e + ", " + e.Int); + } + + public void OnMouseDown () { + skeletonAnimation.state.SetAnimation(0, "jump", false); // Set jump to be played on track 0 immediately. + skeletonAnimation.state.AddAnimation(0, "run", true, 0); // Queue walk to be looped on track 0 after the jump animation. + } } - void HandleEvent (TrackEntry trackEntry, Spine.Event e) { - Debug.Log(trackEntry.trackIndex + " " + trackEntry.animation.name + ": event " + e + ", " + e.Int); - } - - public void OnMouseDown () { - skeletonAnimation.state.SetAnimation(0, "jump", false); // Set jump to be played on track 0 immediately. - skeletonAnimation.state.AddAnimation(0, "run", true, 0); // Queue walk to be looped on track 0 after the jump animation. - } } diff --git a/spine-unity/Assets/Examples/Scripts/SpineboyPole.cs b/spine-unity/Assets/Examples/Scripts/SpineboyPole.cs index 6db87e3da..f4dc31470 100644 --- a/spine-unity/Assets/Examples/Scripts/SpineboyPole.cs +++ b/spine-unity/Assets/Examples/Scripts/SpineboyPole.cs @@ -34,48 +34,52 @@ using Spine.Unity; using Spine.Unity.Modules; -public class SpineboyPole : MonoBehaviour { - public SkeletonAnimation skeletonAnimation; - public SkeletonRenderSeparator separator; +namespace Spine.Unity.Examples { + public class SpineboyPole : MonoBehaviour { + public SkeletonAnimation skeletonAnimation; + public SkeletonRenderSeparator separator; - [Space(18)] - [SpineAnimation] - public string run; - [SpineAnimation] - public string pole; - public float startX; - public float endX; + [Space(18)] + [SpineAnimation] + public string run; + [SpineAnimation] + public string pole; + public float startX; + public float endX; - const float Speed = 18f; - const float RunTimeScale = 1.5f; + const float Speed = 18f; + const float RunTimeScale = 1.5f; - IEnumerator Start () { - var state = skeletonAnimation.state; + IEnumerator Start () { + var state = skeletonAnimation.state; - while (true) { - // Run phase - SetXPosition(startX); - separator.enabled = false; // Disable Separator during run. - state.SetAnimation(0, run, true); - state.TimeScale = RunTimeScale; + while (true) { + // Run phase + SetXPosition(startX); + separator.enabled = false; // Disable Separator during run. + state.SetAnimation(0, run, true); + state.TimeScale = RunTimeScale; - while (transform.localPosition.x < endX) { - transform.Translate(Vector3.right * Speed * Time.deltaTime); - yield return null; + while (transform.localPosition.x < endX) { + transform.Translate(Vector3.right * Speed * Time.deltaTime); + yield return null; + } + + // Hit phase + SetXPosition(endX); + separator.enabled = true; // Enable Separator when hit + var poleTrack = state.SetAnimation(0, pole, false); + float duration = poleTrack.TrackEnd; + poleTrack.TrackEnd = float.PositiveInfinity; + yield return new WaitForSeconds(duration + 1f); } + } - // Hit phase - SetXPosition(endX); - separator.enabled = true; // Enable Separator when hit - var poleTrack = state.SetAnimation(0, pole, false); - yield return new WaitForSpineAnimationComplete(poleTrack); - yield return new WaitForSeconds(1f); + void SetXPosition (float x) { + var tp = transform.localPosition; + tp.x = x; + transform.localPosition = tp; } } - void SetXPosition (float x) { - var tp = transform.localPosition; - tp.x = x; - transform.localPosition = tp; - } } diff --git a/spine-unity/Assets/Examples/Spine/Dragon/dragon.png.meta b/spine-unity/Assets/Examples/Spine/Dragon/dragon.png.meta index ba8fc7367..0f794e226 100644 --- a/spine-unity/Assets/Examples/Spine/Dragon/dragon.png.meta +++ b/spine-unity/Assets/Examples/Spine/Dragon/dragon.png.meta @@ -1,9 +1,30 @@ fileFormatVersion: 2 guid: 6bc52290ef03f2846ba38d67e2823598 -timeCreated: 1467205225 +timeCreated: 1479419653 licenseType: Free TextureImporter: - fileIDToRecycleName: {} + fileIDToRecycleName: + 21300000: L_rear_thigh + 21300002: L_wing01 + 21300004: L_wing02 + 21300006: L_wing03 + 21300008: L_wing05 + 21300010: L_wing06 + 21300012: R_wing01 + 21300014: R_wing02 + 21300016: R_wing03 + 21300018: R_wing05 + 21300020: R_wing06 + 21300022: R_wing07 + 21300024: R_wing08 + 21300026: R_wing09 + 21300028: back + 21300030: chest + 21300032: front_toeA + 21300034: head + 21300036: logo + 21300038: tail01 + 21300040: tail03 serializedVersion: 2 mipmaps: mipMapMode: 0 @@ -46,10 +67,285 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 0 + spriteTessellationDetail: -1 textureType: 5 buildTargetSettings: [] spriteSheet: - sprites: [] + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: L_rear_thigh + rect: + serializedVersion: 2 + x: 895 + y: 856 + width: 91 + height: 148 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: L_wing01 + rect: + serializedVersion: 2 + x: 814 + y: 96 + width: 191 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: L_wing02 + rect: + serializedVersion: 2 + x: 714 + y: 566 + width: 179 + height: 269 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: L_wing03 + rect: + serializedVersion: 2 + x: 785 + y: 354 + width: 186 + height: 207 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: L_wing05 + rect: + serializedVersion: 2 + x: 2 + y: 797 + width: 213 + height: 218 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: L_wing06 + rect: + serializedVersion: 2 + x: 2 + y: 464 + width: 192 + height: 331 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: R_wing01 + rect: + serializedVersion: 2 + x: 502 + y: 96 + width: 310 + height: 219 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: R_wing02 + rect: + serializedVersion: 2 + x: 204 + y: 358 + width: 305 + height: 203 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: R_wing03 + rect: + serializedVersion: 2 + x: 511 + y: 317 + width: 272 + height: 247 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: R_wing05 + rect: + serializedVersion: 2 + x: 196 + y: 563 + width: 251 + height: 229 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: R_wing06 + rect: + serializedVersion: 2 + x: 2 + y: 96 + width: 200 + height: 366 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: R_wing07 + rect: + serializedVersion: 2 + x: 449 + y: 566 + width: 263 + height: 200 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: R_wing08 + rect: + serializedVersion: 2 + x: 467 + y: 768 + width: 234 + height: 254 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: R_wing09 + rect: + serializedVersion: 2 + x: 217 + y: 794 + width: 248 + height: 204 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: back + rect: + serializedVersion: 2 + x: 703 + y: 837 + width: 190 + height: 185 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: chest + rect: + serializedVersion: 2 + x: 895 + y: 718 + width: 122 + height: 136 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: front_toeA + rect: + serializedVersion: 2 + x: 976 + y: 2 + width: 29 + height: 50 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: head + rect: + serializedVersion: 2 + x: 204 + y: 96 + width: 296 + height: 260 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: logo + rect: + serializedVersion: 2 + x: 2 + y: 2 + width: 897 + height: 92 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: tail01 + rect: + serializedVersion: 2 + x: 895 + y: 563 + width: 120 + height: 153 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: tail03 + rect: + serializedVersion: 2 + x: 901 + y: 2 + width: 73 + height: 92 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 outline: [] spritePackingTag: userData: diff --git a/spine-unity/Assets/Examples/Spine/Dragon/dragon2.png.meta b/spine-unity/Assets/Examples/Spine/Dragon/dragon2.png.meta index 77bf674b3..f74b3bdf0 100644 --- a/spine-unity/Assets/Examples/Spine/Dragon/dragon2.png.meta +++ b/spine-unity/Assets/Examples/Spine/Dragon/dragon2.png.meta @@ -1,9 +1,28 @@ fileFormatVersion: 2 guid: 12c126994123f12468cf4c5a2684078a -timeCreated: 1467205225 +timeCreated: 1479419653 licenseType: Free TextureImporter: - fileIDToRecycleName: {} + fileIDToRecycleName: + 21300000: L_front_leg + 21300002: L_front_thigh + 21300004: L_rear_leg + 21300006: L_wing04 + 21300008: L_wing07 + 21300010: L_wing08 + 21300012: L_wing09 + 21300014: R_front_leg + 21300016: R_front_thigh + 21300018: R_rear_leg + 21300020: R_rear_thigh + 21300022: R_wing04 + 21300024: chin + 21300026: front_toeB + 21300028: rear-toe + 21300030: tail02 + 21300032: tail04 + 21300034: tail05 + 21300036: tail06 serializedVersion: 2 mipmaps: mipMapMode: 0 @@ -46,10 +65,259 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 0 + spriteTessellationDetail: -1 textureType: 5 buildTargetSettings: [] spriteSheet: - sprites: [] + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: L_front_leg + rect: + serializedVersion: 2 + x: 391 + y: 287 + width: 57 + height: 84 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: L_front_thigh + rect: + serializedVersion: 2 + x: 446 + y: 171 + width: 84 + height: 72 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: L_rear_leg + rect: + serializedVersion: 2 + x: 888 + y: 2 + width: 132 + height: 168 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: L_wing04 + rect: + serializedVersion: 2 + x: 256 + y: 150 + width: 188 + height: 135 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: L_wing07 + rect: + serializedVersion: 2 + x: 2 + y: 148 + width: 159 + height: 255 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: L_wing08 + rect: + serializedVersion: 2 + x: 705 + y: 2 + width: 181 + height: 164 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: L_wing09 + rect: + serializedVersion: 2 + x: 499 + y: 2 + width: 204 + height: 167 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: R_front_leg + rect: + serializedVersion: 2 + x: 273 + y: 389 + width: 101 + height: 89 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: R_front_thigh + rect: + serializedVersion: 2 + x: 163 + y: 298 + width: 108 + height: 108 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: R_rear_leg + rect: + serializedVersion: 2 + x: 273 + y: 287 + width: 116 + height: 100 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: R_rear_thigh + rect: + serializedVersion: 2 + x: 163 + y: 148 + width: 91 + height: 148 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: R_wing04 + rect: + serializedVersion: 2 + x: 2 + y: 2 + width: 279 + height: 144 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: chin + rect: + serializedVersion: 2 + x: 283 + y: 2 + width: 214 + height: 146 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: front_toeB + rect: + serializedVersion: 2 + x: 590 + y: 171 + width: 56 + height: 57 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: rear-toe + rect: + serializedVersion: 2 + x: 2 + y: 405 + width: 77 + height: 105 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: tail02 + rect: + serializedVersion: 2 + x: 151 + y: 408 + width: 120 + height: 95 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: tail04 + rect: + serializedVersion: 2 + x: 532 + y: 171 + width: 56 + height: 71 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: tail05 + rect: + serializedVersion: 2 + x: 648 + y: 171 + width: 52 + height: 59 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: tail06 + rect: + serializedVersion: 2 + x: 81 + y: 405 + width: 68 + height: 95 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 outline: [] spritePackingTag: userData: diff --git a/spine-unity/Assets/Examples/Spine/Dragon/dragon_dragon.mat b/spine-unity/Assets/Examples/Spine/Dragon/dragon_dragon.mat index eff332981..a3810999f 100644 --- a/spine-unity/Assets/Examples/Spine/Dragon/dragon_dragon.mat +++ b/spine-unity/Assets/Examples/Spine/Dragon/dragon_dragon.mat @@ -15,16 +15,14 @@ Material: m_SavedProperties: serializedVersion: 2 m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 6bc52290ef03f2846ba38d67e2823598, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 6bc52290ef03f2846ba38d67e2823598, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} m_Floats: - data: - first: - name: _Cutoff - second: 0.1 - m_Colors: {} + - first: + name: _Cutoff + second: 0.1 + m_Colors: [] diff --git a/spine-unity/Assets/Examples/Spine/Dragon/dragon_dragon2.mat b/spine-unity/Assets/Examples/Spine/Dragon/dragon_dragon2.mat index a4a54511a..b8eccbbef 100644 --- a/spine-unity/Assets/Examples/Spine/Dragon/dragon_dragon2.mat +++ b/spine-unity/Assets/Examples/Spine/Dragon/dragon_dragon2.mat @@ -15,16 +15,14 @@ Material: m_SavedProperties: serializedVersion: 2 m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 12c126994123f12468cf4c5a2684078a, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 12c126994123f12468cf4c5a2684078a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} m_Floats: - data: - first: - name: _Cutoff - second: 0.1 - m_Colors: {} + - first: + name: _Cutoff + second: 0.1 + m_Colors: [] diff --git a/spine-unity/Assets/Examples/Spine/Eyes/eyes.png.meta b/spine-unity/Assets/Examples/Spine/Eyes/eyes.png.meta index 83f497ebb..eac2ad628 100644 --- a/spine-unity/Assets/Examples/Spine/Eyes/eyes.png.meta +++ b/spine-unity/Assets/Examples/Spine/Eyes/eyes.png.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: 49441e5a1682e564694545bd9b509785 -timeCreated: 1467205225 +timeCreated: 1479419653 licenseType: Free TextureImporter: fileIDToRecycleName: {} @@ -46,9 +46,11 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 0 + spriteTessellationDetail: -1 textureType: 5 buildTargetSettings: [] spriteSheet: + serializedVersion: 2 sprites: [] outline: [] spritePackingTag: diff --git a/spine-unity/Assets/Examples/Spine/Eyes/eyes_Material.mat b/spine-unity/Assets/Examples/Spine/Eyes/eyes_Material.mat index fe0d105d8..e2e1dd869 100644 --- a/spine-unity/Assets/Examples/Spine/Eyes/eyes_Material.mat +++ b/spine-unity/Assets/Examples/Spine/Eyes/eyes_Material.mat @@ -15,16 +15,14 @@ Material: m_SavedProperties: serializedVersion: 2 m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 49441e5a1682e564694545bd9b509785, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 49441e5a1682e564694545bd9b509785, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} m_Floats: - data: - first: - name: _Cutoff - second: 0.1 - m_Colors: {} + - first: + name: _Cutoff + second: 0.1 + m_Colors: [] diff --git a/spine-unity/Assets/Examples/Spine/FootSoldier/Equipment/Equipment.png.meta b/spine-unity/Assets/Examples/Spine/FootSoldier/Equipment/Equipment.png.meta index 281448493..b40c70732 100644 --- a/spine-unity/Assets/Examples/Spine/FootSoldier/Equipment/Equipment.png.meta +++ b/spine-unity/Assets/Examples/Spine/FootSoldier/Equipment/Equipment.png.meta @@ -1,13 +1,17 @@ fileFormatVersion: 2 guid: ddb89f63d0296cf4f8572b0448bb6b30 -timeCreated: 1467205225 +timeCreated: 1480096533 licenseType: Free TextureImporter: - fileIDToRecycleName: {} + fileIDToRecycleName: + 21300000: Equipment/shield1 + 21300002: Equipment/shield2 + 21300004: Equipment/sword1 + 21300006: Equipment/sword4 serializedVersion: 2 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 linearTexture: 0 correctGamma: 0 fadeOut: 0 @@ -46,10 +50,64 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 0 - textureType: 5 + spriteTessellationDetail: -1 + textureType: 0 buildTargetSettings: [] spriteSheet: - sprites: [] + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: Equipment/shield1 + rect: + serializedVersion: 2 + x: 220 + y: 24 + width: 118 + height: 71 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: Equipment/shield2 + rect: + serializedVersion: 2 + x: 340 + y: 24 + width: 111 + height: 82 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: Equipment/sword1 + rect: + serializedVersion: 2 + x: 2 + y: 95 + width: 161 + height: 31 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: Equipment/sword4 + rect: + serializedVersion: 2 + x: 2 + y: 24 + width: 216 + height: 69 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 outline: [] spritePackingTag: userData: diff --git a/spine-unity/Assets/Examples/Spine/FootSoldier/Equipment/Equipment_Material.mat b/spine-unity/Assets/Examples/Spine/FootSoldier/Equipment/Equipment_Material.mat index 6616e58c3..1fd116fa9 100644 --- a/spine-unity/Assets/Examples/Spine/FootSoldier/Equipment/Equipment_Material.mat +++ b/spine-unity/Assets/Examples/Spine/FootSoldier/Equipment/Equipment_Material.mat @@ -15,16 +15,14 @@ Material: m_SavedProperties: serializedVersion: 2 m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: ddb89f63d0296cf4f8572b0448bb6b30, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: ddb89f63d0296cf4f8572b0448bb6b30, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} m_Floats: - data: - first: - name: _Cutoff - second: 0.1 - m_Colors: {} + - first: + name: _Cutoff + second: 0.1 + m_Colors: [] diff --git a/spine-unity/Assets/Examples/Spine/FootSoldier/FS_White.png.meta b/spine-unity/Assets/Examples/Spine/FootSoldier/FS_White.png.meta index 4da1dd337..b0fe71d65 100644 --- a/spine-unity/Assets/Examples/Spine/FootSoldier/FS_White.png.meta +++ b/spine-unity/Assets/Examples/Spine/FootSoldier/FS_White.png.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: 57b57f94df266f94ea0981915a4472e1 -timeCreated: 1467205225 +timeCreated: 1479419653 licenseType: Free TextureImporter: fileIDToRecycleName: {} @@ -46,9 +46,11 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 0 + spriteTessellationDetail: -1 textureType: 5 buildTargetSettings: [] spriteSheet: + serializedVersion: 2 sprites: [] outline: [] spritePackingTag: diff --git a/spine-unity/Assets/Examples/Spine/FootSoldier/FS_White_Material.mat b/spine-unity/Assets/Examples/Spine/FootSoldier/FS_White_Material.mat index 9dd8a7a3f..2ed953b3f 100644 --- a/spine-unity/Assets/Examples/Spine/FootSoldier/FS_White_Material.mat +++ b/spine-unity/Assets/Examples/Spine/FootSoldier/FS_White_Material.mat @@ -15,16 +15,14 @@ Material: m_SavedProperties: serializedVersion: 2 m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 57b57f94df266f94ea0981915a4472e1, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 57b57f94df266f94ea0981915a4472e1, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} m_Floats: - data: - first: - name: _Cutoff - second: 0.1 - m_Colors: {} + - first: + name: _Cutoff + second: 0.1 + m_Colors: [] diff --git a/spine-unity/Assets/Examples/Spine/Gauge/Gauge.png.meta b/spine-unity/Assets/Examples/Spine/Gauge/Gauge.png.meta index ed1534eb1..17047db6f 100644 --- a/spine-unity/Assets/Examples/Spine/Gauge/Gauge.png.meta +++ b/spine-unity/Assets/Examples/Spine/Gauge/Gauge.png.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: a11301aad15ed6b4995485a02a81b132 -timeCreated: 1467205225 +timeCreated: 1479419654 licenseType: Free TextureImporter: fileIDToRecycleName: {} @@ -46,9 +46,11 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 0 + spriteTessellationDetail: -1 textureType: 5 buildTargetSettings: [] spriteSheet: + serializedVersion: 2 sprites: [] outline: [] spritePackingTag: diff --git a/spine-unity/Assets/Examples/Spine/Gauge/Gauge_Material.mat b/spine-unity/Assets/Examples/Spine/Gauge/Gauge_Material.mat index 90e6e82a8..c37b84515 100644 --- a/spine-unity/Assets/Examples/Spine/Gauge/Gauge_Material.mat +++ b/spine-unity/Assets/Examples/Spine/Gauge/Gauge_Material.mat @@ -15,16 +15,14 @@ Material: m_SavedProperties: serializedVersion: 2 m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: a11301aad15ed6b4995485a02a81b132, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: a11301aad15ed6b4995485a02a81b132, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} m_Floats: - data: - first: - name: _Cutoff - second: 0.1 - m_Colors: {} + - first: + name: _Cutoff + second: 0.1 + m_Colors: [] diff --git a/spine-unity/Assets/Examples/Spine/Goblins/dagger.png b/spine-unity/Assets/Examples/Spine/Goblins/dagger.png new file mode 100644 index 000000000..21ec56db5 Binary files /dev/null and b/spine-unity/Assets/Examples/Spine/Goblins/dagger.png differ diff --git a/spine-unity/Assets/Examples/Spine/Goblins/dagger.png.meta b/spine-unity/Assets/Examples/Spine/Goblins/dagger.png.meta new file mode 100644 index 000000000..167c66a27 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Goblins/dagger.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: 2412d1d8498463f49ae6ebe3a66ffae9 +timeCreated: 1480090364 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + 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: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 9 + spritePivot: {x: 0.2531028, y: 0.4775193} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins.png.meta b/spine-unity/Assets/Examples/Spine/Goblins/goblins.png.meta index fddf32d99..cb5d83a5f 100644 --- a/spine-unity/Assets/Examples/Spine/Goblins/goblins.png.meta +++ b/spine-unity/Assets/Examples/Spine/Goblins/goblins.png.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: 5fb7efec30c79cb46a705e0d04debb04 -timeCreated: 1467205225 +timeCreated: 1479419653 licenseType: Free TextureImporter: fileIDToRecycleName: {} @@ -38,7 +38,7 @@ TextureImporter: rGBM: 0 compressionQuality: 50 allowsAlphaSplitting: 0 - spriteMode: 1 + spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 @@ -46,9 +46,11 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 0 + spriteTessellationDetail: -1 textureType: 5 buildTargetSettings: [] spriteSheet: + serializedVersion: 2 sprites: [] outline: [] spritePackingTag: diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins_Material.mat b/spine-unity/Assets/Examples/Spine/Goblins/goblins_Material.mat index 21f52650d..9161303ca 100644 --- a/spine-unity/Assets/Examples/Spine/Goblins/goblins_Material.mat +++ b/spine-unity/Assets/Examples/Spine/Goblins/goblins_Material.mat @@ -15,16 +15,14 @@ Material: m_SavedProperties: serializedVersion: 2 m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 5fb7efec30c79cb46a705e0d04debb04, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 5fb7efec30c79cb46a705e0d04debb04, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} m_Floats: - data: - first: - name: _Cutoff - second: 0.1 - m_Colors: {} + - first: + name: _Cutoff + second: 0.1 + m_Colors: [] diff --git a/spine-unity/Assets/Examples/Spine/Hero.prefab b/spine-unity/Assets/Examples/Spine/Hero.prefab deleted file mode 100644 index a0f9c534f..000000000 --- a/spine-unity/Assets/Examples/Spine/Hero.prefab +++ /dev/null @@ -1,102 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &100000 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 400000} - - 33: {fileID: 3300000} - - 23: {fileID: 2300000} - - 114: {fileID: 11400000} - m_Layer: 0 - m_Name: Hero - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &400000 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 ---- !u!23 &2300000 -MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_Materials: - - {fileID: 2100000, guid: b04b8c6e4c57e78449f243c27617a2cd, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &3300000 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Mesh: {fileID: 0} ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: a5967d74cd1f3c741ba7758da7511bcf, type: 2} - initialSkinName: default - separatorSlotNames: [] - zSpacing: 0 - renderMeshes: 1 - immutableTriangles: 0 - pmaVertexColors: 1 - calculateNormals: 0 - calculateTangents: 0 - logErrors: 0 - disableRenderingOnOverride: 1 - _animationName: - loop: 0 - timeScale: 1 ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 100000} - m_IsPrefabParent: 1 diff --git a/spine-unity/Assets/Examples/Spine/Hero.prefab.meta b/spine-unity/Assets/Examples/Spine/Hero.prefab.meta deleted file mode 100644 index 1946a559d..000000000 --- a/spine-unity/Assets/Examples/Spine/Hero.prefab.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: 095df186000aff741a2407fe13d65e42 -NativeFormatImporter: - userData: diff --git a/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.png.meta b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.png.meta index cf416725c..33fd591bf 100644 --- a/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.png.meta +++ b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.png.meta @@ -1,9 +1,29 @@ fileFormatVersion: 2 guid: 8d970daea81f33648ae2d84ab59c88d4 -timeCreated: 1467205225 +timeCreated: 1480046537 licenseType: Free TextureImporter: - fileIDToRecycleName: {} + fileIDToRecycleName: + 21300000: body + 21300002: cape + 21300004: eyes + 21300006: fingers + 21300008: foot1 + 21300010: foot2 + 21300012: forearm1 + 21300014: forearm2 + 21300016: hand1 + 21300018: hand2 + 21300020: head + 21300022: mantles + 21300024: mouth + 21300026: shin1 + 21300028: shin2 + 21300030: sword + 21300032: thigh1 + 21300034: thigh2 + 21300036: upperarm1 + 21300038: upperarm2 serializedVersion: 2 mipmaps: mipMapMode: 0 @@ -19,7 +39,7 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 - isReadable: 0 + isReadable: 1 grayScaleToAlpha: 0 generateCubemap: 0 cubemapConvolution: 0 @@ -29,8 +49,8 @@ TextureImporter: textureFormat: -3 maxTextureSize: 2048 textureSettings: - filterMode: -1 - aniso: -1 + filterMode: 2 + aniso: 7 mipBias: -1 wrapMode: -1 nPOTScale: 1 @@ -38,7 +58,7 @@ TextureImporter: rGBM: 0 compressionQuality: 50 allowsAlphaSplitting: 0 - spriteMode: 0 + spriteMode: 2 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 @@ -46,10 +66,272 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 0 + spriteTessellationDetail: -1 textureType: 5 buildTargetSettings: [] spriteSheet: - sprites: [] + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: body + rect: + serializedVersion: 2 + x: 324 + y: 80 + width: 97 + height: 95 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: cape + rect: + serializedVersion: 2 + x: 176 + y: 9 + width: 146 + height: 159 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: eyes + rect: + serializedVersion: 2 + x: 604 + y: 9 + width: 82 + height: 31 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: fingers + rect: + serializedVersion: 2 + x: 877 + y: 9 + width: 31 + height: 33 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: foot1 + rect: + serializedVersion: 2 + x: 743 + y: 9 + width: 50 + height: 42 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: foot2 + rect: + serializedVersion: 2 + x: 688 + y: 9 + width: 53 + height: 38 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: forearm1 + rect: + serializedVersion: 2 + x: 795 + y: 9 + width: 41 + height: 49 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: forearm2 + rect: + serializedVersion: 2 + x: 910 + y: 9 + width: 31 + height: 32 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: hand1 + rect: + serializedVersion: 2 + x: 838 + y: 9 + width: 37 + height: 48 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: hand2 + rect: + serializedVersion: 2 + x: 286 + y: 170 + width: 31 + height: 37 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: head + rect: + serializedVersion: 2 + x: 2 + y: 9 + width: 172 + height: 173 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: mantles + rect: + serializedVersion: 2 + x: 2 + y: 184 + width: 136 + height: 55 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: mouth + rect: + serializedVersion: 2 + x: 2 + y: 241 + width: 61 + height: 13 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: shin1 + rect: + serializedVersion: 2 + x: 482 + y: 80 + width: 53 + height: 57 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: shin2 + rect: + serializedVersion: 2 + x: 192 + y: 170 + width: 51 + height: 54 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: sword + rect: + serializedVersion: 2 + x: 324 + y: 9 + width: 216 + height: 69 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: thigh1 + rect: + serializedVersion: 2 + x: 542 + y: 9 + width: 60 + height: 63 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: thigh2 + rect: + serializedVersion: 2 + x: 423 + y: 80 + width: 57 + height: 64 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: upperarm1 + rect: + serializedVersion: 2 + x: 140 + y: 184 + width: 50 + height: 56 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: upperarm2 + rect: + serializedVersion: 2 + x: 245 + y: 170 + width: 39 + height: 59 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 outline: [] spritePackingTag: userData: diff --git a/spine-unity/Assets/Examples/Spine/Hero/hero-mesh_Material.mat b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh_Material.mat index 28302dc4c..ea2db29db 100644 --- a/spine-unity/Assets/Examples/Spine/Hero/hero-mesh_Material.mat +++ b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh_Material.mat @@ -15,16 +15,14 @@ Material: m_SavedProperties: serializedVersion: 2 m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 8d970daea81f33648ae2d84ab59c88d4, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 8d970daea81f33648ae2d84ab59c88d4, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} m_Floats: - data: - first: - name: _Cutoff - second: 0.1 - m_Colors: {} + - first: + name: _Cutoff + second: 0.1 + m_Colors: [] diff --git a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy.prefab b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy.prefab deleted file mode 100644 index cc2ea39d4..000000000 --- a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy.prefab +++ /dev/null @@ -1,165 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &183998 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 483998} - - 33: {fileID: 3383998} - - 23: {fileID: 2383998} - - 114: {fileID: 11483994} - - 114: {fileID: 11483996} - - 114: {fileID: 11483998} - - 60: {fileID: 6083998} - m_Layer: 0 - m_Name: Raggedy Spineboy - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &483998 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 183998} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -2.55, y: -3.07, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 ---- !u!23 &2383998 -MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 183998} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_Materials: - - {fileID: 2100000, guid: 4ad4f7167d4983147ad870f93ebc9416, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &3383998 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 183998} - m_Mesh: {fileID: 0} ---- !u!60 &6083998 -PolygonCollider2D: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 183998} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_UsedByEffector: 0 - m_Offset: {x: 0, y: 0} - m_Points: - m_Paths: - - - {x: -0.25825587, y: 3.1820273} - - {x: 0.31586242, y: 3.1818907} - - {x: 0.55882263, y: 2.040349} - - {x: 0.434707, y: 0.0013669459} - - {x: -0.45539615, y: 0.0013672132} - - {x: -0.61691463, y: 2.0021477} ---- !u!114 &11483994 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 183998} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: 57484171e9b9c7243aa3117bc663e7b9, type: 2} - initialSkinName: default - separatorSlotNames: [] - zSpacing: 0 - renderMeshes: 1 - immutableTriangles: 0 - pmaVertexColors: 1 - calculateNormals: 0 - calculateTangents: 0 - logErrors: 0 - disableRenderingOnOverride: 1 - _animationName: animation - loop: 1 - timeScale: 1 ---- !u!114 &11483996 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 183998} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e74a49a26242a214d9084fde00bfe3ab, type: 3} - m_Name: - m_EditorClassIdentifier: - startingBoneName: hip - stopBoneNames: [] - applyOnStart: 0 - disableIK: 1 - disableOtherConstraints: 0 - pinStartBone: 0 - gravityScale: 3 - thickness: 0.125 - rotationLimit: 20 - rootMass: 40 - massFalloffFactor: 0.504 - colliderLayer: 0 - mix: 1 ---- !u!114 &11483998 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 183998} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 849a7739a7df0754882fcb34c09df4c1, type: 3} - m_Name: - m_EditorClassIdentifier: - groundMask: - serializedVersion: 2 - m_Bits: 257 - restoreDuration: 0.5 - launchVelocity: {x: 40, y: 85} ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 183998} - m_IsPrefabParent: 1 diff --git a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy.prefab.meta b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy.prefab.meta deleted file mode 100644 index cba1ddd6d..000000000 --- a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy.prefab.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: 5c60df38c5334a249b38ac8cddc6433b -NativeFormatImporter: - userData: diff --git a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.png.meta b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.png.meta index 55778136c..8e0ece6d8 100644 --- a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.png.meta +++ b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.png.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: b29bbacbc2368c94a9c942d176ac6f59 -timeCreated: 1467205225 +timeCreated: 1479419654 licenseType: Free TextureImporter: fileIDToRecycleName: {} @@ -19,7 +19,7 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 - isReadable: 0 + isReadable: 1 grayScaleToAlpha: 0 generateCubemap: 0 cubemapConvolution: 0 @@ -46,9 +46,11 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 0 + spriteTessellationDetail: -1 textureType: 5 buildTargetSettings: [] spriteSheet: + serializedVersion: 2 sprites: [] outline: [] spritePackingTag: diff --git a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_Material.mat b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_Material.mat index de4d9e87e..a0317e95a 100644 --- a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_Material.mat +++ b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_Material.mat @@ -15,16 +15,14 @@ Material: m_SavedProperties: serializedVersion: 2 m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: b29bbacbc2368c94a9c942d176ac6f59, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: b29bbacbc2368c94a9c942d176ac6f59, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} m_Floats: - data: - first: - name: _Cutoff - second: 0.1 - m_Colors: {} + - first: + name: _Cutoff + second: 0.1 + m_Colors: [] diff --git a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_SkeletonData.asset b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_SkeletonData.asset index ec588e4af..96c0e5431 100644 --- a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_SkeletonData.asset +++ b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_SkeletonData.asset @@ -13,8 +13,8 @@ MonoBehaviour: m_EditorClassIdentifier: atlasAssets: - {fileID: 11400000, guid: a9d85e8796d75384199c06f6fdbb0d73, type: 2} - skeletonJSON: {fileID: 4900000, guid: e6f1c85da28190c49a9aaa887894ab0d, type: 3} scale: 0.01 + skeletonJSON: {fileID: 4900000, guid: e6f1c85da28190c49a9aaa887894ab0d, type: 3} fromAnimation: [] toAnimation: [] duration: [] diff --git a/spine-unity/Assets/Examples/Spine/Raptor/raptor.png.meta b/spine-unity/Assets/Examples/Spine/Raptor/raptor.png.meta index cbac5fa23..f067ff9ed 100644 --- a/spine-unity/Assets/Examples/Spine/Raptor/raptor.png.meta +++ b/spine-unity/Assets/Examples/Spine/Raptor/raptor.png.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: 4261719a8f729a644b2dab6113d1b0ea -timeCreated: 1467205225 +timeCreated: 1479419653 licenseType: Free TextureImporter: fileIDToRecycleName: {} @@ -46,9 +46,11 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 0 + spriteTessellationDetail: -1 textureType: 5 buildTargetSettings: [] spriteSheet: + serializedVersion: 2 sprites: [] outline: [] spritePackingTag: diff --git a/spine-unity/Assets/Examples/Spine/Raptor/raptor_Material.mat b/spine-unity/Assets/Examples/Spine/Raptor/raptor_Material.mat index 9a1cfd46a..964e48a41 100644 --- a/spine-unity/Assets/Examples/Spine/Raptor/raptor_Material.mat +++ b/spine-unity/Assets/Examples/Spine/Raptor/raptor_Material.mat @@ -15,16 +15,14 @@ Material: m_SavedProperties: serializedVersion: 2 m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 4261719a8f729a644b2dab6113d1b0ea, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 4261719a8f729a644b2dab6113d1b0ea, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} m_Floats: - data: - first: - name: _Cutoff - second: 0.1 - m_Colors: {} + - first: + name: _Cutoff + second: 0.1 + m_Colors: [] diff --git a/spine-unity/Assets/Examples/Spine/Spineboy/spineboy.json b/spine-unity/Assets/Examples/Spine/Spineboy/spineboy.json index 6c4715b48..abc0d41ac 100644 --- a/spine-unity/Assets/Examples/Spine/Spineboy/spineboy.json +++ b/spine-unity/Assets/Examples/Spine/Spineboy/spineboy.json @@ -1,6 +1,6 @@ { "skeleton": { - "hash": "ndYeXIOZqYovffwEsZjYOgxtFY4", + "hash": "sAurbGCBbk1JIYDQi3XnwA9wCnA", "spine": "3.5.03-beta", "width": 470.7, "height": 731.57, @@ -1162,7 +1162,11 @@ }, "front_foot": { "rotate": [ - { "time": 0, "angle": 5.13, "curve": "stepped" }, + { + "time": 0, + "angle": 8.87, + "curve": [ 0.315, 0.02, 0.648, 0.39 ] + }, { "time": 0.8999, "angle": 5.13, @@ -3148,6 +3152,28 @@ } } }, + "lastframehidehead": { + "slots": { + "eye": { + "attachment": [ + { "time": 0, "name": "eye_indifferent" }, + { "time": 2, "name": null } + ] + }, + "goggles": { + "attachment": [ + { "time": 0, "name": "goggles" }, + { "time": 2, "name": null } + ] + }, + "head": { + "attachment": [ + { "time": 0, "name": "head" }, + { "time": 2, "name": null } + ] + } + } + }, "pole": { "slots": { "eye": { diff --git a/spine-unity/Assets/Examples/Spine/Spineboy/spineboy.png.meta b/spine-unity/Assets/Examples/Spine/Spineboy/spineboy.png.meta index f022f2d10..81cd90625 100644 --- a/spine-unity/Assets/Examples/Spine/Spineboy/spineboy.png.meta +++ b/spine-unity/Assets/Examples/Spine/Spineboy/spineboy.png.meta @@ -1,9 +1,36 @@ fileFormatVersion: 2 guid: 49bb65eefe08e424bbf7a38bc98ec638 -timeCreated: 1467205225 +timeCreated: 1479531454 licenseType: Free TextureImporter: - fileIDToRecycleName: {} + fileIDToRecycleName: + 21300000: eye_indifferent + 21300002: eye_surprised + 21300004: front_bracer + 21300006: front_fist_closed + 21300008: front_fist_open + 21300010: front_foot + 21300012: front_foot_bend1 + 21300014: front_foot_bend2 + 21300016: front_shin + 21300018: front_thigh + 21300020: front_upper_arm + 21300022: goggles + 21300024: gun + 21300026: head + 21300028: mouth_grind + 21300030: mouth_oooo + 21300032: mouth_smile + 21300034: muzzle + 21300036: neck + 21300038: rear_bracer + 21300040: rear_foot + 21300042: rear_foot_bend1 + 21300044: rear_foot_bend2 + 21300046: rear_shin + 21300048: rear_thigh + 21300050: rear_upper_arm + 21300052: torso serializedVersion: 2 mipmaps: mipMapMode: 0 @@ -19,7 +46,7 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 - isReadable: 0 + isReadable: 1 grayScaleToAlpha: 0 generateCubemap: 0 cubemapConvolution: 0 @@ -46,10 +73,363 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 0 + spriteTessellationDetail: -1 textureType: 5 buildTargetSettings: [] spriteSheet: - sprites: [] + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: eye_indifferent + rect: + serializedVersion: 2 + x: 549 + y: 241 + width: 93 + height: 89 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: eye_surprised + rect: + serializedVersion: 2 + x: 834 + y: 78 + width: 93 + height: 89 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: front_bracer + rect: + serializedVersion: 2 + x: 375 + y: 534 + width: 80 + height: 58 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: front_fist_closed + rect: + serializedVersion: 2 + x: 466 + y: 356 + width: 82 + height: 75 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: front_fist_open + rect: + serializedVersion: 2 + x: 447 + y: 433 + width: 86 + height: 87 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: front_foot + rect: + serializedVersion: 2 + x: 549 + y: 170 + width: 126 + height: 69 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: front_foot_bend1 + rect: + serializedVersion: 2 + x: 375 + y: 404 + width: 70 + height: 128 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: front_foot_bend2 + rect: + serializedVersion: 2 + x: 275 + y: 586 + width: 93 + height: 108 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: front_shin + rect: + serializedVersion: 2 + x: 466 + y: 170 + width: 81 + height: 184 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: front_thigh + rect: + serializedVersion: 2 + x: 214 + y: 704 + width: 48 + height: 112 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: front_upper_arm + rect: + serializedVersion: 2 + x: 214 + y: 818 + width: 54 + height: 97 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: goggles + rect: + serializedVersion: 2 + x: 466 + y: 2 + width: 261 + height: 166 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: gun + rect: + serializedVersion: 2 + x: 2 + y: 704 + width: 210 + height: 203 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: head + rect: + serializedVersion: 2 + x: 2 + y: 404 + width: 271 + height: 298 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: mouth_grind + rect: + serializedVersion: 2 + x: 929 + y: 69 + width: 93 + height: 59 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: mouth_oooo + rect: + serializedVersion: 2 + x: 929 + y: 130 + width: 93 + height: 59 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: mouth_smile + rect: + serializedVersion: 2 + x: 550 + y: 332 + width: 59 + height: 93 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: muzzle + rect: + serializedVersion: 2 + x: 2 + y: 2 + width: 462 + height: 400 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: neck + rect: + serializedVersion: 2 + x: 64 + y: 977 + width: 35 + height: 41 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: rear_bracer + rect: + serializedVersion: 2 + x: 677 + y: 170 + width: 55 + height: 72 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: rear_foot + rect: + serializedVersion: 2 + x: 2 + y: 909 + width: 60 + height: 113 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: rear_foot_bend1 + rect: + serializedVersion: 2 + x: 64 + y: 909 + width: 117 + height: 66 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: rear_foot_bend2 + rect: + serializedVersion: 2 + x: 729 + y: 78 + width: 103 + height: 83 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: rear_shin + rect: + serializedVersion: 2 + x: 729 + y: 2 + width: 178 + height: 74 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: rear_thigh + rect: + serializedVersion: 2 + x: 909 + y: 2 + width: 103 + height: 65 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: rear_upper_arm + rect: + serializedVersion: 2 + x: 370 + y: 594 + width: 47 + height: 87 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 + - serializedVersion: 2 + name: torso + rect: + serializedVersion: 2 + x: 275 + y: 404 + width: 98 + height: 180 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + tessellationDetail: -1 outline: [] spritePackingTag: userData: diff --git a/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_Atlas.asset b/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_Atlas.asset index ae8491bec..6938779a2 100644 --- a/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_Atlas.asset +++ b/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_Atlas.asset @@ -13,4 +13,4 @@ MonoBehaviour: m_EditorClassIdentifier: atlasFile: {fileID: 4900000, guid: 5c0a5c36970a46e4d8378760ab4a4cfc, type: 3} materials: - - {fileID: 2100000, guid: 4083cd422558e2540a62bbafb94f57b5, type: 2} + - {fileID: 2100000, guid: 1455e88fdb81ccc45bdeaedd657bad4d, type: 2} diff --git a/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_Material.mat b/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_Material.mat index 7333f766e..18becc99a 100644 --- a/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_Material.mat +++ b/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_Material.mat @@ -15,16 +15,14 @@ Material: m_SavedProperties: serializedVersion: 2 m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 49bb65eefe08e424bbf7a38bc98ec638, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 49bb65eefe08e424bbf7a38bc98ec638, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} m_Floats: - data: - first: - name: _Cutoff - second: 0.1 - m_Colors: {} + - first: + name: _Cutoff + second: 0.1 + m_Colors: [] diff --git a/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_Material.mat.meta b/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_Material.mat.meta index 65aeab76e..c8ab1f43c 100644 --- a/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_Material.mat.meta +++ b/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_Material.mat.meta @@ -1,4 +1,8 @@ fileFormatVersion: 2 -guid: 4083cd422558e2540a62bbafb94f57b5 +guid: 1455e88fdb81ccc45bdeaedd657bad4d +timeCreated: 1479531454 +licenseType: Free NativeFormatImporter: userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_SkeletonData.asset b/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_SkeletonData.asset index 4ba0e80ab..b2fe8a4a6 100644 --- a/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_SkeletonData.asset +++ b/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_SkeletonData.asset @@ -13,8 +13,8 @@ MonoBehaviour: m_EditorClassIdentifier: atlasAssets: - {fileID: 11400000, guid: b4b8457d6cb8fec49a40be5b71d79e51, type: 2} - skeletonJSON: {fileID: 4900000, guid: d43e38db0e34033438474d0c01fd4404, type: 3} scale: 0.01 + skeletonJSON: {fileID: 4900000, guid: d43e38db0e34033438474d0c01fd4404, type: 3} fromAnimation: [] toAnimation: [] duration: [] diff --git a/spine-unity/Assets/Examples/Spine/Spineunitygirl/Doi.png.meta b/spine-unity/Assets/Examples/Spine/Spineunitygirl/Doi.png.meta index 442d8e367..1a7aa8424 100644 --- a/spine-unity/Assets/Examples/Spine/Spineunitygirl/Doi.png.meta +++ b/spine-unity/Assets/Examples/Spine/Spineunitygirl/Doi.png.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: 33e128e17951b4a42b17608ff79ba5c5 -timeCreated: 1467205225 +timeCreated: 1479419653 licenseType: Free TextureImporter: fileIDToRecycleName: {} @@ -38,7 +38,7 @@ TextureImporter: rGBM: 0 compressionQuality: 50 allowsAlphaSplitting: 0 - spriteMode: 1 + spriteMode: 0 spriteExtrude: 1 spriteMeshType: 1 alignment: 0 @@ -46,9 +46,11 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 0 + spriteTessellationDetail: -1 textureType: 5 buildTargetSettings: [] spriteSheet: + serializedVersion: 2 sprites: [] outline: [] spritePackingTag: diff --git a/spine-unity/Assets/Examples/Spine/Spineunitygirl/Doi_Material.mat b/spine-unity/Assets/Examples/Spine/Spineunitygirl/Doi_Material.mat index a5e03cbe5..a31e43936 100644 --- a/spine-unity/Assets/Examples/Spine/Spineunitygirl/Doi_Material.mat +++ b/spine-unity/Assets/Examples/Spine/Spineunitygirl/Doi_Material.mat @@ -15,16 +15,14 @@ Material: m_SavedProperties: serializedVersion: 2 m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 33e128e17951b4a42b17608ff79ba5c5, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 33e128e17951b4a42b17608ff79ba5c5, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} m_Floats: - data: - first: - name: _Cutoff - second: 0.1 - m_Colors: {} + - first: + name: _Cutoff + second: 0.1 + m_Colors: [] diff --git a/spine-unity/Assets/Examples/Spine/Spineunitygirl/Doi_SkeletonData.asset b/spine-unity/Assets/Examples/Spine/Spineunitygirl/Doi_SkeletonData.asset index 085fa6f3a..c3613c962 100644 --- a/spine-unity/Assets/Examples/Spine/Spineunitygirl/Doi_SkeletonData.asset +++ b/spine-unity/Assets/Examples/Spine/Spineunitygirl/Doi_SkeletonData.asset @@ -13,8 +13,8 @@ MonoBehaviour: m_EditorClassIdentifier: atlasAssets: - {fileID: 11400000, guid: 80099c7f091da3d41b98d11b9c5622d8, type: 2} - skeletonJSON: {fileID: 4900000, guid: ee66d4e095e47d44792cf450371372e3, type: 3} scale: 0.013 + skeletonJSON: {fileID: 4900000, guid: ee66d4e095e47d44792cf450371372e3, type: 3} fromAnimation: [] toAnimation: [] duration: [] diff --git a/spine-unity/Assets/Examples/Spine/Strechyman.meta b/spine-unity/Assets/Examples/Spine/Strechyman.meta new file mode 100644 index 000000000..f31049ad5 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Strechyman.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f49a222b0c830ed4684e8c08ed03a215 +folderAsset: yes +timeCreated: 1479531756 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma.atlas.txt b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma.atlas.txt new file mode 100644 index 000000000..2522c1ea3 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma.atlas.txt @@ -0,0 +1,41 @@ + +stretchyman-diffuse-pma.png +size: 390,454 +format: RGBA8888 +filter: Linear,Linear +repeat: none +back arm + rotate: false + xy: 244, 29 + size: 72, 202 + orig: 72, 202 + offset: 0, 0 + index: -1 +back leg + rotate: false + xy: 143, 135 + size: 100, 318 + orig: 100, 318 + offset: 0, 0 + index: -1 +body + rotate: false + xy: 1, 1 + size: 141, 452 + orig: 141, 452 + offset: 0, 0 + index: -1 +front arm + rotate: false + xy: 244, 232 + size: 145, 221 + orig: 145, 221 + offset: 0, 0 + index: -1 +head + rotate: false + xy: 143, 32 + size: 87, 102 + orig: 87, 102 + offset: 0, 0 + index: -1 diff --git a/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma.atlas.txt.meta b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma.atlas.txt.meta new file mode 100644 index 000000000..d78cb1b25 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma.atlas.txt.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 492ecfd45cd2de542bc20043b10ee4aa +timeCreated: 1479532145 +licenseType: Free +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma.png b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma.png new file mode 100644 index 000000000..ef72a5d37 Binary files /dev/null and b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma.png differ diff --git a/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma.png.meta b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma.png.meta new file mode 100644 index 000000000..b950c3361 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: 33f10ea7e20549d40a1c23a1adc3f760 +timeCreated: 1479532145 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + 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: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma_Atlas.asset b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma_Atlas.asset new file mode 100644 index 000000000..bcf2de1ba --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma_Atlas.asset @@ -0,0 +1,16 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6b194f808b1af6499c93410e504af42, type: 3} + m_Name: stretchyman-diffuse-pma_Atlas + m_EditorClassIdentifier: + atlasFile: {fileID: 4900000, guid: 492ecfd45cd2de542bc20043b10ee4aa, type: 3} + materials: + - {fileID: 2100000, guid: 824cfb62bcbe3db49a3ce6db7e3757d1, type: 2} diff --git a/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma_Atlas.asset.meta b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma_Atlas.asset.meta new file mode 100644 index 000000000..ef2c9c144 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma_Atlas.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 19fcd9c1051e4304eb095fe0dd2ae4bf +timeCreated: 1479532145 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma_Material.mat b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma_Material.mat new file mode 100644 index 000000000..3f752c0ed --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma_Material.mat @@ -0,0 +1,107 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: stretchyman-diffuse-pma_Material + m_Shader: {fileID: 4800000, guid: 2ce511398fb980f41b7d316c51534590, type: 3} + m_ShaderKeywords: _ALPHAPREMULTIPLY_ON _EMISSION _FIXED_NORMALS _NORMALMAP + m_LightmapFlags: 5 + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _BlendTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _BumpMap + second: + m_Texture: {fileID: 2800000, guid: d00f264cbe0cc4a49a54a221ee812855, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DiffuseRamp + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _EmissionMap + second: + m_Texture: {fileID: 2800000, guid: 4cad8f072f658544a80ba2b271aec125, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 33f10ea7e20549d40a1c23a1adc3f760, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - first: + name: _BlendAmount + second: 0 + - first: + name: _BlendMode + second: 0 + - first: + name: _Brightness + second: 1 + - first: + name: _Cull + second: 0 + - first: + name: _Cutoff + second: 0.1 + - first: + name: _DstBlend + second: 10 + - first: + name: _EmissionPower + second: 1 + - first: + name: _Hue + second: 0 + - first: + name: _RenderQueue + second: 0 + - first: + name: _RimPower + second: 1.79 + - first: + name: _Saturation + second: 1 + - first: + name: _ShadowAlphaCutoff + second: 0.1 + - first: + name: _SrcBlend + second: 1 + - first: + name: _ZWrite + second: 0 + m_Colors: + - first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} + - first: + name: _EmissionColor + second: {r: 1, g: 1, b: 1, a: 1} + - first: + name: _FixedNormal + second: {r: 0, g: 0, b: -1, a: 1} + - first: + name: _OverlayColor + second: {r: 0, g: 0, b: 0, a: 0} + - first: + name: _RimColor + second: {r: 1, g: 1, b: 1, a: 1} diff --git a/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma_Material.mat.meta b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma_Material.mat.meta new file mode 100644 index 000000000..b483b0c6f --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-diffuse-pma_Material.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 824cfb62bcbe3db49a3ce6db7e3757d1 +timeCreated: 1479532145 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-emission.png b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-emission.png new file mode 100644 index 000000000..771365326 Binary files /dev/null and b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-emission.png differ diff --git a/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-emission.png.meta b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-emission.png.meta new file mode 100644 index 000000000..3d2a69ef0 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-emission.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: 4cad8f072f658544a80ba2b271aec125 +timeCreated: 1479532743 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-normals.png b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-normals.png new file mode 100644 index 000000000..8ee89ef07 Binary files /dev/null and b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-normals.png differ diff --git a/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-normals.png.meta b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-normals.png.meta new file mode 100644 index 000000000..b26eebc03 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman-normals.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: d00f264cbe0cc4a49a54a221ee812855 +timeCreated: 1479531896 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 1 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman.json b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman.json new file mode 100644 index 000000000..1f852d0f2 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman.json @@ -0,0 +1,773 @@ +{ +"skeleton": { + "hash": "+XkMq22e5sbHEXz5aRmd8uvTvH0", + "spine": "3.5.03-beta", + "width": 264.48, + "height": 570.1, + "fps": 30, + "images": "./images/" +}, +"bones": [ + { "name": "root" }, + { "name": "hip", "parent": "root", "x": 28.61, "y": 289.9 }, + { "name": "spine 1", "parent": "hip", "length": 34.66, "rotation": 86.68, "x": -4.48, "y": 12.66 }, + { "name": "spine 2", "parent": "spine 1", "length": 41.41, "rotation": 16.47, "x": 34.66 }, + { "name": "spine 3", "parent": "spine 2", "length": 34.44, "rotation": 16.17, "x": 41.41 }, + { "name": "spine 4", "parent": "spine 3", "length": 37.53, "rotation": -13.63, "x": 34.44 }, + { "name": "back arm 1", "parent": "spine 4", "length": 32.43, "rotation": -154.35, "x": 15.99, "y": -4.58, "transform": "noScale" }, + { "name": "back arm 2", "parent": "back arm 1", "length": 34.16, "rotation": 3.1, "x": 31.88, "y": 0.02 }, + { "name": "back arm 3", "parent": "back arm 2", "length": 31.26, "rotation": 9.59, "x": 34.16 }, + { "name": "back arm 4", "parent": "back arm 3", "length": 33.3, "rotation": 14.6, "x": 32.03, "y": 0.81 }, + { "name": "back arm 5", "parent": "back arm 4", "length": 37.41, "rotation": 11.3, "x": 33.81, "y": 0.02 }, + { + "name": "back foot 1", + "parent": "hip", + "length": 33.23, + "rotation": -6.55, + "x": -34, + "y": -279.68, + "transform": "onlyTranslation" + }, + { "name": "back foot 2", "parent": "back foot 1", "length": 32.28, "rotation": 4.34, "x": 33.23, "transform": "noScale" }, + { "name": "back foot 3", "parent": "back foot 2", "length": 15.87, "rotation": 10.06, "x": 32.28, "transform": "noScale" }, + { "name": "back leg 1", "parent": "hip", "length": 41, "rotation": -83.65, "x": 10.4, "y": 1.04, "color": "abe323ff" }, + { "name": "back leg 2", "parent": "back leg 1", "length": 41, "rotation": -4.07, "x": 34.56, "color": "abe323ff" }, + { "name": "back leg 3", "parent": "back leg 1", "length": 41, "rotation": -5.24, "x": 81.78, "y": -2.29, "color": "abe323ff" }, + { "name": "back leg 4", "parent": "back leg 1", "length": 41, "rotation": -16.6, "x": 121.2, "y": -11.27, "color": "abe323ff" }, + { "name": "back leg 5", "parent": "back leg 1", "length": 41, "rotation": -32.35, "x": 160.15, "y": -24.85, "color": "abe323ff" }, + { "name": "back leg 6", "parent": "back leg 1", "length": 41, "rotation": -30.76, "x": 197.04, "y": -39.98, "color": "abe323ff" }, + { "name": "back leg 7", "parent": "back leg 1", "length": 41, "rotation": -30.63, "x": 233.18, "y": -57.32, "color": "abe323ff" }, + { "name": "back leg 8", "parent": "back leg 1", "length": 41, "rotation": -33.78, "x": 267.28, "y": -77.39, "color": "abe323ff" }, + { "name": "back leg IK target", "parent": "root", "x": 46.15, "y": 8.68, "color": "ff3f00ff" }, + { "name": "back leg IK 1", "parent": "hip", "length": 140.17, "rotation": -88.1, "x": 9.62, "y": -0.38 }, + { "name": "back leg IK 2", "parent": "back leg IK 1", "length": 148.96, "rotation": -21.32, "x": 140.17 }, + { "name": "belly", "parent": "spine 1", "x": 35.94, "y": -37.69 }, + { "name": "butt", "parent": "hip", "x": -32.67, "y": -1.87 }, + { "name": "front arm 1", "parent": "spine 4", "length": 38.33, "rotation": 118.58, "x": 27.12, "y": 4.89, "transform": "noScale" }, + { "name": "front arm 2", "parent": "front arm 1", "length": 35.66, "rotation": -0.43, "x": 38.33 }, + { "name": "front arm 3", "parent": "front arm 2", "length": 32.65, "rotation": 14.45, "x": 35.66, "y": -0.01 }, + { "name": "front arm 4", "parent": "front arm 3", "length": 29.18, "rotation": 13.89, "x": 32.65 }, + { "name": "front arm 5", "parent": "front arm 4", "length": 46.32, "rotation": 16.09, "x": 29.18, "transform": "noScale" }, + { + "name": "front foot 1", + "parent": "hip", + "length": 26.29, + "rotation": -10.97, + "x": -77.04, + "y": -285.03, + "transform": "onlyTranslation" + }, + { "name": "front foot 2", "parent": "front foot 1", "length": 29.11, "rotation": 9.6, "x": 26.29 }, + { "name": "front foot 3", "parent": "front foot 2", "length": 23.48, "rotation": 8.91, "x": 29.11 }, + { "name": "front leg 1", "parent": "hip", "length": 37.2, "rotation": -88.96, "x": -23.56, "y": -1.99, "color": "abe323ff" }, + { "name": "front leg 2", "parent": "front leg 1", "length": 37.2, "rotation": 3.45, "x": 33.74, "color": "abe323ff" }, + { "name": "front leg 3", "parent": "front leg 1", "length": 37.2, "rotation": -6.11, "x": 74.4, "y": -1.07, "color": "abe323ff" }, + { + "name": "front leg 4", + "parent": "front leg 1", + "length": 37.2, + "rotation": -10.01, + "x": 111.39, + "y": -5.27, + "color": "abe323ff" + }, + { + "name": "front leg 5", + "parent": "front leg 1", + "length": 37.2, + "rotation": -28.39, + "x": 147.76, + "y": -14.98, + "color": "abe323ff" + }, + { + "name": "front leg 6", + "parent": "front leg 1", + "length": 37.2, + "rotation": -24.33, + "x": 182.41, + "y": -27.57, + "color": "abe323ff" + }, + { + "name": "front leg 7", + "parent": "front leg 1", + "length": 37.2, + "rotation": -22.99, + "x": 216.43, + "y": -42.55, + "color": "abe323ff" + }, + { "name": "front leg 8", "parent": "front leg 1", "length": 37.2, "rotation": -31.8, "x": 248.6, "y": -61.02, "color": "abe323ff" }, + { "name": "front leg IK target", "parent": "root", "x": -37.73, "y": 5.03, "color": "ff3f00ff" }, + { "name": "front leg IK 1", "parent": "hip", "length": 140.66, "rotation": -89.23, "x": -23.98, "y": 1.88 }, + { "name": "front leg IK 2", "parent": "front leg IK 1", "length": 155.95, "rotation": -21.49, "x": 140.66, "y": 0.02 }, + { "name": "neck 1", "parent": "spine 4", "length": 13.45, "rotation": -30.66, "x": 38.96, "y": -0.83 }, + { "name": "neck 2", "parent": "neck 1", "length": 14.13, "rotation": -11.41, "x": 13.45 }, + { "name": "head", "parent": "neck 2", "length": 89.05, "rotation": 6.98, "x": 15.81, "y": 0.22, "transform": "noScale" } +], +"slots": [ + { "name": "back arm", "bone": "root", "attachment": "back arm" }, + { "name": "back leg", "bone": "root", "attachment": "back leg" }, + { "name": "body", "bone": "root", "attachment": "body" }, + { "name": "head", "bone": "head", "attachment": "head" }, + { "name": "front arm", "bone": "root", "attachment": "front arm" }, + { "name": "back leg path", "bone": "hip", "attachment": "back leg path" }, + { "name": "front leg path", "bone": "hip", "attachment": "front leg path" } +], +"ik": [ + { + "name": "back leg IK", + "order": 0, + "bones": [ "back leg IK 1", "back leg IK 2" ], + "target": "back leg IK target", + "bendPositive": false + }, + { + "name": "front leg IK", + "order": 1, + "bones": [ "front leg IK 1", "front leg IK 2" ], + "target": "front leg IK target", + "bendPositive": false + } +], +"transform": [ + { + "name": "back foot position", + "order": 4, + "bones": [ "back foot 1" ], + "target": "back leg 8", + "rotation": 108.8, + "x": 41.2, + "y": -0.02, + "scaleX": 4.0E-4, + "scaleY": -3.0E-4, + "shearY": 0.1, + "rotateMix": 0, + "scaleMix": 0 + }, + { + "name": "front foot position", + "order": 5, + "bones": [ "front foot 1" ], + "target": "front leg 8", + "rotation": 101.55, + "x": 38.92, + "y": -0.02, + "scaleX": 4.0E-4, + "scaleY": -2.0E-4, + "shearY": 0.1, + "rotateMix": 0, + "scaleMix": 0 + } +], +"path": [ + { + "name": "back leg path", + "order": 2, + "bones": [ "back leg 1", "back leg 2", "back leg 3", "back leg 4", "back leg 5", "back leg 6", "back leg 7", "back leg 8" ], + "target": "back leg path", + "spacingMode": "percent", + "rotateMode": "chainScale", + "spacing": 0.125 + }, + { + "name": "front leg path", + "order": 3, + "bones": [ "front leg 1", "front leg 2", "front leg 3", "front leg 4", "front leg 5", "front leg 6", "front leg 7", "front leg 8" ], + "target": "front leg path", + "spacingMode": "percent", + "rotateMode": "chainScale", + "spacing": 0.125 + } +], +"skins": { + "default": { + "back arm": { + "back arm": { + "type": "mesh", + "uvs": [ 0.74522, 0.00989, 0.64111, 0.05762, 0.56303, 0.1559, 0.42508, 0.25885, 0.28974, 0.359, 0.22988, 0.49565, 0.21166, 0.60796, 0.21166, 0.69782, 0.16481, 0.78673, 0.14138, 0.84757, 0.02426, 0.88501, 0.05289, 0.9187, 0.37823, 0.98796, 0.60467, 0.98235, 0.6307, 0.9056, 0.73481, 0.87752, 0.6359, 0.81762, 0.55262, 0.74181, 0.38084, 0.69875, 0.37823, 0.60796, 0.39905, 0.50875, 0.51358, 0.38521, 0.66193, 0.2888, 0.85453, 0.18397, 0.97686, 0.0754, 0.9144, 0.00989 ], + "triangles": [ 11, 9, 12, 9, 8, 12, 12, 8, 18, 13, 12, 14, 12, 18, 17, 18, 8, 7, 14, 12, 17, 11, 10, 9, 14, 16, 15, 14, 17, 16, 7, 19, 18, 7, 6, 19, 6, 5, 19, 19, 5, 20, 5, 4, 20, 20, 4, 21, 4, 3, 21, 21, 3, 22, 3, 2, 22, 22, 2, 23, 2, 1, 23, 23, 1, 24, 1, 0, 24, 0, 25, 24 ], + "vertices": [ 1, 6, -7.67999, -11.47999, 1, 1, 6, 4.07999, -13.61999, 1, 1, 6, 23.47999, -9.35, 1, 1, 7, 13.43999, -9.22999, 1, 2, 7, 35.2, -9.61999, 0.50648, 8, -0.56999, -9.64999, 0.49349, 1, 8, 26.03, -6.38, 1, 1, 9, 14.14999, -6.11, 1, 2, 9, 31.53, -5.55999, 0.66491, 10, -3.32999, -5.03, 0.33507, 1, 10, 13.07999, -11.25, 1, 1, 10, 24.40999, -14.88, 1, 1, 10, 30.14999, -24.51, 1, 1, 10, 36.93, -23.53, 1, 1, 10, 54.06999, -2.32999, 1, 1, 10, 55.72999, 14.14, 1, 1, 10, 41.38999, 18.46999, 1, 1, 10, 37.27999, 26.87, 1, 1, 10, 24.64999, 21.67, 1, 1, 10, 9.17, 18.1, 1, 2, 9, 31.32999, 6.76999, 0.47879, 10, -1.11, 7.11, 0.52118, 1, 9, 13.77, 6.03999, 1, 2, 8, 24.97999, 6.17, 0.89217, 9, -5.46999, 6.96, 0.10781, 2, 7, 32.59999, 7.28, 0.59842, 8, -0.31999, 7.44, 0.40156, 1, 7, 11.06999, 8.84, 1, 1, 6, 17.88999, 11.86999, 1, 1, 6, -4.82, 9.44999, 1, 1, 6, -13.68, -0.68999, 1 ], + "hull": 26, + "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 26, 28, 28, 30, 30, 32, 32, 34, 34, 36, 36, 38, 38, 40, 40, 42, 42, 44, 44, 46, 46, 48, 48, 50, 0, 50, 2, 48, 4, 46, 6, 44, 8, 42, 10, 40, 12, 38, 14, 36 ], + "width": 72, + "height": 202 + } + }, + "back leg": { + "back leg": { + "type": "mesh", + "uvs": [ 0.502, 0.01179, 0.36075, 0.06379, 0.40569, 0.15045, 0.44743, 0.23916, 0.47953, 0.3299, 0.51163, 0.42268, 0.52126, 0.50629, 0.48274, 0.58888, 0.41211, 0.66025, 0.3126, 0.74182, 0.21629, 0.81625, 0.1232, 0.89272, 0.00763, 0.97428, 0.29655, 0.98958, 0.47407, 0.99221, 0.64004, 0.99467, 0.80988, 0.9896, 0.91291, 0.98652, 1, 0.95797, 0.83329, 0.94681, 0.71066, 0.9386, 0.57122, 0.9203, 0.41532, 0.89985, 0.3447, 0.89272, 0.36885, 0.87177, 0.42816, 0.82032, 0.502, 0.74793, 0.58225, 0.66942, 0.6593, 0.59092, 0.72992, 0.50527, 0.76524, 0.42166, 0.78129, 0.3248, 0.78771, 0.23406, 0.78771, 0.13924, 0.7235, 0.03728, 0.60152, 0.00567, 0.82116, 0.96897, 0.67872, 0.96396, 0.52111, 0.95739, 0.35935, 0.94213, 0.19388, 0.92921, 0.25375, 0.88158, 0.32792, 0.81839 ], + "triangles": [ 36, 20, 19, 17, 19, 18, 16, 37, 36, 17, 16, 36, 17, 36, 19, 38, 22, 21, 37, 21, 20, 38, 21, 37, 37, 20, 36, 15, 38, 37, 14, 38, 15, 15, 37, 16, 39, 23, 22, 40, 23, 39, 39, 22, 38, 13, 40, 39, 12, 40, 13, 14, 39, 38, 13, 39, 14, 9, 8, 26, 25, 42, 9, 10, 9, 42, 26, 25, 9, 24, 42, 25, 41, 10, 42, 41, 42, 24, 11, 10, 41, 23, 41, 24, 40, 11, 41, 40, 41, 23, 12, 11, 40, 26, 8, 27, 6, 5, 29, 28, 6, 29, 7, 6, 28, 27, 7, 28, 8, 7, 27, 29, 5, 30, 31, 5, 4, 30, 5, 31, 32, 4, 3, 31, 4, 32, 34, 1, 0, 34, 0, 35, 2, 1, 34, 2, 34, 33, 3, 2, 33, 32, 3, 33 ], + "vertices": [ 1, 14, -19.79, -5.65999, 1, 2, 14, -5.61, -22.28, 0.83363, 15, -41.06, -23.29999, 0.16636, 2, 14, 22.30999, -21.97999, 0.65187, 15, -13.17, -21.87999, 0.34812, 3, 14, 50.83, -22.1, 0.3172, 15, 15.32999, -20.86, 0.43086, 16, -19.67, -21.07999, 0.25192, 4, 14, 79.83999, -23.28, 0.1079, 15, 44.36999, -20.87999, 0.35416, 16, 9.3, -19.19, 0.31918, 17, -25.20999, -20.05999, 0.21871, 4, 15, 74.05, -20.97999, 0.16484, 16, 38.93, -17.34, 0.32776, 17, 4.09, -15.38, 0.29829, 18, -30.1, -17.14999, 0.20906, 3, 16, 65.52999, -17.61, 0.17521, 17, 30.6, -13.1, 0.39171, 18, -4.11, -11.42, 0.43303, 3, 17, 57.02999, -15.71, 0.19717, 18, 22.42, -10.52999, 0.52969, 19, -12.96, -9.8, 0.27311, 3, 18, 46.04, -13.46, 0.4099, 19, 10.82999, -10.17, 0.34746, 20, -24.93, -10.51, 0.2426, 3, 18, 73.37999, -18.69, 0.19431, 19, 38.58, -12.40999, 0.37176, 20, 2.89, -10.97999, 0.43389, 3, 19, 64.05999, -14.97999, 0.16663, 20, 28.47999, -11.93999, 0.56755, 21, -7.51999, -11.47999, 0.26578, 3, 20, 54.56999, -12.35999, 0.52113, 21, 18.54999, -10.93, 0.36166, 11, -3.07999, 24.95, 0.11716, 4, 20, 82.97, -14.35, 0.35144, 21, 47, -11.85999, 0.29521, 11, -13.06, -1.66999, 0.25117, 12, -46.29, 1.83, 0.10215, 1, 11, 16.36, -4.67, 1, 2, 11, 34.31, -4.36, 0.53486, 12, 0.74, -4.42999, 0.46513, 3, 11, 51.09, -4.07999, 0.14609, 12, 17.48999, -5.42, 0.54313, 13, -15.5, -2.75, 0.31075, 2, 12, 34.66999, -4.01, 0.40713, 13, 1.63999, -4.36, 0.59285, 2, 12, 45.08, -3.15, 0.25725, 13, 12.05, -5.34, 0.74273, 2, 12, 53.97999, 5.80999, 0.2531, 13, 22.37999, 1.92999, 0.74687, 2, 12, 37.18999, 9.56, 0.4029, 13, 6.5, 8.56, 0.59709, 3, 11, 57.06999, 14.15999, 0.1335, 12, 24.82999, 12.31999, 0.54644, 13, -5.17999, 13.43999, 0.32003, 4, 20, 47.09, 33.09999, 0.13131, 11, 42.63999, 19.06999, 0.26348, 12, 10.81, 18.30999, 0.49744, 13, -17.93, 21.78, 0.10773, 4, 20, 46.45, 16.09, 0.21157, 21, 9.35999, 17.2, 0.10678, 11, 26.5, 24.55999, 0.44949, 12, -4.84999, 25, 0.23209, 3, 20, 46.79999, 8.61999, 0.4011, 21, 9.98999, 9.75, 0.24542, 11, 19.23999, 26.37, 0.35346, 3, 20, 39.7, 8.6, 0.58249, 21, 2.9, 9.47, 0.3079, 11, 21.25, 33.16999, 0.10958, 3, 19, 59.15999, 5.88, 0.21953, 20, 22.27, 8.57999, 0.57946, 21, -14.51, 8.78999, 0.20099, 3, 18, 71.83, 0.46999, 0.21582, 19, 34.95999, 6.46999, 0.32262, 20, -1.91999, 7.61999, 0.46154, 3, 18, 45.79999, 3.95, 0.40553, 19, 8.69999, 7.11999, 0.386, 20, -28.15999, 6.61, 0.20844, 3, 17, 56.77999, 2.13, 0.25409, 18, 19.82999, 7.11999, 0.53004, 19, -17.45, 7.46, 0.21583, 3, 16, 66.18, 3.45, 0.22413, 17, 29.21999, 7.92, 0.34134, 18, -8.25, 9.23999, 0.4345, 4, 15, 76.59999, 4.5, 0.19362, 16, 39.77999, 8.26, 0.28885, 17, 2.48, 10.18, 0.33579, 18, -35.04999, 7.96999, 0.1817, 4, 14, 82.87999, 7.07999, 0.11658, 15, 46.16999, 9.56999, 0.35727, 16, 9.07999, 11.31999, 0.35745, 17, -28.35, 10.28999, 0.16868, 3, 14, 54.45, 12.1, 0.35356, 15, 17.56999, 13.46, 0.44494, 16, -19.70999, 13.31, 0.20148, 2, 14, 24.64999, 16.69, 0.65438, 15, -12.39, 16.85, 0.3456, 2, 14, -8.38, 15.21, 0.85329, 15, -45.34, 14.03999, 0.14668, 1, 14, -20.18, 4.55999, 1, 2, 12, 35.88, 2.52999, 0.40509, 13, 3.98, 1.86, 0.5949, 3, 11, 54.36999, 5.90999, 0.1392, 12, 21.51, 4.28999, 0.54493, 13, -9.85, 6.11, 0.31584, 2, 11, 37.77999, 7.63, 0.44938, 12, 5.09999, 7.26, 0.55061, 3, 20, 65.37999, 20.69, 0.11856, 11, 20.59, 11.34, 0.75133, 12, -11.76, 12.27, 0.13007, 3, 20, 65.41, 1.80999, 0.39678, 21, 24.29999, 0.23, 0.28257, 11, 2.05999, 14.97, 0.32062, 3, 20, 48, 0.07, 0.55395, 21, 6.92999, -0.31999, 0.33292, 11, 3.36999, 30.46999, 0.1131, 3, 19, 65.94999, -2.96, 0.19447, 20, 24.95, -1.57, 0.57381, 21, -15.98999, -0.41999, 0.2317 ], + "hull": 36, + "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 34, 36, 44, 46, 50, 52, 52, 54, 54, 56, 56, 58, 58, 60, 60, 62, 62, 64, 64, 66, 66, 68, 68, 70, 0, 70, 4, 66, 2, 68, 40, 42, 42, 44, 26, 28, 28, 30, 46, 48, 48, 50, 36, 38, 38, 40, 30, 32, 32, 34, 18, 52, 16, 54, 14, 56, 12, 58, 10, 60, 8, 62, 6, 64, 32, 72, 72, 38, 30, 74, 74, 40, 72, 74, 28, 76, 76, 42, 74, 76, 26, 78, 78, 44, 76, 78, 24, 80, 80, 46, 78, 80, 22, 82, 82, 48, 80, 82, 20, 84, 84, 50, 82, 84 ], + "width": 100, + "height": 318 + } + }, + "back leg path": { + "back leg path": { + "type": "path", + "lengths": [ 137.82, 291.73, 641.11 ], + "vertexCount": 9, + "vertices": [ 1, 23, -43.13999, 0.61, 1, 1, 23, -1.30999, 0.43, 1, 1, 23, 63.06999, -0.18, 1, 2, 23, 72.06999, 13.64999, 0.5, 24, -69.11, -16.06999, 0.5, 2, 23, 135.74, 0.27, 0.5, 24, -3.96, -2.01999, 0.5, 2, 23, 202.91998, -15.13, 0.5, 24, 65, 14.09, 0.5, 1, 24, 71.08999, -2.02999, 1, 1, 24, 149.06, -1.74, 1, 1, 23, 368.47, -1.80999, 1 ] + } + }, + "body": { + "body": { + "type": "mesh", + "uvs": [ 0.35966, 0.01351, 0.26863, 0.04108, 0.26204, 0.0954, 0.34119, 0.14478, 0.39791, 0.19457, 0.40451, 0.24271, 0.38076, 0.27893, 0.35969, 0.3004, 0.34119, 0.31925, 0.34988, 0.34325, 0.35834, 0.36658, 0.36551, 0.40163, 0.37233, 0.43498, 0.38396, 0.4944, 0.3956, 0.5597, 0.39883, 0.59858, 0.40141, 0.62955, 0.40215, 0.65661, 0.34609, 0.71563, 0.27077, 0.78175, 0.22009, 0.82127, 0.17617, 0.85552, 0.13115, 0.88832, 0.08238, 0.92385, 0.00341, 0.97959, 0.18836, 0.99126, 0.32172, 0.99284, 0.46265, 0.9945, 0.61643, 0.98608, 0.71617, 0.97182, 0.6185, 0.9582, 0.48967, 0.95042, 0.39458, 0.94083, 0.27771, 0.92903, 0.23407, 0.9232, 0.26691, 0.89774, 0.3068, 0.8668, 0.34202, 0.83414, 0.38369, 0.7955, 0.45642, 0.72873, 0.52707, 0.66845, 0.56032, 0.63344, 0.57541, 0.60108, 0.59357, 0.56214, 0.61643, 0.49731, 0.63513, 0.43962, 0.64344, 0.40462, 0.7708, 0.39011, 0.84584, 0.37024, 0.90982, 0.35331, 0.9674, 0.31914, 0.97301, 0.28585, 0.96448, 0.23351, 0.8952, 0.16809, 0.79345, 0.12642, 0.75178, 0.10878, 0.71799, 0.09448, 0.66816, 0.07236, 0.61342, 0.04807, 0.47867, 0.0141, 0.49845, 0.38826, 0.66315, 0.34728, 0.67333, 0.30664, 0.8188, 0.29655, 0.8097, 0.24505, 0.72828, 0.17901, 0.68147, 0.13901, 0.59191, 0.0971, 0.3904, 0.09012, 0.53695, 0.14981, 0.57562, 0.19616, 0.64483, 0.25076, 0.79855, 0.33476, 0.6175, 0.97166, 0.4773, 0.97061, 0.23795, 0.95673, 0.15271, 0.92355, 0.14158, 0.94886, 0.23861, 0.86092, 0.51732, 0.30353, 0.50695, 0.34527, 0.50634, 0.43735, 0.50334, 0.49589, 0.51085, 0.32558, 0.50355, 0.41057, 0.19542, 0.8924, 0.36492, 0.96409 ], + "triangles": [ 2, 1, 68, 68, 1, 58, 58, 1, 59, 1, 0, 59, 69, 67, 66, 3, 68, 69, 69, 68, 67, 3, 2, 68, 66, 56, 55, 66, 67, 56, 67, 57, 56, 67, 58, 57, 67, 68, 58, 5, 70, 71, 71, 70, 65, 5, 4, 70, 70, 66, 65, 4, 69, 70, 70, 69, 66, 4, 3, 69, 65, 54, 53, 65, 66, 54, 66, 55, 54, 46, 61, 47, 46, 80, 61, 80, 83, 61, 61, 62, 72, 61, 83, 62, 80, 9, 83, 9, 8, 83, 83, 79, 62, 8, 7, 83, 83, 7, 79, 71, 6, 5, 7, 6, 79, 79, 6, 62, 6, 71, 62, 47, 72, 48, 47, 61, 72, 48, 72, 49, 49, 72, 50, 72, 63, 50, 72, 62, 63, 50, 63, 51, 62, 64, 63, 63, 52, 51, 63, 64, 52, 71, 65, 64, 64, 53, 52, 64, 65, 53, 62, 71, 64, 26, 86, 27, 27, 74, 28, 27, 86, 74, 28, 73, 29, 28, 74, 73, 73, 30, 29, 74, 31, 73, 73, 31, 30, 86, 32, 74, 74, 32, 31, 25, 75, 26, 26, 75, 86, 24, 77, 25, 25, 77, 75, 24, 23, 77, 75, 33, 86, 86, 33, 32, 75, 77, 33, 77, 34, 33, 77, 76, 34, 77, 23, 76, 23, 22, 76, 76, 85, 34, 76, 22, 85, 34, 85, 35, 85, 78, 35, 22, 21, 85, 35, 78, 36, 85, 21, 78, 37, 36, 20, 21, 20, 78, 36, 78, 20, 20, 19, 37, 37, 19, 38, 19, 18, 38, 38, 18, 39, 18, 17, 39, 39, 17, 40, 41, 40, 16, 40, 17, 16, 42, 41, 15, 41, 16, 15, 43, 42, 14, 42, 15, 14, 14, 82, 43, 43, 82, 44, 14, 13, 82, 82, 81, 44, 44, 81, 45, 82, 13, 81, 13, 12, 81, 46, 45, 84, 12, 84, 81, 45, 81, 84, 12, 11, 84, 11, 60, 84, 84, 60, 46, 60, 80, 46, 11, 10, 60, 60, 10, 80, 10, 9, 80 ], + "vertices": [ 1, 5, 30.85, 2.44, 1, 2, 4, 60.41999, 12.40999, 0.24857, 5, 22.31999, 18.17, 0.75141, 2, 4, 39.47, 25.23999, 0.4433, 5, -1.05999, 25.70999, 0.55668, 3, 3, 48.02, 29.45999, 0.3743, 4, 14.53999, 26.45, 0.47619, 5, -25.56999, 21.01, 0.14949, 3, 2, 50.36, 32.58, 0.11242, 3, 24.29, 26.79, 0.6461, 4, -8.98999, 30.48999, 0.24145, 3, 35, -45.20999, -8.8, 0.1061, 2, 28.68, 30.38999, 0.49531, 3, 2.88, 30.84, 0.39855, 3, 35, -28.90999, -12.43999, 0.258, 2, 12.14999, 32.79, 0.60892, 3, -12.27999, 37.83, 0.13303, 3, 35, -18.5, -14.05, 0.28712, 2, 2.33999, 35.97, 0.51934, 26, -7.59, 18.95, 0.19349, 4, 35, -10.77999, -18.35, 0.28477, 25, -42.02999, 75.55999, 0.10294, 2, -6.36, 37.31, 0.37492, 26, -10.19999, 10.25, 0.23733, 3, 35, 0.92, -16.95, 0.34086, 2, -17.28, 35.45, 0.32139, 26, -8.19999, -0.66, 0.33772, 4, 35, 10.64, -16.30999, 0.3269, 36, -24.04999, -14.89, 0.16082, 2, -27.56999, 33.65999, 0.14431, 26, -6.36, -11.03999, 0.36794, 4, 35, 28.48999, -15.61999, 0.24235, 36, -9.53999, -15.10999, 0.27028, 37, -45.5, -19.11, 0.12131, 26, -3.64, -27.87, 0.36603, 4, 35, 41.59, -14.89, 0.2176, 36, 6.92, -15.34, 0.33285, 37, -26.85, -17.47999, 0.20376, 26, -1.29999, -43.27, 0.24577, 3, 36, 33.81999, -15.8, 0.47178, 37, 0, -15.85, 0.42625, 38, -31.79, -17.81999, 0.10193, 3, 36, 63.38, -16.47999, 0.21259, 37, 29.52, -14.21, 0.42737, 38, -2.42, -14.38, 0.36002, 3, 37, 49.77999, -15.51, 0.30177, 38, 14.85, -13.07999, 0.47126, 39, -21.13999, -15.63, 0.22694, 3, 37, 61.09, -13.39999, 0.15443, 38, 29.03, -11.64, 0.50848, 39, -3.25999, -12.44999, 0.33708, 2, 38, 41.22999, -10.78999, 0.28077, 39, 8.39999, -8.78999, 0.71921, 2, 39, 36.22999, -8.59, 0.56511, 40, -3.01999, -8.82999, 0.43487, 3, 39, 67.93, -10.06, 0.16322, 40, 28.68, -7.80999, 0.53711, 41, -8.10999, -7.69, 0.29965, 3, 40, 47.75999, -8.47, 0.402, 41, 10.97, -7.88999, 0.45129, 42, -26.34, -6.21, 0.14667, 3, 40, 64.61, -8.06, 0.25016, 41, 27.79999, -8.39999, 0.46039, 42, -12.76, -8.81, 0.28942, 4, 40, 79.12, -10.23999, 0.11857, 41, 42.33, -8.02999, 0.2698, 42, 4.53, -8.36999, 0.48104, 32, -1.54999, 35.59999, 0.13055, 2, 42, 20.84, -9.18999, 0.72798, 32, -5.36999, 19.54999, 0.272, 1, 32, -11.5, -7.28999, 1, 4, 42, 43.22999, 16.27, 0.27459, 32, 15.1, -7.51, 0.48157, 33, -12.28999, -5.53999, 0.12941, 34, -41.75999, 0.93999, 0.11439, 4, 42, 36.99, 33.93999, 0.18804, 32, 33.7, -4.57, 0.34251, 33, 6.53, -5.75, 0.18296, 34, -23.19, -2.18, 0.28646, 3, 32, 53.34999, -1.58, 0.21646, 33, 26.39999, -6.07999, 0.26515, 34, -3.60999, -5.59, 0.51836, 2, 33, 47.99, -1.75999, 0.15751, 34, 18.37, -4.65999, 0.84246, 1, 34, 33.15999, -0.10999, 1, 2, 33, 47.97, 10.84, 0.17386, 34, 20.30999, 7.78999, 0.82612, 4, 42, 9.82999, 48.43, 0.1757, 32, 53.27999, 18.69, 0.17037, 33, 29.72999, 13.92, 0.136, 34, 2.75999, 13.65999, 0.51789, 4, 42, 11.44999, 34.56999, 0.26313, 32, 39.25999, 20.54999, 0.23037, 33, 16.20999, 18.09, 0.15679, 34, -9.93999, 19.87999, 0.3497, 4, 42, 12.39999, 17.12999, 0.37055, 32, 22.1, 22.5, 0.30408, 33, -0.37, 22.87, 0.18234, 34, -25.59, 27.17, 0.14297, 3, 42, 12.34, 10.43, 0.44639, 32, 15.56, 23.90999, 0.2976, 33, -6.59, 25.36, 0.256, 5, 40, 75.94999, 9.06, 0.10561, 41, 38.15, 11.07999, 0.25494, 42, 1.64999, 10.97, 0.33577, 32, 17.97999, 34.75, 0.16322, 33, -2.38, 35.63999, 0.14041, 3, 40, 62.61, 10.93999, 0.26063, 41, 26.04, 10.61999, 0.4979, 42, -15.14, 10.14, 0.24143, 3, 40, 47.27, 9.67, 0.40347, 41, 9.52999, 10.18999, 0.4787, 42, -26.59, 11.93, 0.11781, 3, 39, 69.23, 6.96999, 0.16042, 40, 28.62999, 9.26, 0.53934, 41, -7.94, 9.38, 0.30019, 2, 39, 37.36, 8, 0.57647, 40, -3.21, 7.8, 0.4235, 2, 38, 45.47999, 7.09999, 0.29348, 39, 8.38, 9.60999, 0.70649, 3, 37, 62.84, 9, 0.15444, 38, 29.39999, 10.81999, 0.49323, 39, -8.11999, 9.48999, 0.35229, 3, 37, 52.13999, 9.27, 0.30575, 38, 12.84, 11.72999, 0.46742, 39, -26.12, 8.77, 0.22682, 3, 36, 66.66, 11.26, 0.21797, 37, 30.61, 13.68999, 0.42844, 38, -3.04999, 13.52999, 0.35357, 3, 36, 37.7, 16.76, 0.48245, 37, 1.30999, 16.92, 0.41751, 38, -32.49, 14.97, 0.10001, 4, 35, 44.34, 22.11, 0.23458, 36, 11.90999, 21.43, 0.43852, 37, -24.76, 19.55999, 0.20679, 2, -58.27999, -7.19, 0.12007, 4, 35, 28.54, 23.56999, 0.31079, 36, -3.75999, 23.82999, 0.19156, 25, -76.76, 29.21999, 0.21529, 2, -42.41999, -7.44999, 0.28229, 3, 35, 22.30999, 41.63999, 0.18196, 25, -69.83, 12.46, 0.43955, 2, -34.84, -25, 0.37847, 3, 35, 19.77, 51.41999, 0.1392, 25, -59.84, 2.51999, 0.47894, 2, -23.88999, -35.15999, 0.38183, 3, 35, 6.03, 61.52999, 0.10542, 25, -52.7, -5.88, 0.51007, 2, -17.1, -43.61, 0.38449, 2, 25, -37.15999, -13.13, 0.67426, 2, -1.22, -50.81999, 0.32572, 1, 25, -22.09, -13.05, 1, 2, 25, 1.45, -10.48999, 0.89017, 2, 37.38999, -48.18, 0.10981, 3, 25, 30.39999, 0.95999, 0.43018, 2, 66.34999, -36.72, 0.16236, 3, 19.96999, -44.2, 0.40742, 2, 3, 41.58, -34.52, 0.68164, 4, -9.43999, -33.20999, 0.31834, 2, 3, 50.68, -30.61, 0.51065, 4, 0.37999, -31.98999, 0.48932, 3, 3, 58.06, -27.44, 0.26484, 4, 8.35, -31, 0.61474, 5, -18.04, -36.27999, 0.12041, 3, 3, 69.4, -22.87999, 0.17395, 4, 20.5, -29.77, 0.5644, 5, -6.51999, -32.22, 0.26164, 2, 4, 33.86, -28.42, 0.29085, 5, 6.13, -27.76, 0.70914, 2, 4, 56.54999, -19.37, 0.1738, 5, 26.04999, -13.63, 0.82618, 5, 35, 20.79, 3.25999, 0.38866, 36, -12.72999, 4.03, 0.17697, 25, -69.83999, 50.18, 0.10104, 2, -36.22, 13.38, 0.1958, 26, 13.97, -19.23999, 0.13748, 4, 35, 2.68, 26.80999, 0.26409, 25, -50.86, 29.20999, 0.2337, 2, -16.38999, -8.72999, 0.34628, 26, 35.77999, -0.47999, 0.15591, 3, 35, -15.64999, 28.56999, 0.15678, 25, -33.52999, 28.78, 0.29159, 2, 2.01999, -9.1, 0.5516, 1, 25, -28.17, 8.36999, 1, 1, 25, -5.01, 10.98999, 1, 3, 25, 24.12, 24.17, 0.1205, 2, 60.06, -13.51, 0.21383, 3, 20.53, -20.15999, 0.66562, 2, 3, 39.63, -17.84, 0.59512, 4, -6.67, -16.64999, 0.40487, 3, 3, 60.95, -9.85999, 0.26251, 4, 16.02, -14.92, 0.55541, 5, -14.38, -18.84, 0.18206, 2, 4, 32.68, 8.3, 0.58728, 5, -3.66, 7.65, 0.41269, 2, 3, 39.52, 3.09999, 0.47135, 4, -0.94999, 3.49, 0.52863, 1, 3, 17.87999, 2.55999, 1, 2, 2, 27.01, -3.63, 0.67245, 3, -8.35999, -1.30999, 0.32754, 3, 35, -2.63, 46, 0.10031, 25, -45.40999, 10.26, 0.5261, 2, -9.64, -27.45999, 0.37354, 2, 33, 47.97999, 4.75, 0.16596, 34, 19.37, 1.76999, 0.83402, 4, 42, 19.54999, 50.47999, 0.12624, 32, 53.29999, 9.5, 0.16908, 33, 28.20999, 4.84999, 0.24845, 34, -0.12999, 4.94, 0.4562, 4, 42, 26.30999, 16.81999, 0.32785, 32, 18.95999, 9.25, 0.38306, 33, -5.67999, 10.34, 0.15879, 34, -32.77, 15.60999, 0.13026, 2, 42, 16.95999, -0.02999, 0.66864, 32, 4.23, 21.70999, 0.33134, 3, 42, 28.1, 2.84999, 0.4826, 32, 4.90999, 10.14, 0.31301, 33, -19.37999, 13.56999, 0.20437, 3, 40, 63.20999, -0.57999, 0.21067, 41, 25.95999, 0.77999, 0.49386, 42, -11.01, 1.48, 0.29543, 3, 35, -14.82999, 8.07999, 0.24447, 25, -33.34, 51.22999, 0.16324, 2, 2.58999, 13.52999, 0.59226, 4, 35, 3.36999, 4.96, 0.28615, 25, -51.81, 51.13, 0.16475, 2, -15.85999, 13.43999, 0.31891, 26, 13.85, -0.51999, 0.23014, 4, 35, 46.08, 3.57999, 0.24088, 36, 9.06, 3.08999, 0.4115, 37, -28.45999, 0.63999, 0.21862, 26, 17.5, -43.06999, 0.12895, 3, 36, 37.22, 1.25, 0.47743, 37, -0.07999, 1.25, 0.42162, 38, -36.25, -5.25, 0.10091, 4, 35, -5.23, 6.28999, 0.25593, 25, -43.09999, 51.31999, 0.15578, 2, -7.15999, 13.61999, 0.42092, 26, 14.15999, 8.17, 0.16733, 4, 35, 33.02999, 3.36999, 0.36684, 36, -3.96, 3.59999, 0.31093, 2, -45.31999, 9.81999, 0.17305, 26, 15.75, -30.13999, 0.14914, 4, 40, 77.5, -1.15999, 0.11479, 41, 40.22999, 0.94999, 0.26888, 42, 3.04999, 0.72, 0.44971, 32, 7.65999, 35.31999, 0.16659, 4, 42, 22.71999, 34.66999, 0.22089, 32, 37.18, 9.38, 0.26954, 33, 12.28999, 7.42999, 0.20635, 34, -15.46, 9.94999, 0.30316 ], + "hull": 60, + "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 24, 26, 26, 28, 32, 34, 34, 36, 36, 38, 46, 48, 48, 50, 54, 56, 56, 58, 58, 60, 60, 62, 66, 68, 76, 78, 78, 80, 80, 82, 86, 88, 88, 90, 90, 92, 92, 94, 98, 100, 100, 102, 102, 104, 104, 106, 106, 108, 116, 118, 0, 118, 92, 120, 120, 20, 28, 86, 82, 32, 34, 80, 78, 36, 76, 38, 12, 124, 102, 126, 126, 124, 126, 128, 128, 130, 130, 132, 132, 134, 112, 134, 134, 136, 136, 4, 2, 116, 6, 138, 138, 132, 8, 140, 140, 130, 10, 142, 142, 128, 128, 104, 130, 106, 132, 108, 122, 92, 100, 144, 144, 122, 126, 144, 144, 94, 112, 114, 114, 116, 108, 110, 110, 112, 16, 18, 18, 20, 20, 22, 22, 24, 12, 14, 14, 16, 122, 124, 94, 96, 96, 98, 56, 146, 146, 60, 54, 148, 148, 62, 146, 148, 50, 150, 150, 66, 46, 152, 152, 68, 154, 152, 154, 48, 42, 156, 156, 72, 14, 158, 158, 124, 18, 160, 160, 122, 160, 120, 24, 162, 162, 90, 26, 164, 164, 88, 162, 164, 16, 166, 160, 166, 166, 158, 166, 124, 162, 168, 168, 120, 168, 22, 168, 92, 38, 40, 40, 42, 72, 74, 74, 76, 40, 74, 42, 44, 44, 46, 152, 170, 170, 156, 44, 170, 68, 70, 70, 72, 170, 70, 62, 64, 64, 66, 148, 172, 172, 150, 64, 172, 50, 52, 52, 54, 172, 52, 154, 66, 150, 154, 28, 30, 30, 32, 82, 84, 84, 86, 30, 84 ], + "width": 141, + "height": 452 + } + }, + "front arm": { + "front arm": { + "type": "mesh", + "uvs": [ 0.714, 0.00566, 0.67107, 0.08129, 0.60221, 0.15433, 0.53632, 0.21682, 0.44558, 0.28704, 0.34898, 0.35134, 0.29096, 0.3894, 0.25238, 0.41472, 0.22423, 0.4427, 0.19483, 0.47193, 0.15998, 0.50657, 0.09138, 0.59567, 0.05498, 0.70865, 0.02988, 0.81366, 0.01048, 0.94262, 0.10494, 0.98984, 0.25391, 0.9742, 0.31482, 0.88906, 0.28834, 0.82868, 0.13606, 0.74572, 0.14334, 0.71487, 0.18317, 0.62253, 0.25217, 0.5422, 0.29537, 0.50981, 0.33787, 0.47794, 0.38451, 0.45012, 0.43581, 0.41953, 0.5471, 0.36549, 0.68845, 0.29831, 0.74855, 0.35527, 0.85873, 0.38229, 0.99674, 0.37644, 0.95353, 0.33244, 0.91355, 0.29171, 0.87464, 0.25208, 0.83758, 0.21434, 0.78082, 0.12598, 0.78194, 0.06829, 0.63219, 0.23719, 0.66924, 0.15783, 0.75532, 0.20966, 0.7161, 0.11136 ], + "triangles": [ 30, 29, 33, 30, 32, 31, 40, 41, 36, 39, 41, 40, 40, 36, 35, 38, 39, 40, 28, 38, 40, 34, 28, 40, 34, 40, 35, 28, 34, 33, 29, 28, 33, 30, 33, 32, 41, 1, 0, 37, 41, 0, 36, 41, 37, 39, 1, 41, 39, 2, 1, 19, 12, 20, 13, 12, 19, 18, 15, 19, 16, 18, 17, 15, 13, 19, 15, 14, 13, 15, 18, 16, 21, 10, 22, 11, 10, 21, 20, 11, 21, 12, 11, 20, 9, 8, 23, 22, 9, 23, 10, 9, 22, 26, 5, 4, 25, 5, 26, 6, 5, 25, 24, 6, 25, 7, 6, 24, 23, 7, 24, 8, 7, 23, 38, 2, 39, 3, 2, 38, 27, 3, 38, 27, 38, 28, 4, 3, 27, 26, 4, 27 ], + "vertices": [ 1, 47, 21.65999, 6.07, 1, 2, 46, 18.12999, 3.36999, 0.16552, 47, 3.91, 4.23, 0.83446, 3, 27, -6.11999, -15.22999, 0.20964, 46, -0.03999, 8.85, 0.53628, 5, 43.43999, 6.80999, 0.25404, 1, 27, 10.35999, -12.02, 1, 2, 27, 30.62, -10.09, 0.8882, 28, -7.63, -10.14999, 0.11178, 2, 27, 50.56999, -9.68999, 0.30994, 28, 12.31, -9.60999, 0.69003, 2, 28, 24.20999, -9.36999, 0.86562, 29, -13.42, -6.19999, 0.13436, 2, 28, 32.11999, -9.21, 0.73142, 29, -5.71999, -8.02, 0.26855, 2, 28, 39.34999, -7.57999, 0.54006, 29, 1.67999, -8.23999, 0.45991, 2, 28, 46.9, -5.88, 0.29036, 29, 9.40999, -8.47999, 0.70963, 2, 29, 18.57999, -8.76, 0.66539, 30, -15.75, -5.11999, 0.3346, 1, 30, 6.03, -8.57999, 1, 2, 30, 31.42, -5.96999, 0.39256, 31, 0.49, -6.36, 0.60742, 1, 31, 23.79, -9.31, 1, 1, 31, 52.36999, -11.27999, 1, 1, 31, 62.38999, 2.71, 1, 1, 31, 58.29, 24.2, 1, 1, 31, 39.22, 32.47999, 1, 1, 31, 25.98999, 28.23999, 1, 1, 31, 8.32999, 5.63, 1, 2, 30, 28.80999, 6.63999, 0.48313, 31, 1.48, 6.48, 0.51686, 1, 30, 7.61, 5.9, 1, 3, 28, 51.65999, 11.06999, 0.10767, 29, 18.26, 6.73999, 0.55899, 30, -12.34, 10, 0.33333, 2, 28, 42.18, 10.25, 0.31463, 29, 8.86999, 8.31, 0.68536, 2, 28, 32.86, 9.43999, 0.59183, 29, -0.34999, 9.85999, 0.40816, 2, 28, 23.71999, 9.68999, 0.83034, 29, -9.13, 12.38, 0.16964, 2, 27, 52.08, 9.88, 0.29919, 28, 13.67, 9.97, 0.70078, 2, 27, 32.18, 12.59, 0.84685, 28, -6.23, 12.53999, 0.15312, 1, 5, 9.42, 3.38, 1, 2, 5, -5.05, -1.59, 0.47198, 4, 29.15999, -0.34999, 0.52799, 1, 4, 16.12999, -11.35, 1, 1, 4, 7.44999, -29.43, 1, 2, 5, -8.22999, -31.55999, 0.51928, 4, 19, -28.72999, 0.48069, 1, 5, 1.99, -28.42, 1, 1, 5, 11.96, -25.36, 1, 1, 5, 21.44, -22.45, 1, 3, 46, 12.68999, -14.53999, 0.25481, 47, 2.13, -14.39999, 0.32231, 5, 42.47, -19.80999, 0.42285, 1, 47, 13.63, -8.89, 1, 1, 27, 3.54999, 0.89999, 1, 2, 46, 1.71, -0.73, 0.5001, 5, 40.06, -2.32999, 0.49988, 1, 5, 25.65999, -11.23999, 1, 3, 46, 13.39, -4.63999, 0.33234, 47, 0.86, -4.55999, 0.48164, 5, 48.11, -11.64999, 0.186 ], + "hull": 38, + "edges": [ 0, 2, 8, 10, 20, 22, 22, 24, 24, 26, 26, 28, 28, 30, 30, 32, 32, 34, 34, 36, 36, 38, 38, 40, 40, 42, 42, 44, 52, 54, 54, 56, 56, 58, 58, 60, 60, 62, 70, 72, 72, 74, 0, 74, 56, 76, 6, 8, 76, 6, 4, 6, 4, 78, 78, 80, 80, 70, 2, 82, 82, 72, 82, 78, 78, 76, 2, 4, 56, 80, 56, 66, 62, 64, 64, 66, 66, 68, 68, 70, 44, 46, 46, 48, 18, 20, 46, 18, 10, 12, 12, 14, 48, 50, 50, 52, 12, 50, 14, 16, 16, 18 ], + "width": 145, + "height": 221 + } + }, + "front leg path": { + "front leg path": { + "type": "path", + "lengths": [ 140.43, 297.34, 652.04 ], + "vertexCount": 9, + "vertices": [ 1, 44, -40.7, -0.40999, 1, 1, 44, 1.48, -0.27, 1, 1, 44, 75.41999, 0.33, 1, 2, 44, 82.91999, 8.48999, 0.5, 45, -58.75, -8.52999, 0.5, 2, 44, 141.34, 0.51999, 0.5, 45, 0.44999, 0.70999, 0.5, 2, 44, 208.26, -14.82999, 0.5, 45, 68.83, 18.53, 0.5, 1, 45, 73.80999, 1.40999, 1, 1, 45, 156.57, 0.98, 1, 1, 44, 380.59, 0.75999, 1 ] + } + }, + "head": { + "head": { + "type": "mesh", + "uvs": [ 0.49583, 0.01984, 0.3073, 0.05802, 0.14319, 0.17024, 0.0279, 0.36227, 0.04553, 0.57745, 0.16625, 0.73247, 0.18795, 0.84353, 0.30324, 0.96963, 0.42124, 0.91063, 0.58535, 0.94649, 0.76303, 0.93261, 0.8694, 0.78599, 0.96783, 0.65033, 0.93351, 0.55575, 0.91494, 0.50457, 0.93281, 0.4436, 0.96241, 0.34261, 0.84983, 0.16792, 0.70199, 0.06496, 0.71827, 0.40045, 0.55822, 0.46524, 0.67191, 0.56924, 0.61248, 0.74982, 0.29238, 0.552, 0.68707, 0.30096, 0.49719, 0.316, 0.38868, 0.29286, 0.30595, 0.24312, 0.32494, 0.40508, 0.4036, 0.55663, 0.63282, 0.6862, 0.75489, 0.67579, 0.72156, 0.43445, 0.60178, 0.47123, 0.67975, 0.53995, 0.86841, 0.4929 ], + "triangles": [ 7, 6, 8, 10, 9, 22, 9, 8, 22, 10, 22, 11, 22, 8, 23, 23, 8, 5, 8, 6, 5, 11, 22, 31, 22, 30, 31, 11, 31, 12, 23, 29, 22, 22, 29, 30, 5, 4, 23, 29, 20, 30, 30, 21, 31, 30, 20, 21, 31, 13, 12, 31, 14, 13, 31, 21, 14, 4, 3, 23, 21, 35, 14, 21, 34, 35, 20, 33, 21, 21, 33, 34, 23, 28, 29, 20, 29, 28, 20, 28, 25, 25, 28, 26, 23, 3, 28, 27, 3, 2, 3, 27, 28, 34, 32, 35, 34, 33, 32, 14, 35, 15, 15, 35, 19, 32, 33, 19, 33, 20, 19, 20, 24, 19, 20, 25, 24, 16, 15, 19, 19, 35, 32, 28, 27, 26, 19, 24, 16, 24, 17, 16, 18, 24, 25, 25, 26, 0, 24, 18, 17, 18, 25, 0, 27, 1, 26, 26, 1, 0, 27, 2, 1 ], + "vertices": [ 1, 48, 90.83, 8.14, 1, 1, 48, 81.69999, 22.32999, 1, 1, 48, 66.16, 32, 1, 1, 48, 44.34, 34.97, 1, 1, 48, 24.13999, 26.23999, 1, 1, 48, 12.71, 11.09, 1, 1, 47, 17.77, 6.05999, 1, 1, 47, 10.69999, -8.61999, 1, 1, 48, 2.94, -15.85, 1, 1, 48, 4.23, -30.53, 1, 1, 48, 10.69999, -44.63999, 1, 1, 48, 27.88999, -48.40999, 1, 1, 48, 43.79, -51.9, 1, 1, 48, 51.90999, -45.88999, 1, 1, 48, 56.29, -42.63, 1, 1, 48, 62.68, -42.04, 1, 1, 48, 73.26, -41.04999, 1, 1, 48, 86.80999, -25.90999, 1, 1, 48, 92.44999, -10.28999, 1, 1, 48, 60.63, -22.96999, 1, 1, 48, 49.77, -12.02999, 1, 1, 48, 43.04, -24.87, 1, 1, 48, 23.94, -26.1, 1, 1, 48, 33.72999, 6.84, 1, 1, 48, 69.3, -17.04999, 1, 1, 48, 62.36, -1.97, 1, 1, 48, 61.45, 7.69999, 1, 1, 48, 63.84999, 16.18, 1, 1, 48, 48.81, 9.14, 1, 1, 48, 36.5, -2.43, 1, 1, 48, 30.65999, -25.62, 1, 1, 48, 35.18999, -35.29, 1, 1, 48, 57.45, -24.38999, 1, 1, 48, 50.45, -15.81, 1, 1, 48, 46.09, -24.53, 1, 1, 48, 56.06999, -38.41999, 1 ], + "hull": 19, + "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 32, 34, 34, 36, 0, 36, 28, 30, 30, 32, 30, 38, 38, 40, 40, 42, 42, 28, 20, 22, 22, 24, 22, 44, 44, 46, 32, 48, 48, 50, 50, 52, 52, 54, 54, 56, 56, 58, 58, 60, 60, 62, 24, 26, 26, 28, 62, 26, 64, 66, 66, 40, 66, 68, 68, 70, 70, 64 ], + "width": 87, + "height": 102 + } + } + } +}, +"animations": { + "sneak": { + "bones": { + "hip": { + "rotate": [ + { "time": 0, "angle": 30.27, "curve": "stepped" }, + { "time": 0.1666, "angle": 30.27 }, + { "time": 0.3333, "angle": -31.29 }, + { "time": 0.5333, "angle": -44.75 }, + { "time": 0.7333, "angle": -25.49 }, + { "time": 0.8999, "angle": -9.45 }, + { "time": 1.0666, "angle": 30.27 }, + { "time": 1.2333, "angle": -10.1 }, + { "time": 1.6333, "angle": -41.47 }, + { "time": 1.7999, "angle": 30.27 } + ], + "translate": [ + { "time": 0, "x": -57.43, "y": -40.92 }, + { + "time": 0.1666, + "x": -16.15, + "y": -96.56, + "curve": [ 0.245, 0, 0.637, 0.55 ] + }, + { + "time": 0.2666, + "x": 85.99, + "y": -143.07, + "curve": [ 0.381, 0.54, 0.742, 1 ] + }, + { "time": 0.3333, "x": 145.44, "y": -159.27 }, + { "time": 0.4333, "x": 344.29, "y": -134.94 }, + { "time": 0.5333, "x": 543.13, "y": -81.1 }, + { "time": 0.7333, "x": 569.68, "y": -62.13 }, + { "time": 0.8999, "x": 591.8, "y": -46.32 }, + { + "time": 1.0666, + "x": 653.14, + "y": -96.6, + "curve": [ 0.381, 0.54, 0.742, 1 ] + }, + { "time": 1.1333, "x": 710.16, "y": -143.1 }, + { "time": 1.2333, "x": 795.7, "y": -159.3 }, + { "time": 1.3333, "x": 986.94, "y": -153.35 }, + { "time": 1.4333, "x": 1178.19, "y": -111.88 }, + { "time": 1.6333, "x": 1195.1, "y": -62.1 }, + { "time": 1.7999, "x": 1246.53, "y": -40.92 } + ] + }, + "front leg IK target": { + "translate": [ + { "time": 0, "x": -50.42, "y": 44.61 }, + { "time": 0.1666, "x": -50.42, "y": 46.55 }, + { "time": 0.3333, "x": -50.42, "y": 47 }, + { + "time": 0.5333, + "x": -26.42, + "y": 50.21, + "curve": [ 0.532, 0, 0.75, 1 ] + }, + { "time": 0.7333, "x": 566.43, "y": 107.27 }, + { "time": 0.8999, "x": 1215.89, "y": 68.21 }, + { "time": 1.0666, "x": 1235.47, "y": 15.8 }, + { "time": 1.2333, "x": 1235.47, "y": 0.97 }, + { "time": 1.5666, "x": 1230.15, "y": 3.76 }, + { "time": 1.7, "x": 1244, "y": 26.76 }, + { "time": 1.7999, "x": 1253.53, "y": 44.61 } + ] + }, + "front foot 1": { + "rotate": [ + { "time": 0, "angle": -48.38, "curve": "stepped" }, + { "time": 0.3333, "angle": -48.38 }, + { "time": 0.6999, "angle": -121.34 }, + { "time": 0.8, "angle": -80.19 }, + { "time": 0.8999, "angle": 45.59 }, + { "time": 1.0666, "angle": 2.1 }, + { "time": 1.2333, "angle": 4.65 }, + { "time": 1.5666, "angle": 5.66 }, + { "time": 1.7999, "angle": -48.38 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.6, "x": 1, "y": 1 }, + { "time": 0.6333, "x": 0.954, "y": 1 }, + { "time": 0.7666, "x": 0.82, "y": 1 }, + { "time": 0.8999, "x": 1, "y": 1 }, + { "time": 1.0666, "x": 0.851, "y": 1 }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "front foot 3": { + "rotate": [ + { "time": 0, "angle": 36.32 }, + { "time": 0.3333, "angle": 28.46 }, + { "time": 0.5, "angle": 34.84 }, + { "time": 0.5333, "angle": 30.32 }, + { "time": 0.5666, "angle": 61.67 }, + { "time": 0.6999, "angle": -19.47 }, + { "time": 0.8999, "angle": -0.12 }, + { "time": 1.0666, "angle": -7.21 }, + { "time": 1.2333, "angle": -11.34 }, + { "time": 1.5666, "angle": -11.23 }, + { "time": 1.7999, "angle": 36.32 } + ] + }, + "back leg IK target": { + "translate": [ + { "time": 0, "x": 516.79, "y": 86.68 }, + { "time": 0.1666, "x": 523.71, "y": 16.63 }, + { "time": 0.3333, "x": 523.03, "y": -5, "curve": "stepped" }, + { "time": 0.6999, "x": 523.03, "y": -5 }, + { "time": 0.8999, "x": 551.31, "y": 41.86 }, + { "time": 1.0666, "x": 554.24, "y": 44.45 }, + { "time": 1.1333, "x": 555.44, "y": 44.74 }, + { "time": 1.2, "x": 556.6, "y": 46.19, "curve": "stepped" }, + { "time": 1.4333, "x": 556.6, "y": 46.19 }, + { "time": 1.5, "x": 746.96, "y": 74.82 }, + { "time": 1.6333, "x": 1127.68, "y": 103.61 }, + { "time": 1.7999, "x": 1820.75, "y": 86.68 } + ] + }, + "back foot 1": { + "rotate": [ + { "time": 0, "angle": 74.17 }, + { "time": 0.1666, "angle": -17.01 }, + { "time": 0.3333, "angle": 5.05 }, + { "time": 0.6999, "angle": 3.74 }, + { "time": 0.8999, "angle": -65.56 }, + { "time": 1.6333, "angle": -92.52 }, + { "time": 1.7999, "angle": 74.17 } + ], + "scale": [ + { "time": 0, "x": 0.824, "y": 1 }, + { "time": 0.1666, "x": 0.754, "y": 1 }, + { "time": 0.3333, "x": 0.589, "y": 1 }, + { "time": 0.5666, "x": 0.909, "y": 1 }, + { "time": 0.8999, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3999, "x": 1, "y": 1 }, + { "time": 1.5, "x": 0.844, "y": 1 }, + { "time": 1.7999, "x": 0.824, "y": 1 } + ] + }, + "back foot 2": { + "rotate": [ + { "time": 0, "angle": 8.13 }, + { "time": 0.1666, "angle": -3.21 }, + { "time": 0.6999, "angle": -1.14 }, + { "time": 0.8999, "angle": 34.12 }, + { "time": 1.4333, "angle": 46.68 }, + { "time": 1.5333, "angle": -15.6 }, + { "time": 1.6333, "angle": -11.91 }, + { "time": 1.7999, "angle": 8.13 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 }, + { "time": 0.1666, "x": 0.835, "y": 1 }, + { "time": 0.3333, "x": 1, "y": 1 } + ] + }, + "front arm 1": { + "rotate": [ + { "time": 0, "angle": -39.71 }, + { "time": 0.1666, "angle": -37.29 }, + { "time": 0.3333, "angle": 30.66 }, + { + "time": 0.8999, + "angle": -53.28, + "curve": [ 0.708, 0.01, 0.75, 1 ] + }, + { "time": 1.2333, "angle": 36 }, + { "time": 1.7999, "angle": -39.71 } + ] + }, + "neck 1": { + "rotate": [ + { "time": 0, "angle": 21.95, "curve": "stepped" }, + { "time": 0.1666, "angle": 21.95 }, + { "time": 0.2666, "angle": 30.6 }, + { "time": 0.3333, "angle": 36.37 }, + { "time": 0.7333, "angle": 33.6 }, + { "time": 1.1666, "angle": 23.95 }, + { "time": 1.2333, "angle": 36.37 }, + { "time": 1.6333, "angle": 41.16 }, + { "time": 1.7999, "angle": 21.95 } + ] + }, + "neck 2": { + "rotate": [ + { "time": 0, "angle": -22.93 }, + { "time": 0.1666, "angle": -23.95 }, + { "time": 0.2666, "angle": 8.84 }, + { "time": 0.3333, "angle": 30.71 }, + { "time": 0.7333, "angle": -3.36 }, + { "time": 0.8999, "angle": -17.57 }, + { "time": 1.1666, "angle": 2.19 }, + { "time": 1.2333, "angle": 15.25 }, + { "time": 1.6333, "angle": 4.41 }, + { "time": 1.7999, "angle": -22.93 } + ] + }, + "head": { + "rotate": [ + { "time": 0, "angle": -22.93 }, + { "time": 0.1666, "angle": -13.03 }, + { "time": 0.2666, "angle": 2.64 }, + { "time": 0.3333, "angle": 13.1 }, + { "time": 0.5, "angle": 13.1 }, + { "time": 0.7333, "angle": -18.9 }, + { "time": 0.8999, "angle": -41.77 }, + { "time": 1.1666, "angle": -4 }, + { "time": 1.2333, "angle": -2.35 }, + { "time": 1.6333, "angle": -22.89 }, + { "time": 1.7999, "angle": -22.93 } + ] + }, + "back arm 1": { + "rotate": [ + { "time": 0, "angle": -17.23 }, + { "time": 0.1666, "angle": -18.65 }, + { "time": 0.3333, "angle": 324.98 }, + { "time": 0.5666, "angle": -6.41 }, + { "time": 0.8999, "angle": -14.83 }, + { "time": 1.0666, "angle": -16.9 }, + { "time": 1.2333, "angle": 1.49 }, + { "time": 1.3999, "angle": 2.56 }, + { "time": 1.7999, "angle": -17.23 } + ], + "translate": [ + { "time": 0, "x": -14.25, "y": -6.6 } + ] + }, + "back leg IK 1": { + "scale": [ + { "time": 0, "x": 2.186, "y": 1 }, + { "time": 0.1666, "x": 2.228, "y": 1 }, + { "time": 0.3333, "x": 1.532, "y": 1 }, + { "time": 0.4333, "x": 0.946, "y": 1 }, + { "time": 0.5333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.0666, "x": 1, "y": 1 }, + { "time": 1.1333, "x": 0.892, "y": 1 }, + { "time": 1.2333, "x": 0.956, "y": 1 }, + { "time": 1.4333, "x": 2.315, "y": 1 }, + { "time": 1.6333, "x": 0.774, "y": 1 }, + { "time": 1.7999, "x": 2.186, "y": 1 } + ] + }, + "front leg 1": { + "scale": [ + { "time": 0, "x": 1, "y": 1.117 } + ] + }, + "back leg 1": { + "scale": [ + { "time": 0, "x": 1, "y": 1.038 } + ] + }, + "front leg IK 1": { + "scale": [ + { "time": 0, "x": 1, "y": 1 }, + { "time": 0.2666, "x": 0.858, "y": 1 }, + { "time": 0.3333, "x": 0.972, "y": 1 }, + { + "time": 0.5333, + "x": 2.356, + "y": 1, + "curve": [ 0.532, 0, 0.75, 1 ] + }, + { "time": 0.6999, "x": 1, "y": 1 }, + { "time": 0.8999, "x": 2.248, "y": 1 }, + { "time": 1.0666, "x": 2.002, "y": 1 }, + { "time": 1.2333, "x": 1.495, "y": 1 }, + { + "time": 1.2999, + "x": 1.047, + "y": 1, + "curve": [ 0.339, 0.58, 0.764, 1 ] + }, + { "time": 1.4333, "x": 0.779, "y": 0.762 }, + { "time": 1.7999, "x": 1, "y": 1 } + ] + }, + "front leg IK 2": { + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "front arm 3": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.1666, "angle": 17.37 }, + { "time": 0.3333, "angle": 31.94 }, + { + "time": 0.8999, + "angle": 4.76, + "curve": [ 0.708, 0.01, 0.75, 1 ] + }, + { "time": 1.2333, "angle": 39.96 }, + { "time": 1.7999, "angle": 0 } + ] + }, + "spine 2": { + "rotate": [ + { "time": 0, "angle": -3.49 }, + { "time": 0.2666, "angle": -11.57 }, + { "time": 0.3333, "angle": -9.02 }, + { "time": 0.5, "angle": -2.65 }, + { "time": 0.7333, "angle": -5.78 }, + { "time": 1.1666, "angle": -11.57 }, + { "time": 1.2333, "angle": -6.69 }, + { "time": 1.6333, "angle": -2.5 }, + { "time": 1.7999, "angle": -3.49 } + ] + }, + "spine 3": { + "rotate": [ + { "time": 0, "angle": -20.41 }, + { "time": 0.2666, "angle": -11.57 }, + { "time": 0.3333, "angle": -9.02 }, + { "time": 0.5, "angle": -2.65 }, + { "time": 0.7333, "angle": -10.53 }, + { "time": 0.8999, "angle": -16.16 }, + { "time": 1.1666, "angle": -11.57 }, + { "time": 1.2333, "angle": -9.02 }, + { "time": 1.6333, "angle": -7.26 }, + { "time": 1.7999, "angle": -20.41 } + ] + }, + "back arm 3": { + "rotate": [ + { "time": 0, "angle": 26.23 }, + { "time": 0.1666, "angle": 53.14 }, + { "time": 0.3333, "angle": 116.25 }, + { "time": 0.5666, "angle": 35.72 }, + { "time": 0.8999, "angle": 39.32 }, + { "time": 1.0666, "angle": 41.19 }, + { "time": 1.2333, "angle": 78.09 }, + { "time": 1.3999, "angle": 36.16 }, + { "time": 1.7999, "angle": 26.23 } + ] + }, + "back foot 3": { + "rotate": [ + { "time": 0, "angle": 11.35 }, + { "time": 0.6999, "angle": -4.24 }, + { "time": 0.8999, "angle": 25.48, "curve": "stepped" }, + { "time": 1.4333, "angle": 25.48 }, + { "time": 1.5333, "angle": -30.51 }, + { "time": 1.6333, "angle": -20.54 }, + { "time": 1.7999, "angle": 11.35 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 }, + { "time": 0.1666, "x": 0.835, "y": 1 }, + { "time": 0.3333, "x": 1, "y": 1 } + ] + }, + "spine 1": { + "rotate": [ + { "time": 0, "angle": 10.81 }, + { "time": 0.2666, "angle": -28.69 }, + { "time": 0.3333, "angle": -24.32 }, + { "time": 0.5, "angle": -13.37 }, + { "time": 0.7333, "angle": 21.61 }, + { "time": 0.8999, "angle": 46.61 }, + { "time": 1.1666, "angle": -28.69 }, + { "time": 1.2333, "angle": -43.33 }, + { "time": 1.6333, "angle": 24.89 }, + { "time": 1.7999, "angle": 10.81 } + ] + }, + "spine 4": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.2666, "angle": -2.8 }, + { "time": 0.3333, "angle": -0.82 }, + { "time": 0.5, "angle": 4.13 }, + { "time": 0.7333, "angle": -3.74 }, + { "time": 0.8999, "angle": -9.37 }, + { "time": 1.1666, "angle": -9.02 }, + { "time": 1.2333, "angle": -0.82 }, + { "time": 1.6333, "angle": 3.81 }, + { "time": 1.7999, "angle": 0 } + ] + }, + "front foot 2": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.2666, "angle": -1.24 }, + { "time": 0.3333, "angle": -0.2 }, + { "time": 0.5, "angle": 22.72 }, + { "time": 0.5333, "angle": 26.87 }, + { "time": 0.6999, "angle": -39.25 }, + { "time": 0.8999, "angle": 11.26 }, + { "time": 1.0666, "angle": -18.17 }, + { "time": 1.2333, "angle": -2.64 }, + { "time": 1.5666, "angle": -5.84 }, + { "time": 1.7999, "angle": 0 } + ] + }, + "belly": { + "translate": [ + { "time": 0, "x": 3.65, "y": -3.77 }, + { "time": 0.2666, "x": 13.82, "y": -3.82 }, + { "time": 0.6333, "x": -4.11, "y": -3.89 }, + { "time": 0.7666, "x": 10.21, "y": -2.91 }, + { "time": 0.8666, "x": 10.3, "y": -7.38 }, + { "time": 1.1, "x": -0.44, "y": -1.45 }, + { "time": 1.2333, "x": 12.37, "y": 2.32 }, + { "time": 1.3666, "x": 11.51, "y": 5.52 }, + { "time": 1.7999, "x": 0, "y": 0 } + ] + }, + "butt": { + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.7666, "x": 9.88, "y": -25.41 }, + { "time": 0.8333, "x": 15.89, "y": -41.88 }, + { "time": 1.2333, "x": -12.49, "y": -32.99 }, + { "time": 1.7999, "x": 0, "y": 0 } + ] + } + }, + "deform": { + "default": { + "back leg": { + "back leg": [ + { "time": 0.3 }, + { + "time": 0.3333, + "offset": 68, + "vertices": [ -1.72897, 2.75445, -1.52529, 2.94189, 0.0625, 3.6552, 0.01776, 3.65397, 0, 0, 0, 0, 0, 0, 0.0625, 3.6552, 0.01776, 3.65397, 0.90136, 3.54112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.98724, -1.57397, -0.03338, -2.08873, -0.0108, -2.08799, -0.51434, -2.02362, 0.98724, -1.57397, 0.87167, -1.68002, -0.03338, -2.08873, -0.0108, -2.08799 ] + }, + { "time": 0.4666, "curve": "stepped" }, + { "time": 1.3333 }, + { + "time": 1.4333, + "offset": 110, + "vertices": [ 2.52801, 0.00428, -0.03569, -4.90118, -3.71691, -3.19396, -4.88018, -0.43807, 5.17279, -0.0625, 5.1499, -0.47689, -0.07238, -10.06842, -7.6351, -6.56072, 6.64205, -0.09958, 6.61151, -0.62642, -0.09275, -12.93914, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.01242, -1.65533, -1.25543, -1.0787, 0.86096, 0.02682, -0.01242, -1.65533, -1.25543, -1.0787 ] + }, + { "time": 1.5 } + ] + }, + "back leg path": { + "back leg path": [ + { "time": 1.4333 }, + { + "time": 1.5, + "vertices": [ 4.67718, -35.44354, 0, 0, -11.37145, 49.53738, -20.9989, -109.72335, 65.45837, -90.53627, -9.56652, -24.74755, 11.45202, -23.93551, -19.07189, 47.32281, -47.53955, 18.58409, 34.69244, -51.5341, 0, 0, 13.30163, -100.17205 ] + }, + { + "time": 1.5666, + "vertices": [ -0.9635, -22.43963, 0, 0, -13.80389, 27.61459, -41.00646, -55.15969, 7.62652, -96.25755, -24.12603, -24.11285, 7.19531, -37.8742, -31.47302, 7.7796, -12.34545, -3.32328, 26.55981, -38.73887, 0, 0, -13.62084, -280.84912 ] + }, + { "time": 1.6666 } + ] + }, + "body": { + "body": [ + { "time": 0 }, + { + "time": 0.3333, + "offset": 164, + "vertices": [ -0.01179, 0.02892, 0.00916, 0.0298, 0, 0, 1.17781, 0.89835, 1.48062, -0.04942, -6.68858, -1.30628, 4.38937, 4.03925, 4.59583, 3.27733, 5.6365, -0.11034, -4.92264, -0.8036, 4.54262, 1.06504, 3.29334, 0.58413, 2.94213, -1.40271, -4.28854, -0.56444, 5.07102, -0.21189, 2.9589, -0.75665, 1.83513, -2.22983, -4.31061, 0.62609, 6.11537, -0.87568, 3.79229, -1.67126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.17403, 0.22007, 0.27403, 0.06015 ] + }, + { + "time": 0.5333, + "offset": 164, + "vertices": [ -0.01886, 0.04627, 0.01467, 0.04768, 0, 0, 1.88449, 1.43737, 2.369, -0.07907, 1.46056, -1.33222, -0.75053, -3.73339, -2.82319, -2.55492, -3.80252, -0.19385, 2.81923, -1.5031, -0.33162, -6.7565, -4.28408, -5.23484, -6.6292, -1.34549, 3.83378, -1.12044, 0.51381, -8.79961, -4.81917, -7.38011, -8.40039, -2.66888, 3.83378, -1.12044, 0.51381, -8.79961, -4.81917, -7.38011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.27845, 0.35211, 0.43846, 0.09625 ] + }, + { + "time": 0.6333, + "offset": 170, + "vertices": [ -2.09907, 0.0496, -1.943, 1.46153, 1.74966, 0.25744, 0.37649, -3.44555, -2.34342, -2.73068, -3.66285, -0.53692, 0, 0, 0, 0, 0, 0, 0, 0, 1.91689, -0.56022, 0.2569, -4.3998, -2.40958, -3.69005, -4.2002, -1.33444, 1.91689, -0.56022, 0.2569, -4.3998, -2.40958, -3.69005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.66468, 1.2535, 0.05176, 1.41789 ] + }, + { "time": 0.7333 }, + { + "time": 0.7666, + "offset": 264, + "vertices": [ -2.27499, -1.60417, -2.23925, -1.6137, -2.2196, -1.74293, -1.80918, 2.86346, -1.11117, 2.36199, -1.14221, 2.359, 2.63101, 1.41101, 2.63215, 1.41741, -0.81469, 8.46568, 9.4562, 1.07873, 9.45622, 1.08001, -1.00012, 6.23983, 6.96737, 1.29986, 6.9674, 1.30218, -0.68823, 4.24005, 4.7344, 0.89532, 4.73448, 0.89593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.05484, 2.78092, 0.01666, 2.78222, 3.10775, -0.05572, 3.10798, -0.05426, -1.17971, 2.87597, -0.99005, 3.55937, 3.97198, 1.27319, 3.97207, 1.27423, -2.74237, 3.14401 ] + }, + { "time": 0.8333, "curve": "stepped" }, + { "time": 1.0666 }, + { + "time": 1.3333, + "offset": 142, + "vertices": [ 4.0227, -1.7984, 0.00683, -4.47886, -0.46118, -4.45536, -0.27441, -4.47041, 4.0227, -1.7984, 0.00683, -4.47886, -0.46118, -4.45536, -0.27441, -4.47041, 0.00683, -4.47886, -0.46118, -4.45536, -0.27441, -4.47041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.0227, -1.7984, 0.00683, -4.47886, -0.46118, -4.45536, -0.27441, -4.47041, 4.0227, -1.7984, 0.00683, -4.47886, -0.46118, -4.45536, -0.27441, -4.47041, 4.0227, -1.7984, 0.00683, -4.47886, -0.46118, -4.45536, -0.27441, -4.47041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.0227, -1.7984, 0.00683, -4.47886, -0.46118, -4.45536, -0.27441, -4.47041, 4.0227, -1.7984, 0.00683, -4.47886, -0.46118, -4.45536, -0.27441, -4.47041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.0227, -1.7984, 0.00683, -4.47886, -0.46118, -4.45536, -0.27441, -4.47041 ] + }, + { "time": 1.4333 } + ] + }, + "front leg path": { + "front leg path": [ + { "time": 0.5666 }, + { + "time": 0.6333, + "vertices": [ 0.16365, -9.90768, 0, 0, -1.90419, 16.99049, 16.55858, -93.67209, 21.4361, -76.03694, -0.72391, -31.37989, 8.21379, -30.29725, -24.90732, 16.177, -28.83566, 5.62575, 82.90021, -63.82897, 0, 0, -39.50021, -13.99932 ] + }, + { + "time": 0.6999, + "vertices": [ 0.20397, -12.34891, 0, 0, -2.37338, 21.17691, 20.63858, -116.75268, 26.71791, -94.77227, -0.90228, -39.11182, 10.23765, -37.76242, -31.04443, 20.16297, -35.9407, 7.01193, 22.68159, 24.72714, 0, 0, -292.39255, -342.79443 ] + }, + { "time": 0.8 } + ] + } + } + } + } +} +} \ No newline at end of file diff --git a/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman.json.meta b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman.json.meta new file mode 100644 index 000000000..3e0b868cc --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman.json.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f1532150c1933c944b8fee0311da4401 +timeCreated: 1479532177 +licenseType: Free +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman_SkeletonData.asset b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman_SkeletonData.asset new file mode 100644 index 000000000..98cbf37b8 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman_SkeletonData.asset @@ -0,0 +1,22 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f1b3b4b945939a54ea0b23d3396115fb, type: 3} + m_Name: stretchyman_SkeletonData + m_EditorClassIdentifier: + atlasAssets: + - {fileID: 11400000, guid: 19fcd9c1051e4304eb095fe0dd2ae4bf, type: 2} + scale: 0.01 + skeletonJSON: {fileID: 4900000, guid: f1532150c1933c944b8fee0311da4401, type: 3} + fromAnimation: [] + toAnimation: [] + duration: [] + defaultMix: 0 + controller: {fileID: 0} diff --git a/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman_SkeletonData.asset.meta b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman_SkeletonData.asset.meta new file mode 100644 index 000000000..4de4f8491 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Strechyman/stretchyman_SkeletonData.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 162719d41016c854abf0355feb0e14e8 +timeCreated: 1479531822 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Spine/dragon.prefab b/spine-unity/Assets/Examples/Spine/dragon.prefab deleted file mode 100644 index 7c25866ff..000000000 --- a/spine-unity/Assets/Examples/Spine/dragon.prefab +++ /dev/null @@ -1,113 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &100000 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 400000} - - 33: {fileID: 3300000} - - 23: {fileID: 2300000} - - 114: {fileID: 11400000} - m_Layer: 0 - m_Name: dragon - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &400000 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 ---- !u!23 &2300000 -MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_Materials: - - {fileID: 2100000, guid: d58543c96f991934ca874395eb40222c, type: 2} - - {fileID: 2100000, guid: 3277fd5561d95724e83c6ca4a1dd28a4, type: 2} - - {fileID: 2100000, guid: d58543c96f991934ca874395eb40222c, type: 2} - - {fileID: 2100000, guid: 3277fd5561d95724e83c6ca4a1dd28a4, type: 2} - - {fileID: 2100000, guid: d58543c96f991934ca874395eb40222c, type: 2} - - {fileID: 2100000, guid: 3277fd5561d95724e83c6ca4a1dd28a4, type: 2} - - {fileID: 2100000, guid: d58543c96f991934ca874395eb40222c, type: 2} - - {fileID: 2100000, guid: 3277fd5561d95724e83c6ca4a1dd28a4, type: 2} - - {fileID: 2100000, guid: d58543c96f991934ca874395eb40222c, type: 2} - - {fileID: 2100000, guid: 3277fd5561d95724e83c6ca4a1dd28a4, type: 2} - - {fileID: 2100000, guid: d58543c96f991934ca874395eb40222c, type: 2} - - {fileID: 2100000, guid: 3277fd5561d95724e83c6ca4a1dd28a4, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &3300000 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Mesh: {fileID: 0} ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: 76506fa7fbeed084ab2dfb084648c628, type: 2} - initialSkinName: default - separatorSlotNames: [] - zSpacing: 0 - renderMeshes: 1 - immutableTriangles: 0 - pmaVertexColors: 1 - calculateNormals: 1 - calculateTangents: 0 - logErrors: 0 - disableRenderingOnOverride: 1 - _animationName: flying - loop: 1 - timeScale: 1 ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 100000} - m_IsPrefabParent: 1 diff --git a/spine-unity/Assets/Examples/Spine/dragon.prefab.meta b/spine-unity/Assets/Examples/Spine/dragon.prefab.meta deleted file mode 100644 index ac5528add..000000000 --- a/spine-unity/Assets/Examples/Spine/dragon.prefab.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: d51ed5943e10bcb4394b5eec480293f8 -NativeFormatImporter: - userData: diff --git a/spine-unity/Assets/Examples/Spine/eyes.prefab b/spine-unity/Assets/Examples/Spine/eyes.prefab deleted file mode 100644 index 42ef7d0d9..000000000 --- a/spine-unity/Assets/Examples/Spine/eyes.prefab +++ /dev/null @@ -1,102 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &100000 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 400000} - - 33: {fileID: 3300000} - - 23: {fileID: 2300000} - - 114: {fileID: 11400000} - m_Layer: 0 - m_Name: eyes - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &400000 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 ---- !u!23 &2300000 -MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_Materials: - - {fileID: 2100000, guid: 4f9d106a1e4d45b468b980311947a225, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &3300000 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Mesh: {fileID: 0} ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: ef2f009a37ff7ff42bc2a2f407ca9483, type: 2} - initialSkinName: default - separatorSlotNames: [] - zSpacing: 0 - renderMeshes: 1 - immutableTriangles: 0 - pmaVertexColors: 1 - calculateNormals: 0 - calculateTangents: 0 - logErrors: 0 - disableRenderingOnOverride: 1 - _animationName: - loop: 0 - timeScale: 1 ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 100000} - m_IsPrefabParent: 1 diff --git a/spine-unity/Assets/Examples/Spine/eyes.prefab.meta b/spine-unity/Assets/Examples/Spine/eyes.prefab.meta deleted file mode 100644 index 9bbd5716e..000000000 --- a/spine-unity/Assets/Examples/Spine/eyes.prefab.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: 370927d98ff6b024c96ea2935adb4efb -NativeFormatImporter: - userData: diff --git a/spine-unity/Assets/Examples/Spine/raptor.prefab b/spine-unity/Assets/Examples/Spine/raptor.prefab deleted file mode 100644 index bbab077da..000000000 --- a/spine-unity/Assets/Examples/Spine/raptor.prefab +++ /dev/null @@ -1,102 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &100000 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 400000} - - 33: {fileID: 3300000} - - 23: {fileID: 2300000} - - 114: {fileID: 11400000} - m_Layer: 0 - m_Name: raptor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &400000 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 ---- !u!23 &2300000 -MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_Materials: - - {fileID: 2100000, guid: 4e2feebfcaa26a54ab19f1ff3e0eae35, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &3300000 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Mesh: {fileID: 0} ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: 22c4b5e5a0fd9484d83b1aa705b9a54c, type: 2} - initialSkinName: default - separatorSlotNames: [] - zSpacing: 0 - renderMeshes: 1 - immutableTriangles: 0 - pmaVertexColors: 1 - calculateNormals: 0 - calculateTangents: 0 - logErrors: 0 - disableRenderingOnOverride: 1 - _animationName: - loop: 0 - timeScale: 1 ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 100000} - m_IsPrefabParent: 1 diff --git a/spine-unity/Assets/Examples/Spine/raptor.prefab.meta b/spine-unity/Assets/Examples/Spine/raptor.prefab.meta deleted file mode 100644 index 80943ffd6..000000000 --- a/spine-unity/Assets/Examples/Spine/raptor.prefab.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: 8179ddd20a15b8d4f85e42a9c6b3b319 -NativeFormatImporter: - userData: diff --git a/spine-unity/Assets/Examples/Spine/spineboy.prefab b/spine-unity/Assets/Examples/Spine/spineboy.prefab deleted file mode 100644 index da53e35e7..000000000 --- a/spine-unity/Assets/Examples/Spine/spineboy.prefab +++ /dev/null @@ -1,102 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &100000 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - serializedVersion: 4 - m_Component: - - 4: {fileID: 400000} - - 33: {fileID: 3300000} - - 23: {fileID: 2300000} - - 114: {fileID: 11400000} - m_Layer: 0 - m_Name: spineboy - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &400000 -Transform: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 ---- !u!23 &2300000 -MeshRenderer: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_Materials: - - {fileID: 2100000, guid: 4083cd422558e2540a62bbafb94f57b5, type: 2} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 1 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 ---- !u!33 &3300000 -MeshFilter: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Mesh: {fileID: 0} ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 100000} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} - m_Name: - m_EditorClassIdentifier: - skeletonDataAsset: {fileID: 11400000, guid: 44691b56ed7d1f04da0cbc2a52a91b8d, type: 2} - initialSkinName: default - separatorSlotNames: [] - zSpacing: 0 - renderMeshes: 1 - immutableTriangles: 0 - pmaVertexColors: 1 - calculateNormals: 0 - calculateTangents: 0 - logErrors: 0 - disableRenderingOnOverride: 1 - _animationName: - loop: 0 - timeScale: 1 ---- !u!1001 &100100000 -Prefab: - m_ObjectHideFlags: 1 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: [] - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 0} - m_RootGameObject: {fileID: 100000} - m_IsPrefabParent: 1 diff --git a/spine-unity/Assets/Examples/Spine/spineboy.prefab.meta b/spine-unity/Assets/Examples/Spine/spineboy.prefab.meta deleted file mode 100644 index e52d629c5..000000000 --- a/spine-unity/Assets/Examples/Spine/spineboy.prefab.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: ed853f063cea77148a02e1760747f8d5 -NativeFormatImporter: - userData: diff --git a/spine-unity/Assets/spine-unity/Asset Types/Editor/SkeletonDataAssetInspector.cs b/spine-unity/Assets/spine-unity/Asset Types/Editor/SkeletonDataAssetInspector.cs index cdbe5f440..a8e370250 100644 --- a/spine-unity/Assets/spine-unity/Asset Types/Editor/SkeletonDataAssetInspector.cs +++ b/spine-unity/Assets/spine-unity/Asset Types/Editor/SkeletonDataAssetInspector.cs @@ -78,6 +78,7 @@ namespace Spine.Unity.Editor { GUIStyle activePlayButtonStyle, idlePlayButtonStyle; readonly GUIContent DefaultMixLabel = new GUIContent("Default Mix Duration", "Sets 'SkeletonDataAsset.defaultMix' in the asset and 'AnimationState.data.defaultMix' at runtime load time."); + void OnEnable () { SpineEditorUtilities.ConfirmInitialization(); @@ -122,9 +123,9 @@ namespace Spine.Unity.Editor { } override public void OnInspectorGUI () { - // Lazy initialization { - // Accessing EditorStyles values in OnEnable during a recompile causes UnityEditor to throw null exceptions. (Unity 5.3.5) + + // Lazy initialization because accessing EditorStyles values in OnEnable during a recompile causes UnityEditor to throw null exceptions. (Unity 5.3.5) idlePlayButtonStyle = idlePlayButtonStyle ?? new GUIStyle(EditorStyles.miniButton); if (activePlayButtonStyle == null) { activePlayButtonStyle = new GUIStyle(idlePlayButtonStyle); @@ -135,27 +136,33 @@ namespace Spine.Unity.Editor { serializedObject.Update(); EditorGUILayout.LabelField(new GUIContent(target.name + " (SkeletonDataAsset)", SpineEditorUtilities.Icons.spine), EditorStyles.whiteLargeLabel); + if (m_skeletonData != null) { + EditorGUILayout.LabelField("(Drag and Drop to instantiate.)", EditorStyles.miniLabel); + } EditorGUI.BeginChangeCheck(); // SkeletonData using (new SpineInspectorUtility.BoxScope()) { - EditorGUILayout.LabelField("SkeletonData", EditorStyles.boldLabel); + using (new EditorGUILayout.HorizontalScope()) { + EditorGUILayout.LabelField("SkeletonData", EditorStyles.boldLabel); +// if (m_skeletonData != null) { +// var sd = m_skeletonData; +// string m = string.Format("{8} - {0} {1}\nBones: {2}\tConstraints: {5} IK + {6} Path + {7} Transform\nSlots: {3}\t\tSkins: {4}\n", +// sd.Version, string.IsNullOrEmpty(sd.Version) ? "" : "export", sd.Bones.Count, sd.Slots.Count, sd.Skins.Count, sd.IkConstraints.Count, sd.PathConstraints.Count, sd.TransformConstraints.Count, skeletonJSON.objectReferenceValue.name); +// EditorGUILayout.LabelField(new GUIContent("SkeletonData"), new GUIContent("+", m), EditorStyles.boldLabel); +// } + } + EditorGUILayout.PropertyField(skeletonJSON, new GUIContent(skeletonJSON.displayName, SpineEditorUtilities.Icons.spine)); EditorGUILayout.PropertyField(scale); - -// if (m_skeletonData != null) { -// var sd = m_skeletonData; -// using (new GUILayout.HorizontalScope()) { -// GUILayout.Space(15f); -// GUILayout.Label( -// string.Format("{8} - {0} {1}\nBones: {2}\tConstraints: {5} IK + {6} Path + {7} Transform\nSlots: {3}\t\tSkins: {4}\n", -// sd.Version, string.IsNullOrEmpty(sd.Version) ? "" : "export", sd.Bones.Count, sd.Slots.Count, sd.Skins.Count, sd.IkConstraints.Count, sd.PathConstraints.Count, sd.TransformConstraints.Count, skeletonJSON.objectReferenceValue.name), -// SpineInspectorUtility.GrayMiniLabel); -// } -// } } +// if (m_skeletonData != null) { +// if (SpineInspectorUtility.CenteredButton(new GUIContent("Instantiate", SpineEditorUtilities.Icons.spine, "Creates a new Spine GameObject in the active scene using this Skeleton Data.\nYou can also instantiate by dragging the SkeletonData asset from Project view into Scene View."))) +// SpineEditorUtilities.ShowInstantiateContextMenu(this.m_skeletonDataAsset, Vector3.zero); +// } + // Atlas using (new SpineInspectorUtility.BoxScope()) { EditorGUILayout.LabelField("Atlas", EditorStyles.boldLabel); @@ -186,7 +193,8 @@ namespace Spine.Unity.Editor { // If m_skeletonAnimation is lazy-instantiated elsewhere, this can cause contents to change between Layout and Repaint events, causing GUILayout control count errors. InitPreview(); if (m_skeletonData != null) { - + GUILayout.Space(20f); + using (new SpineInspectorUtility.BoxScope()) { EditorGUILayout.LabelField("Mix Settings", EditorStyles.boldLabel); DrawAnimationStateInfo(); diff --git a/spine-unity/Assets/spine-unity/Editor/SpineAttributeDrawers.cs b/spine-unity/Assets/spine-unity/Editor/SpineAttributeDrawers.cs index e363cd87e..a962b7863 100644 --- a/spine-unity/Assets/spine-unity/Editor/SpineAttributeDrawers.cs +++ b/spine-unity/Assets/spine-unity/Editor/SpineAttributeDrawers.cs @@ -322,17 +322,21 @@ namespace Spine.Unity.Editor { [CustomPropertyDrawer(typeof(SpineAtlasRegion))] public class SpineAtlasRegionDrawer : PropertyDrawer { - Component component; SerializedProperty atlasProp; + protected SpineAtlasRegion TargetAttribute { get { return (SpineAtlasRegion)attribute; } } + public override void OnGUI (Rect position, SerializedProperty property, GUIContent label) { if (property.propertyType != SerializedPropertyType.String) { EditorGUI.LabelField(position, "ERROR:", "May only apply to type string"); return; } + + string atlasAssetFieldName = TargetAttribute.atlasAssetField; + if (string.IsNullOrEmpty(atlasAssetFieldName)) + atlasAssetFieldName = "atlasAsset"; - component = (Component)property.serializedObject.targetObject; - atlasProp = component != null ? property.serializedObject.FindProperty("atlasAsset") : null; + atlasProp = property.serializedObject.FindProperty(atlasAssetFieldName); if (atlasProp == null) { EditorGUI.LabelField(position, "ERROR:", "Must have AtlasAsset variable!"); diff --git a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs index f4301d9ba..261227738 100644 --- a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs +++ b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs @@ -321,48 +321,51 @@ namespace Spine.Unity.Editor { Plane plane = (rectTransform == null) ? new Plane(Vector3.back, Vector3.zero) : new Plane(-rectTransform.forward, rectTransform.position); Vector3 spawnPoint = MousePointToWorldPoint2D(mousePos, sceneview.camera, plane); - var menu = new GenericMenu(); - // SkeletonAnimation - menu.AddItem(new GUIContent("SkeletonAnimation"), false, HandleSkeletonComponentDrop, new SpawnMenuData { - skeletonDataAsset = skeletonDataAsset, - spawnPoint = spawnPoint, - instantiateDelegate = (data) => InstantiateSkeletonAnimation(data), - isUI = false - }); - - // SkeletonGraphic - var skeletonGraphicInspectorType = System.Type.GetType("Spine.Unity.Editor.SkeletonGraphicInspector"); - if (skeletonGraphicInspectorType != null) { - var graphicInstantiateDelegate = skeletonGraphicInspectorType.GetMethod("SpawnSkeletonGraphicFromDrop", BindingFlags.Static | BindingFlags.Public); - if (graphicInstantiateDelegate != null) - menu.AddItem(new GUIContent("SkeletonGraphic (UI)"), false, HandleSkeletonComponentDrop, new SpawnMenuData { - skeletonDataAsset = skeletonDataAsset, - spawnPoint = spawnPoint, - instantiateDelegate = System.Delegate.CreateDelegate(typeof(InstantiateDelegate), graphicInstantiateDelegate) as InstantiateDelegate, - isUI = true - }); - } - - - #if SPINE_SKELETONANIMATOR - menu.AddSeparator(""); - // SkeletonAnimator - menu.AddItem(new GUIContent("SkeletonAnimator"), false, HandleSkeletonComponentDrop, new SpawnMenuData { - skeletonDataAsset = skeletonDataAsset, - spawnPoint = spawnPoint, - instantiateDelegate = (data) => InstantiateSkeletonAnimator(data) - }); - #endif - - menu.ShowAsContext(); + ShowInstantiateContextMenu(skeletonDataAsset, spawnPoint); } } - } } } + public static void ShowInstantiateContextMenu (SkeletonDataAsset skeletonDataAsset, Vector3 spawnPoint) { + var menu = new GenericMenu(); + + // SkeletonAnimation + menu.AddItem(new GUIContent("SkeletonAnimation"), false, HandleSkeletonComponentDrop, new SpawnMenuData { + skeletonDataAsset = skeletonDataAsset, + spawnPoint = spawnPoint, + instantiateDelegate = (data) => InstantiateSkeletonAnimation(data), + isUI = false + }); + + // SkeletonGraphic + var skeletonGraphicInspectorType = System.Type.GetType("Spine.Unity.Editor.SkeletonGraphicInspector"); + if (skeletonGraphicInspectorType != null) { + var graphicInstantiateDelegate = skeletonGraphicInspectorType.GetMethod("SpawnSkeletonGraphicFromDrop", BindingFlags.Static | BindingFlags.Public); + if (graphicInstantiateDelegate != null) + menu.AddItem(new GUIContent("SkeletonGraphic (UI)"), false, HandleSkeletonComponentDrop, new SpawnMenuData { + skeletonDataAsset = skeletonDataAsset, + spawnPoint = spawnPoint, + instantiateDelegate = System.Delegate.CreateDelegate(typeof(InstantiateDelegate), graphicInstantiateDelegate) as InstantiateDelegate, + isUI = true + }); + } + + #if SPINE_SKELETONANIMATOR + menu.AddSeparator(""); + // SkeletonAnimator + menu.AddItem(new GUIContent("SkeletonAnimator"), false, HandleSkeletonComponentDrop, new SpawnMenuData { + skeletonDataAsset = skeletonDataAsset, + spawnPoint = spawnPoint, + instantiateDelegate = (data) => InstantiateSkeletonAnimator(data) + }); + #endif + + menu.ShowAsContext(); + } + public static void HandleSkeletonComponentDrop (object menuData) { var data = (SpawnMenuData)menuData; @@ -379,7 +382,7 @@ namespace Spine.Unity.Editor { var transform = newGameObject.transform; var activeGameObject = Selection.activeGameObject; - if (activeGameObject != null) + if (isUI && activeGameObject != null) transform.SetParent(activeGameObject.transform, false); newGameObject.transform.position = isUI ? data.spawnPoint : RoundVector(data.spawnPoint, 2); diff --git a/spine-unity/Assets/spine-unity/Editor/SpineInspectorUtility.cs b/spine-unity/Assets/spine-unity/Editor/SpineInspectorUtility.cs index 57bdd4a0c..427cff43f 100644 --- a/spine-unity/Assets/spine-unity/Editor/SpineInspectorUtility.cs +++ b/spine-unity/Assets/spine-unity/Editor/SpineInspectorUtility.cs @@ -169,6 +169,21 @@ namespace Spine.Unity.Editor { return GUILayout.Button(content, GUILayout.MaxWidth(CenterButtonMaxWidth), GUILayout.Height(CenterButtonHeight)); } } + + public static bool CenteredButton (GUIContent content, float height = 20f, bool sideSpace = true) { + if (sideSpace) { + bool clicked; + using (new EditorGUILayout.HorizontalScope()) { + EditorGUILayout.Space(); + clicked = GUILayout.Button(content, GUILayout.MaxWidth(CenterButtonMaxWidth), GUILayout.Height(height)); + EditorGUILayout.Space(); + } + EditorGUILayout.Space(); + return clicked; + } else { + return GUILayout.Button(content, GUILayout.MaxWidth(CenterButtonMaxWidth), GUILayout.Height(height)); + } + } #endregion #region Multi-Editing Helpers diff --git a/spine-unity/Assets/spine-unity/Modules/AtlasRegionAttacher.cs b/spine-unity/Assets/spine-unity/Modules/AttachmentTools/AtlasRegionAttacher.cs similarity index 80% rename from spine-unity/Assets/spine-unity/Modules/AtlasRegionAttacher.cs rename to spine-unity/Assets/spine-unity/Modules/AttachmentTools/AtlasRegionAttacher.cs index 95db51cf0..f301014f1 100644 --- a/spine-unity/Assets/spine-unity/Modules/AtlasRegionAttacher.cs +++ b/spine-unity/Assets/spine-unity/Modules/AttachmentTools/AtlasRegionAttacher.cs @@ -1,80 +1,72 @@ -/****************************************************************************** - * Spine Runtimes Software License v2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEngine; -using System.Collections; -using Spine; - -namespace Spine.Unity.Modules { - public class AtlasRegionAttacher : MonoBehaviour { - - [System.Serializable] - public class SlotRegionPair { - [SpineSlot] - public string slot; - - [SpineAtlasRegion] - public string region; - } - - public AtlasAsset atlasAsset; - public SlotRegionPair[] attachments; - - Atlas atlas; - - void Awake () { - GetComponent().OnRebuild += Apply; - } - - - void Apply (SkeletonRenderer skeletonRenderer) { - atlas = atlasAsset.GetAtlas(); - - AtlasAttachmentLoader loader = new AtlasAttachmentLoader(atlas); - - float scaleMultiplier = skeletonRenderer.skeletonDataAsset.scale; - - var enumerator = attachments.GetEnumerator(); - while (enumerator.MoveNext()) { - var entry = (SlotRegionPair)enumerator.Current; - var regionAttachment = loader.NewRegionAttachment(null, entry.region, entry.region); - regionAttachment.Width = regionAttachment.RegionOriginalWidth * scaleMultiplier; - regionAttachment.Height = regionAttachment.RegionOriginalHeight * scaleMultiplier; - - regionAttachment.SetColor(new Color(1, 1, 1, 1)); - regionAttachment.UpdateOffset(); - - var slot = skeletonRenderer.skeleton.FindSlot(entry.slot); - slot.Attachment = regionAttachment; - } - } - - } -} +/****************************************************************************** + * Spine Runtimes Software License v2.5 + * + * Copyright (c) 2013-2016, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable, and + * non-transferable license to use, install, execute, and perform the Spine + * Runtimes software and derivative works solely for personal or internal + * use. Without the written permission of Esoteric Software (see Section 2 of + * the Spine Software License Agreement), you may not (a) modify, translate, + * adapt, or develop new applications using the Spine Runtimes or otherwise + * create derivative works or improvements of the Spine Runtimes or (b) remove, + * delete, alter, or obscure any trademarks or any copyright, trademark, patent, + * or other intellectual property or proprietary rights notices on or in the + * Software, including any copy thereof. Redistributions in binary or source + * form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF + * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER + * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +using UnityEngine; +using System.Collections; +using Spine; +using Spine.Unity.Modules.AttachmentTools; + +namespace Spine.Unity.Modules { + public class AtlasRegionAttacher : MonoBehaviour { + + [System.Serializable] + public class SlotRegionPair { + [SpineSlot] + public string slot; + + [SpineAtlasRegion] + public string region; + } + + public AtlasAsset atlasAsset; + public SlotRegionPair[] attachments; + + Atlas atlas; + + void Awake () { + GetComponent().OnRebuild += Apply; + } + + void Apply (SkeletonRenderer skeletonRenderer) { + atlas = atlasAsset.GetAtlas(); + float scale = skeletonRenderer.skeletonDataAsset.scale; + + var enumerator = attachments.GetEnumerator(); + while (enumerator.MoveNext()) { + var entry = (SlotRegionPair)enumerator.Current; + + var slot = skeletonRenderer.skeleton.FindSlot(entry.slot); + var region = atlas.FindRegion(entry.region); + slot.Attachment = region.ToRegionAttachment(entry.region, scale); + } + } + + } +} diff --git a/spine-unity/Assets/spine-unity/Modules/AtlasRegionAttacher.cs.meta b/spine-unity/Assets/spine-unity/Modules/AttachmentTools/AtlasRegionAttacher.cs.meta similarity index 100% rename from spine-unity/Assets/spine-unity/Modules/AtlasRegionAttacher.cs.meta rename to spine-unity/Assets/spine-unity/Modules/AttachmentTools/AtlasRegionAttacher.cs.meta diff --git a/spine-unity/Assets/spine-unity/Modules/AttachmentTools/AttachmentTools.cs b/spine-unity/Assets/spine-unity/Modules/AttachmentTools/AttachmentTools.cs index 681546923..09d7e3c08 100644 --- a/spine-unity/Assets/spine-unity/Modules/AttachmentTools/AttachmentTools.cs +++ b/spine-unity/Assets/spine-unity/Modules/AttachmentTools/AttachmentTools.cs @@ -146,12 +146,6 @@ namespace Spine.Unity.Modules.AttachmentTools { // (AtlasAttachmentLoader.cs) var attachment = new RegionAttachment(attachmentName); - attachment.scaleX = 1; - attachment.scaleY = 1; - attachment.SetColor(Color.white); - attachment.width = region.width * scale; - attachment.height = region.height * scale; - attachment.RendererObject = region; attachment.SetUVs(region.u, region.v, region.u2, region.v2, region.rotate); attachment.regionOffsetX = region.offsetX; @@ -161,9 +155,48 @@ namespace Spine.Unity.Modules.AttachmentTools { attachment.regionOriginalWidth = region.originalWidth; attachment.regionOriginalHeight = region.originalHeight; + attachment.Path = region.name; + attachment.scaleX = 1; + attachment.scaleY = 1; + attachment.rotation = 0; + + // pass OriginalWidth and OriginalHeight because UpdateOffset uses it in its calculation. + attachment.width = attachment.regionOriginalWidth * scale; + attachment.height = attachment.regionOriginalHeight * scale; + + attachment.SetColor(Color.white); attachment.UpdateOffset(); return attachment; } + + /// Sets the scale. Call regionAttachment.UpdateOffset to apply the change. + public static void SetScale (this RegionAttachment regionAttachment, Vector2 scale) { + regionAttachment.scaleX = scale.x; + regionAttachment.scaleY = scale.y; + } + + /// Sets the scale. Call regionAttachment.UpdateOffset to apply the change. + public static void SetScale (this RegionAttachment regionAttachment, float x, float y) { + regionAttachment.scaleX = x; + regionAttachment.scaleY = y; + } + + /// Sets the position offset. Call regionAttachment.UpdateOffset to apply the change. + public static void SetPositionOffset (this RegionAttachment regionAttachment, Vector2 offset) { + regionAttachment.x = offset.x; + regionAttachment.y = offset.y; + } + + /// Sets the position offset. Call regionAttachment.UpdateOffset to apply the change. + public static void SetPositionOffset (this RegionAttachment regionAttachment, float x, float y) { + regionAttachment.x = x; + regionAttachment.y = y; + } + + /// Sets the rotation. Call regionAttachment.UpdateOffset to apply the change. + public static void SetRotation (this RegionAttachment regionAttachment, float rotation) { + regionAttachment.rotation = rotation; + } #endregion } @@ -265,9 +298,9 @@ namespace Spine.Unity.Modules.AttachmentTools { /// /// Creates and populates a duplicate skin with cloned attachments that are backed by a new packed texture atlas comprised of all the regions from the original skin. /// No Spine.Atlas object is created so there is no way to find AtlasRegions except through the Attachments using them. - public static Skin GetRepackedSkin (this Skin o, string skinName, Shader shader, out Material m, out Texture2D t, int maxAtlasSize = 1024, int padding = 2) { + public static Skin GetRepackedSkin (this Skin o, string newName, Shader shader, out Material m, out Texture2D t, int maxAtlasSize = 1024, int padding = 2) { var skinAttachments = o.Attachments; - var newSkin = new Skin(skinName); + var newSkin = new Skin(newName); var repackedAttachments = new List(); var texturesToPack = new List(); @@ -282,14 +315,14 @@ namespace Spine.Unity.Modules.AttachmentTools { } var newTexture = new Texture2D(maxAtlasSize, maxAtlasSize); - newTexture.name = skinName; + newTexture.name = newName; var rects = newTexture.PackTextures(texturesToPack.ToArray(), padding, maxAtlasSize); var newMaterial = new Material(shader); - newMaterial.name = skinName; + newMaterial.name = newName; newMaterial.mainTexture = newTexture; var page = newMaterial.ToSpineAtlasPage(); - page.name = skinName; + page.name = newName; for (int i = 0, n = repackedAttachments.Count; i < n; i++) { var a = repackedAttachments[i]; @@ -308,13 +341,11 @@ namespace Spine.Unity.Modules.AttachmentTools { return Sprite.Create(ar.GetMainTexture(), ar.GetUnityRect(), new Vector2(0.5f, 0.5f), pixelsPerUnit); } - static Texture2D ToTexture (this AtlasRegion ar, bool applyImmediately = true) { + internal static Texture2D ToTexture (this AtlasRegion ar, bool applyImmediately = true) { Texture2D sourceTexture = ar.GetMainTexture(); - - Texture2D output = new Texture2D(ar.width, ar.height); - output.name = ar.name; - Rect r = ar.GetUnityRect(sourceTexture.height); + Texture2D output = new Texture2D((int)r.width, (int)r.height); + output.name = ar.name; Color[] pixelBuffer = sourceTexture.GetPixels((int)r.x, (int)r.y, (int)r.width, (int)r.height); output.SetPixels(pixelBuffer); @@ -327,7 +358,7 @@ namespace Spine.Unity.Modules.AttachmentTools { static Texture2D ToTexture (this Sprite s, bool applyImmediately = true) { var spriteTexture = s.texture; var r = s.textureRect; - var spritePixels = spriteTexture.GetPixels((int)r.x, (int)r.y, (int)r.width, (int)r.height); // TODO: Test + var spritePixels = spriteTexture.GetPixels((int)r.x, (int)r.y, (int)r.width, (int)r.height); var newTexture = new Texture2D((int)r.width, (int)r.height); newTexture.SetPixels(spritePixels); @@ -363,8 +394,11 @@ namespace Spine.Unity.Modules.AttachmentTools { /// /// Returns a Rect of the AtlasRegion according to Spine texture coordinates. (x-right, y-down) - static Rect GetSpineAtlasRect (this AtlasRegion region) { - return new Rect(region.x, region.y, region.width, region.height); + static Rect GetSpineAtlasRect (this AtlasRegion region, bool includeRotate = true) { + if (includeRotate && region.rotate) + return new Rect(region.x, region.y, region.height, region.width); + else + return new Rect(region.x, region.y, region.width, region.height); } /// @@ -484,7 +518,9 @@ namespace Spine.Unity.Modules.AttachmentTools { if (includeDefaultSkin) defaultSkin.CopyTo(newSkin, true, cloneAttachments, cloneMeshesAsLinked); - activeSkin.CopyTo(newSkin, true, cloneAttachments, cloneMeshesAsLinked); + + if (activeSkin != null) + activeSkin.CopyTo(newSkin, true, cloneAttachments, cloneMeshesAsLinked); return newSkin; } diff --git a/spine-unity/Assets/spine-unity/Modules/AttachmentTools/SpriteAttacher.cs b/spine-unity/Assets/spine-unity/Modules/AttachmentTools/SpriteAttacher.cs new file mode 100644 index 000000000..bfcec6cda --- /dev/null +++ b/spine-unity/Assets/spine-unity/Modules/AttachmentTools/SpriteAttacher.cs @@ -0,0 +1,112 @@ +/****************************************************************************** + * Spine Runtimes Software License v2.5 + * + * Copyright (c) 2013-2016, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable, and + * non-transferable license to use, install, execute, and perform the Spine + * Runtimes software and derivative works solely for personal or internal + * use. Without the written permission of Esoteric Software (see Section 2 of + * the Spine Software License Agreement), you may not (a) modify, translate, + * adapt, or develop new applications using the Spine Runtimes or otherwise + * create derivative works or improvements of the Spine Runtimes or (b) remove, + * delete, alter, or obscure any trademarks or any copyright, trademark, patent, + * or other intellectual property or proprietary rights notices on or in the + * Software, including any copy thereof. Redistributions in binary or source + * form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF + * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER + * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +// Contributed by: Mitch Thompson + +using UnityEngine; +using System.Collections.Generic; +using Spine.Unity.Modules.AttachmentTools; + +namespace Spine.Unity.Modules { + public class SpriteAttacher : MonoBehaviour { + public const string DefaultPMAShader = "Spine/Skeleton"; + public const string DefaultStraightAlphaShader = "Sprites/Default"; + + #region Inspector + public bool attachOnStart = true; + public Sprite sprite; + [SpineSlot] public string slot; + #endregion + + RegionAttachment attachment; + bool applyPMA; + + Dictionary atlasPageCache = new Dictionary(); + AtlasPage GetPageFor (Texture texture, Shader shader) { + AtlasPage atlasPage; + atlasPageCache.TryGetValue(texture, out atlasPage); + if (atlasPage == null) { + var newMaterial = new Material(shader); + atlasPage = newMaterial.ToSpineAtlasPage(); + atlasPageCache[texture] = atlasPage; + } + return atlasPage; + } + + void Start () { + if (attachOnStart) Attach(); + } + + public void Attach () { + var skeletonComponent = GetComponent(); + var skeletonRenderer = skeletonComponent as SkeletonRenderer; + if (skeletonRenderer != null) + this.applyPMA = skeletonRenderer.pmaVertexColors; + else { + var skeletonGraphic = skeletonComponent as SkeletonGraphic; + if (skeletonGraphic != null) + this.applyPMA = skeletonGraphic.SpineMeshGenerator.PremultiplyVertexColors; + } + + Shader attachmentShader = applyPMA ? Shader.Find(DefaultPMAShader) : Shader.Find(DefaultStraightAlphaShader); + attachment = applyPMA ? sprite.ToRegionAttachmentPMAClone(attachmentShader) : sprite.ToRegionAttachment(GetPageFor(sprite.texture, attachmentShader)); + skeletonComponent.Skeleton.FindSlot(slot).Attachment = attachment; + } + } + + public static class SpriteAttachmentExtensions { + public static RegionAttachment AttachUnitySprite (this Skeleton skeleton, string slotName, Sprite sprite, string shaderName = SpriteAttacher.DefaultPMAShader, bool applyPMA = true) { + return skeleton.AttachUnitySprite(slotName, sprite, Shader.Find(shaderName), applyPMA); + } + + public static RegionAttachment AddUnitySprite (this SkeletonData skeletonData, string slotName, Sprite sprite, string skinName = "", string shaderName = SpriteAttacher.DefaultPMAShader, bool applyPMA = true) { + return skeletonData.AddUnitySprite(slotName, sprite, skinName, Shader.Find(shaderName), applyPMA); + } + + public static RegionAttachment AttachUnitySprite (this Skeleton skeleton, string slotName, Sprite sprite, Shader shader, bool applyPMA) { + RegionAttachment att = applyPMA ? sprite.ToRegionAttachmentPMAClone(shader) : sprite.ToRegionAttachment(new Material(shader)); + skeleton.FindSlot(slotName).Attachment = att; + return att; + } + + public static RegionAttachment AddUnitySprite (this SkeletonData skeletonData, string slotName, Sprite sprite, string skinName, Shader shader, bool applyPMA) { + RegionAttachment att = applyPMA ? sprite.ToRegionAttachmentPMAClone(shader) : sprite.ToRegionAttachment(new Material(shader)); + + var slotIndex = skeletonData.FindSlotIndex(slotName); + Skin skin = skeletonData.defaultSkin; + if (skinName != "") + skin = skeletonData.FindSkin(skinName); + + skin.AddAttachment(slotIndex, att.Name, att); + + return att; + } + } +} diff --git a/spine-unity/Assets/spine-unity/Modules/SpriteAttacher.cs.meta b/spine-unity/Assets/spine-unity/Modules/AttachmentTools/SpriteAttacher.cs.meta similarity index 100% rename from spine-unity/Assets/spine-unity/Modules/SpriteAttacher.cs.meta rename to spine-unity/Assets/spine-unity/Modules/AttachmentTools/SpriteAttacher.cs.meta diff --git a/spine-unity/Assets/spine-unity/Modules/CustomSkin.meta b/spine-unity/Assets/spine-unity/Modules/CustomSkin.meta new file mode 100644 index 000000000..3ddb7300b --- /dev/null +++ b/spine-unity/Assets/spine-unity/Modules/CustomSkin.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8a12beee9c82d2b44910dca725d9bfed +folderAsset: yes +timeCreated: 1480099262 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/spine-unity/Modules/CustomSkin.cs b/spine-unity/Assets/spine-unity/Modules/CustomSkin/CustomSkin.cs similarity index 97% rename from spine-unity/Assets/spine-unity/Modules/CustomSkin.cs rename to spine-unity/Assets/spine-unity/Modules/CustomSkin/CustomSkin.cs index f175015ac..319c4837a 100644 --- a/spine-unity/Assets/spine-unity/Modules/CustomSkin.cs +++ b/spine-unity/Assets/spine-unity/Modules/CustomSkin/CustomSkin.cs @@ -1,83 +1,83 @@ -/****************************************************************************** - * Spine Runtimes Software License v2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -using UnityEngine; -using Spine; -using Spine.Unity; - -namespace Spine.Unity.Modules { - public class CustomSkin : MonoBehaviour { - - [System.Serializable] - public class SkinPair { - /// SpineAttachment attachment path to help find the attachment. - /// This use of SpineAttachment generates an attachment path string that can only be used by SpineAttachment.GetAttachment. - [SpineAttachment(currentSkinOnly: false, returnAttachmentPath: true, dataField: "skinSource")] - [UnityEngine.Serialization.FormerlySerializedAs("sourceAttachment")] - public string sourceAttachmentPath; - - [SpineSlot] - public string targetSlot; - - /// The name of the skin placeholder/skin dictionary entry this attachment should be associated with. - /// This name is used by the skin dictionary, used in the method Skin.AddAttachment as well as setting a slot attachment - [SpineAttachment(currentSkinOnly: true, placeholdersOnly: true)] - public string targetAttachment; - } - - #region Inspector - public SkeletonDataAsset skinSource; - - [UnityEngine.Serialization.FormerlySerializedAs("skinning")] - public SkinPair[] skinItems; - - public Skin customSkin; - #endregion - - SkeletonRenderer skeletonRenderer; - - void Start () { - skeletonRenderer = GetComponent(); - Skeleton skeleton = skeletonRenderer.skeleton; - - customSkin = new Skin("CustomSkin"); - - foreach (var pair in skinItems) { - var attachment = SpineAttachment.GetAttachment(pair.sourceAttachmentPath, skinSource); - customSkin.AddAttachment(skeleton.FindSlotIndex(pair.targetSlot), pair.targetAttachment, attachment); - } - - // The custom skin does not need to be added to the skeleton data for it to work. - // But it's useful for your script to keep a reference to it. - skeleton.SetSkin(customSkin); - } - } - -} +/****************************************************************************** + * Spine Runtimes Software License v2.5 + * + * Copyright (c) 2013-2016, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable, and + * non-transferable license to use, install, execute, and perform the Spine + * Runtimes software and derivative works solely for personal or internal + * use. Without the written permission of Esoteric Software (see Section 2 of + * the Spine Software License Agreement), you may not (a) modify, translate, + * adapt, or develop new applications using the Spine Runtimes or otherwise + * create derivative works or improvements of the Spine Runtimes or (b) remove, + * delete, alter, or obscure any trademarks or any copyright, trademark, patent, + * or other intellectual property or proprietary rights notices on or in the + * Software, including any copy thereof. Redistributions in binary or source + * form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF + * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER + * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +using UnityEngine; +using Spine; +using Spine.Unity; + +namespace Spine.Unity.Modules { + public class CustomSkin : MonoBehaviour { + + [System.Serializable] + public class SkinPair { + /// SpineAttachment attachment path to help find the attachment. + /// This use of SpineAttachment generates an attachment path string that can only be used by SpineAttachment.GetAttachment. + [SpineAttachment(currentSkinOnly: false, returnAttachmentPath: true, dataField: "skinSource")] + [UnityEngine.Serialization.FormerlySerializedAs("sourceAttachment")] + public string sourceAttachmentPath; + + [SpineSlot] + public string targetSlot; + + /// The name of the skin placeholder/skin dictionary entry this attachment should be associated with. + /// This name is used by the skin dictionary, used in the method Skin.AddAttachment as well as setting a slot attachment + [SpineAttachment(currentSkinOnly: true, placeholdersOnly: true)] + public string targetAttachment; + } + + #region Inspector + public SkeletonDataAsset skinSource; + + [UnityEngine.Serialization.FormerlySerializedAs("skinning")] + public SkinPair[] skinItems; + + public Skin customSkin; + #endregion + + SkeletonRenderer skeletonRenderer; + + void Start () { + skeletonRenderer = GetComponent(); + Skeleton skeleton = skeletonRenderer.skeleton; + + customSkin = new Skin("CustomSkin"); + + foreach (var pair in skinItems) { + var attachment = SpineAttachment.GetAttachment(pair.sourceAttachmentPath, skinSource); + customSkin.AddAttachment(skeleton.FindSlotIndex(pair.targetSlot), pair.targetAttachment, attachment); + } + + // The custom skin does not need to be added to the skeleton data for it to work. + // But it's useful for your script to keep a reference to it. + skeleton.SetSkin(customSkin); + } + } + +} diff --git a/spine-unity/Assets/spine-unity/Modules/CustomSkin.cs.meta b/spine-unity/Assets/spine-unity/Modules/CustomSkin/CustomSkin.cs.meta similarity index 100% rename from spine-unity/Assets/spine-unity/Modules/CustomSkin.cs.meta rename to spine-unity/Assets/spine-unity/Modules/CustomSkin/CustomSkin.cs.meta diff --git a/spine-unity/Assets/spine-unity/Modules/Shaders/Sprite/Editor/SpineSpriteShaderGUI.cs b/spine-unity/Assets/spine-unity/Modules/Shaders/Sprite/Editor/SpineSpriteShaderGUI.cs index 42377ac29..43d368d05 100644 --- a/spine-unity/Assets/spine-unity/Modules/Shaders/Sprite/Editor/SpineSpriteShaderGUI.cs +++ b/spine-unity/Assets/spine-unity/Modules/Shaders/Sprite/Editor/SpineSpriteShaderGUI.cs @@ -267,7 +267,7 @@ public class SpineSpriteShaderGUI : ShaderGUI { protected virtual void RenderTextureProperties (string label, Material material) { if (showAdvanced) Heading(label); - + _materialEditor.TexturePropertySingleLine(new GUIContent(showAdvanced ? "Albedo" : "Main Texture"), _mainTexture, _color); if (_bumpMap != null) @@ -291,15 +291,6 @@ public class SpineSpriteShaderGUI : ShaderGUI { // _materialEditor.TextureScaleOffsetProperty(_mainTexture); } - protected virtual void RenderDepthProperties (string label, Material material) { - - - } - - protected virtual void RenderNormalsProperties (string label, Material material) { - - } - bool UseMeshNormalsCheckbox (Material material) { EditorGUI.BeginChangeCheck(); bool fixedNormals = material.IsKeywordEnabled("_FIXED_NORMALS"); diff --git a/spine-unity/Assets/spine-unity/Modules/SkeletonGraphic/Shaders/SkeletonGraphicDefault.mat b/spine-unity/Assets/spine-unity/Modules/SkeletonGraphic/Shaders/SkeletonGraphicDefault.mat index 132bc088e..a8d591f48 100644 Binary files a/spine-unity/Assets/spine-unity/Modules/SkeletonGraphic/Shaders/SkeletonGraphicDefault.mat and b/spine-unity/Assets/spine-unity/Modules/SkeletonGraphic/Shaders/SkeletonGraphicDefault.mat differ diff --git a/spine-unity/Assets/spine-unity/Modules/SpriteAttacher.cs b/spine-unity/Assets/spine-unity/Modules/SpriteAttacher.cs deleted file mode 100644 index 5f01c47f1..000000000 --- a/spine-unity/Assets/spine-unity/Modules/SpriteAttacher.cs +++ /dev/null @@ -1,261 +0,0 @@ -/****************************************************************************** - * Spine Runtimes Software License v2.5 - * - * Copyright (c) 2013-2016, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable, and - * non-transferable license to use, install, execute, and perform the Spine - * Runtimes software and derivative works solely for personal or internal - * use. Without the written permission of Esoteric Software (see Section 2 of - * the Spine Software License Agreement), you may not (a) modify, translate, - * adapt, or develop new applications using the Spine Runtimes or otherwise - * create derivative works or improvements of the Spine Runtimes or (b) remove, - * delete, alter, or obscure any trademarks or any copyright, trademark, patent, - * or other intellectual property or proprietary rights notices on or in the - * Software, including any copy thereof. Redistributions in binary or source - * form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF - * USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -// Contributed by: Mitch Thompson - -using UnityEngine; -using System.Collections.Generic; -using Spine; - -namespace Spine.Unity.Modules { - public class SpriteAttacher : MonoBehaviour { - public const string DefaultPMAShader = "Spine/Skeleton"; - public const string DefaultStraightAlphaShader = "Sprites/Default"; - - #region Inspector - public bool attachOnStart = true; - public bool keepLoaderInMemory = true; - public Sprite sprite; - - [SpineSlot] - public string slot; - #endregion - - private SpriteAttachmentLoader loader; - private RegionAttachment attachment; - private bool applyPMA; - - void Start () { - if (attachOnStart) - Attach(); - } - - public void Attach () { - var skeletonComponent = GetComponent(); - - var skeletonRenderer = skeletonComponent as SkeletonRenderer; - if (skeletonRenderer != null) - this.applyPMA = skeletonRenderer.pmaVertexColors; - else { - var skeletonGraphic = skeletonComponent as SkeletonGraphic; - if (skeletonGraphic != null) - this.applyPMA = skeletonGraphic.SpineMeshGenerator.PremultiplyVertexColors; - } - - Shader attachmentShader = applyPMA ? Shader.Find(DefaultPMAShader) : Shader.Find(DefaultStraightAlphaShader); - - loader = loader ?? new SpriteAttachmentLoader(sprite, attachmentShader, applyPMA); - - if (attachment == null) - attachment = loader.NewRegionAttachment(null, sprite.name, ""); - - skeletonComponent.Skeleton.FindSlot(slot).Attachment = attachment; - - if (!keepLoaderInMemory) - loader = null; - } - } - - public class SpriteAttachmentLoader : AttachmentLoader { - //IMPORTANT: Make sure you clear this when you don't need it anymore. Goodluck. - static public Dictionary atlasTable = new Dictionary(); - - static public List premultipliedAtlasIds = new List(); - - Sprite sprite; - Shader shader; - //bool applyPMA; - - public SpriteAttachmentLoader (Sprite sprite, Shader shader, bool applyPMA) { - if (sprite.packed && sprite.packingMode == SpritePackingMode.Tight) { - Debug.LogError("Tight Packer Policy not supported yet!"); - return; - } - - this.sprite = sprite; - this.shader = shader; - //this.applyPMA = applyPMA; - - if (applyPMA) { - try { - Texture2D texture = sprite.texture; - int instanceId = texture.GetInstanceID(); - if (!premultipliedAtlasIds.Contains(instanceId)) { - var colors = texture.GetPixels(); - Color c; - float a; - for (int i = 0; i < colors.Length; i++) { - c = colors[i]; - a = c.a; - c.r *= a; - c.g *= a; - c.b *= a; - colors[i] = c; - } - texture.SetPixels(colors); - texture.Apply(); - - premultipliedAtlasIds.Add(instanceId); - } - } catch { - if (Application.isEditor) - Debug.LogWarning("Texture was not readable! Could not apply premultiply alpha. Rendering may be incorrect. Please check your texture import settings and make sure Read/Write is enabled."); - } - } - #if UNITY_EDITOR - else { - Texture2D texture = sprite.texture; - int instanceId = texture.GetInstanceID(); - if (premultipliedAtlasIds.Contains(instanceId)) - Debug.LogWarning("The same texture was used by both premultiply and straight alpha shaders. Rendering may be incorrect."); - } - #endif - - } - - public RegionAttachment NewRegionAttachment (Skin skin, string name, string path) { - RegionAttachment attachment = new RegionAttachment(name); - - Texture2D tex = sprite.texture; - int instanceId = tex.GetInstanceID(); - AtlasRegion atlasRegion; - bool cachedMaterialExists = atlasTable.TryGetValue(instanceId, out atlasRegion); - - if (!cachedMaterialExists) { - // Setup new material. - var material = new Material(shader); - if (sprite.packed) - material.name = "Unity Packed Sprite Material"; - else - material.name = sprite.name + " Sprite Material"; - material.mainTexture = tex; - - // Create faux-region to play nice with SkeletonRenderer. - atlasRegion = new AtlasRegion(); - var page = new AtlasPage(); - page.rendererObject = material; - atlasRegion.page = page; - - // Cache it. - atlasTable[instanceId] = atlasRegion; - } - - Rect texRect = sprite.textureRect; - - // Normalize rect to UV space of packed atlas - texRect.x = Mathf.InverseLerp(0, tex.width, texRect.x); - texRect.y = Mathf.InverseLerp(0, tex.height, texRect.y); - texRect.width = Mathf.InverseLerp(0, tex.width, texRect.width); - texRect.height = Mathf.InverseLerp(0, tex.height, texRect.height); - - Bounds bounds = sprite.bounds; - Vector2 boundsMin = bounds.min, boundsMax = bounds.max; - Vector2 size = bounds.size; - float spriteUnitsPerPixel = 1f / sprite.pixelsPerUnit; - - bool rotated = false; - if (sprite.packed) - rotated = sprite.packingRotation == SpritePackingRotation.Any; - - attachment.SetUVs(texRect.xMin, texRect.yMax, texRect.xMax, texRect.yMin, rotated); - attachment.RendererObject = atlasRegion; - attachment.SetColor(Color.white); - attachment.ScaleX = 1; - attachment.ScaleY = 1; - attachment.RegionOffsetX = sprite.rect.width * (0.5f - InverseLerp(boundsMin.x, boundsMax.x, 0)) * spriteUnitsPerPixel; - attachment.RegionOffsetY = sprite.rect.height * (0.5f - InverseLerp(boundsMin.y, boundsMax.y, 0)) * spriteUnitsPerPixel; - attachment.Width = size.x; - attachment.Height = size.y; - attachment.RegionWidth = size.x; - attachment.RegionHeight = size.y; - attachment.RegionOriginalWidth = size.x; - attachment.RegionOriginalHeight = size.y; - attachment.UpdateOffset(); - - return attachment; - } - - public MeshAttachment NewMeshAttachment (Skin skin, string name, string path) { - return null; - } - - public BoundingBoxAttachment NewBoundingBoxAttachment (Skin skin, string name) { - return null; - } - - public PathAttachment NewPathAttachment (Skin skin, string name) { - return null; - } - - static float InverseLerp (float a, float b, float value) { - return (value - a) / (b - a); - } - } - - public static class SpriteAttachmentExtensions { - public static RegionAttachment AttachUnitySprite (this Skeleton skeleton, string slotName, Sprite sprite, string shaderName = SpriteAttacher.DefaultPMAShader, bool applyPMA = true) { - return skeleton.AttachUnitySprite(slotName, sprite, Shader.Find(shaderName), applyPMA); - } - - public static RegionAttachment AddUnitySprite (this SkeletonData skeletonData, string slotName, Sprite sprite, string skinName = "", string shaderName = SpriteAttacher.DefaultPMAShader, bool applyPMA = true) { - return skeletonData.AddUnitySprite(slotName, sprite, skinName, Shader.Find(shaderName), applyPMA); - } - - public static RegionAttachment ToRegionAttachment (this Sprite sprite, string shaderName = SpriteAttacher.DefaultPMAShader, bool applyPMA = true) { - return sprite.ToRegionAttachment(Shader.Find(shaderName), applyPMA); - } - - public static RegionAttachment AttachUnitySprite (this Skeleton skeleton, string slotName, Sprite sprite, Shader shader, bool applyPMA) { - var att = sprite.ToRegionAttachment(shader, applyPMA); - skeleton.FindSlot(slotName).Attachment = att; - return att; - } - - public static RegionAttachment AddUnitySprite (this SkeletonData skeletonData, string slotName, Sprite sprite, string skinName, Shader shader, bool applyPMA) { - var att = sprite.ToRegionAttachment(shader, applyPMA); - - var slotIndex = skeletonData.FindSlotIndex(slotName); - Skin skin = skeletonData.defaultSkin; - if (skinName != "") - skin = skeletonData.FindSkin(skinName); - - skin.AddAttachment(slotIndex, att.Name, att); - - return att; - } - - public static RegionAttachment ToRegionAttachment (this Sprite sprite, Shader shader, bool applyPMA) { - var loader = new SpriteAttachmentLoader(sprite, shader, applyPMA); - var att = loader.NewRegionAttachment(null, sprite.name, ""); - loader = null; - return att; - } - } -} diff --git a/spine-unity/Assets/spine-unity/Shaders/HiddenPass.mat b/spine-unity/Assets/spine-unity/Shaders/HiddenPass.mat index 31cf39d99..c7bc5ada3 100644 Binary files a/spine-unity/Assets/spine-unity/Shaders/HiddenPass.mat and b/spine-unity/Assets/spine-unity/Shaders/HiddenPass.mat differ diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs index 47f38a874..53413a5fc 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs @@ -49,7 +49,7 @@ namespace Spine.Unity.Editor { bool canCreateHingeChain = false; Dictionary> boundingBoxTable = new Dictionary>(); - string currentSkinName = ""; + //string currentSkinName = ""; void OnEnable () { mode = this.serializedObject.FindProperty("mode"); @@ -77,7 +77,7 @@ namespace Spine.Unity.Editor { if (skeleton.Skin == null) skin = skeleton.Data.DefaultSkin; - currentSkinName = skin.Name; + //currentSkinName = skin.Name; for(int i = 0; i < slotCount; i++){ Slot slot = skeletonUtility.skeletonRenderer.skeleton.Slots.Items[i]; if (slot.Bone == utilityBone.bone) { diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtility.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtility.cs index 6561e22e2..ae02ed4a4 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtility.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtility.cs @@ -47,7 +47,6 @@ namespace Spine.Unity { return null; } - int slotIndex = skeleton.FindSlotIndex(slotName); var attachment = skin.GetAttachment(skeleton.FindSlotIndex(slotName), attachmentName); if (attachment == null) { Debug.LogFormat("Attachment in slot '{0}' named '{1}' not found in skin '{2}'.", slotName, attachmentName, skin.name); diff --git a/spine-unity/Assets/spine-unity/SpineAttributes.cs b/spine-unity/Assets/spine-unity/SpineAttributes.cs index 407e4f66f..a100b734e 100644 --- a/spine-unity/Assets/spine-unity/SpineAttributes.cs +++ b/spine-unity/Assets/spine-unity/SpineAttributes.cs @@ -196,7 +196,11 @@ namespace Spine.Unity { } public class SpineAtlasRegion : PropertyAttribute { - + public string atlasAssetField; + + public SpineAtlasRegion(string atlasAssetField = "") { + this.atlasAssetField = atlasAssetField; + } } }