public void SetUp() { InitUsd.Initialize(); var usdPath = Path.GetFullPath(AssetDatabase.GUIDToAssetPath(m_usdGUID)); var stage = pxr.UsdStage.Open(usdPath, pxr.UsdStage.InitialLoadSet.LoadNone); var scene = Scene.Open(stage); m_usdRoot = ImportHelpers.ImportSceneAsGameObject(scene); scene.Close(); }
public void SetUp() { InitUsd.Initialize(); var usdPath = Path.GetFullPath(AssetDatabase.GUIDToAssetPath(m_usdGUID)); var stage = pxr.UsdStage.Open(usdPath, pxr.UsdStage.InitialLoadSet.LoadNone); var scene = Scene.Open(stage); var importOptions = new SceneImportOptions(); importOptions.materialImportMode = MaterialImportMode.ImportPreviewSurface; m_usdRoot = ImportHelpers.ImportSceneAsGameObject(scene, importOptions: importOptions); scene.Close(); }
private GameObject LoadUSD(Object usdObject, BasisTransformation changeHandedness = BasisTransformation.SlowAndSafeAsFBX) { InitUsd.Initialize(); var usdPath = Path.GetFullPath(AssetDatabase.GetAssetPath(usdObject)); var stage = pxr.UsdStage.Open(usdPath, pxr.UsdStage.InitialLoadSet.LoadNone); var scene = Scene.Open(stage); var importOptions = new SceneImportOptions(); importOptions.changeHandedness = changeHandedness; importOptions.scale = 0.01f; importOptions.materialImportMode = MaterialImportMode.ImportDisplayColor; var usdRoot = ImportHelpers.ImportSceneAsGameObject(scene, importOptions: importOptions); scene.Close(); return(usdRoot); }
/// <summary> /// Writes overrides to the currently targeted subLayer. /// </summary> public void SaveToLayer() { var stageRoot = GetComponent <UsdAsset>(); Scene subLayerScene = Scene.Create(m_targetLayer); if (subLayerScene == null) { throw new NullReferenceException("Could not create layer: " + m_targetLayer); } Scene rootScene = Scene.Open(stageRoot.usdFullPath); if (rootScene == null) { throw new NullReferenceException("Could not open base layer: " + stageRoot.usdFullPath); } SetupNewSubLayer(rootScene, subLayerScene); rootScene.Close(); rootScene = null; try { SceneExporter.Export(stageRoot.gameObject, subLayerScene, stageRoot.m_changeHandedness, exportUnvarying: false, zeroRootTransform: false); } catch (Exception ex) { Debug.LogException(ex); return; } finally { if (subLayerScene != null) { subLayerScene.Save(); subLayerScene.Close(); subLayerScene = null; } } }
public void SetUp() { var fbxPath = AssetDatabase.GUIDToAssetPath(fbxGUID); var asset = AssetDatabase.LoadAssetAtPath <GameObject>(fbxPath); fbxRoot = PrefabUtility.InstantiatePrefab(asset) as GameObject; InitUsd.Initialize(); var usdPath = Path.GetFullPath(AssetDatabase.GUIDToAssetPath(usdGUID)); var stage = pxr.UsdStage.Open(usdPath, pxr.UsdStage.InitialLoadSet.LoadNone); var scene = Scene.Open(stage); var importOptions = new SceneImportOptions(); importOptions.changeHandedness = BasisTransformation.SlowAndSafeAsFBX; importOptions.scale = 0.01f; importOptions.materialImportMode = MaterialImportMode.ImportDisplayColor; usdRoot = USD.UsdMenu.ImportSceneAsGameObject(scene, importOptions); scene.Close(); }