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” 脚本。
image-20240408150450664

(3)在 When Hover() 中添加事件,并关联上 Cube 物体。选择 MeshRenderer > Material material。并将材质球 Red 进行关联。

image-20240408151101964 image-20240408150847810

(4)同样的方式对 When Select() 进行操作,关联 Blue 材质。对 When Unselect() 关联 Default-Material。

image-20240408151223192

​ 此时运行程序,即可点击按钮实现更改 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 update
    void Start() { }

    // Update is called once per frame
    void Update() { }

    public void SpawnItem() {
        Object.Instantiate(spawnObj, spawnPoint.position, spawnPoint.rotation);
    }
}

(2)将 ItemSpawner.cs 挂载到 Button (2) 上。同时创建一个空物体,用于决定新 Cube 的生成位置,并赋值相关引用。

image-20240408161848499

(3)在 “Interactable Unity Event Wrapper” 脚本中,新建 When Select() 事件,关联 “ItemSpawner” 脚本,选择 ItemSpawner > SpawnItem。

image-20240408162309612

​ 此时运行程序,即可点击按钮实现创建新 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 update
    void Start() {
        _eventWrapper = GetComponent<InteractableUnityEventWrapper>();
        _eventWrapper.WhenSelect.AddListener(SpawnItem);
    }

    // Update is called once per frame
    void Update() { }

    public void SpawnItem() {
        Object.Instantiate(spawnObj, spawnPoint.position, spawnPoint.rotation);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/527625.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java设计模式之创建型模式(二)原型模式

原型模式 1、原型模式1-1、应用场景1-2、举个 软栗子1-3、举个 硬栗子1-3、举个实务栗子 学习原型模式的目的&#xff1a;原型模式的目的在于通过复制现有的实例来创建新的对象&#xff0c;以避免通过构造函数创建对象时可能带来的性能开销&#xff0c;同时可以控制对象的深度复…

Matlab|基于蒙特卡洛的风电功率/光伏功率场景生成方法

目录 主要内容 部分代码 结果一览 下载链接 主要内容 该模型主要用于风电功率和光伏功率场景生成与缩减&#xff0c;利用多元高斯分布构建时间相关性&#xff0c;并采用蒙特卡洛方法进行仿真&#xff0c;风电功率采用Weibull分布&#xff0c;光伏功率采用Beta分布…

浅析人工智能与数字化的特点

人工智能无疑具有数字化的特点。作为现代科技的一个重要分支&#xff0c;人工智能的发展与数字化进程紧密相连&#xff0c;数字化已经成为了人工智能发展的基础和前提。 首先&#xff0c;我们来理解一下什么是数字化。数字化是将模拟信号转换为数字信号的过程&#xff0c;即将连…

[论文阅读笔记30] (AAAI2024) UCMCTrack: Multi-Object Tracking with Uniform CMC 详细推导

这是群友的一篇工作&#xff0c;之前也没仔细看&#xff0c;正好今天放假&#xff0c;打算读一下论文陶冶情操。 这篇文章的公式比较多&#xff0c;我做一篇笔记解释一下&#xff0c;希望对大家有帮助~ 论文地址: https://ojs.aaai.org/index.php/AAAI/article/view/28493 代…

java数据结构与算法刷题-----LeetCode238. 除自身以外数组的乘积

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 动态规划&#xff1a;左右乘积列表2. 滚动数组对动态规划过程…

uni-app(H5)论坛 | 社区 表情选择 UI组件

项目源码请移步&#xff1a;bbs 效果 实现思路 表情切换 人物、动物、小黄人不同表情之间的切换实际就是组件的切换 emoji表情 emoji表情本身就是一种字符 如需其他emoji表情可参考 EmojiAll中文官方网站 需要注意的就是数据库的存储格式需要支持emoji表情&#xff0c;我项…

聚道云连接器打通红圈CRM和金蝶云星辰,赋能环境科技公司数字化转型

一、客户介绍 某环境科技有限公司是一家专注于环保科技领域的领先企业&#xff0c;致力于为客户提供全方位的环境解决方案。公司拥有一支经验丰富、技术精湛的团队&#xff0c;不断推动环保技术的创新与应用。作为业内的佼佼者&#xff0c;该公司在环境治理、资源回收和节能减…

zookeeper源码(12)命令行客户端

zkCli.sh脚本 这个命令行脚本在bin目录下&#xff1a; ZOOBIN"${BASH_SOURCE-$0}" ZOOBIN"$(dirname "${ZOOBIN}")" ZOOBINDIR"$(cd "${ZOOBIN}"; pwd)"# 加载zkEnv.sh脚本 if [ -e "$ZOOBIN/../libexec/zkEnv.sh&qu…

GitHub教程:最新如何从GitHub上下载文件(下载单个文件或者下载整个项目文件)之详细步骤讲解(图文教程)

&#x1f42f; GitHub教程&#xff1a;最新如何从GitHub上下载文件(下载单个文件或者下载整个项目文件)之详细步骤讲解(图文教程) &#x1f4c1; 文章目录 &#x1f42f; GitHub教程&#xff1a;最新如何从GitHub上下载文件(下载单个文件或者下载整个项目文件)之详细步骤讲解(图…

FLV 封装格式详解

FLV 封装格式详解 FLV 封装格式详解简介FLV 格式FLV headerFLV bodyback-pointerFLV tagFLV tag headerFLV tag data&#xff1a;audio tagFLV tag data&#xff1a;video tagFLV tag data&#xff1a;script tag 总结&#xff1a;FLV 层次结构实例&#xff1a;flvAnalyser 解析…

pytorch演示pipeline并行

pytorch演示pipeline并行 1.单卡内存不够时,可以将网络切分成几段(stage),每个GPU负责一个stage。比如GPU0计算完之后将数据发送给GPU1算后续的stage 2.以上的方式,会导致GPU的利用率不高,可以将输入的batch切分成多份更小的batch,陆续送给GPU0,这样GPU0处理完micro batch0之后…

Anthropic 的 Claude 3 现能从数百个选项中可靠地挑选出合适的工具来完成任务

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

flood_fill 算法|图形渲染

flood fill 算法常常用来找极大连通子图&#xff0c;这是必须掌握的基本算法之一&#xff01; 图形渲染 算法原理 我们可以利用DFS遍历数组把首个数组的值记为color&#xff0c;然后上下左右四个方向遍历二维数组数组如果其他方块的值不等于color 或者越界就剪枝 return 代码…

浮点数在计算机中的存储

这一段代码的输出是什么&#xff1f; int main() {int n 9;float *pFloat (float *)&n;printf("n的值为&#xff1a;%d\n",n);printf("*pFloat的值为&#xff1a;%f\n",*pFloat);*pFloat 9.0;printf("num的值为&#xff1a;%d\n",n);pri…

企业网络安全运营能力的多维度评价及优化策略

网络安全是企业面临的一个日益重要的问题&#xff0c;安全运营能力的强弱直接关系到企业的健康可持续发展和综合竞争力的提升。为推动企业网络安全工作的标准化建设&#xff0c;提升企业的网络安全运营能力&#xff0c;本文从安全建设、安全应对和安全效果三个角度出发&#xf…

如何给MySQL数据库的所有表统一加上字段

在开发过程中&#xff0c;有时候慢慢的建了很多数据库表&#xff0c;但是后来发现需要统一增加某些字段的时候&#xff0c;可以通过alter语句 ALTER TABLE 表名 ADD 列名 数据类型;比如我要给t_user表增加gmt_create与gmt_modified字段&#xff0c;用作记录新增记录时间与更新…

达梦关键字(如:XML,EXCHANGE,DOMAIN,link等)配置忽略

背景&#xff1a;在使用达梦数据库时&#xff0c;查询SQL中涉及XML,EXCHANGE,DOMAIN,link字段&#xff0c;在达梦中是关键字&#xff0c;SQL报关键词不能使用的错误。 解决办法&#xff1a; 配置达梦安装文件E:\MyJava\dmdbms\data\DAMENG\dm.ini 忽略这些关键词&#xff0c;…

CGAL的交叉编译-androidlinux-arm64

由于项目算法需要从Linux移植到android&#xff0c;原先的CGAL库也需要进行移植&#xff0c;先现对CGAL的移植过程做下记录&#xff0c;主要是其交叉编译的过程.。 前提条件&#xff1a; 1、主机已安装NDK编译器&#xff0c;版本大于19 2、主机已安装cmake 和 make 3、主机…

政安晨:【Keras机器学习实践要点】(二十二)—— 基于 TPU 的肺炎分类

目录 简述 介绍 / 布置 加载数据 可视化数据集 建立 CNN 纠正数据失衡 训练模型 拟合模型 可视化模型性能 ​编辑预测和评估结果 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望政安晨的博客…

达梦(DM)报错[-3209]: 无效的存储参数

[TOC](达梦(DM)报错[-3209]: 无效的存储参数) 最近有一个项目&#xff0c;一直使用的是达梦数据库&#xff0c;今天遇到了一个问题&#xff0c;就是将测试环境新增加的表导入线上时报错 [-3209]: 无效的存储参数&#xff0c;这里我用我本地的达梦数据库复现一下这个问题&#…