2024-04-08 NO.6 Quest3 自定义交互事件

news2024/11/27 4:01:49

文章目录

  • 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);
    }
}

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

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

相关文章

知识管理系统|基于Springboot和vue的知识管理系统设计与实现(源码+数据库+文档)

知识管理 目录 基于Springboot和vue的知识管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、前台&#xff1a; 5.2.2 文章信息 5.3.1 论坛交流 2、后台 用户管理 5.1.2 文章分类 5.2.1 资料分类 四、数据库设计 五、核心代码 六、论文参考 七、最…

【游戏逆向】游戏全屏捡物的实现

0x0前言&#xff1a; 在角色对战类中&#xff0c;拾取怪物掉落的装备是一项必备的工作&#xff0c;由于装备位置掉落的不确定性&#xff0c;玩家想要拾取离角色距离较远的装备需要一定的时间&#xff0c;这一段时间往往会影响游戏的评分或是玩家的心态&#xff0c;基于此&…

CasaOS玩客云部署AList+Aria2结合内网穿透实现公网离线下载文件至网盘

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-cdH8fnSF05FmvunX {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

第四十七周:文献阅读+AGCN+Wavenet network

目录 摘要 Abstract 文献阅读&#xff1a;结合自适应图卷积和CNN-LSTM的多站点水质预测模型 现有问题 提出方法 方法论 Adaptive graph convolution network&#xff08;自适应图卷积网络&#xff09; WaveNet network&#xff08;WaveNet网络&#xff09; CNN-LSTM混…

一文搞懂从爬楼梯到最小花费(力扣70,746)

文章目录 题目前知动态规划简介动态规划模版 爬楼梯一、思路二、解题方法三、Code 使用最小花费爬楼梯一、思路二、解题方法三、Code 总结 在计算机科学中&#xff0c;动态规划是一种强大的算法范例&#xff0c;用于解决多种优化问题。本文将介绍动态规划的核心思想&#xff0c…

HarmonyOS 应用开发之@Concurrent装饰器:@Sendable装饰器:声明并校验Sendable类

简介 在使用 TaskPool 时&#xff0c;执行的并发函数若需要传输类对象且使用该类的内部方法&#xff0c;该类需要使用此装饰器修饰&#xff0c;否则无法使用此对象内的方法。SendableClass有以下两种行为&#xff1a; 支持SendableClass序列化。对象分配在各自的虚拟机内存空间…

axios是什么?axios使用axios和ajax

Axios 是一个基于 Promise 的 HTTP 客户端&#xff0c;用于浏览器和 Node.js 环境。它是由 GitHub 用户 mzabriskie 开发的&#xff0c;并且得到了广泛的社区支持。Axios 的设计目标是提供一种简洁、易用且功能强大的 HTTP 请求方式&#xff0c;以替代传统的 Ajax&#xff08;A…

very_easy_sql-攻防世界

题目 抓包发现use.php文件 页面说"you are not an inner user, so we can not let you have identify~"&#xff0c;就是说只能内部访问登录。这里抓包还看到返回包里有个set-cookie,说明是ssrf造成的sql注入 SSRF(Server-Side Request Forgery:服务器端请求伪造) 是…

docker 搭建多个Linux系统环境 安装多个不同语言的项目

docker 搭建多个Linux系统环境 安装多个不同语言的项目 宝塔dockers可视化界面 https://blog.51cto.com/u_16213709/9473968

stack和queue的使用

前言 前面我们对string、vector、list做了介绍并对底层进行了实现&#xff01;本期我们继续来介绍STL容器&#xff0c;stack和queue&#xff01; 本期内容介绍 stack 常用接口的介绍 queue 常用接口的介绍 什么是stack? 这里的栈和我们C语言实现的数据结构的那个栈功能是一样…

3d建图与定位(4)_lio sam代码阅读

一.概述: 1.lio sam 是一个imu与lidar的紧耦合框架 2.前端:imu主要用来预计分,对后端里程计进行位姿推测得到先验位姿 ,对雷达进行畸变校正,特征点提取得到cloudinfo 3.后端主要有两个模块:模块一通过前端位姿初值进行scan->map的匹配 通过lm算法计算更新后端位姿,将后端odo…

景芯2.5GHz A72训练营dummy添加(一)

景芯A72做完布局布线之后导出GDS&#xff0c;然后进行GDS merge&#xff0c;然后用Calibre对Layout添加Dummy。在28nm以及之前的工艺中&#xff0c;Dummy metal对Timing的影响不是很大&#xff0c;当然Star RC也提供了相应的解决方案&#xff0c;可以考虑Dummy metal来抽取RC。…

[StartingPoint][Tier2]Archetype

Task 1 Which TCP port is hosting a database server? (哪个端口开放了数据库服务) $ nmap 10.129.95.187 -sC --min-rate 1000 1433 Task 2 What is the name of the non-Administrative share available over SMB? (哪个非管理共享提供了SMB?) $ smbclient -N -L 1…

Deformable Convolutional Networks论文阅读

Deformable Convolutional Networks论文阅读 Abstract1. Introduction2. Deformable Convolutional Networks2.1. Deformable Convolution2.2. Deformable RoI Pooling 总结 文章信息&#xff1a; 原文链接&#xff1a;https://arxiv.org/abs/1703.06211 源代码&#xff1a;htt…

2024.4.8-day12-CSS 常用样式属性和字体图标

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 作业2024.4.8-学习笔记盒子阴影文本阴影透明的vertical-align字体使用 作业 &…

谷歌浏览器插件开发速成指南:弹窗

诸神缄默不语-个人CSDN博文目录 本文介绍谷歌浏览器插件开发的入门教程&#xff0c;阅读完本文后应该就能开发一个简单的“hello world”插件&#xff0c;效果是出现写有“Hello Extensions”的弹窗。 作为系列文章的第一篇&#xff0c;本文还希望读者阅读后能够简要了解在此基…

SQL执行流程图文分析:从连接到执行的全貌

SQL执行总流程 下面就是 MySQL 执行一条 SQL 查询语句的流程&#xff0c;也从图中可以看到 MySQL 内部架构里的各个功能模块。 MySQL 的架构共分为两层&#xff1a;Server 层和存储引擎层&#xff0c; Server 层负责建立连接、分析和执行 SQL。MySQL 大多数的核心功能模块都在…

LwIP TCP/IP

LWIP 架构 LwIP 符合 TCP/IP 模型架构&#xff0c;规定了数据的格式、传输、路由和接收&#xff0c;以实现端到端的通信。 此模型包括四个抽象层&#xff0c;用于根据涉及的网络范围&#xff0c;对所有相关协议排序&#xff08;参见图 2&#xff09;。这几层从低到高依次为&am…

962: 括号匹配问题

【学习版】 【C语言】 【C】 #include<iostream>class MyStack { public:struct Node {char val;Node* prev;Node* next;Node(char x) :val(x), prev(NULL),next(NULL) {};};MyStack() {base new Node(0);top base;}bool empty() {return top base;}void push(int …

什么是并行通信、串行通信?什么是全双工、半双工、单工? 什么是异步通信、同步通信? 什么是RS232、RS485?什么是pwm?

这篇文章主要讲一下单片机中的通信相关的内容 主要讲一下以下5个问题&#xff1a; 1.什么是并行通信、串行通信&#xff1f; 2.什么是全双工、半双工、单工&#xff1f; 3.什么是异步通信、同步通信&#xff1f; 4.什么是RS232、RS485&#xff1f; 5.什么是pwm&#xff1f;什…