Beispiel #1
0
        public void ImportOBJFromNetwork()
        {
            // This function downloads and imports an obj file named onion.obj from the url below
            // This also loads the associated textures and materials given by the absolute URLs

            GameObject importedObject;

            isImportingFromNetwork = true;


            PolyfewRuntime.OBJImportOptions importOptions = new PolyfewRuntime.OBJImportOptions();
            importOptions.zUp           = false;
            importOptions.localPosition = new Vector3(0.87815f, 1.4417f, -4.4708f);
            importOptions.localScale    = new Vector3(0.0042f, 0.0042f, 0.0042f);


            string objURL         = "https://dl.dropbox.com/s/v09bh0hiivja10e/onion.obj?dl=1";
            string objName        = "onion";
            string diffuseTexURL  = "https://dl.dropbox.com/s/0u4ij6sddi7a3gc/onion.jpg?dl=1";
            string bumpTexURL     = "";
            string specularTexURL = "";
            string opacityTexURL  = "";
            string materialURL    = "https://dl.dropbox.com/s/fuzryqigs4gxwvv/onion.mtl?dl=1";


            progressSlider.value = 0;
            uninteractivePanel.SetActive(true);
            downloadProgress = new PolyfewRuntime.ReferencedNumeric <float>(0);

            StartCoroutine(UpdateProgress());

            PolyfewRuntime.ImportOBJFromNetwork(objURL, objName, diffuseTexURL, bumpTexURL, specularTexURL, opacityTexURL, materialURL, downloadProgress, (GameObject imp) =>
            {
                AssignMeshesFromPairs();
                isImportingFromNetwork = false;
                importedObject         = imp;
                barabarianRef.SetActive(false);
                targetObject = importedObject;
                ResetSettings();
                objectMeshPairs           = PolyfewRuntime.GetObjectMeshPairs(targetObject, true);
                trianglesCount.text       = PolyfewRuntime.CountTriangles(true, targetObject) + "";
                exportButton.interactable = true;
                uninteractivePanel.SetActive(false);
                importFromWeb.interactable        = false;
                importFromFileSystem.interactable = false;
                preserveFace.interactable         = false;
                preservationStrength.interactable = false;
                disableTemporary = true;
                preservationSphere.gameObject.SetActive(false);
                disableTemporary = false;
            },
                                                (Exception ex) =>
            {
                uninteractivePanel.SetActive(false);
                isImportingFromNetwork = false;
                Debug.LogError("Failed to download and import OBJ file.   " + ex.Message);
            }, importOptions);
        }
Beispiel #2
0
        public void ImportOBJ()
        {
            // This function loads an abj file named Meat.obj from the project's asset directory
            // This also loads the associated textures and materials

            GameObject importedObject;

            PolyfewRuntime.OBJImportOptions importOptions = new PolyfewRuntime.OBJImportOptions();
            importOptions.zUp           = false;
            importOptions.localPosition = new Vector3(-2.199f, -1, -1.7349f);
            importOptions.localScale    = new Vector3(0.045f, 0.045f, 0.045f);

            string objPath             = Application.dataPath + "/PolyFew/demo/TestModels/Meat.obj";
            string texturesFolderPath  = Application.dataPath + "/PolyFew/demo/TestModels/textures";
            string materialsFolderPath = Application.dataPath + "/PolyFew/demo/TestModels/materials";


            PolyfewRuntime.ImportOBJFromFileSystem(objPath, texturesFolderPath, materialsFolderPath, (GameObject imp) =>
            {
                importedObject = imp;
                Debug.Log("Successfully imported GameObject:   " + importedObject.name);
                barabarianRef.SetActive(false);
                targetObject = importedObject;
                ResetSettings();
                objectMeshPairs                   = PolyfewRuntime.GetObjectMeshPairs(targetObject, true);
                trianglesCount.text               = PolyfewRuntime.CountTriangles(true, targetObject) + "";
                exportButton.interactable         = true;
                importFromWeb.interactable        = false;
                importFromFileSystem.interactable = false;
                preserveFace.interactable         = false;
                preservationStrength.interactable = false;
                disableTemporary                  = true;
                preservationSphere.gameObject.SetActive(false);
                disableTemporary = false;
            },
                                                   (Exception ex) =>
            {
                Debug.LogError("Failed to load OBJ file.   " + ex.ToString());
            }, importOptions);
        }