From 106ba8c5ffde453e354cceac118b138930edbcfe Mon Sep 17 00:00:00 2001 From: nekobako Date: Sat, 14 Sep 2024 09:52:45 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20previewing=20Object=20Toggle=20targets?= =?UTF-8?q?=20Renderers=20other=20than=20MeshRender=E2=80=A6=20(#1112)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: NullReferenceException when previewing Object Toggle with renderers other than MeshRenderer and SkinnedMeshRenderer * fix: NullReferenceException when previewing Scale Adjuster with renderers other than MeshRenderer and SkinnedMeshRenderer --- Editor/ReactiveObjects/ObjectTogglePreview.cs | 3 +++ Editor/ScaleAdjuster/ScaleAdjusterPreview.cs | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Editor/ReactiveObjects/ObjectTogglePreview.cs b/Editor/ReactiveObjects/ObjectTogglePreview.cs index 4612a0be..45b4e9fa 100644 --- a/Editor/ReactiveObjects/ObjectTogglePreview.cs +++ b/Editor/ReactiveObjects/ObjectTogglePreview.cs @@ -42,6 +42,9 @@ namespace nadena.dev.modular_avatar.core.editor foreach (var renderer in renderers) { + // For now, the preview system only supports MeshRenderer and SkinnedMeshRenderer + if (renderer is not MeshRenderer and not SkinnedMeshRenderer) continue; + bool currentlyEnabled = context.ActiveInHierarchy(renderer.gameObject); bool overrideEnabled = true; diff --git a/Editor/ScaleAdjuster/ScaleAdjusterPreview.cs b/Editor/ScaleAdjuster/ScaleAdjusterPreview.cs index 644845f6..58ebfd90 100644 --- a/Editor/ScaleAdjuster/ScaleAdjusterPreview.cs +++ b/Editor/ScaleAdjuster/ScaleAdjusterPreview.cs @@ -75,7 +75,13 @@ namespace nadena.dev.modular_avatar.core.editor renderers = new HashSet(new ObjectIdentityComparer()); avatarToRenderer.Add(root, renderers); - foreach (var renderer in root.GetComponentsInChildren()) renderers.Add(renderer); + foreach (var renderer in root.GetComponentsInChildren()) + { + // For now, the preview system only supports MeshRenderer and SkinnedMeshRenderer + if (renderer is not MeshRenderer and not SkinnedMeshRenderer) continue; + + renderers.Add(renderer); + } } }