Skip to content

Instantly share code, notes, and snippets.

@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 / 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 / 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 / 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 / SkeletonDataAssetInspector.cs
Created June 26, 2017 16:29
SkeletonDataAssetInspector for Spine 3.5 that allows both Spine.Unity.AtlasAssets and TK2D sprite collections.
/******************************************************************************
* 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 / AttachmentTools.cs
Last active July 17, 2017 02:18
Caching version of AttachmentTools
/******************************************************************************
* 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 / AnimationMixer.cs
Created July 29, 2017 16:27
Spine.AnimationMixer. For adapting native Spine Animation Mixing into external animation track systems.
/******************************************************************************
* 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 / Spine-SkeletonSpriteMaskable.shader
Last active August 4, 2020 10:45
A version of Spine/Skeleton shader that can be drawn within a Unity 2017 SpriteMask.
Shader "Spine/Skeleton SpriteMaskable" {
Properties {
_Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1
[NoScaleOffset] _MainTex ("Main Texture", 2D) = "black" {}
_StencilRef ("Stencil Reference", Float) = 1.0
_StencilComp ("Stencil Compare", Float) = 4.0 // For float values, see https://docs.unity3d.com/Manual/SL-Stencil.html under "Comparison Function" heading
}
SubShader {
Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
@pharan
pharan / PaintBrush.cs
Created November 11, 2017 00:08
Unity PaintBrush MonoBehaviour class based on https://pastebin.com/rMx1PVXi
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PaintBrush : MonoBehaviour
{
public int resolution = 512;
Texture2D whiteMap;
public float brushSize;
public Texture2D brushTexture;
@pharan
pharan / AnimationTools.cs
Last active June 6, 2018 17:37
Preview of the spine-unity AnimationTools static class module.
/******************************************************************************
* Spine Runtimes Software License v2.5
*
* Copyright (c) 2013-2018, 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