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); } }
//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(); } }
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); }
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); }