Example #1
0
        async void LoadModelAsync(string path)
        {
            var ext = Path.GetExtension(path).ToLower();

            switch (ext)
            {
            case ".gltf":
            case ".glb":
            case ".zip":
            {
                var instance = await GltfUtility.LoadAsync(path,
                                                           GetIAwaitCaller(m_useAsync.isOn),
                                                           GetGltfMaterialGenerator(m_useUrpMaterial.isOn));

                break;
            }

            case ".vrm":
            {
                VrmUtility.MaterialGeneratorCallback materialCallback = (VRM.glTF_VRM_extensions vrm) => GetVrmMaterialGenerator(m_useUrpMaterial.isOn, vrm);
                VrmUtility.MetaCallback metaCallback = m_texts.UpdateMeta;
                var instance = await VrmUtility.LoadAsync(path, GetIAwaitCaller(m_useAsync.isOn), materialCallback, metaCallback, loadAnimation : m_loadAnimation.isOn);

                SetModel(instance);
                break;
            }

            case ".bvh":
                LoadMotion(path, File.ReadAllText(path));
                break;
            }
        }
Example #2
0
        async void Load()
        {
#if UNITY_STANDALONE_WIN
            var path = FileDialogForWindows.FileDialog("open VRM", ".vrm");
#elif UNITY_EDITOR
            var path = UnityEditor.EditorUtility.OpenFilePanel("Open VRM", "", "vrm");
#else
            var path = Application.dataPath + "/default.vrm";
#endif
            if (string.IsNullOrEmpty(path))
            {
                return;
            }

            var loaded = await VrmUtility.LoadAsync(path);

            loaded.ShowMeshes();
            loaded.EnableUpdateWhenOffscreen();

            if (m_model != null)
            {
                GameObject.Destroy(m_model.gameObject);
            }

            m_model = loaded.gameObject;
        }
Example #3
0
        async void LoadVRMClicked()
        {
#if UNITY_STANDALONE_WIN
            var path = FileDialogForWindows.FileDialog("open VRM", ".vrm");
#elif UNITY_EDITOR
            var path = UnityEditor.EditorUtility.OpenFilePanel("Open VRM", "", "vrm");
#else
            var path = Application.dataPath + "/default.vrm";
#endif
            if (string.IsNullOrEmpty(path))
            {
                return;
            }

            // GLB形式でJSONを取得しParseします
            // VRM extension を parse します
            var loaded = await VrmUtility.LoadAsync(path);

            OnLoaded(loaded);
        }