2015-02-28 2 views
-1

для игры, которую я создаю Я пытался создать мега-старт, который пройдет на 750 метров вперед, но при попытке сделать это с помощью vector3.lerp это делается мгновенно , и, попробовав много вещей, он не смог заставить его работать.Перемещение объекта GameObject из точки A в точку B - Unity3D

Вот сценарий, который я написал

 if (in750Run) 
    { 
     PlayerManager.Instanse.gameObject.transform.position = Vector3.Lerp(PlayerManager.Instanse.gameObject.transform.position,PowerUpFinalePlayer.position, Time.deltaTime * 5); 
     Camera.main.transform.position = Vector3.Lerp(Camera.main.transform.position, PowerUpFinaleCamera.position, Time.deltaTime * 5); 
     if (Vector3.Distance(PlayerManager.Instanse.gameObject.transform.position, PowerUpFinalePlayer.position) > 2) 
     { 
      in750Run = false; 
     } 
    } 

Если у вас есть лучший способ сделать это, пожалуйста, повторить на этот пост :)

+0

Обратите внимание, что тег единства не относится к таким вопросам. –

+0

Этот вопрос, «если у вас есть лучший способ сделать это», лучше спросить на http://codereview.stackexchange.com/ –

ответ

1

1) Если вам нужно плавные вращаться к целевому использованию :

Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed*Time.deltaTime); 

2) Для того, чтобы установить скорость:

myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime; 
Смежные вопросы