0

我有一个 ImageTarget,当检测到目标时,我正在显示一个 3DText。我希望此文本从 ImageTarget 开始并朝向相机移动。

假设我的相机距离为 50 个单位,目标为 0 个单位。当检测到图像时,我希望文本从 0 开始并以 5 个单位的间隔向相机移动,当它到达相机(45 个单位或 50 个单位)时,文本应该停止移动。

有人可以帮我弄这个吗?我对Unity很陌生..

提前致谢...

这就是我现在正在做的事情..

public float distance;
public int translateInterval = 5;


void Start () {

    GameObject mainCamera = GameObject.FindGameObjectWithTag("MainCamera");
    distance = Vector3.Distance(transform.position, mainCamera.transform.position);
}


void Update () {

    while(distance > 0)
    {
        transform.Translate(-Vector3.forward * translateInterval * Time.deltaTime);
        distance -= 5;
    }

}

当我使用此代码时,它的文本只会显示但似乎没有移动。

4

1 回答 1

0

为 3D 空间中两点之间的对象设置动画Vector3.Lerp是您的朋友!要计算文本应该移动的位置,您可以查看Vector3.MoveTowards

我建议通读 Vector3 类,因为它包含大量出色的实用方法来帮助我们。好吧,至少可以帮助我,因为我倾向于在向量数学上失败:)

于 2013-10-21T20:25:33.613 回答