【问题标题】:3DText - Move towards Camera - Unity3DText - 向相机移动 - Unity
【发布时间】:2013-10-22 04:25:33
【问题描述】:

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

假设我的相机距离为 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;
    }

}

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

【问题讨论】:

  • 您可能希望将distance -= 5 更改为distance -= translateInterval * Time.deltaTime 并将while 更改为if。 while 循环将一直执行到完成,所以如果/当您的翻译工作时,您将看到的只是一个瞬间跳转。

标签: android camera unity3d


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多