// async static Task<VRMImporterContext> LoadAsync(Byte[] bytes) // { // var context = new VRMImporterContext(); // // GLB形式でJSONを取得しParseします // context.ParseGlb(bytes); // // ParseしたJSONをシーンオブジェクトに変換していく // await context.LoadAsyncTask(); // return context; // } /// <summary> /// Taskで非同期にロードする例 /// </summary> async void LoadVRMClicked() { #if UNITY_STANDALONE_WIN var path = FileDialogForWindows.FileDialog("open VRM", ".vrm"); #else var path = Application.dataPath + "/default.vrm"; #endif if (string.IsNullOrEmpty(path)) { return; } // var context = new VRMImporterContext(); // var bytes = await ReadBytesAsync(path); // // GLB形式でJSONを取得しParseします // context.ParseGlb(bytes); // // metaを取得(todo: thumbnailテクスチャのロード) // var meta = context.ReadMeta(); // Debug.LogFormat("meta: title:{0}", meta.Title); // // ParseしたJSONをシーンオブジェクトに変換していく // var now = Time.time; // await context.LoadAsyncTask(); // var delta = Time.time - now; // Debug.LogFormat("LoadVrmAsync {0:0.0} seconds", delta); // OnLoaded(context); }
void OnOpenClicked() { #if UNITY_STANDALONE_WIN var path = FileDialogForWindows.FileDialog("open VRM", "vrm", "glb", "bvh"); #else var path = Application.dataPath + "/default.vrm"; #endif if (string.IsNullOrEmpty(path)) { return; } var ext = Path.GetExtension(path).ToLower(); switch (ext) { case ".gltf": case ".glb": case ".vrm": LoadModelAsync(path); break; case ".bvh": LoadMotionAsync(path); break; } }
void LoadBVHClicked() { #if UNITY_STANDALONE_WIN var path = FileDialogForWindows.FileDialog("open BVH", ".bvh"); if (!string.IsNullOrEmpty(path)) { LoadBvh(path); } #else LoadBvh(Application.dataPath + "/default.bvh"); #endif }