Unity XR Interaction Toolkit 开发教程(3)快速配置交互:移动、抓取、UI交互【3.0以上版本】

Spatial XR 开发者社区官网:https://www.spatialxr.tech/

视频试看链接:
3.快速配置交互:移动、抓取、UI交互【Unity XR Interaction Toolkit 跨平台开发教程】(3.0以上版本)

系列教程专栏:Unity XR Interaction Toolkit 系列教程(SDK 版本 3.0 以上)

重点:
导入了 XR Interaction Toolkit 的 Starter Assets 样例包后,可以把 Starter Assets 中的 XR Origin(XR Rig) 玩家物体添加到场景当中。该玩家物体已经集成了比较齐全的交互功能。

然后在 Unity Hierarchy 面板中可以点击鼠标右键,选择 XR,提供的选项中有快速配置交互的方法。

在这里插入图片描述

比如 Teleportation Area 直接创建出可以行走并且传送的地面(添加后需要把地面物体上的 TeleportationArea 脚本中的 Interaction Layer Mask 参数设为 Teleport)。

Grab Interactable 可以创建出能被抓取的物体。

UI Canvas 能创建出能被交互的 UI 画布。

内容概要:本文详细介绍了施耐德M580系列PLC的存储结构、系统硬件架构、上电写入程序及CPU冗余特性。在存储结构方面,涵盖拓扑寻址、Device DDT远程寻址以及寄存器寻址三种方式,详细解释了不同类型的寻址方法及其应用场景。系统硬件架构部分,阐述了最小系统的构建要素,包括CPU、机架和模块的选择与配置,并介绍了常见的系统拓扑结构,如简单的机架间拓扑和远程子站以太网菊花链等。上电写入程序环节,说明了通过USB和以太网两种接口进行程序下载的具体步骤,特别是针对初次下载时IP地址的设置方法。最后,CPU冗余部分重点描述了热备功能的实现机制,包括IP通讯地址配置和热备拓扑结构。 适合人群:从事工业自动化领域工作的技术人员,特别是对PLC编程及系统集成有一定了解的工程师。 使用场景及目标:①帮助工程师理解施耐德M580系列PLC的寻址机制,以便更好地进行模块配置和编程;②指导工程师完成最小系统的搭建,优化系统拓扑结构的设计;③提供详细的上电写入程序指南,确保程序下载顺利进行;④解释CPU冗余的实现方式,提高系统的稳定性和可靠性。 其他说明:文中还涉及一些特殊模块的功能介绍,如定时器事件和Modbus串口通讯模块,这些内容有助于用户深入了解M580系列PLC的高级应用。此外,附录部分提供了远程子站和热备冗余系统的实物图片,便于用户直观理解相关概念。
Unity中使用Pico和XR Interaction Toolkit实现手与3D物体的交互,并在手抓取到物体时显示物体名字,可以按照以下步骤进行: ### 步骤一:环境配置 1. **安装Unity和Pico SDK**:确保你已经安装了最新版本Unity,并下载安装了Pico的SDK。 2. **导入XR Interaction Toolkit**:在Unity的Package Manager中搜索并导入XR Interaction Toolkit。 ### 步骤二:设置场景 1. **创建XR Origin**:在层级视图中右键点击,选择`XR` > `XR Origin (Action-based)`。这将创建一个包含左右手控制器的基础XR Origin。 2. **添加交互器**:确保XR Origin下已经包含了`XR Ray Interactor`和`XR Controller`组件。如果没有,可以手动添加。 ### 步骤三:设置可交互物体 1. **添加Collider**:在需要交互3D物体上添加Collider组件(如Box Collider)。 2. **添加Interactable组件**:在物体上添加`XR Grab Interactable`组件。这将使物体可以被手抓取3. **添加UI显示**:在物体上添加一个UI元素(如TextMeshPro)来显示物体名字。可以通过右键点击物体,选择`UI` > `Text - TextMeshPro`来创建。 ### 步骤四:编写脚本 创建一个C#脚本来控制手抓取物体时显示物体名字。 ```csharp using UnityEngine; using TMPro; using UnityEngine.XR.Interaction.Toolkit; public class ObjectNameDisplay : MonoBehaviour { public TextMeshPro objectNameText; private XRGrabInteractable grabInteractable; void Start() { grabInteractable = GetComponent<XRGrabInteractable>(); grabInteractable.selectEntered.AddListener(OnSelectEntered); grabInteractable.selectExited.AddListener(OnSelectExited); objectNameText.gameObject.SetActive(false); } void OnSelectEntered(SelectEnterEventArgs args) { objectNameText.gameObject.SetActive(true); } void OnSelectExited(SelectExitEventArgs args) { objectNameText.gameObject.SetActive(false); } } ``` ### 步骤五:配置脚本 1. **将脚本挂载到物体**:将上述脚本挂载到需要交互3D物体上。 2. **关联UI元素**:在脚本的`Object Name Text`字段中关联你在步骤三中添加的TextMeshPro组件。 ### 步骤六:测试 1. **运行场景**:点击Unity的播放按钮,使用Pico设备进行测试。 2. **抓取物体**:用手抓取物体,检查UI元素是否显示物体名字。 通过以上步骤,你就可以在Unity中使用Pico和XR Interaction Toolkit实现手与3D物体的交互,并在手抓取到物体时显示物体名字。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YY-nb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值