mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
[unity] Setting SkeletonGraphic CanvasRenderer.cullTransparentMesh to false at new instances to avoid Add blend mode problems.
This commit is contained in:
parent
754365ef9b
commit
156ef80a9c
@ -31,6 +31,10 @@
|
|||||||
#define NEW_PREFAB_SYSTEM
|
#define NEW_PREFAB_SYSTEM
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if UNITY_2018_2_OR_NEWER
|
||||||
|
#define HAS_CULL_TRANSPARENT_MESH
|
||||||
|
#endif
|
||||||
|
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
@ -469,6 +473,11 @@ namespace Spine.Unity.Editor {
|
|||||||
graphic.additiveMaterial = SkeletonGraphicInspector.DefaultSkeletonGraphicAdditiveMaterial;
|
graphic.additiveMaterial = SkeletonGraphicInspector.DefaultSkeletonGraphicAdditiveMaterial;
|
||||||
graphic.multiplyMaterial = SkeletonGraphicInspector.DefaultSkeletonGraphicMultiplyMaterial;
|
graphic.multiplyMaterial = SkeletonGraphicInspector.DefaultSkeletonGraphicMultiplyMaterial;
|
||||||
graphic.screenMaterial = SkeletonGraphicInspector.DefaultSkeletonGraphicScreenMaterial;
|
graphic.screenMaterial = SkeletonGraphicInspector.DefaultSkeletonGraphicScreenMaterial;
|
||||||
|
|
||||||
|
#if HAS_CULL_TRANSPARENT_MESH
|
||||||
|
var canvasRenderer = go.GetComponent<CanvasRenderer>();
|
||||||
|
canvasRenderer.cullTransparentMesh = false;
|
||||||
|
#endif
|
||||||
return go;
|
return go;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -169,13 +169,17 @@ namespace Spine.Unity {
|
|||||||
/// <summary>Add a SkeletonGraphic component to a GameObject.</summary>
|
/// <summary>Add a SkeletonGraphic component to a GameObject.</summary>
|
||||||
/// <param name="material">Material for the canvas renderer to use. Usually, the default SkeletonGraphic material will work.</param>
|
/// <param name="material">Material for the canvas renderer to use. Usually, the default SkeletonGraphic material will work.</param>
|
||||||
public static SkeletonGraphic AddSkeletonGraphicComponent (GameObject gameObject, SkeletonDataAsset skeletonDataAsset, Material material) {
|
public static SkeletonGraphic AddSkeletonGraphicComponent (GameObject gameObject, SkeletonDataAsset skeletonDataAsset, Material material) {
|
||||||
var c = gameObject.AddComponent<SkeletonGraphic>();
|
var skeletonGraphic = gameObject.AddComponent<SkeletonGraphic>();
|
||||||
if (skeletonDataAsset != null) {
|
if (skeletonDataAsset != null) {
|
||||||
c.material = material;
|
skeletonGraphic.material = material;
|
||||||
c.skeletonDataAsset = skeletonDataAsset;
|
skeletonGraphic.skeletonDataAsset = skeletonDataAsset;
|
||||||
c.Initialize(false);
|
skeletonGraphic.Initialize(false);
|
||||||
}
|
}
|
||||||
return c;
|
#if HAS_CULL_TRANSPARENT_MESH
|
||||||
|
var canvasRenderer = gameObject.GetComponent<CanvasRenderer>();
|
||||||
|
if (canvasRenderer) canvasRenderer.cullTransparentMesh = false;
|
||||||
|
#endif
|
||||||
|
return skeletonGraphic;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user