Merge branch '3.8' into 4.0-beta

This commit is contained in:
Harald Csaszar 2021-03-10 14:50:38 +01:00
commit 3b5f0b1c35
4 changed files with 29 additions and 13 deletions

View File

@ -341,7 +341,15 @@ namespace Spine.Unity {
#region API
protected Skeleton skeleton;
public Skeleton Skeleton { get { return skeleton; } set { skeleton = value; } }
public Skeleton Skeleton {
get {
Initialize(false);
return skeleton;
}
set {
skeleton = value;
}
}
public SkeletonData SkeletonData { get { return skeleton == null ? null : skeleton.data; } }
public bool IsValid { get { return skeleton != null; } }
@ -474,7 +482,6 @@ namespace Spine.Unity {
public void Initialize (bool overwrite) {
if (this.IsValid && !overwrite) return;
// Make sure none of the stuff is null
if (this.skeletonDataAsset == null) return;
var skeletonData = this.skeletonDataAsset.GetSkeletonData(false);
if (skeletonData == null) return;

View File

@ -186,14 +186,16 @@ namespace Spine.Unity {
generateMeshOverride += value;
if (disableRenderingOnOverride && generateMeshOverride != null) {
Initialize(false);
meshRenderer.enabled = false;
if (meshRenderer)
meshRenderer.enabled = false;
}
}
remove {
generateMeshOverride -= value;
if (disableRenderingOnOverride && generateMeshOverride == null) {
Initialize(false);
meshRenderer.enabled = true;
if (meshRenderer)
meshRenderer.enabled = true;
}
}
}

View File

@ -251,8 +251,11 @@ namespace Spine.Unity {
}
static bool IsPMAMaterial (Material material) {
return (material.HasProperty(STRAIGHT_ALPHA_PARAM_ID) && material.GetInt(STRAIGHT_ALPHA_PARAM_ID) == 0) ||
material.IsKeywordEnabled(ALPHAPREMULTIPLY_ON_KEYWORD);
bool usesAlphaPremultiplyKeyword = IsSpriteShader(material);
if (usesAlphaPremultiplyKeyword)
return material.IsKeywordEnabled(ALPHAPREMULTIPLY_ON_KEYWORD);
else
return material.HasProperty(STRAIGHT_ALPHA_PARAM_ID) && material.GetInt(STRAIGHT_ALPHA_PARAM_ID) == 0;
}
static bool IsURP3DMaterial (Material material) {
@ -280,14 +283,18 @@ namespace Spine.Unity {
break;
}
}
bool isShaderWithMeshNormals =
material.shader.name.Contains("Spine/Sprite/Pixel Lit") ||
material.shader.name.Contains("Spine/Sprite/Vertex Lit") ||
material.shader.name.Contains("2D/Spine/Sprite") || // covers both URP and LWRP
material.shader.name.Contains("Pipeline/Spine/Sprite"); // covers both URP and LWRP
bool isShaderWithMeshNormals = IsSpriteShader(material);
return isShaderWithMeshNormals && !anyFixedNormalSet;
}
static bool IsSpriteShader (Material material) {
string shaderName = material.shader.name;
return shaderName.Contains("Spine/Sprite/Pixel Lit") ||
shaderName.Contains("Spine/Sprite/Vertex Lit") ||
shaderName.Contains("2D/Spine/Sprite") || // covers both URP and LWRP
shaderName.Contains("Pipeline/Spine/Sprite"); // covers both URP and LWRP
}
static bool RequiresTintBlack (Material material) {
bool isTintBlackShader =
material.shader.name.Contains("Spine") &&

View File

@ -2,7 +2,7 @@
"name": "com.esotericsoftware.spine.timeline",
"displayName": "Spine Timeline Extensions",
"description": "This plugin provides integration of spine-unity for the Unity Timeline.\n\nPrerequisites:\nIt requires a working installation of the spine-unity runtime, version 4.0.\n(See http://esotericsoftware.com/git/spine-runtimes/spine-unity)",
"version": "4.0.2",
"version": "4.0.3",
"unity": "2018.3",
"author": {
"name": "Esoteric Software",
@ -10,7 +10,7 @@
"url": "http://esotericsoftware.com/"
},
"dependencies": {
"com.unity.timeline": "1.0.0"
"com.unity.timeline": "1.2.10"
},
"keywords": [
"spine",