java - Android ARToolkit - 标记的位置

标签 java android artoolkit

我正在使用 Android 版 ARToolkit 并尝试在检测到的标记上写一个文本。我想用一个简单的 TextView 来做到这一点。所以我只使用 ARToolkit 来查找标记。

但是我怎样才能在我的相机预览中找到标记正确的位置(我需要坐标),这样我就可以将 TextView 放在标记上?

提前致谢!

最佳答案

两条评论都是正确的,ARToolkit 返回一个投影矩阵和一个变换矩阵。两者都设计为与 OpenGL 一起使用,而不是与标准的 Android View 一起使用。投影矩阵应用于相机,变换应用于物体(位姿矩阵)

如果您只想显示文本,我建议您使用 Unity 插件,然后使用 Unity UI 组件添加 Canvas 和附加到标记的文本。这些组件已经被设计为 3D 对象(如果您这样做,请记住将 Canvas 设置为“世界空间”

您还有其他选择:

a) 将文本渲染成纹理并将其绘制在 Quad 上,您可以根据具有立方体的示例进行此操作。

b) 使用矩阵进行一些矩阵计算,并使用变换矩阵(Android 类)将变换应用于 TextView 的位置和旋转。尽管有可能,但所涉及的数学相当复杂。如果你想让它只是漂浮着看着相机,setTranslationX、Y 和 Z 就足够了。

c) 将具有文本渲染功能的 3D 引擎链接到 ARToolkit。我已经用 jPCT-AE 做到了。虽然这可行,但需要做很多工作。我打算很快写下来。

关于java - Android ARToolkit - 标记的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31731120/

相关文章:

java - 使用JMF和RTP传输的视频 session

java - java中如何计算大数?

android - AOSP - Android 6 Marshmallow 编译 - make : *** [run_soong] Error 126

android opencv - 是否有可能在每次旋转时捕捉到对 3D 对象的不同点击?

java - 在 2 个独立的 JTable 中显示不同的数据

java: json 上的 xpath

java - 从 url 获取 xml 不起作用

Android LinearLayout 和 RecyclerView BottomNavigation 对齐

android - 将 ARToolkit 与安卓一起使用

android - 如何在支持图层的 Android 上显示 Collada (.dae) 文件?