/// <summary> /// Imports mesh information using ObjReader /// </summary> /// <returns>Array containing gameobject</returns> /// <param name="meshLocation">Location of mesh information</param> IEnumerator ImportModel(int index, string browseIdentifier, string meshLocation, string texLocation) { // Download mesh ObjReader.ObjData objReader = ObjReader.use.ConvertFileAsync(meshLocation, false); while (!objReader.isDone) { yield return(null); } ProgressBarCont.AddTask("Importing " + browseIdentifier); importedObjects[index] = objReader.gameObjects[0]; // Create GameObject Texture2D objTexture = new Texture2D(512, 512); importedObjects[index].GetComponent <MeshRenderer> ().material.mainTexture = objTexture; importedObjects[index].GetComponent <MeshRenderer>().enabled = false; //turns off the mesh before placement to avoid clustering importedObjects[index].name = browseIdentifier; //artefact gameobject will be identifier for ease of reference importedObjects[index].tag = "Active Model"; importedObjects[index].AddComponent <BoxCollider> (); importedObjects[index].transform.SetParent(browseArtefactParent); // Download texture WWW www = new WWW(texLocation); while (!www.isDone) { yield return(null); } www.LoadImageIntoTexture(objTexture); PlaceArtefact(index, importedObjects[index]); }
IEnumerator Load() { loading = true; if (objData != null && objData.gameObjects != null) { for (var i = 0; i < objData.gameObjects.Length; i++) { Destroy(objData.gameObjects[i]); } } objData = ObjReader.use.ConvertFileAsync(objFileName, true, standardMaterial); while (!objData.isDone) { loadingText = "Loading... " + (objData.progress * 100).ToString("f0") + "%"; yield return(null); } loading = false; if (objData == null || objData.gameObjects == null) { loadingText = "Error loading file"; yield break; } loadingText = "Import completed"; FocusOnObjects(); }
IEnumerator Load() { loading = true; if (objData != null && objData.gameObjects != null) { for (var i = 0; i < objData.gameObjects.Length; i++) { Destroy (objData.gameObjects[i]); } } objData = ObjReader.use.ConvertFileAsync (objFileName, true, standardMaterial); while (!objData.isDone) { loadingText = "Loading... " + (objData.progress*100).ToString("f0") + "%"; if (Input.GetKeyDown (KeyCode.Escape)) { objData.Cancel(); loadingText = "Cancelled download"; loading = false; yield break; } yield return null; } loading = false; if (objData == null || objData.gameObjects == null) { loadingText = "Error loading file"; yield return null; yield break; } loadingText = "Import completed"; FocusOnObjects(); }
public IEnumerator Load(string objName, string mtlName, string pngName) { Debug.Log (" ------------------------------------------- " + objName + ", " + mtlName + ", " + pngName); c = GameObject.Find ("Canvas").GetComponent<Change> (); loading = true; if (objData != null && objData.gameObjects != null) { for (var i = 0; i < objData.gameObjects.Length; i++) { Destroy (objData.gameObjects[i]); } } if(!mtlName.Equals("") && !pngName.Equals("")) { objFileName = URL_API + objName; objData = ObjReader.use.ConvertFileAsync (objFileName, true, standardMaterial, mtlName, pngName); } else { objData = ObjReader.use.ConvertFileAsync (objFileName, true, standardMaterial); } objData = ObjReader.use.ConvertFileAsync (objFileName, true, standardMaterial); while (!objData.isDone) { loadingText = "Loading... " + (objData.progress*100).ToString("f0") + "%"; if (Input.GetKeyDown (KeyCode.Escape)) { objData.Cancel(); loadingText = "Cancelled download"; loading = false; loadingText = "Error loading file"; c.ExitPanel (); yield break; } yield return null; } loading = false; if (objData == null || objData.gameObjects == null) { loadingText = "Error loading file"; c.ExitPanel (); yield return null; yield break; } //GameObject loadtext = GameObject.Find ("Canvas").transform.FindChild ("PanelPopupLoad").FindChild ("LoadText").gameObject; loadingText = "Import completed"; GameObject objecLoad = GameObject.Find ("material0"); GameObject model = GameObject.Find ("GameObjectModel").transform.FindChild("header").FindChild("default").gameObject; model.GetComponent<MeshFilter> ().mesh = objecLoad.GetComponent<MeshFilter> ().mesh; model.GetComponent<MeshRenderer> ().material = objecLoad.GetComponent<MeshRenderer> ().material; model.transform.position = new Vector3(model.transform.position.x,model.transform.position.y,model.transform.position.z); c.ExitPanel (); Destroy (objecLoad); objecLoad = GameObject.Find ("material0"); if(objecLoad != null) Destroy (objecLoad); //FocusOnObjects(); }
/// <summary> /// Imports mesh information using ObjReader /// </summary> /// <returns>Array containing gameobject</returns> /// <param name="meshLocation">Location of mesh information</param> IEnumerator ImportModel(string meshLocation) { ObjReader.ObjData objReader = ObjReader.use.ConvertFileAsync(Paths.PathToFile(meshLocation), false, defaultMaterial); while (!objReader.isDone) { yield return(null); } GameObject curArtefact = objReader.gameObjects[0]; curArtefact.tag = "Current Model"; curArtefact.transform.SetParent(ImportParent); // curArtefact.name = browseIdentifier; //TODO assign default name to gameobject ArtefactSaveData.MeshLocation = meshLocation; }
private IEnumerator LoadObjModel(string path, List <GameObject> objList) { Material defaultMat = SiteManager.instance.objectDefaultMat; //new Material(Shader.Find("Standard")); Material defaultTransparent = SiteManager.instance.objectTransparentMat; //new Material(Shader.Find("Unlit/Transparent")); ObjReader.ObjData loadData = ObjReader.use.ConvertFileAsync("file://" + Path.GetFullPath(path), true, defaultMat, defaultTransparent); while (!loadData.isDone) { yield return(null); } //ObjReader.use.ConvertFile("file://" + Path.GetFullPath(path), true, defaultMat, defaultTransparent); if (loadData.gameObjects != null) { objList.AddRange(loadData.gameObjects); } }
IEnumerator Load() { loading = true; if (objData != null && objData.gameObjects != null) { for (var i = 0; i < objData.gameObjects.Length; i++) { Destroy(objData.gameObjects[i]); } } objData = ObjReader.use.ConvertFileAsync(objFileName, true, standardMaterial); while (!objData.isDone) { loadingText = "Loading... " + (objData.progress * 100).ToString("f0") + "%"; if (Input.GetKeyDown(KeyCode.Escape)) { objData.Cancel(); loadingText = "Cancelled download"; loading = false; yield break; } yield return(null); } loading = false; if (objData == null || objData.gameObjects == null) { loadingText = "Error loading file"; yield return(null); yield break; } foreach (GameObject gam in objData.gameObjects) { gam.transform.position = new Vector3(-10, 0, 0); } loadingText = "Import completed"; }
IEnumerator Load() { loading = true; if (objData != null && objData.gameObjects != null) { for (var i = 0; i < objData.gameObjects.Length; i++) { Destroy(objData.gameObjects[i]); } } objData = ObjReader.use.ConvertFileAsync(objFileName, true, standardMaterial); while (!objData.isDone) { loadingText = "Loading... " + (objData.progress * 100).ToString("f0") + "%"; if (Input.GetKeyDown(KeyCode.Escape)) { objData.Cancel(); loadingText = "Cancelled download"; loading = false; yield break; } yield return(null); } loading = false; if (objData == null || objData.gameObjects == null) { loadingText = "Error loading file"; yield return(null); yield break; } loadingText = "Import completed"; CloudRecoTrackableEventHandler.on3 = false; FocusOnObjects(); }
IEnumerator Load() { if (name [0] == 'm') { ObjReader.use.scaleFactor = new Vector3 (40F, 40F, 40F); ObjReader.use.objRotation = new Vector3 (-70F, 0F, 0F); Debug.Log("MATH DETECTED SHRINKING"); } else if (name[0]=='c'){ ObjReader.use.scaleFactor = new Vector3 (.9F, .9F, .9F); Debug.Log("CHEMISTRY DETECTED"); } else { ObjReader.use.scaleFactor = new Vector3 (.09F, .09F, .09F); } loading = true; if (objData != null && objData.gameObjects != null) { for (var i = 0; i < objData.gameObjects.Length; i++) { Destroy (objData.gameObjects[i]); } } materialName = fileName + ".mtl"; //Debug.LogError (materialName); objData = ObjReader.use.ConvertFileAsync (fileName, true, standardMaterial ); while (!objData.isDone) { loadingText = "Loading... " + (objData.progress*100).ToString("f0") + "%"; if (Input.GetKeyDown (KeyCode.Escape)) { objData.Cancel(); loadingText = "Cancelled download"; loading = false; yield break; } yield return null; } loading = false; loadingText = ""; GameObject userModel ; userModel = GameObject.Find(name); GameObject imgtarget; imgtarget = GameObject.Find("ImageTarget"); //Debug.LogError(userModel.GetComponent<Renderer>().material); //userModel.AddComponent<BoxCollider>(); //Debug.LogError(userModel.GetComponent<BoxCollider>().size.magnitude); userModel.transform.parent = imgtarget.transform; //imgtarget.transform.localScale += new Vector3 (80f, 80f, 80f); //userModel.transform.localScale += new Vector3 (70f, 70f, 70f); }
IEnumerator Load() { if (name [0] == 'm') { ObjReader.use.scaleFactor = new Vector3(40F, 40F, 40F); ObjReader.use.objRotation = new Vector3(-70F, 0F, 0F); Debug.Log("MATH DETECTED SHRINKING"); } else if (name[0] == 'c') { ObjReader.use.scaleFactor = new Vector3(.9F, .9F, .9F); Debug.Log("CHEMISTRY DETECTED"); } else { ObjReader.use.scaleFactor = new Vector3(.09F, .09F, .09F); } loading = true; if (objData != null && objData.gameObjects != null) { for (var i = 0; i < objData.gameObjects.Length; i++) { Destroy(objData.gameObjects[i]); } } materialName = fileName + ".mtl"; //Debug.LogError (materialName); objData = ObjReader.use.ConvertFileAsync(fileName, true, standardMaterial); while (!objData.isDone) { loadingText = "Loading... " + (objData.progress * 100).ToString("f0") + "%"; if (Input.GetKeyDown(KeyCode.Escape)) { objData.Cancel(); loadingText = "Cancelled download"; loading = false; yield break; } yield return(null); } loading = false; loadingText = ""; GameObject userModel; userModel = GameObject.Find(name); GameObject imgtarget; imgtarget = GameObject.Find("ImageTarget"); //Debug.LogError(userModel.GetComponent<Renderer>().material); //userModel.AddComponent<BoxCollider>(); //Debug.LogError(userModel.GetComponent<BoxCollider>().size.magnitude); userModel.transform.parent = imgtarget.transform; //imgtarget.transform.localScale += new Vector3 (80f, 80f, 80f); //userModel.transform.localScale += new Vector3 (70f, 70f, 70f); }