Hi.
I’m having trouble with my script.
I am trying to make my object move from A to B in x amount (this case 4) seconds;
But when I run my script the objects just flies away and the teleports to point B;
Please help
if (Input.GetKey(KeyCode.H))
{
StartCoroutine(Move(transform.position, HomePos.transform.position, 3.0f, this.gameObject.transform));
}
IEnumerator Move(Vector3 A, Vector3 B, float time, Transform target)
{
float speed = Vector3.Distance(A,B) / time;
Vector3 direction = (B - A).normalized;
target.position = A;
float elapsed = 0.0f;
while (elapsed < time)
{
elapsed += Time.deltaTime;
target.Translate(direction * speed * Time.deltaTime);
yield return true;
}
transform.position = B;
}