diff --git a/Assets/UniGLTF/Runtime/UniGLTF/RuntimeGltfInstance.cs b/Assets/UniGLTF/Runtime/UniGLTF/RuntimeGltfInstance.cs index f82d5770c..21106f3a8 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/RuntimeGltfInstance.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/RuntimeGltfInstance.cs @@ -64,6 +64,14 @@ namespace UniGLTF /// public IReadOnlyList SkinnedMeshRenderers => _skinnedMeshRenderers; + /// + /// ShowMeshes の対象になる Renderer。 + /// Destroy対象とは無関係なので、自由に操作して OK。 + /// + /// + /// + public readonly List VisibleRenderers = new List(); + private readonly List _nodes = new List(); private readonly List<(SubAssetKey, UnityEngine.Object)> _resources = new List<(SubAssetKey, UnityEngine.Object)>(); private readonly List _materials = new List(); @@ -120,6 +128,8 @@ namespace UniGLTF { _renderers.Add(renderer); + VisibleRenderers.Add(renderer); + switch (renderer) { case MeshRenderer meshRenderer: @@ -133,7 +143,7 @@ namespace UniGLTF public void ShowMeshes() { - foreach (var r in Renderers) + foreach (var r in VisibleRenderers) { r.enabled = true; }