public void Start()
    {
        p = new GameObject();

#if UNITY_EDITOR && !UNITY_WEBPLAYER
        if (!usePresetCoordinates || presetCoordinatesFile == null)
        {
            return;
        }

        Vector3[] positionArray = StringUtility.Vector3ArrayWithFile(presetCoordinatesFile);

        for (int i = 0; i < positionArray.Length; i++)
        {
            GameObject go = (createPrimitive) ? GameObject.CreatePrimitive(PrimitiveType.Cube) : new GameObject();
            go.transform.position = positionArray[i];
            go.name             = "Point: " + i;
            go.transform.parent = p.transform;
            points.Add(go);
        }

        Texture2D heatmapImage = Heatmap.CreateHeatmap(positionArray, null, pointRadius);
        Heatmap.CreateRenderPlane(heatmapImage);
#endif
    }
    void AddPoint(Vector3 pos)
    {
        GameObject go = (createPrimitive) ? GameObject.CreatePrimitive(PrimitiveType.Cube) : new GameObject();

        go.transform.position = pos;
        go.transform.parent   = p.transform;

        points.Add(go);
#if UNITY_EDITOR && !UNITY_WEBPLAYER
        if (generatePresetCoordinates)
        {
            string str = StringUtility.StringWithGameObjects(points.ToArray());

            string path = presetCoordinatesFile ? AssetDatabase.GetAssetPath(presetCoordinatesFile) : AssetDatabase.GenerateUniqueAssetPath("Assets/DebugPoints.txt");

            File.WriteAllText(path, str);

            // Heatmap.CreateHeatmap(PositionArrayWithGameObjects(points.ToArray()), camera, pointRadius);
        }
        else
#endif
        {
            Texture2D heatmapImage = Heatmap.CreateHeatmap(PositionArrayWithGameObjects(points.ToArray()), camera, pointRadius);
            Heatmap.CreateRenderPlane(heatmapImage);
        }
    }
Exemplo n.º 3
0
    //object to appear
    //public GameObject image;

    void Update()
    {
        if (Input.GetKeyDown("h") && bringUpMenu.running == 1)
        {
            //place cam in right place.
            //mainCam.transform.position = new Vector3(0f,14f,0f);
            //mainCam.transform.localEulerAngles =  new Vector3(90f, 270f, 0f);
            //stop camera movement
            //mainCam.GetComponent<MouseLook>().enabled = false;
            //mainCam.GetComponent<mainCameraControls>().enabled = false;
            //bring up canvas
            menu.enabled = true;
            endGame.SetActive(false);
            midGame.SetActive(false);
            canvasDev.SetActive(false);
            heatMapPlane.SetActive(true);
            //turn light
            light.SetActive(false);
            //make the heatmap
            heatPlane.SetActive(true);
            //Texture2D tex = Heatmap.CreateHeatmap(points, mainCam, 5);
            Texture2D tex = Heatmap.CreateHeatmap(allData, mainCam, heatPlane);
            Heatmap.CreateRenderPlane(tex);
            QualitySettings.anisotropicFiltering = AnisotropicFiltering.Enable;
            //allData.Clear();
        }
    }
Exemplo n.º 4
0
    public void OnGUI()
    {
        if (GUI.Button(screenshotRect, "Screenshot"))
        {
            camera1.enabled = false;
            camera2.enabled = true;

            Debug.Log(camera2.isActiveAndEnabled);

            // Positions / Camera / How large to draw heat points
            Texture2D heatmapImage = Heatmap.CreateHeatmap(points.ToArray(),
                                                           camera2, 40);

            // Draw the Heatmap in front of the camera
            Heatmap.CreateRenderPlane(heatmapImage);

            // And take the screenshot!
            Heatmap.Screenshot("Assets/MyScreenshot.png");
        }
        StringUtility.Vector3ArrayToTextAsset(points.ToArray(), HeatmapTextAssetPath);
    }
Exemplo n.º 5
0
    public void CheckQuit()
    {
        if (Input.GetKey(KeyCode.Escape))
        {
            rift1.enabled   = false;
            rift2.enabled   = false;
            camera2.enabled = true;

            Debug.Log(camera2.isActiveAndEnabled);

            // Positions / Camera / How large to draw heat points
            Texture2D heatmapImage = Heatmap.CreateHeatmap(points.ToArray(),
                                                           camera2, 20);
            // Draw the Heatmap in front of the camera
            Heatmap.CreateRenderPlane(heatmapImage);

            // And take the screenshot!
            Heatmap.Screenshot("Assets/MyScreenshot.png");
        }
        StringUtility.Vector3ArrayToTextAsset(points.ToArray(), HeatmapTextAssetPath);
        Application.Quit();
    }
    void displayHeatMapFromFile()
    {
        hideAllUsersItems();
        XmlDocument doc = new XmlDocument();

        doc.Load(Application.dataPath + "/InputXMLS/Level1.xml");

        XmlNode userdata = doc.LastChild.FirstChild;

        string runId = "";

        Debug.Log(doc.LastChild.FirstChild.Name);
        foreach (XmlNode node in userdata.ChildNodes)
        {
            if (node.Name == "Run-ID")
            {
                runId = node.InnerText;
            }

            if (node.Name == "Walls")
            {
                // for each wall
                foreach (XmlNode cnode in node.ChildNodes)
                {
                    GameObject Wallobj = GameObject.CreatePrimitive(PrimitiveType.Cube);
                    Wallobj.name = "besthmWall";
                    Wallobj.tag  = "wall";
                    Wallobj.GetComponent <Renderer>().material = colormat;
                    // for each wall info (Position, Rotation, Scale)
                    foreach (XmlNode transformInfo in cnode.ChildNodes)
                    {
                        float X = 0;
                        float Y = 0;
                        float Z = 0;

                        if (transformInfo.Name == "Position")
                        {
                            foreach (XmlNode transformInfoVariable in transformInfo.ChildNodes)
                            {
                                if (transformInfoVariable.Name == "X")
                                {
                                    X = float.Parse(transformInfoVariable.InnerText);
                                }
                                if (transformInfoVariable.Name == "Y")
                                {
                                    Y = float.Parse(transformInfoVariable.InnerText);
                                }
                                if (transformInfoVariable.Name == "Z")
                                {
                                    Z = float.Parse(transformInfoVariable.InnerText);
                                }
                            }
                            Wallobj.transform.position = new Vector3(X, Y, Z);
                        }
                        if (transformInfo.Name == "Rotation")
                        {
                            foreach (XmlNode transformInfoVariable in transformInfo.ChildNodes)
                            {
                                if (transformInfoVariable.Name == "X")
                                {
                                    X = float.Parse(transformInfoVariable.InnerText);
                                }
                                if (transformInfoVariable.Name == "Y")
                                {
                                    Y = float.Parse(transformInfoVariable.InnerText);

                                    if (Y > .001)
                                    {
                                        Y = 90;
                                    }
                                }
                                if (transformInfoVariable.Name == "Z")
                                {
                                    Z = float.Parse(transformInfoVariable.InnerText);
                                }
                            }

                            Wallobj.transform.eulerAngles = new Vector3(X, Y, Z);
                            //Wallobj.transform.rotation = Quaternion.Euler(X, Y, Z);
                        }
                        if (transformInfo.Name == "Scale")
                        {
                            foreach (XmlNode transformInfoVariable in transformInfo.ChildNodes)
                            {
                                if (transformInfoVariable.Name == "X")
                                {
                                    X = float.Parse(transformInfoVariable.InnerText);
                                }
                                if (transformInfoVariable.Name == "Y")
                                {
                                    Y = float.Parse(transformInfoVariable.InnerText);
                                }
                                if (transformInfoVariable.Name == "Z")
                                {
                                    Z = float.Parse(transformInfoVariable.InnerText);
                                }
                            }
                            Wallobj.transform.localScale = new Vector3(X, Y, Z);
                        }
                    }

                    Wallobj.SetActive(true);
                }
            }

            if (node.Name == "Pillars")
            {
                // for each pillar
                foreach (XmlNode cnode in node.ChildNodes)
                {
                    GameObject Pillarobj = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
                    Pillarobj.name = "besthmPillar";
                    Pillarobj.tag  = "pillar";
                    Pillarobj.GetComponent <Renderer>().material = colormat;

                    // for each door info (Position, Rotation, Scale)
                    foreach (XmlNode transformInfo in cnode.ChildNodes)
                    {
                        float X = 0;
                        float Y = 0;
                        float Z = 0;

                        if (transformInfo.Name == "Position")
                        {
                            foreach (XmlNode transformInfoVariable in transformInfo.ChildNodes)
                            {
                                if (transformInfoVariable.Name == "X")
                                {
                                    X = float.Parse(transformInfoVariable.InnerText);
                                }
                                if (transformInfoVariable.Name == "Y")
                                {
                                    Y = float.Parse(transformInfoVariable.InnerText);
                                }
                                if (transformInfoVariable.Name == "Z")
                                {
                                    Z = float.Parse(transformInfoVariable.InnerText);
                                }
                            }
                            Pillarobj.transform.position = new Vector3(X, Y, Z);
                        }
                        if (transformInfo.Name == "Rotation")
                        {
                            foreach (XmlNode transformInfoVariable in transformInfo.ChildNodes)
                            {
                                if (transformInfoVariable.Name == "X")
                                {
                                    X = float.Parse(transformInfoVariable.InnerText);
                                }
                                if (transformInfoVariable.Name == "Y")
                                {
                                    Y = float.Parse(transformInfoVariable.InnerText);

                                    if (Y > .001)
                                    {
                                        Y = 90;
                                    }
                                }
                                if (transformInfoVariable.Name == "Z")
                                {
                                    Z = float.Parse(transformInfoVariable.InnerText);
                                }
                            }
                            Pillarobj.transform.rotation = Quaternion.Euler(X, Y, Z);
                        }
                        if (transformInfo.Name == "Scale")
                        {
                            foreach (XmlNode transformInfoVariable in transformInfo.ChildNodes)
                            {
                                if (transformInfoVariable.Name == "X")
                                {
                                    X = float.Parse(transformInfoVariable.InnerText);
                                }
                                if (transformInfoVariable.Name == "Y")
                                {
                                    Y = float.Parse(transformInfoVariable.InnerText);
                                }
                                if (transformInfoVariable.Name == "Z")
                                {
                                    Z = float.Parse(transformInfoVariable.InnerText);
                                }
                            }
                            Pillarobj.transform.localScale = new Vector3(X, Y, Z);
                        }
                    }
                    Pillarobj.SetActive(true);
                }
            }
        }

        byte[] bytes = File.ReadAllBytes(Application.dataPath + "/InputXMLS/" + runId + ".png");
        mainCam.transform.localEulerAngles = new Vector3(90f, 270f, 0f);

        heatMapPlane.SetActive(true);
        light.SetActive(false);
        heatPlane.SetActive(true);
        Texture2D tex = new Texture2D(2, 2);

        tex.LoadImage(bytes);
        Heatmap.CreateRenderPlane(tex);
    }