public override async Task <bool> Load( string url, IDownloadProvider downloadProvider = null, IDeferAgent deferAgent = null, IMaterialGenerator materialGenerator = null, ILogger logger = null ) { importer = new GltfImport(downloadProvider, deferAgent, materialGenerator); var success = await importer.Load(url); if (success) { var insta = (GameObjectBoundsInstantiator)GetDefaultInstantiator(logger); // Auto-Instantiate if (sceneId >= 0) { success = importer.InstantiateScene(insta, sceneId); } else { success = importer.InstantiateMainScene(insta); } if (success) { SetBounds(insta); } } return(success); }
/// <summary> /// Creates an instance of the main scene /// </summary> /// <param name="logger">Used for message reporting</param> /// <returns>True if instantiation was successful.</returns> public bool Instantiate(ICodeLogger logger = null) { if (importer == null) { return(false); } var instantiator = GetDefaultInstantiator(logger); var success = importer.InstantiateMainScene(instantiator); PostInstantiation(instantiator, success); return(success); }
/// <summary> /// Creates an instance of the main scene /// </summary> /// <param name="logger">Used for message reporting</param> /// <returns>True if instantiation was successful.</returns> public bool Instantiate(ILogger logger = null) { if (importer == null) { return(false); } var instantiator = GetDefaultInstantiator(logger); var success = importer.InstantiateMainScene(instantiator); sceneInstance = instantiator.sceneInstance; currentSceneId = success ? importer.defaultSceneIndex : (int?)null; return(success); }
public IEnumerator LoadGlbFromMemory(SampleSetItem testCase) { Debug.Log($"Testing {testCase.path}"); var data = File.ReadAllBytes(testCase.path); var go = new GameObject(); var deferAgent = new UninterruptedDeferAgent(); var logger = new ConsoleLogger(); var gltf = new GltfImport(deferAgent: deferAgent, logger: logger); var task = gltf.LoadGltfBinary(data, new Uri(testCase.path)); yield return(Utils.WaitForTask(task)); var success = task.Result; Assert.IsTrue(success); var instantiator = new GameObjectInstantiator(gltf, go.transform, logger); success = gltf.InstantiateMainScene(instantiator); Assert.IsTrue(success); Object.Destroy(go); }