- Home /
Question by
hozthemage · Sep 08, 2015 at 09:15 AM ·
transforminputmouselerp
Moving an object from it's current position to the position of the mouse cursor.
Hello.
I'm trying to get an object (referenced as a shuriken) to move from its current point to where the mouse currently is. The coordinates for where the object starts seem to make sense (-4.3, 2.1, 0.0), but the coordinates to where the mouse is are gigantic, sometimes in the hundreds or thousands. When the mouse releases, the object flies out of view.
I'm wondering why the mouse's coordinates are so huge compared to where the object currently is. I had heard about local space vs. world space but I'm not sure how to convert that.
Code for reference;
using UnityEngine;
using System.Collections;
public class Spin : MonoBehaviour {
public Vector3 currentPoint;
public Vector3 mousePoint;
public float speed = 1.0F;
// Use this for initialization
void Start () {
currentPoint = transform.position;
Debug.Log("The shuriken is starting at" + currentPoint);
}
// Update is called once per frame
void Update () {
if (Input.GetMouseButton(0))
{
transform.Rotate(Vector3.back, Time.deltaTime*1000);
mousePoint = Input.mousePosition;
Debug.Log("Mouse is at " + mousePoint);
}
if (Input.GetMouseButtonUp(0))
{
//transform.Translate(Input.mousePosition.x * Time.deltaTime, Input.mousePosition.y * Time.deltaTime, 0);
transform.position = Vector3.Lerp(currentPoint, mousePoint, speed);
Debug.Log("The shuriken is now at" + mousePoint);
}
}
}
Comment