我使用Unity& amp;创建了一个基本的AR应用程序. Vuforia并将其导出到Android,所以我可以在那里添加一些活动.当我在应用程序中使用AR相机扫描图像时,会d出一个模型.那里什么新鲜事.
我想要实现的是,当用户点击某个活动中的按钮时,可以说按钮上的文字是“大象”,应用程序中的AR相机打开,扫描图像并加载大象的模型.
我的问题是:这可能吗?是否可以根据用户输入加载模型?如果这是可能的,那么搜索一些关于它的文档的最佳位置是什么?我已经在互联网上搜索过,但找不到任何具体的内容.我也是Unity&的新手. Vuforia,所以我对这个项目知之甚少.只有一些教程涵盖的内容.
如果这个问题已被提出/回答,我表示歉意.
提前致谢!
解决方法:
嗯,是的,这是可能的.为了让您的应用真正使用AR功能,您可以实现虚拟按钮技术.
老实说,在文档方面,高通毫无用处.但是,由于您将Unity与Vuforia Extension一起使用,因此大多数功能都可以在Unity文档中使用.
我将解释如何通过两种方式实现这一目标:
1.使用虚拟按钮(VB)
首先,首先从Assets> Qualcomm> Prefabs>虚拟按钮向场景添加/删除VB.确保VB是使用的Image Target的子代.
为Image Target创建一个新脚本,定义VB需要执行的 *** 作.
您将从注册按钮开始:
voID Start () { VirtualbuttonBehavIoUr[] vbs = transform.GetComponentsInChildren<VirtualbuttonBehavIoUr> (); for (int i=0; i < vbs.Length; ++i) { vbs[i].RegisterEventHandler(this); }
现在你继续开始使用按钮的功能
public voID Onbuttonpressed(VirtualbuttonAbstractBehavIoUr vb){ //specify which button you want to function by using the if statement if(vb.name=="buttonname") { callbuttonfunction();} }
同样,如果您希望按钮在发布时执行某些 *** 作:
public voID OnbuttonReleased(VirtualbuttonAbstractBehavIoUr vb){ //specify which button you want to function by using the if statement if(vb.name=="buttonname") { callbuttonfunction();} }
如果您希望按钮控制Gameobject,则继续将GameObject声明为类中的公共变量,以便可以在Inspector中访问它并进行相应分配.
public GameObject human;
GameObject是变量类型,human是我们用于参考的变量名称
现在再次,根据您想要获得的内容,有两种方法可以分配callbuttonfunction()可以执行的 *** 作.
> Application.LoadLeve(“Levelname”)
这将加载新对象,其中新对象将加载到同一图像目标上
> Model.enabled(false)和Elephant.enabled(true)
这只是禁用了当前模型并启用了Elepant模型.
在类的开头将这些设置为公共变量将使在Inspect元素中分配模型变得更容易.
2.屏幕按钮(OB)
>如果您想要屏幕上的按钮,那么只需将按钮UI添加到相机并将其放置在屏幕的特定角落或其他位置.
>现在,如果你运行按钮,它将在voID Update()中,你可以使用触摸功能使用Unity中的脚本参考.
总结Really hope this helps you and everyone else who suffers from
absolutely NO support from Qualcomm.
Hit me up if you need more clarification.
以上是内存溢出为你收集整理的c# – 在Android中通过按钮点按加载AR模型全部内容,希望文章能够帮你解决c# – 在Android中通过按钮点按加载AR模型所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)