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

embedded/2024/11/9 9:22:40/
<article class="baidu_pl">
article_content" class="article_content clearfix">
arkdown_views prism-tomorrow-night">arker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">

目录

  • 前言
  • 一、创建虚拟按钮
  • 二、创建脚本
  • 三、效果


前言

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


一、创建虚拟按钮

创建ARCamera和ImageTarget
在这里插入图片描述

导入一个带动画的模型
在这里插入图片描述
创建虚拟按钮
在这里插入图片描述

在这里插入图片描述

给按钮name添加名字
在这里插入图片描述

取消Turn Off Behaviour 脚本,显示按钮mesh Renderer组件方便测试,勾选会删除mesh Renderer组件组件
在这里插入图片描述
在这里插入图片描述

经过测试虚拟按钮的位置应在如下图所示90%以内的范围
在这里插入图片描述

二、创建脚本

arp">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上
在这里插入图片描述

三、效果

在这里插入图片描述


http://www.ppmy.cn/embedded/23840.html

相关文章

Pointnet和Pointnet++提取点云特征的思想

文章目录 PointNet提取特征的思想PointNet的改进 PointNet提取特征的思想 首先需要知道的是点云数据主要携带的信息&#xff0c;它所携带的信息通常是它在3D空间中的坐标和对应的点所携带的法向量。这种信息有别于图像所携带的信息。可以做这样的假设&#xff0c;如果将图像某…

AIGC:开启内容创作新纪元,我们如何看待它的影响与前景?

AIGC的概念 AIGC&#xff08;Artificial Intelligence Generated Content&#xff09;的概念主要是指人工智能生成内容。 这是一种新的人工智能技术&#xff0c;它利用人工智能模型&#xff0c;根据给定的主题、关键词、格式、风格等条件&#xff0c;自动生成各种类型的文本、图…

vue +antvX6 根据节点与线,动态设置节点坐标生成流程图

需求 vue2 antvX6完成流程图&#xff0c;但只有节点与线&#xff0c;没有节点的坐标&#xff0c;需要根据节点的顺序显示流程图。 需求&#xff1a; 1.根据数据动态生成对应的节点与线&#xff1b; 2.节点不能重叠&#xff1b; 3.节点与线可拖拽&#xff1b; 4.因为线存在重…

Word插件开发

VSTO是Visual Studio Tools for Office的简称&#xff0c;它是Microsoft Visual Studio的一个扩展&#xff0c;用于开发基于Microsoft Office平台的应用程序。VSTO提供了一套API和工具&#xff0c;使开发人员能够利用Visual Studio IDE来开发定制的Office解决方案。 在 Visual…

力扣刷题Day2

题目链接&#xff1a; 24. 两两交换链表中的节点 - 力扣&#xff08;LeetCode&#xff09; 效果&#xff1a; 解题思路&#xff1a; 给定一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后的链表。 注意不可以只是单纯的改变节点内部的值&#xff0c;而…

【MHA】MySQL高可用MHA介绍4-故障监控与切换具体流程

目录 一 故障监控与切换 1 验证复制设置并识别当前主服务器 2 监控主服务器 3 检测主服务器故障 4 再次验证从服务器配置 5 关闭故障的主服务器&#xff08;可选&#xff09; 6 恢复新主服务器 6.1 保存来自 已崩溃主服务器的二进制日志事件&#xff08;如果可能&#…

第11章 Android特色开发——基于位置的服务

第11章 Android特色开发——基于位置的服务 本章中&#xff0c;将要学习一些全新的Android技术&#xff0c;这些技术有别于传统的PC或Web领域的应用技术&#xff0c;是只有在移动设备上才能实现的。 基于位置的服务&#xff08;Location Based Service&#xff09;。由于移动…

Ansible一键部署zabbix+grafana+agent

目录 IP地址规划ansible安装分开部署安装zabbix-mysql安装zabbix-server安装zabbix-agent安装zabbix-grafana 一键部署自动发现 IP地址规划 名字地址主要安装软件ansible-server192.168.40.137zabbix-server、ansible、zabbix-mysqlzabbix-agent1192.168.40.138zabbix-agentza…