From b557f69ece4e21bd0e030a87f6fd6d4cd6314d81 Mon Sep 17 00:00:00 2001 From: notargs Date: Wed, 22 Mar 2023 19:33:50 +0900 Subject: [PATCH] =?UTF-8?q?=E4=BB=A5=E5=89=8D=E8=AA=AD=E3=81=BF=E8=BE=BC?= =?UTF-8?q?=E3=82=93=E3=81=A0VRM=E3=82=92=E7=A0=B4=E6=A3=84=E3=81=99?= =?UTF-8?q?=E3=82=8B=E6=A9=9F=E6=A7=8B=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../URPSample/Runtime/UrpSampleUI.cs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Assets/VRM10_Samples/URPSample/Runtime/UrpSampleUI.cs b/Assets/VRM10_Samples/URPSample/Runtime/UrpSampleUI.cs index ddf0ccbb8..d06dda633 100644 --- a/Assets/VRM10_Samples/URPSample/Runtime/UrpSampleUI.cs +++ b/Assets/VRM10_Samples/URPSample/Runtime/UrpSampleUI.cs @@ -10,13 +10,20 @@ namespace UniVRM10.URPSample { [SerializeField] private Button openModelButton; + private Vrm10Instance _loadedVrm; + private void Start() { openModelButton.onClick.AddListener(OnOpenModelButtonClicked); } - private static async void OnOpenModelButtonClicked() + private async void OnOpenModelButtonClicked() { + if (_loadedVrm) + { + Destroy(_loadedVrm.gameObject); + } + var path = EditorUtility.OpenFilePanel("Open VRM", "", "VRM"); if (string.IsNullOrEmpty(path)) { @@ -25,18 +32,19 @@ namespace UniVRM10.URPSample try { - var vrm10Instance = await Vrm10.LoadPathAsync(path, + _loadedVrm = await Vrm10.LoadPathAsync(path, canLoadVrm0X: true, showMeshes: false, materialGenerator: new UrpVrm10MaterialDescriptorGenerator()); - if (vrm10Instance == null) + if (_loadedVrm == null) { return; } - var instance = vrm10Instance.GetComponent(); + var instance = _loadedVrm.GetComponent(); instance.ShowMeshes(); instance.EnableUpdateWhenOffscreen(); + } catch (OperationCanceledException) {