From ccb1e61f5ef73b4a9437ff25007a8cdfb3b1ca11 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Wed, 29 Sep 2021 14:06:42 +0900 Subject: [PATCH] catch NotVrm0Exception --- Assets/VRM/Samples/SimpleViewer/ViewerUI.cs | 23 ++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/Assets/VRM/Samples/SimpleViewer/ViewerUI.cs b/Assets/VRM/Samples/SimpleViewer/ViewerUI.cs index 8f1dca9ce..3c9ade18c 100644 --- a/Assets/VRM/Samples/SimpleViewer/ViewerUI.cs +++ b/Assets/VRM/Samples/SimpleViewer/ViewerUI.cs @@ -427,12 +427,25 @@ namespace VRM.SimpleViewer if (isVrm) { - var vrm = new VRMData(data); - using (var loader = new VRMImporterContext(vrm, materialGenerator: GetVrmMaterialGenerator(m_useUrpMaterial.isOn, vrm.VrmExtension))) + try { - await m_texts.UpdateMetaAsync(loader); - var instance = await loader.LoadAsync(); - SetModel(instance); + var vrm = new VRMData(data); + using (var loader = new VRMImporterContext(vrm, materialGenerator: GetVrmMaterialGenerator(m_useUrpMaterial.isOn, vrm.VrmExtension))) + { + await m_texts.UpdateMetaAsync(loader); + var instance = await loader.LoadAsync(); + SetModel(instance); + } + } + catch (NotVrm0Exception) + { + // retry + Debug.LogWarning("file extension is vrm. but not vrm ?"); + using (var loader = new UniGLTF.ImporterContext(data, materialGenerator: GetGltfMaterialGenerator(m_useUrpMaterial.isOn))) + { + var instance = await loader.LoadAsync(); + SetModel(instance); + } } } else