Vuforia:移动对象而不缩放

时间:2018-01-08 11:00:47

标签: unity3d vuforia

我正在使用Unity在Vuforia开展一个项目,我设置了一个VuMark,以便使用ARCamera跟踪一个对象。

我想在虚拟空间中锁定一个对象(在VuMark上设置)的大小,这样当我将VuMark靠近摄像机时,虚拟对象的大小应该保持不变。 / p>

我尝试在Unity Inspector中锁定Y轴,但它无法解决问题。

是否有人知道如何保持对象的大小不变,无论虚拟空间中的特定轴如何,或者对象是否更接近相机?

1 个答案:

答案 0 :(得分:0)

显然,你的相机可以在X,Y, Z轴上移动,因此冻结Y轴不会影响相机接近vumark的距离。

最重要的是,通过Vuforia的工作方式,该插件可以在世界空间中移动相机,也可以移动 VuMark对象。您的项目设置为使用哪一个未包含在您的问题中(或者您尝试锁定轴中的哪一个)。

解决这个问题的方法是实际计算距离摄像机的距离(无论哪个物体在移动,这个计算都是准确的),然后将该值提供回3D物体的比例(使用一些乘数)。

以下是我用来测试的脚本:

public class KeepSize : MonoBehaviour {
    void Update () {
        float dist = (Camera.main.transform.position - transform.position).magnitude / 3f;

        transform.localScale = new Vector3(dist, dist, dist);
    }
}

除以3是一个任意值,可以很好地在屏幕上显示一个简单的立方体。