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

目录

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


前言

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


一、创建虚拟按钮

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

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

在这里插入图片描述

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

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

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

二、创建脚本

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.mzph.cn/diannao/3891.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac上安装Tomcat

1. 简介 Tomcat 是一个开源的 Java 服务器&#xff0c;它实现了 Java Servlet、JavaServer Pages&#xff08;JSP&#xff09;和Java WebSocket 技术。Tomcat 是 Apache 软件基金会的一个项目&#xff0c;是一个轻量级、高性能的 Web 容器。作为一个 Web 服务器&#xff0c;To…

go设计模式之抽象工厂模式

抽象工厂模式 提供一个创建一系列相关或相互依赖对象的接口&#xff0c;而无需指定它们具体的类。 工厂方法模式通过引入工厂等级结构&#xff0c;解决了简单工厂模式中工厂类职责太重的问题&#xff0c;但由于工厂方法模式中的每个工厂只生产一类产品&#xff0c;可能会导致…

Angular创建项目

Angular创建项目 文章目录 Angular创建项目1. 创建项目1.1 直接安装1.2 跳过npm i安装 2. 运行程序 1. 创建项目 ng new 项目名称 1.1 直接安装 ng new angulardemo --同时会安装依赖包&#xff0c;执行的命令就是npm i 1.2 跳过npm i安装 ng new angulardemo --skip-inst…

Pytorch 的实际应用 学习笔记

一. 模型的下载 weights为false时则为没有提前经过训练的模型&#xff0c;为true时则经过了提前训练 vgg16_false torchvision.models.vgg16(weightsFalse) vgg16_true torchvision.models.vgg16(weightsTrue) 打印 二. 模型的修改 &#xff08;1&#xff09;添加操作 …

RabbitMQ中的交换机类型

交换机类型 可以看到&#xff0c;在订阅模型中&#xff0c;多了一个exchange角色&#xff0c;而且过程略有变化&#xff1a; Publisher&#xff1a;生产者&#xff0c;不再发送消息到队列中&#xff0c;而是发给交换机 Exchange&#xff1a;交换机&#xff0c;一方面&#xff…

【小浩算法 DFS cpp题解】构造二叉树、打印二叉树、递归求树深度、实现DFS

目录 前言实现思路一些疑问的解决 我的代码 前言 今天第一次做一下cpp的树的算法&#xff0c;还是遇到了不少问题的&#xff0c;对树的学习其实在考研期间会比链表和数组少很多&#xff0c;其中最关键的要学会用递归。求深度也好&#xff0c;DSF也好&#xff0c;构造树也好&am…

欧科云链:为什么减半对比特币生态的影响正在逐步“减弱”?

出品&#xff5c;OKG Research 作者&#xff5c;Jason Jiang 欧科云链OKLink数据显示&#xff0c;比特币于区块高度840000&#xff08;北京时间2024年4月20日8:09&#xff09;成功完成第四次减半&#xff0c;比特币挖矿奖励正式由6.25BTC减少至3.125BTC。此次减半之后&#x…

Spring MVC系列之九大核心组件

概述 Spring MVC是面试必问知识点其一&#xff0c;Spring MVC知识体系庞杂&#xff0c;有以下九大核心组件&#xff1a; HandlerMappingHandlerAdapterHandlerExceptionResolverViewResolverRequestToViewNameTranslatorLocaleResolverThemeResolverMultipartResolverFlashMa…

中电金信:深度解析|数字化营销运营体系搭建

如何更好更快地梳理好体系搭建思路&#xff0c;稳步实现落地&#xff1f;下文将为大家明确搭建的推进步骤、执行要点&#xff0c;帮助商业银行理顺数字化营销运营体系的“点”“线”“面”~ 与所有转型的曲折、阵痛等特征一样&#xff0c;商业银行构建数字化营销运营体系过程中…

OceanBase 分布式数据库【信创/国产化】- OceanBase V4.3 里程碑版本

本心、输入输出、结果 文章目录 OceanBase 分布式数据库【信创/国产化】- OceanBase V4.3 里程碑版本前言OceanBase 数据更新架构4.3.0 版本是 OceanBase 迈向实时分析 AP 场景的重要里程特性:TP & AP一体化的产品形态新向量化引擎物化视图MySQL 模式下 Online DDL 扩充全…

C#算法之快速排序

算法释义&#xff1a;朋友们&#xff0c;我们在上文中说到&#xff0c;归并算法是一种分治算法&#xff0c;同样的&#xff0c;快速排序也是一种分治算法。所谓分治算法&#xff0c;原理上来说&#xff0c;是将规模为N的问题分解为若干个规模为较小的M的问题&#xff0c;这些子…

URL路由基础与Django处理请求的过程分析

1. URL路由基础 对于高质量的Web应用来讲&#xff0c;使用简洁、优雅的URL设计模式非常有必要。Django框架允许设计人员自由地设计URL模式&#xff0c;而不用受到框架本身的约束。对于URL路由来讲&#xff0c;其主要实现了Web服务的入口。用户通过浏览器发送过来的任何请求&am…

PyQt5中的QTablewidget

环境 PyQt5 VSCode Qt Designer生成界面 在VSCode的资源管理器中&#xff0c;右键选择 PYQT:New Form&#xff0c;打开Qt Designer 选择新建Dialog without Buttons&#xff0c;点击 创建 在左侧的Item Widgets中将 Table Widget拖入Dialog窗体中。 得到界面 将文件保存…

CH4INRULZ-v1靶机练习实践报告

CH4INRULZ-v1靶机练习实践报告 1 安装靶机 靶机是.ova文件&#xff0c;需要用VirtualBox打开&#xff0c;但我习惯于使用VMWare,因此修改靶机文件&#xff0c;使其适用于VMWare打开。 解压ova文件&#xff0c;得到.ovf文件和.vmdk文件。直接用VMWare打开.ovf文件即可。 2 夺…

Go语言 Interface(接口)

基本介绍 Go 语言提供了另外一种数据类型即接口&#xff0c;它把所有的具有共性的方法定义在一起&#xff0c;任何其他类型只要实现了这些方法就是实现了这个接口。接口可以让我们将不同的类型绑定到一组公共的方法上&#xff0c;从而实现多态和灵活的设计。Go 语言中的接口是…

Oceanbase体验之(一)运维管理工具OCP部署(社区版4.2.2)

资源规划建议 ocp主机1台 内存:64G CPU1:2C及以上 硬盘大于500G observer服务器3台 内存32G CPU&#xff1a;4C以上 硬盘大于1T 建议存储硬盘与操作系统硬盘隔开实现IO隔离 一、OBD、OCP安装包准备 [rootobserver /]# chown -R admin:admin /software/ [rootobserver /]# …

四:物联网ARM开发

一&#xff1a;ARM体系结构概述 1&#xff1a;控制外设led灯还有一些按键这些就要用到gpio&#xff0c;采集传感器的数据需要adc进行转化数据格式&#xff0c;特殊的外设和传感器是通过特殊的协议接口去进行连接的比如一些轴传感器和主控器的连接是通过spi&#xff0c;IIC 控制…

UE_反射系统(虚幻编译系统)

UE_反射系统(虚幻编译系统) UCLASS、UFUNCTION、UPROPERTY UCLASS 宏的有效关键字 https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/GameplayArchitecture/Classes/Specifiers/ When declaring classes, Class Specifiers can be added to the declar…

更新!!!Unity移动端游戏性能优化简谱

UWA官方出品&#xff0c;结合多年优化经验撰写了《Unity移动端游戏性能优化简谱》&#xff0c;文章从Unity移动端游戏优化的一些基础讨论出发&#xff0c;例举和分析了近几年基于Unity开发的移动端游戏项目中最为常见的部分性能问题&#xff0c;并展示了如何使用UWA的性能检测工…

mxnet gluon GRU 文档

mxnet.gluon.rnn.GRU官方文档 以下是一个使用的简单用例&#xff0c;详细信息前往官网 # hidden_size 100 num_layer 3 layer mx.gluon.rnn.GRU(100, 3) layer.initialize() # seq_len 5 batch_size 3 input_size 10 input mx.nd.random.uniform(shape(5, 3, 10)) # by…