将GameObject从A点移动到B点 - Unity3D

时间:2015-02-28 21:32:42

标签: c# unity3d move

对于我正在创造的游戏我试图创建一个前方750米的大型开始,但是当试图用vector3.lerp做这个时,这是立即完成的,并且在尝试了许多事情后他无法得到它工作。

这是我写的脚本

       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;
        }
    }

如果你有更好的方法,请重播这篇文章:)

1 个答案:

答案 0 :(得分:1)

1)如果需要平滑旋转到目标使用:

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

2)设定速度:

myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;