使用Kudan AR旋转AR对象以始终面向相机

3

我正在使用Unity3D开发一个类似于Pokemon Go的游戏,使用Kudan AR SDK。我的要求非常简单,AR对象必须始终面向相机。但是,我完全不知道如何在Kudan AR中实现这一点。
换句话说,我想禁用Kudan中陀螺仪的旋转数据。


你在使用SLAM还是标记?如果是SLAM,那么我猜你需要禁用陀螺仪,因为这是控制旋转的东西。 - Everts
1
Unity有关于这类问题的文档。在寻求StackOverflow等网站的答案之前,请尽可能利用可用的资源。https://docs.unity3d.com/ScriptReference/Transform.LookAt.html - DisturbedNeo
@Everts 使用SLAM。 - Pavan Chopra
调试了一段时间后,我发现Kudan相机游戏对象不会根据物理世界中的相机移动而旋转或移动。它始终位于0,0,0,具有0,0,0旋转。陀螺仪数据直接应用于AR对象。我正在跟踪的对象是一个漂浮的监视器(未来技术的一种)。因此,监视器不应沿X和Z轴旋转。它只能沿Y轴即上轴旋转。那么,我该如何操作陀螺仪数据呢? - Pavan Chopra
2个回答

0

这并不是一个KudanAR的问题。Unity3D处理所有渲染,所以如果你想让你的模型面向不同的方向,你需要使用Unity的API来实现。

Kudan的Unity插件只负责计算机视觉方面的事情,也就是说它负责识别和跟踪。


@Everts 没错。就是这个意思。不过,它必须只沿着Y(上)轴旋转。就像你在看电视一样。 - Pavan Chopra
@Everts 经过一段时间的调试,我发现 Kudan 相机 GameObject 在物理世界中不会随着相机移动而旋转或移动。它始终位于 0,0,0,旋转为 0,0,0。陀螺仪数据直接应用于 AR 对象。我正在跟踪的对象是一个浮动监视器(未来技术的一种)。因此,监视器不应沿 X 和 Z 轴旋转。它只能沿着 Y 轴即向上轴旋转。那么,我该如何操作陀螺仪数据? - Pavan Chopra
相机确实没有旋转。这与基本的AR相反,其中对象位于原点。这就是为什么我说你需要找到控制对象旋转的方法。然后将其注释掉。结果,您的对象将保持初始旋转。 - Everts

0
解决方案如下,您对象的脚本应该包含以下内容:
首先声明:
public Transform player;

并将您的Kudan相机链接到对象的检查器追逐脚本中的播放器:

enter image description here

在update方法中,最重要的一行是:

this.transform.LookAt (player);

你的对象现在正在看着你。

希望这有所帮助!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接