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

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

🟥 配置 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。

using UnityEngine.XR.Interaction.Toolkit;
public class MyCharacterControllerDriver : CharacterControllerDriver
{
    void Update()
    {
        UpdateCharacterController();
    }
}

相关文章
|
vr&ar C# 图形学
从零开始的PICO开发教程(4)-- VR世界 射线传送、旋转和移动
这篇文章是PICO开发系列教程的第四部分,详细介绍了在VR世界中实现射线传送、视角旋转和人物移动的方法,包括使用Teleportation组件进行区域传送和锚点传送,通过Snap Turn Provider组件实现视角快速旋转,以及创建PlayControl脚本来控制人物移动,并通过手柄与脚本组件的交互来增强VR体验。
|
开发工具 vr&ar 图形学
XR Interaction Toolkit教程⭐一、简介、安装和基本配置
XR Interaction Toolkit教程⭐一、简介、安装和基本配置
|
11月前
|
数据采集 存储 监控
Python 原生爬虫教程:网络爬虫的基本概念和认知
网络爬虫是一种自动抓取互联网信息的程序,广泛应用于搜索引擎、数据采集、新闻聚合和价格监控等领域。其工作流程包括 URL 调度、HTTP 请求、页面下载、解析、数据存储及新 URL 发现。Python 因其丰富的库(如 requests、BeautifulSoup、Scrapy)和简洁语法成为爬虫开发的首选语言。然而,在使用爬虫时需注意法律与道德问题,例如遵守 robots.txt 规则、控制请求频率以及合法使用数据,以确保爬虫技术健康有序发展。
1476 31
|
API 开发工具 图形学
从零开始的PICO教程(1)Pico游戏开发项目配置
这篇文章是PICO游戏开发的入门教程,详细介绍了如何注册成为PICO开发者、创建组织和应用、导入PICO的SDK、配置Unity项目以及完成项目设置的整个流程。
从零开始的PICO教程(1)Pico游戏开发项目配置
|
编译器 vr&ar 图形学
从零开始的unity3d入门教程(五)---- 基于Vuforia的AR项目
这是一篇Unity3D结合Vuforia实现增强现实(AR)项目的入门教程,涵盖了环境配置、Vuforia账户注册、Target数据集创建、Unity项目设置、AR程序配置、Android环境配置以及最终在手机上测试运行的全过程。
从零开始的unity3d入门教程(五)---- 基于Vuforia的AR项目
|
编解码 前端开发 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设备上的完整流程。
|
编解码 前端开发
XR Interaction Toolkit教程⭐四、实现与UI交互
XR Interaction Toolkit教程⭐四、实现与UI交互
|
编解码 图形学 Android开发

热门文章

最新文章