我有一个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;
}
}
当我使用此代码时,它会显示文本,但似乎无法移动。
答案 0 :(得分:0)
要在3D空间中的两个点之间为对象设置动画Vector3.Lerp是您的朋友!要计算文本的移动位置,您可以查看Vector3.MoveTowards
我建议您仔细阅读Vector3类,因为它包含大量精彩的实用工具来帮助我们。好吧,至少要帮助我,因为我倾向于在Vector Math中失败:)