Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Update()
- {
- UpdatePlacementPose();
- UpdatePlacementIndicator();
- if (placementPoseIsValid && Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began) {
- PlaceObject();
- Debug.Log("Object Placed"); // This gets called
- MoveToB();
- }
- }
- private void MoveToB()
- {
- objectToPlace.transform.position = new Vector3(100, 100, 100);
- Debug.Log("MoveToB Triggered"); // This gets called
- }
- private void PlaceObject()
- {
- Instantiate(objectToPlace, placementPose.position, placementPose.rotation);
- }
- private void UpdatePlacementIndicator()
- {
- if (placementPoseIsValid) {
- placementIndicator.SetActive(true);
- placementIndicator.transform.SetPositionAndRotation(placementPose.position, placementPose.rotation);
- } else {
- placementIndicator.SetActive(false);
- }
- }
- private void UpdatePlacementPose()
- {
- var screenCentre = Camera.current.ViewportToScreenPoint(new Vector3(0.5f, 0.5f));
- var hits = new List<ARRaycastHit>();
- arOrigin.Raycast(screenCentre, hits, TrackableType.Planes);
- placementPoseIsValid = hits.Count > 0;
- if (placementPoseIsValid) {
- placementPose = hits[0].pose;
- var cameraForward = Camera.current.transform.forward;
- var cameraBearing = new Vector3(cameraForward.x, 0, cameraForward.z).normalized;
- placementPose.rotation = Quaternion.LookRotation(cameraBearing);
- }
- }
Add Comment
Please, Sign In to add comment