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即可。

相关文章
|
Ubuntu 编译器
Ubuntu18.4下交叉编译X264和FFMPEG到ARM平台(aarch64-linux-gcc)
Ubuntu18.4下交叉编译X264和FFMPEG到ARM平台(aarch64-linux-gcc)
2264 0
|
vr&ar C# 图形学
从零开始的PICO开发教程(4)-- VR世界 射线传送、旋转和移动
这篇文章是PICO开发系列教程的第四部分,详细介绍了在VR世界中实现射线传送、视角旋转和人物移动的方法,包括使用Teleportation组件进行区域传送和锚点传送,通过Snap Turn Provider组件实现视角快速旋转,以及创建PlayControl脚本来控制人物移动,并通过手柄与脚本组件的交互来增强VR体验。
|
编解码 前端开发
XR Interaction Toolkit教程⭐四、实现与UI交互
XR Interaction Toolkit教程⭐四、实现与UI交互
|
Unix Linux 虚拟化
VMware Workstation 17.6.2 发布下载,现在完全免费无论个人还是商业用途
VMware Workstation 17.6.2 发布下载,现在完全免费无论个人还是商业用途
54865 16
VMware Workstation 17.6.2 发布下载,现在完全免费无论个人还是商业用途
|
编解码 前端开发 vr&ar
从零开始的PICO教程(4)--- UI界面绘制与响应事件
这篇文章是PICO开发系列教程的第四部分,主要介绍了如何在PICO 4 VR环境中创建UI界面,包括Canvas和Panel的配置、UI元素的绘制、以及Button和Slider的事件响应绑定,并通过示例展示了数字增减和滑块功能的具体实现。
从零开始的PICO教程(4)--- UI界面绘制与响应事件
|
API 开发工具 vr&ar
从零开始的PICO教程(2)--搭建VR场景并打包至PICO中运行
这篇文章是PICO开发系列教程的第二部分,主要介绍了如何在Unity中搭建简单的VR场景、创建XR Origin对象、配置PICO开发环境、以及将场景打包并运行在PICO设备上的完整流程。
|
IDE 开发工具
【开发IDE升级】如何对IDEA版本进行升级
本文介绍了如何将 IntelliJ IDEA Ultimate 从 2020.2.2 版本升级到 2022.3.2 版本。主要内容包括准备工作、卸载旧版本和安装新版本的步骤。首先,从官网下载所需版本并备份旧版配置;接着,通过 Uninstall.exe 卸载旧版,保留配置和插件;最后,安装新版并完成激活。详细的操作步骤和截图帮助用户顺利完成升级过程。
15019 1
【开发IDE升级】如何对IDEA版本进行升级
|
vr&ar 图形学
PICO4开发实战一:节奏光剑(VR)(需求文档)
这篇文章是PICO4开发实战指南,详细介绍了开发一款名为“节奏光剑”的VR游戏的需求文档,包括从基础功能开发到交互体验优化、场景体验优化、UI设计、游戏关卡设计等多个开发阶段的详细规划和说明。
PICO4开发实战一:节奏光剑(VR)(需求文档)

热门文章

最新文章