一.前言

在VR中我们经常会和一些3D的UI进行交互,今天我们就来说一下如何实现OpenXR+XRInteraction Toolkit和UI的交互。

二.准备工作

我们需要准备好Unity工程和环境配置
有了前文:Unity之OpenXR+XR Interaction Toolkit基本配置的介绍,我们就不在详细说明这些了,大家自行复习。

流程简述:
我们新建一个3D(URP)工程
然后通过PackageManager安装XR Interaction ToolKit插件。
配置好XR Interaction Toolkit的Preset
新建一个3D场景

准备工作完毕

三.创建画布


然后进行如下设置
1.修改RenderMode为World Space模式
2.修改Transform的Scale缩放为(0.002,0.002,0.002)
3.修改何时的坐标位置,如圆点(0.0.0)附近
4.添加XR组件Tracked Device Graphic Raycaster(可以和VR手柄交互)

四.添加XR Origin

通过菜单GameObject->XR->XR Origin(VR)创建VR操作对象。
查看LeftHand Controller和RightHand Controller是否配置正确。

设置手柄模型

模型的资源在XR Interaction Toolkit的Prefabs目录中

以上设置完毕,如果没有问题的话。
查看Hand Controller的另一个组件XR Ray Interactor射线交互器,确认Enable Interaction With UI GameObjects 选项是否勾选,这里必须勾选,才能通过射线和UI进行交互。

五.升级EventSystem

选择EventSystem游戏对象,我们会发现如下图所示:
原因不言而喻,就是我们原StandaloneInputModule适用于老UI,无法用于VR环境,需要升级使用XR的InputSystemUIInputModule。
升级之后就可以在编辑器环境下通过鼠标点击VR的UI,不需要使用手柄射线。如果不需要这个特性直接移除就好。

我们直接点击Replace Whith xxxx按钮即可。替换完毕后,如下图所示;

添加XR UI Input Module

接下来,添加VR手柄射线交互的InputModule模块,不添加的话,我们的手柄发射的射线无法控制UI,
注意它的属性Input System UIActions 上的配置是自动配置上去的,如果是空的,那么可能是我们的PresetManager没有配置成功。

好了,到此位置,我们就可以运行Demo试一下了。

Unity之OpenXR+XR Interaction Toolkit实现 UI交互相关推荐

  1. Unity之OpenXR+XR Interaction Toolkit实现 监听VR手柄按键

    一.前言 当我们接入XR Interaction Toolkit之后,我们可以很方便的做不同VR设备的适配,这在很大程度上提升了我们的开发效率,我们除了通过射线和物体交互之外,偶尔我们也会希望监听手柄 ...

  2. Unity之OpenXR+XR Interaction Toolkit实现 传送

    前言 VR中由于走动比较容易头晕,所以基本上玩家移动都是靠传送,这样用户更加直观,传送过去也不会感觉头晕. 好了,那么我们一起来说实现一下OpenXR的传送功能. 二.准备工作 我们需要准备好Unit ...

  3. Unity之OpenXR+XR Interaction Toolkit实现 抓取物体

    前言 我们今天来说一下如何使用XR Interaction Toolkit来实现和3D物体的交互之:抓取,简单说就是通过VR手柄拿起来一个物体. 二.准备工作 我们需要准备好Unity工程和环境配置 ...

  4. Unity之OpenXR+XR Interaction Toolkit接入Pico VR一体机

    一.前言 Pico VR 一体机是目前国内比较流行的VR设备之一,PICO成立于2015年3月,于2021年9月并入字节跳动.最新推出的Pico4一体机售价只有2400左右,这让很多家庭都入手了Pic ...

  5. Unity之OpenXR+XR Interaction Toolkit 安装和配置

    前言 XR Interaction Toolkit 是Unity基于OpenXR标准,发布的一套XR工具,目的是方便我们快速接入XR相关的SDK,并且做到兼容不同VR设备的目的,目前流行的VR设备如O ...

  6. Unity之OpenXR+XR Interaction Toolkit接入HTC Vive

    一.前言 目前VR领域,最流行的设备要当属HTC VIVE了.以前在Unity端接入HTC VIVE设备时,都是通过SteamVR+VRTK来接入的.但是随着Unity的版本升级和OpenXR标准的流 ...

  7. Unity VR开发教程 OpenXR+XR Interaction Toolkit (五) UI

    文章目录

  8. 如何使用Unity ARFoundation和XR Interaction Toolkit对Prefab进行选择、缩放、移动、和旋转操作?

    本文分享一种很常见的AR体验的实现.这种AR体验即,手机相机检测到指定图片/平面/实物之后,虚拟模型随之出现,并允许用户在屏幕上使用手势(例如双指捏合)对该虚拟模型进行选择.缩放.移动.和旋转操作. ...

  9. Unity VR开发教程 OpenXR+XR Interaction Toolkit (二) 手部动画

    文章目录

最新文章

  1. ASM - 条件判断
  2. js简单的条件语句判断
  3. numeric比较大小 数据库_mysql大小写敏感与校对规则
  4. 远程协助的伪原创工具
  5. 这首致喷子杠精的“键盘侠之歌” 唱出了多少人的心声
  6. 常用函数的连续傅里叶变换对
  7. (四)训练运行Deep CycleGAN以进行移动风格迁移
  8. oracle查锁及解锁命令
  9. android音视频【十】音频mp3剪切
  10. ubuntu下NS2+leach算法安装笔记(1)
  11. 怎么手动修改域名服务器地址,如何修改域名dns服务器地址
  12. android图片尺寸大小设置
  13. 21经济网专访 | 巨杉下一个十年:扎根科创福地,打造数据库行业生态
  14. 1. 微信公众号申请
  15. 分享一组漂亮的html5后台登陆模板
  16. 百度网盘如何生成目录树结构?
  17. 详解阿里云数据中台,一篇文章全面了解大数据“网红”
  18. 深入理解vue中的slot与slot-scope (简单易懂)
  19. 如何规划和选择数据库服务器:CPU、内存、磁盘、网络(转)
  20. IDEA [plantUML插件使用教程] 及[下载]

热门文章

  1. java注解定义常量_java自定义注解
  2. OpenGL ES学习
  3. Ad hoc网络路由协议概述1——分类
  4. java queryinterface_COM编程中的接口查询QueryInterface的实现原理
  5. iOS开发 --制作圆形的头像(UIImage)
  6. 配置machineKey
  7. Nginx学习整理|入门记录
  8. Codeforces Round #783 (Div. 2) ABC
  9. linux修改文件句柄数生效_Linux 修改最大文件句柄数
  10. 大学生必备数码产品有哪些、五款超高实用性数码产品推荐