Skip to content

Instantly share code, notes, and snippets.

@pharan
pharan / SkeletonLit.shader
Created May 26, 2017 08:40
Legacy version of Spine's Skeleton Lit shader from 3.5.
Shader "Spine/Skeleton Lit" {
Properties {
_Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1
[NoScaleOffset] _MainTex ("Texture to blend", 2D) = "black" {}
}
// 2 texture stage GPUs
SubShader {
Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
LOD 100
@pharan
pharan / AtlasRegionAttacher.cs
Created May 19, 2017 07:13
Deprecated AtlasRegionAttacher.cs from Spine-Unity for Spine 3.5
/******************************************************************************
* 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
@pharan
pharan / CustomSkin.cs
Created May 19, 2017 07:08
Deprecated CustomSkin.cs file from Spine-Unity for Spine 3.5
/******************************************************************************
* 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
@pharan
pharan / MoveDrawOrderMethod.cs
Created May 16, 2017 23:41
Spine 3.4 - 3.6 DrawOrder change method(s).
/// <summary>
/// Moves a given slot in the drawOrder. drawOrderOffset is the number of places to move the slot in the draw order. Positive values means the slot is drawn later.
/// </summary>
public static void MoveDrawOrder (Skeleton skeleton, string slotName, int drawOrderOffset) {
Slot slot = skeleton.FindSlot(slotName);
if (slot == null) return; // Do nothing if slot is not found.
var drawOrder = skeleton.DrawOrder;
int oldIndex = drawOrder.IndexOf(slot);
int newIndex = oldIndex + drawOrderOffset;
@pharan
pharan / Skeleton PMAMultiply.shader
Created March 3, 2017 15:15
Multiply blend mode shader for Spine.
// Spine/Skeleton PMA Multiply
// - single color multiply tint
// - unlit
// - Premultiplied alpha Multiply blending
// - No depth, no backface culling, no fog.
// - ShadowCaster pass
Shader "Spine/Skeleton PMA Multiply" {
Properties {
_Color ("Tint Color", Color) = (1,1,1,1)
@pharan
pharan / SampleManualUpdate.cs
Created January 9, 2017 22:04
A sample MonoBehaviour for Spine-Unity that holds a collection of SkeletonAnimation components and updates their animation at a certain limited rate.
using UnityEngine;
using System.Collections.Generic;
namespace Spine.Unity.Examples {
public class SampleManualUpdate : MonoBehaviour {
[Range(0f, 1/8f)]
[Tooltip("To specify a framerate, type 1/framerate in the inspector text box.")]
public float timeBetweenFrames = 1f/24f; //24 fps
public List<SkeletonAnimation> components;
@pharan
pharan / ThreadedSkeletonDataAssetLoader.cs
Created December 17, 2016 01:16
Test code for spine-unity threaded loading of Spine Skeleton json and binary data.
/******************************************************************************
* 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
@pharan
pharan / DEBUG_AnimationStateSceneView.cs
Last active December 15, 2016 23:20
Quick and dirty Spine.AnimationState SceneView debug. This logs the current state of the AnimationState tracks.
using UnityEngine;
using System.Text;
public class DEBUG_AnimationStateSceneView : MonoBehaviour {
public bool follow = true;
}
#if UNITY_EDITOR
namespace Spine.Unity.Debugger {
[UnityEditor.CustomEditor(typeof(DEBUG_AnimationStateSceneView))]
@pharan
pharan / AnimationState.cs
Last active April 4, 2017 12:56
Alternate Spine 3.5 AnimationState.cs that disables multiple mixing from in favor of eliminating the setup pose dip.
/******************************************************************************
* 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
@pharan
pharan / SpineRootMotion.cs
Last active October 12, 2018 11:07
Experimental Spine.Unity.Modules.SpineRootMotion for SkeletonAnimation
/******************************************************************************
* 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