Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >XR Interaction Toolkit教程⭐二、实现移动、传送和人物的碰撞功能

XR Interaction Toolkit教程⭐二、实现移动、传送和人物的碰撞功能

作者头像
星河造梦坊官方
发布于 2024-08-15 12:37:57
发布于 2024-08-15 12:37:57
46200
代码可运行
举报
运行总次数:0
代码可运行

🟥 配置 Locomotion System

在层级面板右键,选择XR-Locomotion System,将物体添加到场景。 该物体上配置了多个脚本,是负责移动的物体。

  • LocomotionSystem:负责管理所有的移动效果
  • TeleportationProvider:负责传送
  • ActionBasedSnapTurnProvider:负责转身

🟧 实现转身效果

1️⃣ Device-based版

如下图所示,添加 ContinuousMoveProvider(Device-based) 完成配置。

建议:右手摇杆转身,左手摇杆位移。

想实现右手转身,那么便添加右手即可。

2️⃣ Action-based版

如下图所示,添加 ContinuousMoveProvider(Action-based) 完成配置。

建议:右手摇杆转身,左手摇杆位移。

想实现右手转身,那么便只勾选右手的UseReference即可。

🟨 实现摇杆移动

1️⃣ Device-based版

给 Locomotion System 添加 ContinuousMoveProvider (Device-based) 组件。

若你只想左手移动,那么便只添加左手即可。

2️⃣ Action-based版

给 Locomotion System 添加 ContinuousMoveProvider (Action-based) 组件。

若你只想左手移动,那么便只勾选左手的 UseReference 即可。

🟩 实现传送效果

1️⃣ 传送的基础条件

给地面添加 TeleportationArea 组件,这样才能在地面上使用传送。

现在按 侧键 是传送操作。

2️⃣ 如何制作一个射线指示器

完成第1步,我们已经能实现传送了。 现在我们想给射线添加一个指示器该怎样做呢?

找一个指示器素材,删除 Collider,将其添加到我们传送的手柄上即可。

3️⃣ 实现贝瑟尔曲线传送

🟦 实现人物碰撞效果

1️⃣ 添加相应的组件

  • 给 XR Origin 添加 CharacterController组件,并设置中心点和半径。
  • 添加 CharacterControllerDriver 组件:它可根据头显的位置,动态的去调整CharacterController的高度和中心点。

2️⃣ 修改 CharacterControllerDriver

该组件的作用是:它可根据头显的位置,动态的去调整CharacterController的高度和中心点。

但测试发现,它只在手柄移动和传送时有效果。单单我们戴着头显(XR Origin)移动并不行。 我们需要新建一个脚本,继承CharacterControllerDriver ,替换掉原有的CharacterControllerDriver。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
using UnityEngine.XR.Interaction.Toolkit;

public class MyCharacterControllerDriver : CharacterControllerDriver
{
    void Update()
    {
        UpdateCharacterController();
    }
}

大家还有什么问题,欢迎在下方留言!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
XR Interaction Toolkit教程⭐三、实现抓取和交互功能
原先我们是用的右手射线交互的,是利用了该物体上的 XRRayInteractor组件完成射线抓取。
星河造梦坊官方
2024/08/15
6370
XR Interaction Toolkit教程⭐三、实现抓取和交互功能
HTC VIVE☀️一、 基于Player的人物传送(InteractionSystem)
StramVR SDK下包含InteractionSystem交互系统,本章介绍该交互系统传送的实现。
星河造梦坊官方
2024/08/14
1330
HTC VIVE☀️一、 基于Player的人物传送(InteractionSystem)
XR Interaction Toolkit教程⭐一、简介、安装和基本配置
Unity 发布了 AR/VR/MR 的统一管理平台:Unity XR SDK(传送门)
星河造梦坊官方
2024/08/15
7100
XR Interaction Toolkit教程⭐一、简介、安装和基本配置
VRTK4⭐三.射线传送模块 [包含API传送]
FollowSource: 跟随指定物体进行位移 ActivationAction: 根据指定事件进行激活 (在这儿激活了射线) SelectionAction: 根据指定事件触发选择事件 (在这儿触发了Selected事件)
星河造梦坊官方
2024/08/16
1770
VRTK4⭐三.射线传送模块 [包含API传送]
VRTK☀️五、与物体交互
给要交互的物体挂载 VRTK_InteractableObject、Collider、VRTK_ChildOfControllerGrabAttach
星河造梦坊官方
2024/08/15
1390
VRTK☀️五、与物体交互
HTC VIEW☀️十一、使用激光指针与物体交互:一直显示激光——(VR交互机制3-Use)
写了一套逻辑,只要勾选isHTC,自动帮你把UI从PC版转成VR版。取消勾选,程序回到PC版。
星河造梦坊官方
2024/08/15
1200
HTC VIEW☀️十一、使用激光指针与物体交互:一直显示激光——(VR交互机制3-Use)
Pico Neo 3教程☀️ 一、SDK的下载与快速入门
Unity 发布了 AR/VR/MR 的统一管理平台:Unity XR SDK(传送门) Pico Neo 3 现在可以完全基于 Unity XR SDK 进行开发了。
星河造梦坊官方
2024/08/15
3500
Pico Neo 3教程☀️ 一、SDK的下载与快速入门
HTC VIVE发布多款高品质虚拟现实产品,以“软硬双擎”驱动VR新纪元
北京时间2021年5月12日 —— 全球智能移动设备与沉浸式科技的创新领袖HTC举办“破晓启程”2021 HTC VIVE虚拟生态大会(V²EC2021),正式推出了以5K分辨率和120度视场角作为标准配置的全能VR一体机VIVE FOCUS 3和革新专业级PC-VR VIVE PRO 2,为商用和消费者VR设定了新的基准。HTC还发布了VIVE BUSINESS商用平台,以强大而全面的工具包构建起专业的XR无缝商用解决方案,进一步完善XR生态,以“软硬双擎”驱动虚拟现实新纪元。
VRPinea
2021/05/17
9580
HTC VIVE发布多款高品质虚拟现实产品,以“软硬双擎”驱动VR新纪元
【Unity3D】自动寻路系统Navigation实现人物上楼梯、走斜坡、攀爬、跳跃
Radius:烘培的半径,也就是物体的烘培的半径。这个值影响物体能通过的路径的大小
恬静的小魔龙
2020/03/11
11.3K1
【Unity3D】自动寻路系统Navigation实现人物上楼梯、走斜坡、攀爬、跳跃
HTML5+CSS3学习总结(完结)
万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改,作为HTML语言,具有新的元素、属性和行为。
全栈程序员站长
2022/07/25
2.4K0
HTML5+CSS3学习总结(完结)
Unity Cinemachine插件全功能详解
实现电影级别的分镜,推拉式镜头等,需要2017以上的版本才能使用,配合TimeLine一起使用,和Animator一起.
全栈程序员站长
2022/06/27
2.5K0
Unity Cinemachine插件全功能详解
9月VR圈以硬件技术消息为主,元宇宙热度居高不下
(VRPinea 10月13日讯)2021年第3季度末,伴随着温度的居高不下,元宇宙也被国内外大厂纷纷追捧。除了Facebook将用5000万美元基金,来开发元宇宙项目Horizon平台之外,
VRPinea
2021/10/20
6110
[医疗信息化][DICOM教程]DICOM标准简介[通俗易懂]
DICOM是一种医疗保健标准,负责管理医学成像的几乎所有方面,例如图像传输,图像解释,打印管理,程序管理和离线存储,并且几乎用于与医疗保健相关的所有成像“模态”,例如磁共振,核医学,计算机断层扫描和超声检查。全世界几乎所有的临床成像工作流程都基于DICOM标准。如果您在医疗信息学行业工作或想要工作,那么学习此标准至关重要。我希望写本系列文章的目的是通过查看简短但有针对性的代码示例,帮助进入“ DICOM世界”的人们更快地学习标准的各个方面和部分。在本文中,我们将从较高的层次看待该标准的所有主要部分,本系列的文章中,我们将使用有助于将DICOM的理论与实际实现联系起来的代码示例,对这些方面的每个方面进行更详细的研究。
全栈程序员站长
2022/09/01
4.1K0
[医疗信息化][DICOM教程]DICOM标准简介[通俗易懂]
【Unity3D】官方自带人物控制器研究
5.0.0f4版本的官方自带资源包http://pan.baidu.com/s/1o8Ujrxo
恬静的小魔龙
2020/03/10
4.7K0
salesforce lightning零基础学习(二) lightning 知识简单介绍----lightning事件驱动模型
看此篇博客前或者后,看一下trailhead可以加深印象以及理解的更好:https://trailhead.salesforce.com/modules/lex_dev_lc_basics
Zero-Zhang
2018/07/31
1.1K0
salesforce lightning零基础学习(二) lightning 知识简单介绍----lightning事件驱动模型
机器人相关学术速递[7.14]
【1】 OpenCDA:An Open Cooperative Driving Automation FrameworkIntegrated with Co-Simulation 标题:OpenCDA:一种集成协同仿真的开放式协同驾驶自动化框架
公众号-arXiv每日学术速递
2021/07/27
4650
Unity3D Editor自定义窗口、自定义组件学习分享
这是我看到的一篇关于自定义窗口、自定义组件比较完整的教程,讲的很详细大家一起学习一下吧。
恬静的小魔龙
2022/08/07
2.1K0
Unity3D Editor自定义窗口、自定义组件学习分享
原创 Paper | USB设备开发:从入门到实践指南(二)
在上一篇的Paper中,我们尝试对USB键盘进行模拟,下一步再尝试对USB鼠标设备进行模拟。
Seebug漏洞平台
2024/03/04
3450
原创 Paper | USB设备开发:从入门到实践指南(二)
空间小程序: Web 开发者的下一个增长曲线?
YodaOS 首个版本发布于 19 年,它当时定位于开源智能音箱解决方案,笔者当时就作为 YodaOS 应用框架的核心维护者,为 JavaScript 开发者提供了内置的 JavaScript 语音应用框架。
深度学习与Python
2023/10/24
2700
空间小程序: Web 开发者的下一个增长曲线?
Unity基础教程系列(新)(一)——游戏对象和脚本(Creating+a+Clock)
这是有关学习使用Unity的基础知识的系列教程中的第一篇。在其中,我们将创建一个简单的时钟并对程序进行编程,以使其显示当前时间。你不需要具有Unity编辑器的任何经验,但是假定你一般具有多窗口编辑器应用程序的经验。
放牛的星星
2021/02/12
4.4K0
Unity基础教程系列(新)(一)——游戏对象和脚本(Creating+a+Clock)
推荐阅读
相关推荐
XR Interaction Toolkit教程⭐三、实现抓取和交互功能
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验