unity pico开发 五 UI交互

文章目录

    • 添加画布
    • 添加交互组件
    • 取消传送射线对UI的控制
    • 解决按扳机键会传送的冲突
    • 按下按键呼出菜单,并让菜单出现在头的前方

添加画布

创建一个新画布,添加一个Button,将画布改为world space,然后缩放改为0.001,调整到合适的位置

添加交互组件

1 为画布添加Tracked Device Graphic Raycaster
在这里插入图片描述
2 找到eventSystem,删除自带的输入模块
在这里插入图片描述
然后添加XR UI Input Modeule
在这里插入图片描述

此时即可进行交互,triiger键是鼠标左键,注意画布本身不受interactionToolkit的layer影响,任何射线都可以控制他

取消传送射线对UI的控制

取消勾选这个
在这里插入图片描述

解决按扳机键会传送的冲突

由于我设置的传送按键是扳机键,在点击UI时会同时触发传送
解决思路是,当抓取射线在UI上时,禁用传送射线,用抓取射线进行UI交互
编写脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.XR.Interaction.Toolkit;public class ActivateTeleportationRay : MonoBehaviour
{public GameObject leftTeletportation;public GameObject rightTeletportation;public InputActionProperty leftActivate;public InputActionProperty rightActivate;public InputActionProperty leftCancel;public InputActionProperty rightCancel;public XRRayInteractor leftRay;public XRRayInteractor rightRay;private void Update(){leftRay.TryGetHitInfo(out Vector3 leftPos,out Vector3 leftNormal,out int leftNumber,out bool leftValid);//抓取射线指向了交互物体(UI或可抓取物体),没有按下抓取键,已经扣动了扳机,才激活传送射线leftTeletportation.SetActive(!leftValid&&leftCancel.action.ReadValue<float>() == 0&&leftActivate.action.ReadValue<float>() > 0.1f);rightRay.TryGetHitInfo(out Vector3 rightPos, out Vector3 rightNormal, out int rightNumber, out bool rightValid);rightTeletportation.SetActive(!rightValid&&rightCancel.action.ReadValue<float>() == 0&&rightActivate.action.ReadValue<float>() > 0.1f);}
}

在这里插入图片描述

按下按键呼出菜单,并让菜单出现在头的前方

编写如下脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;public class GameMenuManager : MonoBehaviour
{public GameObject menu;public InputActionProperty showButton;public Transform head;public float spawnDistance = 2;void Update(){if (showButton.action.WasPressedThisFrame()){menu.SetActive(!menu.activeSelf);menu.transform.position = head.position + new Vector3(head.forward.x,0,head.forward.z).normalized*spawnDistance;}menu.transform.LookAt(new Vector3(head.position.x, menu.transform.position.y, head.position.z));menu.transform.forward *= -1;}
}

新建一个物体“游戏菜单”,挂载脚本
将菜单的画布设置为游戏菜单的子物体
在这里插入图片描述
设置脚本的参数
在这里插入图片描述

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

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

相关文章

上海公共数据授权运营实践详解(政策制度、运营模式、运营平台、运营成果、场景案例)

近期&#xff0c;国家公共数据资源登记平台正式上线&#xff0c;将进一步推动公共数据授权运营加速推动。本期分享&#xff1a;上海市公共数据授权运营实践&#xff0c;上海公共数据授权运营为统一集中授权&#xff0c;上海数据集团作为上海公共数据授权运营的唯一单位&#xf…

HTTP超文本传输协议

HTTP超文本传输协议 HTTP的基本原理HTTP请求的组成HTTP响应的组成HTTP请求方法HTTP状态码HTTP的无状态性和持久连接HTTPS&#xff08;HTTP Secure&#xff09;Cookie 和 SessionCookieSession对比 总结 HTTP&#xff08;超文本传输协议&#xff09;是一种用于从Web服务器传输超…

android TabLayout设置tab的时候文字默认居中,选中文字加粗

1、前言如题 TabLayout设置tab的时候文字默认居中&#xff0c;在TabLayout布局增加以上代码。 tab选中文字加粗&#xff0c;需要重写TabLayout的customview进行设置。 app:tabMaxWidth"0dp" app:tabGravity"fill" app:tabMode"fixed"

二叉树专题练习 ——基于罗勇军老师的《蓝桥杯算法入门C/C++》

目录 一、B3642 二叉树的遍历 - 洛谷 算法代码&#xff1a; 1. 代码结构 头文件和命名空间&#xff1a; 常量定义&#xff1a; 结构体定义&#xff1a; 前序遍历函数&#xff1a; 中序遍历函数&#xff1a; 后序遍历函数&#xff1a; 主函数&#xff1a; 2. 代码思路…

健康饮食,健康早餐

营养早餐最好包含4大类食物&#xff1a;谷薯类&#xff1b;碳水&#xff1b;蛋白质&#xff1b;膳食纤维。 1.优质碳水 作用&#xff1a;提供持久的能量&#xff0c;避免血糖大幅波动等 例如&#xff1a;全麦面包、红薯&#x1f360;、玉米&#x1f33d;、土豆&#x1f954;、…

使用Linux服务器搭建。

前言&#xff1a; 本文将简述如何使用vmware模拟Linux搭建服务器环境。并配置相关安全措施。 本文工具&#xff1a; Centos Stream 9 图文详细安装记录_centos9安装教程详解-CSDN博客 xshell&#xff0c;服务器远程连接工具。 https://old.xp.cn/linux.html#install-show …

Artec Leo+Ray II 三维扫描仪成功为VR展数字化30吨重设备-沪敖3D

挑战&#xff1a;在贸易展上展示重达30吨的机械设备&#xff0c;同时克服设备搬运和展示的难题&#xff0c;减轻物流负担。。 解决方案&#xff1a;Artec Leo、Artec Ray II、Artec Studio、Blender、Unity、Microsoft HoloLens、HTC VIVE PRO 效果&#xff1a;在虚拟展厅中&am…

期权帮|如何判断股指期货市场是否值得做空呢?

锦鲤三三每日分享期权知识&#xff0c;帮助期权新手及时有效地掌握即市趋势与新资讯&#xff01; 如何判断股指期货市场是否值得做空呢&#xff1f; 如果你觉得市场下跌的可能性较大&#xff0c;那么就可以考虑做空股指期货。但记住&#xff0c;做空有风险&#xff0c;操作需…

qt实践教学(编写一个代码生成工具)持续更新至完成———

前言&#xff1a; 我的想法是搭建一个和STM32cubemux类似的图形化代码生成工具&#xff0c;可以把我平时用到的代码整合一下全部放入这个软件中&#xff0c;做一个我自己专门的代码生成工具&#xff0c;我初步的想法是在下拉选框中拉取需要配置的功能&#xff0c;然后就弹出对…

操作系统:计算机架构里的幕后指挥官

Linxu系列 文章目录 Linxu系列前言一、操作系统的概念二、操作系统的工作原理三、操作系统对软硬件资源的管理总结 前言 在上篇博客中&#xff0c;我们介绍了冯诺依曼体系&#xff0c;&#xff0c;但是冯诺依曼体系结构出现的都是硬件设备&#xff0c;难道需要用户去操作、管理…

DNS 详细过程 与 ICMP

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Linux 目录 一&#xff1a;&#x1f525; DNS (Domain Name System) 快速了解&#x1f98b; DNS 背景&#x1f98b; 域名简介&#x1f98b; 真实地址查询 —— DNS&#x1f380; 域名的层级关系&am…

【C/C++算法】从浅到深学习--- 位操作算法(图文兼备 + 源码详解)

绪论&#xff1a;冲击蓝桥杯一起加油&#xff01;&#xff01; 每日激励&#xff1a;“不设限和自我肯定的心态&#xff1a;I can do all things。 — Stephen Curry” 绪论​&#xff1a; 今天总结了下位操作中常见的使用的方法&#xff0c;并且附加许多训练&#xff0c;通过…

【每日八股】计算机网络篇(二):TCP 和 UDP

目录 TCP 的头部结构&#xff1f;TCP 如何保证可靠传输&#xff1f;1. 确认应答机制2. 超时重传3. 数据排序与去重4. 流量控制5. 拥塞控制6. 校验和 TCP 的三次握手&#xff1f;第一次握手第二次握手第三次握手 TCP 为什么要三次握手&#xff1f;问题一&#xff1a;防止历史连接…

Tomcat-web服务器介绍以及安装部署

一、Tomcat简介 Tomcat是Apache软件基金会&#xff08;Apache Software Foundation&#xff09;的Jakarta 项目中的一个核心项目&#xff0c;由Apache、Sun和其他一些公司及个人共同开发而成。 Tomcat服务器是一个免费的开放源代码的Web应用服务器&#xff0c;属于轻量级应用…

【通俗讲解电子电路】——从零开始理解生活中的电路(三)

实际应用案例&#xff1a;生活中的电子电路 ——拆解你身边的“隐形工程师” 1. 手电筒电路&#xff1a;最简单的直流系统 电路组成 电源&#xff1a;2节1.5V电池&#xff08;串联3V&#xff09;。 开关&#xff1a;按钮控制回路通断。 LED&#xff1a;发光二极管&#xff…

部署Windows Server自带“工作文件夹”实现企业网盘功能完整步骤

前文已经讲解过Windows Server自带的“工作文件夹”功能&#xff0c;现以Windows Server 2025为例介绍部署工作文件夹的完整步骤&#xff1a; 为了确保您能够顺利部署和充分利用工作文件夹的功能&#xff0c;我将按照以下步骤进行讲解。 请注意&#xff0c;在域环境中部署工作…

详解LSM树

目录 什么是LSM树 磁盘结构与顺序IO LSM树结构 LSM树的写入 SSTable合并 LSM树的读取 LSM树的删除 总结 什么是LSM树 LSM 树全名日志结构合并树&#xff08;Log-Structured Merge Tree&#xff09;&#xff0c;是一种用于存储和管理数据的树状数据结构&#xff0c;常用…

ABAP语言的动态编程(3) - data reference 对象

如果数据对象的类型在运行时才知道&#xff0c;就需要用到 data reference 对象。 Data references can point to any data objects or to their parts (components, rows of internal tables, or sections specified by offsets and lengths) 也就是说 data reference 对象其实…

Excel的行高、列宽单位不统一?还是LaTeX靠谱

想要生成田字格、米字格、带拼音标准&#xff0c;方便小学生书法和练字。Word&#xff0c;Excel之类所见即所得是最容易相当的方式。但它们处理带田字格之类背景时&#xff0c;如果没有专用模板、奇奇怪怪的插件&#xff0c;使用起来会碰到各种问题。比如&#xff0c;Word里面用…

Stepdown SLOPE for Controlled Feature Selection

文章&#xff1a;《Stepdown SLOPE for Controlled Feature Selection》 如何保证错选率可控地特征选择&#xff1f;&#xff1f;&#xff1f;&#xff1f; 研究背景 现有SLOPE方法主要关注FDR&#xff08;错误发现率&#xff09;控制&#xff0c;但在实际应用中需更严格地控…