Ejemplo n.º 1
0
    /// <summary>
    /// Displays File Browser to select a file Location to save the exported glTF file
    /// </summary>
    /// <returns>IEnumerator Object</returns>
    public IEnumerator DisplaySaveCoroutine()
    {
        FileBrowser.SingleClickMode = true;

        yield return(FileBrowser.WaitForSaveDialog(FileBrowser.PickMode.FilesAndFolders, false, null, null, "Select Folder", "Save"));

        if (FileBrowser.Success)
        {
            string returnedPath = FileBrowser.Result[0];
            Debug.Log("Export Path : " + returnedPath);

            var exporter = new GLTFSceneExporter(new[] { _viewerObject.transform }, RetrieveTexturePath);
            if (FileBrowserHelpers.DirectoryExists(returnedPath))
            {
                string folderName      = _loadFileName ?? "ExportedObject";
                string finalExportPath = FileBrowserHelpers.CreateFolderInDirectory(returnedPath, folderName);
                Debug.Log("Final Export Path for empty filename : " + finalExportPath);
                exporter.SaveGLTFandBin(finalExportPath, folderName);
            }
            else
            {
                string saveFileName    = FileBrowserHelpers.GetFilename(returnedPath);
                string folderPath      = returnedPath.Substring(0, returnedPath.LastIndexOf(saveFileName));
                string finalExportPath = FileBrowserHelpers.CreateFolderInDirectory(folderPath, saveFileName);
                Debug.Log("Final Export Path with given filename : " + finalExportPath);
                exporter.SaveGLTFandBin(finalExportPath, saveFileName);
            }
        }
    }