首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于移动触摸输入增强现实的虚拟对象交互

基于移动触摸输入增强现实的虚拟对象交互
EN

Stack Overflow用户
提问于 2015-09-12 08:13:39
回答 2查看 2.3K关注 0票数 0

我想为android开发一个增强现实应用程序,它能够使用标记来生成3D对象,并且这些3D对象在触摸时使用移动的触摸输入进行交互。

我浏览了一些可用的SDK,如武弗里亚、Junaio或莱亚尔球员,发现它们都支持:

  • 基于三维虚拟图像叠加的标记检测
  • 虚拟按钮,当您使它们不可见时,这些按钮就会激活。(Vuforia)
  • 交互式视频播放。

不过,我要找的是:

  • 在AR中的虚拟对象,可以通过移动的触摸进行交互。

我确信这是可能的,因为有虚拟视频覆盖,点击/点击就会启动视频(类似于交互式虚拟元素)。

有人能建议我找一个最适合这个功能的库/工具包吗?

问:在搜索上述工具包时,我是否明显错过了一些已经支持我想要的功能的东西?

EN

回答 2

Stack Overflow用户

发布于 2015-10-11 05:25:55

根据您最后的描述,您需要的是Vuforia支持的,还有一个纯Android的示例(没有统一)。

您需要查看Dominos示例,其中显示了如何在屏幕上拖动OpenGL domino对象。在这里寻找一个快速的描述:https://developer.vuforia.com/forum/faq/android-how-do-i-project-screen-touch-target

如果您在自己实现时遇到了一些问题,您可以在Vuforia论坛上搜索一些其他人面临的常见问题的答案。但基本上,在他们的样本中效果很好。

票数 1
EN

Stack Overflow用户

发布于 2016-08-09 08:49:49

嗯,这是给团结5.x的

首先,阅读Vuforia的文档,了解更多关于图像目标AR相机的信息。

将您的3D模型导入到场景中,以便所有交互对象都是图像目标的子对象。

阅读手机触摸(我在我的项目中使用了android )

代码语言:javascript
复制
if(Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)

将触点转换成光线,从屏幕到3D世界

代码语言:javascript
复制
Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);

在场景中创建一架飞机(光线击中)

代码语言:javascript
复制
Plane plane = new Plane(Vector3.up, Vector3.zero);

如果射线击中飞机,得到x,y,z位置。pos的价值将具有世界地位。

代码语言:javascript
复制
if (plane.Raycast(ray, out distance)){
    Vector3 pos = ray.GetPoint(distance); 
}

请根据您的需要修改代码。这是一个非常基本的例子。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32536676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档