void Update() { //UnityEngine.Debug.Log(lineColor); print(lon); print(lat); print(alt); if (float.IsNaN(lon)) { return; } if ((activeCamera == CameraEnum.FirstCamera || activeCamera == CameraEnum.PanelCamera) && alt > 500) { gameObject.transform.localScale = new Vector3(20, 20, 20); } else if (activeCamera == CameraEnum.ThirdCamera) { gameObject.transform.localScale = new Vector3(1, 1, 1); } else { float height = lineWidth * 200f; float scale = Mathf.Max(1f, height / 200f); gameObject.transform.localScale = new Vector3(scale, scale, scale); } gameObject.transform.position = new Vector3(MapLib.WorldPosToCoord(lon, lat)[0], alt, MapLib.WorldPosToCoord(lon, lat)[1]); gameObject.transform.rotation = MapLib.yawPitchRolltoRotation(yaw, -1f * pitch, -1f * roll); updateVelPointer(vel); updateYawPointer(yaw); updateAltPointer(alt); updateHorizon(pitch, roll); HandloopMesh.text = handloop.ToString(); if ((alt - TerrainGameObject.position.y) > 200f) { qlj.SetActive(false); } else { qlj.SetActive(true); } if ((!(prePosition == Vector3.zero)) && Vector3.Distance(prePosition, transform.position) > 1f) { if (Vector3.Distance(prePosition, transform.position) > 50f) { createLineRender(); } else { mline.positionCount = lineVNum + 1; mline.useWorldSpace = true; if (lineVNum == 1) { mline.SetPosition(lineVNum - 1, new Vector3(prePosition.x, prePosition.y, prePosition.z)); } mline.SetPosition(lineVNum, new Vector3(transform.position.x, prePosition.y, transform.position.z)); lineVNum++; for (int i = 0; i < lineCount; i++) { linerenderList[i].startWidth = lineWidth; linerenderList[i].endWidth = lineWidth; } } } prePosition = transform.position; }
void Update() { //UnityEngine.Debug.Log(lineColor); if (float.IsNaN(lon)) { return; } float x = Input.GetAxis("Horizontal"); float y = Input.GetAxis("Vertical"); bool up = Input.GetKeyDown(KeyCode.A); bool down = Input.GetKeyDown(KeyCode.S); string z; if (up) { z = "1"; } else if (down) { z = "-1"; } else { z = "0"; } serialp.serialwrite(string.Format("{0},{1},{2}", x.ToString(), y.ToString(), z.ToString())); if ((activeCamera == CameraEnum.FirstCamera || activeCamera == CameraEnum.PanelCamera) && alt > 500) { gameObject.transform.localScale = new Vector3(20, 20, 20); } else if (activeCamera == CameraEnum.ThirdCamera) { gameObject.transform.localScale = new Vector3(1, 1, 1); } else { float height = lineWidth * 200f; float scale = Mathf.Max(1f, height / 200f); gameObject.transform.localScale = new Vector3(scale, scale, scale); } float lon2 = serialp.getlon(); float lat2 = serialp.getlat(); float alt2 = serialp.getal(); print(lon2); print(lat2); print(alt2); gameObject.transform.position = new Vector3(MapLib.WorldPosToCoord(lon2, lat2)[0], alt2, MapLib.WorldPosToCoord(lon2, lat2)[1]); gameObject.transform.rotation = MapLib.yawPitchRolltoRotation(yaw, -1f * pitch, -1f * roll); updateVelPointer(vel); updateYawPointer(yaw); updateAltPointer(alt); updateHorizon(pitch, roll); HandloopMesh.text = handloop.ToString(); if ((alt - TerrainGameObject.position.y) > 200f) { qlj.SetActive(false); } else { qlj.SetActive(true); } if ((!(prePosition == Vector3.zero)) && Vector3.Distance(prePosition, transform.position) > 1f) { if (Vector3.Distance(prePosition, transform.position) > 50f) { createLineRender(); } else { mline.positionCount = lineVNum + 1; mline.useWorldSpace = true; if (lineVNum == 1) { mline.SetPosition(lineVNum - 1, new Vector3(prePosition.x, prePosition.y, prePosition.z)); } mline.SetPosition(lineVNum, new Vector3(transform.position.x, prePosition.y, transform.position.z)); lineVNum++; for (int i = 0; i < lineCount; i++) { linerenderList[i].startWidth = lineWidth; linerenderList[i].endWidth = lineWidth; } } } prePosition = transform.position; }