mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-04 14:24:53 +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
|
||||
#endif
|
||||
|
||||
#if UNITY_2018_2_OR_NEWER
|
||||
#define HAS_CULL_TRANSPARENT_MESH
|
||||
#endif
|
||||
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
@ -469,6 +473,11 @@ namespace Spine.Unity.Editor {
|
||||
graphic.additiveMaterial = SkeletonGraphicInspector.DefaultSkeletonGraphicAdditiveMaterial;
|
||||
graphic.multiplyMaterial = SkeletonGraphicInspector.DefaultSkeletonGraphicMultiplyMaterial;
|
||||
graphic.screenMaterial = SkeletonGraphicInspector.DefaultSkeletonGraphicScreenMaterial;
|
||||
|
||||
#if HAS_CULL_TRANSPARENT_MESH
|
||||
var canvasRenderer = go.GetComponent<CanvasRenderer>();
|
||||
canvasRenderer.cullTransparentMesh = false;
|
||||
#endif
|
||||
return go;
|
||||
}
|
||||
|
||||
|
||||
@ -169,13 +169,17 @@ namespace Spine.Unity {
|
||||
/// <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>
|
||||
public static SkeletonGraphic AddSkeletonGraphicComponent (GameObject gameObject, SkeletonDataAsset skeletonDataAsset, Material material) {
|
||||
var c = gameObject.AddComponent<SkeletonGraphic>();
|
||||
var skeletonGraphic = gameObject.AddComponent<SkeletonGraphic>();
|
||||
if (skeletonDataAsset != null) {
|
||||
c.material = material;
|
||||
c.skeletonDataAsset = skeletonDataAsset;
|
||||
c.Initialize(false);
|
||||
skeletonGraphic.material = material;
|
||||
skeletonGraphic.skeletonDataAsset = skeletonDataAsset;
|
||||
skeletonGraphic.Initialize(false);
|
||||
}
|
||||
return c;
|
||||
#if HAS_CULL_TRANSPARENT_MESH
|
||||
var canvasRenderer = gameObject.GetComponent<CanvasRenderer>();
|
||||
if (canvasRenderer) canvasRenderer.cullTransparentMesh = false;
|
||||
#endif
|
||||
return skeletonGraphic;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user