diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs index ae16f2ed3..366054a6e 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs @@ -202,7 +202,8 @@ namespace Spine.Unity { protected override void Awake () { base.Awake (); - updateMode = updateWhenInvisible; + this.onCullStateChanged.AddListener(OnCullStateChanged); + SyncRawImagesWithCanvasRenderers(); if (!this.IsValid) { #if UNITY_EDITOR @@ -313,6 +314,13 @@ namespace Spine.Unity { UpdateMesh(); } + protected void OnCullStateChanged (bool culled) { + if (culled) + OnBecameInvisible(); + else + OnBecameVisible(); + } + public void OnBecameVisible () { updateMode = UpdateMode.FullUpdate; }