2024-04-08 NO.6 Quest3 自定义交互事件
文章目录
- 1 交互事件——更改 Cube 颜色
- 2 交互事件——创建 Cube
- 2.1 非代码方式
- 2.2 代码方式
在开始操作前,我们导入上次操作的场景,相关介绍在 《2024-04-08 NO.5 Quest3 手势追踪进行 UI 交互-CSDN博客》 文章中。
1 交互事件——更改 Cube 颜色
(1)在场景中创建一个方块 Cube,修改其缩放大小。
(2)在 Button 上添加脚本 “Interactable Unity Event Wrapper”,并关联如下引用。
- Interactable View
<--“Poke Interactable” 脚本。
(3)在 When Hover() 中添加事件,并关联上 Cube 物体。选择 MeshRenderer > Material material。并将材质球 Red 进行关联。
(4)同样的方式对 When Select() 进行操作,关联 Blue 材质。对 When Unselect() 关联 Default-Material。
此时运行程序,即可点击按钮实现更改 Cube 颜色的功能。
2 交互事件——创建 Cube
2.1 非代码方式
首先复制一份按钮。
(1)创建如下脚本 ItemSpawner.cs。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ItemSpawner : MonoBehaviour
{public GameObject spawnObj;public Transform spawnPoint;// Start is called before the first frame updatevoid Start() { }// Update is called once per framevoid Update() { }public void SpawnItem() {Object.Instantiate(spawnObj, spawnPoint.position, spawnPoint.rotation);}
}
(2)将 ItemSpawner.cs 挂载到 Button (2) 上。同时创建一个空物体,用于决定新 Cube 的生成位置,并赋值相关引用。
(3)在 “Interactable Unity Event Wrapper” 脚本中,新建 When Select() 事件,关联 “ItemSpawner” 脚本,选择 ItemSpawner > SpawnItem。
此时运行程序,即可点击按钮实现创建新 Cube 的功能。
2.2 代码方式
将 ItemSpawner.cs 脚本内容改为如下即可。
using System.Collections;
using System.Collections.Generic;
using Oculus.Interaction;
using UnityEngine;public class ItemSpawner : MonoBehaviour
{public GameObject spawnObj;public Transform spawnPoint;private InteractableUnityEventWrapper _eventWrapper;// Start is called before the first frame updatevoid Start() {_eventWrapper = GetComponent<InteractableUnityEventWrapper>();_eventWrapper.WhenSelect.AddListener(SpawnItem);}// Update is called once per framevoid Update() { }public void SpawnItem() {Object.Instantiate(spawnObj, spawnPoint.position, spawnPoint.rotation);}
}
相关文章:
2024-04-08 NO.6 Quest3 自定义交互事件
文章目录 1 交互事件——更改 Cube 颜色2 交互事件——创建 Cube2.1 非代码方式2.2 代码方式 在开始操作前,我们导入上次操作的场景,相关介绍在 《2024-04-08 NO.5 Quest3 手势追踪进行 UI 交互-CSDN博客》 文章中。 1 交互事件——更改 Cube 颜色 …...
素描进阶:深入探索如何表现石膏像的质感
素描进阶:深入探索如何表现石膏像的质感 素描,作为一种古老而经典的绘画方式,历来都被视为是艺术家们探索世界、理解形式与质感的重要工具。而在素描的过程中,如何精准地捕捉并表现物体的质感,是每位艺术家都需要深…...
flutter组件_AlertDialog
官方说明:A Material Design alert dialog. 翻译:一个材料设计警告对话框。 作者释义:显示弹窗,类似于element ui中的Dialog组件。 AlertDialog的定义 const AlertDialog({super.key,this.icon,this.iconPadding,this.iconColor,t…...
供应链领域主题:生产制造关键术语和系统
BOM(Bill of Material)物料清单 BOM(Bill of Material)物料清单,是计算机可以识别的产品结构数据文件,也是ERP的主导文件。BOM使系统识别产品结构,也是联系与沟通企业各项业务的纽带。ERP系统中…...
k8s_入门_kubelet安装
安装 在大致了解了一些k8s的基本概念之后,我们实际部署一个k8s集群,做进一步的了解 1. 裸机安装 采用三台机器,一台机器为Master(控制面板组件)两台机器为Node(工作节点) 机器的准备有两种方式…...
主干网络篇 | YOLOv5/v7 更换骨干网络之 HGNetv2 | 百度新一代超强主干网络
本改进已融入到 YOLOv5-Magic 框架。 论文地址:https://arxiv.org/abs/2304.08069 代码地址:https://github.com/PaddlePaddle/PaddleDetection 中文翻译:https://blog.csdn.net/weixin_43694096/article/details/131353118 文章目录 HGNetv2网络结构1.1 主干网络1.2 颈部…...
JUC:ScheduledThreadPoolExecutor 延迟任务线程池的使用
文章目录 ScheduledThreadPoolExecutortimer(不建议用)ScheduledThreadPoolExecutor处理异常应用 ScheduledThreadPoolExecutor timer(不建议用) timer也可以进行延迟运行,但是会有很多问题。 比如task1运行时间超过…...
js str字符串和arr数组互相转换
js str字符串和arr数组互相转换 字符串转为数组 1、split()方法 返回的是原字符串的数组 var str "hello"; var arr str.split(""); console.log(arr); //输出["h", "e", "l", "l", "o"]2、Ar…...
计算机网络——40各个层次的安全性
各个层次的安全性 安全电子邮件 Alice需要发送机密的报文m给Bob Alice 产生随机的对称秘钥, K s K_s Ks使用 K s K_s Ks对报文进行加密(为了效率)对 K s K_s Ks使用Bob的公钥进行加密发送 K s ( m ) K_s(m) Ks(m)和 K B ( K S ) K…...
OpenHarmony实战:Combo解决方案之W800芯片移植案例
本方案基于OpenHarmony LiteOS-M内核,使用联盛德W800芯片的润和软件海王星系列Neptune100开发板,进行开发移植。 移植架构采用Board与SoC分离方案,支持通过Kconfig图形化配置编译选项,增加玄铁ck804ef架构移植,实现了…...
【数据结构】数组(稀疏矩阵、特殊矩阵压缩、矩阵存储、稀疏矩阵的快速转置、十字链表)
稀疏矩阵、矩阵压缩、稀疏矩阵的快速转置、十字链表 目录 稀疏矩阵、矩阵压缩、稀疏矩阵的快速转置、十字链表1.数组2.数组的顺序表示和实现3.特殊矩阵的压缩存储(1). 上三角矩阵—列为主序压缩存储(2). 下三角矩阵—**行为主序压…...
nginx 配置访问地址和解决跨域问题(反向代理)
1、配置访问地址(通过ip访问) //配置ip访问地址 location ^~/auditApp{alias /usr/local/front-apps/cbd/auditApp;index index.html;if (!-e $request_filename) {rewrite ^/(.*) /auditApp/index.html last;break;}} 2、解决跨域问题&…...
支持向量机(SVM)白话之个人理解(学习记录)
本文仅有文字理解部分,没有相应的数学公式推导过程,便于新手理解。 一、什么是支持向量机 首先我们看下面这张图,在图中圆形和三角形分别代表不同的数据类型,如何画出一条直线使两者能够显著地区分开来呢? 答案可以多…...
【运输层】TCP 的可靠传输是如何实现的?
目录 1、发送和接收窗口(滑动窗口) (1)滑动窗口的工作流程 (2)滑动窗口和缓存的关系 (3)滑动窗口的注意事项 2、如何选择超时重传时间 (1)加权平均往返…...
K8s技术全景:架构、应用与优化
一、介绍 Kubernetes的历史和演进 Kubernetes(简称K8s)是一个开源的容器编排系统,用于自动化应用程序的部署、扩展和管理。它最初是由Google内部的Borg系统启发并设计的,于2014年作为开源项目首次亮相。 初始阶段 Kubernetes的诞生…...
Java的异常机制
异常机制 三种类型 检查型异常:程序员无法预见的运行时异常:在编译时会被忽略错误ERROR:错误在代码中被忽略,在编译时检查不到 异常处理机制 抛出异常捕获异常异常处理的五个关键字:try,catchÿ…...
考虑预同步的虚拟同步机T型三电平逆变器并离网MATLAB仿真模型
微❤关注“电气仔推送”获得资料(专享优惠) 模型简介 三相 T 型三电平逆变器电路如图所示,逆变器主回路由三个单相 T 型逆变器组成。 直流侧输入电压为 UPV,直流侧中点电位 O 设为零电位,交流侧输出侧是三相三线制连…...
记一次k8s取证检材过期的恢复
复盘盘古石k8s的时候碰到了证书过期的问题,在此记录解决方法 报错信息:192.168.91.171:6443 was refused - did you specify the right host or port? 查看证书是否过期 kubeadm alpha certs check-expiration或 openssl x509 -in /etc/kubernetes/…...
【网站项目】自助购药小程序
🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板ÿ…...
Ubuntu22.04修改默认窗口系统为X11
Ubuntu22.04安装默认窗口系统为Wayland(通过设置->关于可以看到)。 一、用Ubuntu on Xorg会话登录 用户登录时,点“未列出”,输入用户名后,在登录界面底部的齿轮图标中,选择 "Ubuntu on Xorg&quo…...
ncmdump技术解析:网易云音乐NCM加密格式的逆向工程与转换实现原理
ncmdump技术解析:网易云音乐NCM加密格式的逆向工程与转换实现原理 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 项目技术定位与核心价值 ncmdump是一款专注于网易云音乐NCM加密格式逆向解析的开源工具,通过…...
本地部署 SQLite 数据库管理工具 SQLite Web 并实现外部访问( Linux 版本)
SQLite Web 是一款轻量级的、基于 Web 的图形化界面工具,用于浏览和管理 SQLite 数据库文件,它通常以一个独立的可执行文件或 Python 包的形式存在,让用户可以通过浏览器方便地查看、查询、编辑和管理 .db 或 .sqlite 等 SQLite 数据库。本文…...
腾讯混元调用代码实践
目录 查看资源是否用尽: ai3d的资源包,可以免费领取 api调用实例,亲测ok: 查看资源是否用尽: https://console.cloud.tencent.com/hunyuan/packages ai3d的资源包,可以免费领取 https://console.clou…...
重复内容误标率高达37%?NotebookLM检测逻辑漏洞全曝光,立即修复这6个隐藏开关
更多请点击: https://intelliparadigm.com 第一章:重复内容误标率高达37%?NotebookLM检测逻辑漏洞全曝光,立即修复这6个隐藏开关 NotebookLM 的“重复内容检测”功能并非基于端到端语义比对,而是依赖于分块哈希&#…...
利用Taotoken实现AI应用的高可用与容灾路由设计思路
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken实现AI应用的高可用与容灾路由设计思路 应用场景类,探讨在构建对稳定性要求高的生产级AI应用时࿰…...
如何免费解锁雀魂全角色皮肤:终极完整配置指南
如何免费解锁雀魂全角色皮肤:终极完整配置指南 【免费下载链接】majsoul_mod_plus 雀魂解锁全角色、皮肤、装扮等,支持全部服务器。 项目地址: https://gitcode.com/gh_mirrors/ma/majsoul_mod_plus 还在为无法获得心仪的雀魂角色而烦恼吗&#x…...
【GPT-4V全面评估】:大语言多模态模型的黎明时代
多模态大模型时代的黎明:GPT-4V(ision)全面能力深度测评 当AI还在为"看图说话"磕磕绊绊时,GPT-4V已经悄悄解锁了"看懂世界"的超能力。它不仅能识别图片里的物体,还能理解梗图的笑点、解数学题、读X光片、甚至帮你操作电脑…...
AI黑魔法实战:LLM应用性能优化与成本控制高级技巧
1. 项目概述:当AI遇上“黑魔法”最近在GitHub上闲逛,发现了一个名为“lvcn/ai-black-magic”的项目,这个名字本身就充满了吸引力。对于任何在AI领域摸爬滚打过的开发者来说,“黑魔法”这个词往往意味着那些不按常理出牌、却能解决…...
Linux内核驱动开发:从传统proc接口到现代seq_file与proc_ops的迁移指南
1. 项目概述:为什么我们需要关注/proc的新接口?如果你在Linux内核驱动开发领域摸爬滚打过几年,一定对/proc文件系统这个“老伙计”又爱又恨。爱它,是因为在调试和状态监控时,它提供了一个极其简单、直观的窗口…...
AMD Ryzen处理器底层调试技术解析:SMUDebugTool的架构设计与实践应用
AMD Ryzen处理器底层调试技术解析:SMUDebugTool的架构设计与实践应用 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地…...
