void Update() { if ((Input.touchCount > 0 && Input.touches[0].phase == TouchPhase.Began) || Input.GetMouseButtonDown(0)) { Ray ray; if (Input.touchCount > 0) { ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position); } else { ray = Camera.main.ScreenPointToRay(Input.mousePosition); } RaycastHit Hit; if (Physics.Raycast(ray, out Hit)) { if (Hit.transform.gameObject == gameObject) { SphereHelper sphereHelper = (SphereHelper)FindObjectOfType(typeof(SphereHelper)); sphereHelper.skyBox = skyBox; SceneManager.LoadScene(sceneToLoad); } } } }
/// <summary> /// /// </summary> public void WorldSphere(Matrix transform, float radius) { const int numHorLines = 8; const int numVerLines = 12; Vector3[,] Points = new Vector3[numHorLines, numVerLines]; // Create Points for (int vLine = 0; vLine < numVerLines; vLine++) { for (int hLine = 0; hLine < numHorLines; hLine++) { Points[hLine, vLine] = SphereHelper.BuildVector(hLine * (Math.PI / numHorLines), vLine * (Math.PI * 2.0 / numVerLines), radius); } } // Create Lines for (int vLine = 0; vLine < numVerLines; vLine++) { float colour = ((vLine * 1.1f) / numVerLines); Color horColour = new Color(colour, 0, (1.0f - colour)); for (int hLine = 0; hLine < numHorLines; hLine++) { WorldLine(Color.Green, Points[hLine, vLine], Points[((hLine + 1) % numHorLines), vLine]); WorldLine(horColour, Points[hLine, vLine], Points[hLine, ((vLine + 1) % numVerLines)]); } } }
// Start is called before the first frame update void Start() { SphereHelper sphereHelper = (SphereHelper)FindObjectOfType(typeof(SphereHelper)); SetSkybox(sphereHelper.skyBox); Destroy(sphereHelper.transform.gameObject); }