c# – 在Android中通过按钮点按加载AR模型

我使用Unity& amp;创建了一个基本的AR应用程序. Vuforia并将其导出到Android,所以我可以在那里添加一些活动.当我在应用程序中使用AR相机扫描图像时,会弹出一个模型.那里什么新鲜事.

我想要实现的是,当用户点击某个活动中的按钮时,可以说按钮上的文字是“大象”,应用程序中的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.

相关文章

前言 本文记录unity3D开发环境的搭建 unity安装 unity有中文...
前言 有时候我们希望公告牌跟随镜头旋转永远平行面向屏幕,同...
前言 经过一段时间的学习与实际开发,unity3D也勉强算是强行...
前言 在unity中我们常用的获取鼠标点击的方法有: 1、在3D场...
前言 在之前的例子中,我们都没有用到unity的精髓,例如地形...
这篇文章将为大家详细讲解有关Unity3D中如何通过Animator动画...