void OnWizardUpdate() { UpdateRoot(ExportRoot); m_validations.Clear(); m_validations.AddRange(Validate()); m_validations.AddRange(VRMSpringBoneValidator.Validate(ExportRoot)); var hasError = m_validations.Any(x => !x.CanExport); m_IsValid = !hasError && !MetaHasError; Repaint(); }
/// <summary> /// エクスポート可能か検証する。 /// </summary> /// <returns></returns> public void Validate(GameObject ExportRoot, VRMExportSettings m_settings, VRMMetaObject meta) { m_validations.Clear(); if (ExportRoot == null) { return; } var proxy = ExportRoot.GetComponent <VRMBlendShapeProxy>(); m_validations.AddRange(_Validate(ExportRoot, m_settings)); m_validations.AddRange(VRMSpringBoneValidator.Validate(ExportRoot)); var firstPerson = ExportRoot.GetComponent <VRMFirstPerson>(); if (firstPerson != null) { m_validations.AddRange(firstPerson.Validate()); } if (proxy != null) { m_validations.AddRange(proxy.Validate()); // Export サイズ の 計算 var clips = new List <BlendShapeClip>(); if (proxy.BlendShapeAvatar != null) { clips.AddRange(proxy.BlendShapeAvatar.Clips); } ExpectedByteSize = 0; foreach (var renderer in ExportRoot.GetComponentsInChildren <Renderer>()) { var relativePath = UniGLTF.UnityExtensions.RelativePathFrom(renderer.transform, ExportRoot.transform); var mesh = GetMesh(renderer); ExpectedByteSize += CalcMeshSize(relativePath, mesh, m_settings, clips); } } MetaHasError = meta.Validate().Any(); }
/// <summary> /// エクスポート可能か検証する。 /// </summary> /// <returns></returns> public void Validate(GameObject ExportRoot, VRMExportSettings m_settings, VRMMetaObject meta) { m_validations.Clear(); if (ExportRoot == null) { return; } var proxy = ExportRoot.GetComponent <VRMBlendShapeProxy>(); m_validations.AddRange(_Validate(ExportRoot, m_settings)); m_validations.AddRange(VRMSpringBoneValidator.Validate(ExportRoot)); var firstPerson = ExportRoot.GetComponent <VRMFirstPerson>(); if (firstPerson != null) { m_validations.AddRange(firstPerson.Validate()); } if (proxy != null) { m_validations.AddRange(proxy.Validate()); } MetaHasError = meta.Validate().Any(); }
void OnWizardUpdate() { UpdateRoot(ExportRoot); m_validations.Clear(); m_validations.AddRange(Validate()); if (ExportRoot != null) { m_validations.AddRange(VRMSpringBoneValidator.Validate(ExportRoot)); var firstPerson = ExportRoot.GetComponent <VRMFirstPerson>(); if (firstPerson != null) { m_validations.AddRange(firstPerson.Validate()); } } var hasError = m_validations.Any(x => !x.CanExport); m_IsValid = !hasError && !MetaHasError; Repaint(); }