From f39618d1ec9d0aa40fac754f0eebf25707312564 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Mon, 17 Aug 2020 15:32:07 +0900 Subject: [PATCH] =?UTF-8?q?NO=5FACTIVE=5FMESH=20=E3=81=AE=E5=88=A4?= =?UTF-8?q?=E5=AE=9A=E6=96=B9=E6=B3=95=E3=82=92=E5=A4=89=E6=9B=B4=20#511?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gameobject.activeSelf は prefab では false になる --- .../UniVRM/Editor/Format/VRMExporterWizard.cs | 30 ++++++++++++++----- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/Assets/VRM/UniVRM/Editor/Format/VRMExporterWizard.cs b/Assets/VRM/UniVRM/Editor/Format/VRMExporterWizard.cs index b735d5b4a..987c5e749 100644 --- a/Assets/VRM/UniVRM/Editor/Format/VRMExporterWizard.cs +++ b/Assets/VRM/UniVRM/Editor/Format/VRMExporterWizard.cs @@ -139,6 +139,20 @@ namespace VRM return Vector3.Cross(lr, Vector3.up); } + static bool EnableRenderer(Renderer renderer) + { + if (renderer.transform.Ancestor().Any(x => !x.gameObject.activeSelf)) + { + // 自分か祖先に !activeSelf がいる + return false; + } + if (!renderer.enabled) + { + return false; + } + return true; + } + /// /// エクスポート可能か検証する /// @@ -167,7 +181,7 @@ namespace VRM } var renderers = ExportRoot.GetComponentsInChildren(); - if (renderers.All(x => !x.gameObject.activeInHierarchy)) + if (renderers.All(x => !EnableRenderer(x))) { yield return Validation.Error(Msg.NO_ACTIVE_MESH); } @@ -384,13 +398,13 @@ namespace VRM Validation.Error(Msg.ROOT_WITHOUT_ROTATION_AND_SCALING_CHANGED).DrawGUI(); return; } - if (!root.scene.IsValid()) - { - // Prefab でシーンに出していないものを判定したい - // FIXME: もっと適切な判定があればそれに - Validation.Error(Msg.PREFAB_CANNOT_EXPORT).DrawGUI(); - return; - } + // if (!root.scene.IsValid()) + // { + // // Prefab でシーンに出していないものを判定したい + // // FIXME: もっと適切な判定があればそれに + // Validation.Error(Msg.PREFAB_CANNOT_EXPORT).DrawGUI(); + // return; + // } if (HasRotationOrScale(ExportRoot)) { if (m_settings.PoseFreeze)