Vuforia AR篇(四)— AR虚拟按钮

目录


前言

在当今互联网和移动设备普及的背景下,**增强现实(AR)**技术正迅速成为连接现实世界与数字信息的重要桥梁。AR虚拟按钮作为这一技术的创新应用,不仅提供了一种全新的用户交互方式,还极大地提高了界面的直观性和操作的便捷性。本文将介绍AR虚拟按钮的使用。


一、创建虚拟按钮

创建ARCamera和ImageTarget

导入一个带动画的模型

创建虚拟按钮

给按钮name添加名字

取消Turn Off Behaviour 脚本,显示按钮mesh Renderer组件方便测试,勾选会删除mesh Renderer组件组件

经过测试虚拟按钮的位置应在如下图所示90%以内的范围

二、创建脚本

csharp 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Vuforia;

public class VirtualButtonClick : MonoBehaviour
{

    public bool _isEffect;
  
    public GameObject death;
    public GameObject effect;

    public VirtualButtonBehaviour[] buttons;
    public virtual 
    void Awake()
    {
        _isEffect = false;
        buttons = GetComponentsInChildren<VirtualButtonBehaviour>();
        for (int i = 0; i < buttons.Length; i++)
        {
            if (buttons[i].VirtualButtonName=="Left")
            {
  
                buttons[i].RegisterOnButtonPressed(PressLeft);
            }
            else if(buttons[i].VirtualButtonName=="Right")
            {

                buttons[i].RegisterOnButtonPressed(PressRight);
            }
            else if (buttons[i].VirtualButtonName=="Effect")
            {
                buttons[i].RegisterOnButtonPressed(PressEffect);
            }

        }
    }

    private void PressLeft(VirtualButtonBehaviour obj)
    {
        death.transform.Rotate(Vector3.up,-2);

    }
    private void PressRight(VirtualButtonBehaviour obj)
    {
        death.transform.Rotate(Vector3.up,2);
    }

    private void PressEffect(VirtualButtonBehaviour obj)
    {
        _isEffect = !_isEffect;
        effect.SetActive(_isEffect);
    }

    void Start ()
    {

    }
	
    void Update ()
    {

    }
}

把脚本挂在ImageTarget上

三、效果

相关推荐
Hody918 小时前
【XR开发系列】Unity下载与安装详细教程(UnityHub、Unity)
unity·游戏引擎·xr
程序员正茂11 小时前
在Unity3d中使用Netly开启TCP服务
unity·tcp·netly
Little丶Seven11 小时前
使用adb获取安卓模拟器日志
android·unity·adb·个人开发
黄思搏2 天前
Unity坐标转换指南 - 3D与屏幕UI坐标互转
ui·3d·unity
weixin_424294672 天前
在 Unity 游戏开发中,为视频选择 VP8 还是 H.264
unity·游戏引擎
一步一个foot-print3 天前
【Unity】Light Probe 替代点光源给环境动态物体加光照
unity·游戏引擎
@LYZY3 天前
Unity 中隐藏文件规则
unity·游戏引擎·游戏程序·vr
霜绛3 天前
C#知识补充(二)——命名空间、泛型、委托和事件
开发语言·学习·unity·c#
Sator13 天前
使用Unity ASE插件设置数值不会生效的问题
unity·游戏引擎
程序猿追3 天前
轻量级云原生体验:在OpenEuler 25.09上快速部署单节点K3s
人工智能·科技·机器学习·unity·游戏引擎