// public GameObject setTargetOn; void Update() { if (!Input.GetMouseButton(0)) { return; } Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hitInfo; if (!Physics.Raycast(ray, out hitInfo)) { return; } GameObject hitObject = hitInfo.transform.gameObject; ReactivePlane plane = hitObject.GetComponent <ReactivePlane> (); if (plane == null) { return; } transform.position = hitInfo.point + hitInfo.normal * surfaceOffset; // if (setTargetOn != null) // { // setTargetOn.SendMessage("SetTarget", transform); // } }
// Update is called once per frame void Update() { if (Input.touchCount == 1) { Vector3 point = Input.GetTouch(0).position; ray = Camera.main.ScreenPointToRay(point); if (Physics.Raycast(ray, out hit, Mathf.Infinity)) { GameObject hitObject = hit.transform.gameObject; ReactivePlane plane = hitObject.GetComponent <ReactivePlane> (); if (plane != null) { touchSpot = hit.point; } } } transform.position = Vector3.MoveTowards(transform.position, touchSpot, 10.0f * Time.deltaTime); }