如何解决Unity Vuforia对象看着相机问题
程序说明
我正在使用Vuforia框架开发AR应用程序,其中有与生物学概念相关的对象,通过向这些对象添加始终看着主摄像头的面部,这些对象对孩子们更具吸引力。这些面位于单独的层中,并呈现在所有其他层的顶部。该面由一个四边形组成,该四边形具有未发光的材质,其中包含面精灵。面部对象是主要生物对象的子对象,并放置在其父对象的原点(localPosition = {0,0}) 参见示例here。
代码
为确保人脸注视相机并始终相对于相机向上矢量朝上,请执行以下代码。
public class Face : MonoBehaviour
{
private Camera mainCamera;
private void Awake() => mainCamera = Camera.main;
...
private void Update() => transform.rotation = Quaternion.LookRotation(transform.position - mainCamera.transform.position,mainCamera.transform.up);
}
我的ARCamera(基本相机和主相机)渲染除Face图层以外的所有图层。该图层由附加堆叠的FaceCamera叠加层渲染,它是主相机的子代。
问题
这似乎在编辑器和播放模式下可以正常工作,但是由于某种原因,当游戏是构建到实际的移动设备上时(到目前为止,仅在android手机上对其进行了测试,因此我不确定该行为是什么)其他设备),这些面孔似乎相对于其父对象的原点偏移,而不是完全位于原点。
我不知道是什么原因造成的,但是我怀疑这与相机设置或不正确的Vuforia设置有关。我在下面提供了当前设置的其他屏幕截图。 ARCamera,FaceCamera和Vuforia Configuration。
Here可以看到我的问题的视频记录。在这里,您可以看到弹头上方的面有点“悬停”,而不是位于中心。当它们只是出现在屏幕边缘时,这种现象尤其明显。
我希望有人知道我在这里面临的问题。预先感谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。