U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 土豆PE使用教程 >

Unity开发OpenXR |(三)使用 OpenXR 添加一个运动系统,实现传送、抓取功能 的简

来源:http://www.tudoupe.com时间:2022-02-21

请添加图片描述

文章目录

      • ?前言
  • ?OpenXR | 使用 OpenXR 添加一个运动系统,实现传送、抓取功能 的简单VR示例场景 的全过程详细教程
    • ?️‍?新建项目,导入OpenXR、XR Interaction Toolkit等依赖包
    • ?️‍?添加一个运动系统
    • ?️‍?添加一个传送区域效果
    • ?️‍?添加材质,简单测试运动系统的效果
    • ?️‍?添加连续性动作的运动系统
    • ?️‍?使用控制器抓取物体的案例
  • ?总结
    • 专栏推广

?前言

  • 在上一篇文章中我们对怎样使用OpenXR创建一个基本的使用案例已经做了一个详细的介绍。
  • OpenXR | 使用 OpenXR 制作一款简单VR示例场景 的全过程详细教程,包含两个实战案例。
  • 那本篇文章就在此基础上继续实现一些其他的功能,比如运动系统,抓取物体等功能的实现。

?OpenXR | 使用 OpenXR 添加一个运动系统,实现传送、抓取功能 的简单VR示例场景 的全过程详细教程

?️‍?新建项目,导入OpenXR、XR Interaction Toolkit等依赖包

首先还是老样子,打开UnityHub新建一个项目,这里就不多说了,直接来看怎样操作。

还是需要导入相关的依赖包,不会的可以再来参考一下下面这篇文中的内容:
OpenXR | 使用 OpenXR 制作一款简单VR示例场景 的全过程详细教程,包含两个实战案例。

将依赖包都导入之后,并且添加上XR Origin的基本配置之后 界面是下面这样的:
在这里插入图片描述

?️‍?添加一个运动系统

在上面的内容中我们已经添加了XR Origin,接下来再添加一个运动系统,XR -> Locomotion System(Action-based)

这里要注意,一定要添加带有**(Action-based)**标签的,如果发现了有使用Device-based标签的,那说明它使用了旧的输入系统。
在这里插入图片描述
然后将Locomotion System(Action-based)的坐标初始化。

可以看到监视器面板中的Snap Turn Provider中已经配置好了我们的左右手控制器,这是我们在配置默认输入动作的时候做的事情。
在这里插入图片描述

?️‍?添加一个传送区域效果

添加传送区域有两种方式,下面一起来看一下。

第一种方式:
可以在层级面板中点击XR -> Teleportation Area,添加一个传送门配置
在这里插入图片描述
这个Teleportation Area物体上的Teleportation Area脚本就是用来控制传送区域的。

第二种方式:
直接在我们自己创建的Plane平面上添加** Teleportation Area脚本**,这样可以使我们在这个平面上的任何地方移动。
在这里插入图片描述

?️‍?添加材质,简单测试运动系统的效果

新建一个文件夹,创建一个Material材质,简单换个颜色并将它拖到地面上,为了一会更好的区分控制器发出的射线变化。
在这里插入图片描述
然后打包这个场景到真机测试一下,怎样打包就不多说了,添加上场景,设置好包名类名点击Build就好了。
在这里插入图片描述
现在就可以进行一个简单的移动,通过使用控制器点击地面上的不同位置来实现传送换位置,也可以通过大拇指的摇杆来控制方向的旋转

测试效果如下:
在这里插入图片描述
请添加图片描述

?️‍?添加连续性动作的运动系统

目前虽然已经可以进行一个简单的传送移动了,但是还不够真实,所以我们需要在进行一些操作实现更真实的运动系统。

将Locomotion System物体上的传送区域和快速转身的两个脚本取消激活,如下图所示:
在这里插入图片描述
然后添加上连续动作和连续回合的两个脚本Continuous Move Provider (Action-based)和Continuous Turn Provider (Action-based)
在这里插入图片描述
然后我们给连续动作取消右手手柄,连续回合取消左手手柄,如下图所示:
在这里插入图片描述
然后再进行打包测试,看一下效果
请添加图片描述

从测试效果可以发现,右手是控制方向旋转的,右手大拇指按住控制器摇杆之后方向就开始发生变化。

而左手是控制位置的,左手大拇指拖动控制器摇杆之后位置会发生变化,可以进行前进后退左右移动等行为。

简单来说就跟第一人称射击游戏一样,左手负责前后左右移动,右手负责拖动视角变化。

?️‍?使用控制器抓取物体的案例

接下来我们在场景中添加一个简单的小方块,用于控制器抓取测试使用。

如果想要设备对这个小方块进行抓取,那么要给它添加上XR Grab Interractable,他会自动添加一个刚体Rigidbody组件。
在这里插入图片描述

如果想让这个小方块尽可能的平稳,那就把Rigidbody的碰撞检测设置成连续动态碰撞。如下图所示:
在这里插入图片描述
然后再改一下XR Grab Interractable脚本配置的平滑类型Smooth Position和Smooth Rotation。
在这里插入图片描述
勾选这个选项可以让我们抓取物体时的运动变得更加平滑,但是会更消耗性能,也可以自定义平滑程度。

然后更改脚本中的Movement Type选项,有三个选项。

  • 第一个是速度跟踪状态,不能穿过墙壁之类的状态,更符合现实
  • 第二个是运动学状态,没有第一种那样写实,也比瞬移要慢一点,算是两者的中介形式了。
  • 第三个是瞬时跟踪,也就是瞬间移动,抓取时物体会瞬移过来。

这里我们就选择第一种速度跟踪进行测试了。
在这里插入图片描述
然后也可以照葫芦画瓢的多添加几个不同配置的物体到场景中,别忘记添加XR Grab Interractable脚本就行。
在这里插入图片描述
接下来再进行打包到真机进行测试。
在这里插入图片描述
请添加图片描述

这样我们就可以实现使用手柄控制器抓取物体了,只需要添加一个脚本就可以了,非常简单。

但是我在测试的时候还发现一个小问题,当我们抓取物体之后进行位置移动或者方向旋转的时候,手中的物体也在跟着旋转。
这在大多数情况下是不需要的,但是默认是这样设置的,我们可以进行更改。

打开 层级面板的 XR Origin 中的左右手控制器,取消勾选XR Ray Interactor脚本中的Anchor Contro选项即可。
这样在使用的时候,手中抓取的物体就不会跟随我们旋转了,只会牢牢的抓在我们手中。
在这里插入图片描述

?总结

  • 本篇文章对OpenXR中的运动系统、传送和抓取等功能做了一个比较详细的教程。
  • 而且打包到Oculus Quest2真机测试都是没有任何问题的。
  • 如果对于OpenXR的环境集成配置还不熟悉的可以参考这篇文章:
  • OpenXR | (二)使用 OpenXR 制作一款简单VR示例场景 的全过程详细教程,包含两个实战案例。
  • 如果把这两篇文章中的内容都吃透的话,那么对于使用OpenXR上手开发VR应用应该是没什么太大的问题了!
  • 但是这两篇也只能算是对OpenXR入门了,其中新的输入系统 和 API等等都要慢慢熟悉。
  • 后面还会继续更新关于OpenXR相关的技术文章,毕竟是作为一个VR开发者必备的内容了。
  • 对这方面感兴趣的记得关注博主 并 订阅该专栏 哦!

专栏推广

Unity专栏简介
以Unity引擎为基础,介绍关于Unity的各种文章学习,共同进步!Unity是一款跨平台的专业游戏引擎,用它创建的游戏可以在PC端、移动设备等常见平台上运行。

资料白嫖,技术互助

学习路线指引(点击解锁) 知识定位 人群定位
? Unity系统学习专栏 ? 入门级 本专栏从Unity入门开始学习,快速达到Unity的入门水平
? Unity实战类项目 ? 进阶级 计划制作Unity的 100个实战案例!助你进入Unity世界,争取做最全的Unity原创博客大全。
❤️ 游戏制作专栏 ❤️ 难度偏高 分享学习一些Unity成品的游戏Demo和其他语言的小游戏!
? 游戏爱好者八万人社区? 互助/吹水 八万人游戏爱好者社区,聊天互助,白嫖奖品
? Python零基础到入门 ? Python初学者 针对没有经过系统学习的小伙伴,核心目的就是让我们能够快速学习Python的知识以达到入门

温馨提示:点击下面卡片可以获取更多编程知识,包括各种语言学习资料,上千套PPT模板和各种游戏源码素材等等资料。更多内容可自行查看哦!
请添加图片描述

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息