Unity + vuforia 开发虚拟按钮

2023-11-02

首先在创建虚拟按钮之前,还是要首先了解imageTarget的创建方式,我自己时参考dzyi的博客弄的,推荐大家,写的很详细。

地址:http://blog.csdn.net/dzyi_/article/details/22898929

创建虚拟按钮我参考的是官方的example。

第一步,按照dzyi的博客创建imageTarget和你要现实的模型,以及模型的位置。

第二步,将VirtualButton的Prefab拖拽到你自己的imageTaget下面。



第三步,在你的ImageTarget下,添加你自己的组件。组件需要继承IVirtualButtonEventHandler。

我自己的代码如下


using UnityEngine;
using System.Collections;

public class ST_VBEventHandler : MonoBehaviour,
IVirtualButtonEventHandler{

	public GameObject mBoll ;




	// Use this for initialization
	void Start () {
		VirtualButtonBehaviour[] vbs = GetComponentsInChildren<VirtualButtonBehaviour>();
		for (int i = 0; i < vbs.Length; ++i)
		{
			vbs[i].RegisterEventHandler(this);
		}
		Debug.Log ("asdfasdf=========================================asd");
		// Get handle to the teapot object
//		mBoll = transform.FindChild("teapot").gameObject;

	}

	public void OnButtonPressed(VirtualButtonAbstractBehaviour vb)
	{
		Debug.Log("OnButtonPressed=======::" + vb.VirtualButtonName);

		if (mBoll.activeSelf) {
			mBoll.SetActive(false);
		} else {
			mBoll.SetActive(true);
		}
	}
	
	
	/// <summary>
	/// Called when the virtual button has just been released:
	/// </summary>
	public void OnButtonReleased(VirtualButtonAbstractBehaviour vb)
	{
		Debug.Log("OnButtonReleased::" + vb.VirtualButtonName);
	}
	
	// Update is called once per frame
	void Update () {
	
	}
}

其中主要是要实现两个方法, OnButtonPressed 和 OnButtonReleased。第一个是虚拟按钮点击时,第二个时按钮推出时的处理。


基本上到这里虚拟按钮的处理就完成了。

自己试试吧!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity + vuforia 开发虚拟按钮 的相关文章

  • C语言中的typeof关键字

    typeof关键字是C语言中的一种新扩展 返回变量的类型 从本质上讲 它更像是使用typedef定义一个类型名称 typeof的参数可以是两种形式 表达式或类型 1 下面是使用表达式的的例子 typeof x 0 1 这里假设x是一个函数指

随机推荐

  • 制作Android程序的应用图标并应用

    方案一 1 首先在网址 http romannurik github io AndroidAssetStudio icons launcher html 下载自己喜欢的图标 包含不同尺寸的图片 2 然后将下载的压缩包解压 并将里面的res文
  • 在Android里显示网页的多种方式

    在Android中显示网页主要有两种方式 一种是在Activity里面直接显示网页 另一种是调用浏览器显示网页 方式不同 使用的方法也不同 下面我们分别讲解 一 在Activity里面直接显示网页 1 在Manifest xml文件里添加I
  • android 功能模块之通讯模块五

    Android通讯录开发之获取运营商号码段 移动 联通 电信 2014年1月8日 开发记录 碎碎念 2014年的第一篇博客 原本是想写一篇随笔来开头 只因自己太懒把这件事忘记了 或者根本就不想写 我当实习生也当了接近半年了 工作上的内容和学
  • LLM总结(持续更新中)

    最新的参见LLM Summary 引言 当前LLM模型火出天际 但是做事还是需要脚踏实地 此文只是日常学习LLM 顺手整理所得 本篇博文更多侧重对话 问答类LLM上 其他方向 代码生成 这里暂不涉及 可以去看综述来了解 之前LLM模型梳理
  • 正态分布与均匀分布之间的变换

    一 任何分布都能化为 0 1 0 1 0 1 均匀分布 假设 F X a p x a F X a p x le a FX a p x a 为累积分布函数 f x f x f x 为概率密度函数 F X a a f x d x F X a i
  • stm32 IAP引导两个APP出现的问题及解决方法

    最近在做bootloader引导app时发现如果APP有操作系统时 会引导不起来 现象如下 平台 stm32H743 采用stm32cubemx配置的HAL库 测试方式 上电后运行boot loader bootloader是裸机运行 由b
  • cmake使用笔记

    vim CMakeLists txt mkdir build cd build cmake 创建 CMakeLists txt 添加内容 cmake minimum required VERSION 3 26 工程名称 project he
  • OSI、TCP/IP模型及协议

    文章目录 OSI模型 TCP IP模型 TCP协议 TCP报文 首部字段 数据字段 三次握手 三次握手时c s的状态 四次挥手 UDP协议 HTTP协议 HTTP 协议下的消息类型 Cookie Session HTTPS 常见web攻击技
  • SpringBoot配置默认Json解析工具以及空值处理方式

    SerializeConfig config new SerializeConfig 设置序列化为下划线 config propertyNamingStrategy PropertyNamingStrategy SnakeCase Stri
  • Android UI架构(十三)--App请求切换帧率(4)之SurfaceFlinger切换帧率.md

    文章目录 参考资料 简述 一 SurfaceFlinger接受帧率变化 1 1 SurfaceFlinger setDesiredActiveConfig 1 2 SurfaceFlinger repaintEverythingForHWC
  • 用C语言编写简化版银行系统:ATM取款机

    1 问题描述 用c语言编写一个简化的银行自动存款系统 适合刚接触C语言 尝试编写100多行代码的初学者作为参考 该代码编写围绕着银行ATM机器的4个业务 分别是查询 取款 存款 修改密码 其中需要两个文件 一个为DrawMoney txt文
  • 阿里巴巴开源限流系统 Sentinel 全解析

    今年下半年阿里开源了自研的限流系统 Sentinel 官方对 Sentinel 的介绍中用到了一系列高大山的名词诸如 限流 熔断降级 流量塑形 系统负载保护等 还有漂亮的形容词诸如 轻巧 专业 实时等 作为技术消费者看到这样的广告词之后禁不
  • 掌握GDB调试工具,轻松排除bug!

    一 什么是GDB gdb是GNU debugger的缩写 是编程调试工具 GDB官网 https www gnu org software gdb GDB适用的编程语言 Ada C C objective c Pascal 等 GDB的工作
  • Python-第三方库requests详解

    Requests 是用Python语言编写 基于 urllib 采用 Apache2 Licensed 开源协议的 HTTP 库 它比 urllib 更加方便 可以节约我们大量的工作 完全满足 HTTP 测试需求 Requests 的哲学是
  • C++中的namespace(using namespace)的详细理解

    在C 语言编写的程序中 变量和函数等的作用范围是有一定限制的 比如 在函数体中定义的一个临时变量就不可以在函数体外使用 为了解决变量和函数等的作用范围 在C 语言中引入了名空间的概念 并增加了关键字namespace和using 在一个名空
  • 《STL源码剖析》(四)——序列式容器

    1 序列式容器 所谓序列式容器 其中的元素都可序 但未必有序 C 本身提供了一个序列式容器array STL另外提供了vector list deque stack queue priority queue等序列式容器 其中stack和qu
  • C++知识总结(内附超详细知识框架图)

    C 知识总结 由于在学习C 的同时博主也在学习Linux系统编程 Linux网络编程以及数据库 所以从开始学习C 到现在结束已经有一年多时间了 C 是博主学习的第一个面向对象的语言 在学习过程中也是逐渐体会到了面向对象编程的种种好处 但C
  • 第十二章 YOLO的部署实战篇(下篇)

    文章目录 前言 专栏概括 1 cuda教程目录 2 cuda教程背景 3 cuda教程内容 一 yolov5部署整体逻辑 1 yolov5的main函数 2 yolo h头文件 3 整体架构显示 二 yolov5模型的onnx转engne代
  • oracle tmp表空间不足,临时表空间不足引起的ORA-01114错误

    数据库程序突遇ORA 01114错误 提示内容如下 错误原因 Select error ORA 01114 将块写入文件 时出现 IO 错误 块 ORA 27069 skgfdisp 尝试在文件范围外执行 I O OSD 04026 无效的
  • Unity + vuforia 开发虚拟按钮

    首先在创建虚拟按钮之前 还是要首先了解imageTarget的创建方式 我自己时参考dzyi的博客弄的 推荐大家 写的很详细 地址 http blog csdn net dzyi article details 22898929 创建虚拟按