Showing posts with label Move Object. Show all posts
Showing posts with label Move Object. Show all posts

Unity Move Object with Lerp

Unity Move Object with Lerp
You can use Lerp function to move an object automatically. You just need start and end points. Object moves from start to end in time. You can assign start point and end point manually in script or with mouse click. These points may be another objects positions too. Just assign these points, attach this script to an object and let it move.

private float time = 2.0f;
 
 void Update () {
  Vector3 startPoint = new Vector3 (0, 0, 0);
  Vector3 endPoint = new Vector3 (0, 0, 3);
  transform.position = Vector3.Lerp (startPoint, endPoint, time);
  }

Unity Move Object with Lerp

Unity Move Object to Mouse Click Position

Unity Move Object to Mouse Click Position

No matter 2D or 3D, we use same method to move an object to mouse click position. We need to get mouse click position on ground or whatever, and move object to this position. Create a plane and a cube. We will move cube to any position on plane with mouse click. We get the mouse click position with Raycast.

public GameObject cube;
 Vector3 targetPosition;
 
 void Start () {
 
  targetPosition = transform.position;
 }
 void Update(){
 
  if (Input.GetMouseButtonDown(0)){
   Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
   RaycastHit hit;
 
   if (Physics.Raycast(ray, out hit)){
    targetPosition = hit.point;
    cube.transform.position = targetPosition;
   }
  }
 }

Attach this code to plane and assign a cube as public game object. Now, press play and test it. Click anywhere on plane and see cube moving.

Unity Move Object to Mouse Click Position