XR Interaction Toolkit教程⭐三、实现抓取和交互功能

简介: XR Interaction Toolkit教程⭐三、实现抓取和交互功能

🟥 实现射线抓取功能

  • 物体添加 XRGrabInteractable 组件即可。

现在当我们射线指向物体,按下手柄侧键时,会抓取该物体到手柄处。



🟧 实现手柄抓取功能

1️⃣ 物体添加交互组件

首先物体完成组件的添加: XRGrabInteractable 组件



2️⃣ 关闭原先的手部交互物体

原先我们是用的右手射线交互的,是利用了该物体上的 XRRayInteractor组件完成射线抓取。

现在我们关掉这个物体,不再使用射线抓取。


3️⃣ 新建手柄抓取物体

  • 在Camera Offset下右键,新建 XR - Direct Interactor(Action-based)
  • 这儿我们使用右手抓取。因此再改名为 Right Direct Interactor
  • 同样的,默认创建的是左手的Controller。我们将Sample里面的右手Controller拖拽上去。


4️⃣ 让手柄显示出来

我们之前做的都只显示射线,不显示手柄。

那么为了能看到手抓取的效果,我们需要:

  • 在 Direct Interactor 下新建一个sphere,来模拟手
  • 取消其Collider
  • 调整到合适比例

当然啦,我们也可以用Pico自带手柄:传送门



5️⃣ 效果展示



🟨 交互功能的控制

1️⃣ 交互功能的逻辑

我们能看到 LeftHand Controller 物体上的 XRRayInteractor 脚本有 InteractionLayerMask属性。

同样的,有这个属性的还有:

  • 直接抓取物体的手柄(Direct Interactor): XRDirectInteractor
  • 地面:TeleportationArea
  • 可交互物体:XRGrabInteractable


这个层的逻辑是:

手柄设置为某一层,其他与这一层有交集的物体,便可与手柄发生交互。(注意:Everything、Nothing)


那么我们便可以做各种各样的操作了。例如:

  • 只有左手传送
  • 等待时机才能传送到某地面
  • 只能右手抓取
  • 等待时机才能抓取某物体


2️⃣ 实现左手负责传送,右手不传送

左手层级设置为Teleport,地面也设置为Teleport。

右手层级取消Teleport即可。



🟩 如何取消射线的显示

以右手为例:

将Alpha值调为0即可。

相关文章
|
API 图形学
Unity设置播放模式下始终先执行指定的场景
通过我们使用Unity开发游戏,是在PC/Mac上。而一个游戏通常也会有很多的场景,比如A、B、C、D三个场景,正常流程下的执行顺序是 A –> B –> C –> D。在具体一点,比如 A —— 启动场景、B —— 资源加载场景、C —— 登录场景、D —— 战斗场景。
2122 0
|
网络协议 关系型数据库 MySQL
如何使用宝塔面板搭建MySQL数据库并实现无公网IP远程访问
如何使用宝塔面板搭建MySQL数据库并实现无公网IP远程访问
1798 3
|
开发工具 vr&ar 图形学
XR Interaction Toolkit教程⭐一、简介、安装和基本配置
XR Interaction Toolkit教程⭐一、简介、安装和基本配置
|
安全 Go
用 Zap 轻松搞定 Go 语言中的结构化日志
在现代应用程序开发中,日志记录至关重要。Go 语言中有许多日志库,而 Zap 因其高性能和灵活性脱颖而出。本文详细介绍如何在 Go 项目中使用 Zap 进行结构化日志记录,并展示如何定制日志输出,满足生产环境需求。通过基础示例、SugaredLogger 的便捷使用以及自定义日志配置,帮助你在实际开发中高效管理日志。
415 1
|
vr&ar C# 图形学
从零开始的PICO开发教程(4)-- VR世界 射线传送、旋转和移动
这篇文章是PICO开发系列教程的第四部分,详细介绍了在VR世界中实现射线传送、视角旋转和人物移动的方法,包括使用Teleportation组件进行区域传送和锚点传送,通过Snap Turn Provider组件实现视角快速旋转,以及创建PlayControl脚本来控制人物移动,并通过手柄与脚本组件的交互来增强VR体验。
|
编解码 前端开发 vr&ar
从零开始的PICO教程(4)--- UI界面绘制与响应事件
这篇文章是PICO开发系列教程的第四部分,主要介绍了如何在PICO 4 VR环境中创建UI界面,包括Canvas和Panel的配置、UI元素的绘制、以及Button和Slider的事件响应绑定,并通过示例展示了数字增减和滑块功能的具体实现。
从零开始的PICO教程(4)--- UI界面绘制与响应事件
|
11月前
|
存储 人工智能 文字识别
VideoRAG:长视频理解的检索增强生成技术,支持多模态信息提取,能与任何 LVLM 兼容
VideoRAG 是一种用于长视频理解的检索增强生成技术,通过提取视频中的视觉对齐辅助文本,帮助大型视频语言模型更好地理解和处理长视频内容。
703 10
VideoRAG:长视频理解的检索增强生成技术,支持多模态信息提取,能与任何 LVLM 兼容
|
10月前
|
图形学 开发者
Unity中的透明效果之开启深度写入半透明效果
在Unity中实现开启深度写入的半透明效果,通过分离渲染过程为两个阶段:深度写入和颜色混合。首先,在深度写入阶段仅写入深度信息而不渲染颜色;其次,在颜色混合阶段进行正常的半透明颜色混合,确保后续物体能正确渲染且避免被错误裁剪。该方法解决了常规半透明渲染中关闭深度写入导致的问题。提供自定义Shader代码及材质设置步骤,方便开发者实现这一特殊渲染需求。
|
12月前
|
IDE 开发工具
【开发IDE升级】如何对IDEA版本进行升级
本文介绍了如何将 IntelliJ IDEA Ultimate 从 2020.2.2 版本升级到 2022.3.2 版本。主要内容包括准备工作、卸载旧版本和安装新版本的步骤。首先,从官网下载所需版本并备份旧版配置;接着,通过 Uninstall.exe 卸载旧版,保留配置和插件;最后,安装新版并完成激活。详细的操作步骤和截图帮助用户顺利完成升级过程。
12795 1
【开发IDE升级】如何对IDEA版本进行升级