我使用Unity和Vuforia创建了一个基本的AR应用程序并将其导出到Android,因此我可以在那里添加一些活动 . 当我在应用程序中使用AR相机扫描图像时,会弹出一个模型 . 那里什么新鲜事 .
我想要实现的是,当用户点击某个活动中的按钮时,可以说按钮上的文字是“大象”,应用程序中的AR相机打开,扫描图像并加载大象模型 .
我的问题是:这有可能吗?是否可以根据用户输入加载模型?如果这是可能的,那么搜索一些关于它的文档的最佳位置是什么?我已经在互联网上搜索过,但找不到任何具体的内容 . 我也是Unity&Vuforia的新手,所以我对这个程序知之甚少 . 只有一些教程涵盖的内容 .
如果这个问题已被提出/回答,我表示歉意 .
提前致谢!
1 回答
嗯,是的,这是可能的 . 为了使您的应用真正使用AR功能,您可以实现虚拟按钮技术 .
老实说,在文档方面,高通毫无用处 . 但是,由于您将Unity与Vuforia Extension一起使用,因此大多数功能都可以在Unity文档中使用 .
我将解释如何通过两种方式实现这一目标:
1. Using Virtual Buttons (VB)
首先,从
Assets>Qualcomm>Prefabs>Virtual Button
向场景添加/删除VB开始 . 确保VB是使用的Image Target的子代 .为Image Target创建一个新脚本,用于定义VB需要执行的操作 .
您将从注册按钮开始:
现在你继续开始使用按钮的功能
同样,如果您希望按钮在发布时执行某些操作:
如果您希望按钮控制Gameobject,则继续将GameObject声明为类中的公共变量,以便可以在Inspector中访问它并进行相应的分配 .
其中GameObject是变量类型,human是我们用于参考的变量名
再说一遍,根据你想要获得的东西,有两种方法来分配
callbuttonfunction()
可以做什么 .Application.LoadLeve("Levelname")
这会加载一个新场景,其中新对象被加载到同一个图像目标上
Model.enabled(false)
和Elephant.enabled(true)
这简单地禁用了当前模型并启用了Elepant模型 . 在类的开头将这些设置为公共变量将使在Inspect元素中分配模型变得更容易 .
2. On-screen Buttons (OB)
如果您想要屏幕上的按钮,那么只需将按钮UI添加到相机并将其放置在屏幕的特定角落或其他位置 .
现在,如果您按下该按钮,它将在
void Update()
内,您可以使用触摸功能使用Unity中的脚本引用 .