Ejemplo n.º 1
0
    /// <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]);
    }
Ejemplo n.º 2
0
    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();
    }
Ejemplo n.º 3
0
    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();
    }
Ejemplo n.º 4
0
    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();
    }
Ejemplo n.º 5
0
    /// <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;
    }
Ejemplo n.º 6
0
    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);
        }
    }
Ejemplo n.º 7
0
        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";
        }
Ejemplo n.º 8
0
    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();
    }
Ejemplo n.º 9
0
    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);
    }
Ejemplo n.º 10
0
    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);
    }