嗯,是的,这是可能的。为了让您的应用真正使用 AR 功能,您可以实现虚拟按钮技术。
老实说,在文档方面,Qualcomm 毫无用处。但由于您将 Unity 与 Vuforia 扩展一起使用,幸运的是大多数功能都包含在 Unity 文档中。
我将解释如何通过两种方式实现这一目标:
1.使用虚拟按钮 (VB)
首先,从Assets>Qualcomm>Prefabs>Virtual Button 向场景添加/删除 VB。确保 VB 是使用的 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();}
}
如果您希望您的按钮控制游戏对象,请继续在类中将游戏对象声明为公共变量,以便可以在检查器中对其进行访问并进行相应的分配。
public GameObject human;
其中 GameObject 是变量类型,human 是我们用来参考的变量名
现在,根据您想要获得的内容,有两种方法可以指定 callbuttonfunction() 可以做什么。
-
Application.LoadLeve("Levelname")
这会加载一个新场景,其中新对象被加载到相同的图像目标上
-
Model.enabled(false) 和 Elephant.enabled(true)
这只是禁用了当前模型并启用了 Elepant 模型。
在课程开始时将这些设置为公共变量将更容易在 Inspect 元素中分配模型。
2。屏幕按钮 (OB)
- 如果您想要屏幕上的按钮,那么只需将按钮 UI 设置为相机的父级,并将其放置在屏幕的特定角落或其他位置。
- 现在,如果您使用按钮,它将位于
void Update() 内,您可以使用触摸功能使用来自 Unity 的脚本参考。
真的希望这可以帮助您和其他所有遭受痛苦的人
高通绝对不支持。
如果您需要更多说明,请联系我。