当前位置: 首页 > news >正文

网站做315认证网站建设情况通报

网站做315认证,网站建设情况通报,网站建设创业基础ppt模板,河北省邢台市建设工程网站文章目录 #x1f4d5;教程说明#x1f4d5;输入数据#x1f4d5;Oculus Integration 处理手部数据的推荐流程#x1f4d5;VR 中交互的基本概念#x1f4d5;Oculus Integration 中的交互流程#x1f4d5;配置一个基本的玩家物体⭐OVRCameraRig⭐OVRInteraction⭐OVRHandP… 文章目录 教程说明输入数据Oculus Integration 处理手部数据的推荐流程VR 中交互的基本概念Oculus Integration 中的交互流程配置一个基本的玩家物体⭐OVRCameraRig⭐OVRInteraction⭐OVRHandPrefab⭐OVRHands⭐OVRLeftHandSynthetic/OVRRightHandSynthetic 推荐一个高质量知识星球 XR 社区SEED XR社区。包含教程答疑、及时交流、进阶教程、外包、行业动态、升学就业指导。 知识星球链接Seed XR 高级社区 教程说明 系列教程专栏https://blog.csdn.net/qq_46044366/category_12118293.html 配套的视频链接【2023 VRMR全硬件开发教程】三上、Quest Integration基本原理概念与结构(上)-知识点讲解主讲YY 【2023 VRMR全硬件开发教程】 三 (下) 手势追踪与玩家角色配置主讲YY ​电脑操作系统Windows 11 使用的 VR 设备Meta Quest 3Quest 系列都适用 使用的 Unity 版本2021.3.5 LTS (这里推荐使用 2021 及以上的 LTS 版本) Oculus Integration 版本v57 官方文档https://developer.oculus.com/documentation/unity/unity-gs-overview/ 输入数据 VR 中的双手要么就是用手柄控制要么就是用手势追踪控制。当我们使用手柄作为输入的时候虚拟世界中的手部会同步现实世界中手柄的位置和旋转使用手势追踪作为输入的时候虚拟世界中的手部会同步现实世界中手的姿态。然后 VR 中的头部由头显控制也就是说我们的视角可以根据现实中头显的位置和旋转发生变化。因此现实世界中头显和手柄的追踪数据会被传输给虚拟世界中的头部和手部然后虚拟世界中的头和手就会同步现实中的位置和旋转。同样这个概念适用于所有的 VR SDK。 那么 Oculus Integration 中用了一系列 From OVR…Source 组件来获取追踪的数据。在 Oculus Integration V57 版本中具体分为这 5 个组件 From OVR Body Data Source获取上半身身体运动姿态数据。 From OVR Controller Data Source获取手柄姿态数据在虚拟世界中以手柄模型来表示。 From OVR Controller Hand Data Source获取手柄姿态数据在虚拟世界中以手部模型来表示。 From OVR Hand Data Source获取手势追踪的手部姿态数据。 From OVR Hmd Data Source获取头显的姿态数据。 获取了追踪数据之后Oculus Integration 会用相应的接口去处理对应类型的数据这些接口分为 IController, IHand, IHmd, and IBody对追踪数据进行处理和包装之后才能适配 SDK 中的一些组件。这样这些组件就能够利用获取的数据去实现相应的交互功能。 Oculus Integration 处理手部数据的推荐流程 首先通过 FromOVRHandDataSource 获取头显追踪到的手部数据。 然后数据会被传给 HandFilter 组件这个组件就实现了 IHand 接口它能够进行一些防抖的处理。 接下来 SynthethicHand 组件会对手部关节的数据进行进一步的处理它会在特定情况下覆写也就是 override 手部关节的数据从而限定虚拟手部的手势。比如我在 VR 中用手按压一个按钮当我按到底的时候按常理来说我的手是不能再往下按了否则就会穿过按钮产生穿模现象。但是因为我在现实世界中可能没有在按一个真的按钮所以现实中的手是可以继续往下按的而 VR 中的手需要同步现实世界里手部的位置那么这种情况下 VR 中的手就必定会穿过按钮。而 SynthethicHand 组件就能够限制虚拟手部的位置当按钮按到底的时候这个组件就能限制 VR 中的手无法继续向下移动。还有 VR 中的抓取也是类似的原理当你用手抓到这个物体的时候会呈现出一个抓取的手势而 SynthethicHand 组件能够限定住抓取手势的姿态。 当 SynthethicHand 对手部数据进行处理之后就会由 HandVisual 组件来渲染虚拟手部的姿态。 VR 中交互的基本概念 VR 中的交互需要有两个对象参与。一个是 Interactor一个是 Interactable。Interactor 是发起交互的对象Interactable 是可以被交互的对象。以抓取交互为例抓取的流程就是用手去抓一个物体的过程那么手就是发起抓取的对象也就是 Interactor物体就是可以被抓取的对象也就是 Interactable。这个 Interactor 和Interactable 的概念会在我们后续的教程中经常用到这个概念在其他的 VR SDK 中也会见到。 Oculus Integration 中的交互流程 Oculus Integration 中有不同的 Interactor 组件它们通常被挂载到表示手部或者手柄的物体上。当 Oculus Integration 获取了设备的追踪数据后它就知道虚拟世界中的手或者手柄的位置和旋转角度应该是什么样的这个时候手部或者手柄物体上的 Interactor 就会寻找对应的 Interactable。比如抓取相关的 Interactor 会寻找周围有没有可以被抓取的对象点触Poke相关的 Interactor 会寻找周围有没有可以被点击的对象如下图所示 当 Interactor 检测到 Interactable 对象时会进入到 Hover 状态。不过判断是否检测到需要一些条件以手势追踪为例需要满足下面这几个条件 手要靠近 Interactable 对象确保当前手上没有其他的 Interactor 正在与对应的 Interactable 对象交互手要做出 Interactor 触发需要的手势。比如用手点击 UI 按钮的交互需要伸出食指如果伸出的是小拇指就无法触发。 满足条件后就会进入 Hover 状态相当于准备开始交互的阶段。Hover 可以类比成鼠标悬停的操作。 进入 Hover 状态后完成交互动作就能进入 Select 状态。比如还是点击 UI 按钮的交互当我伸出食指并且靠近按钮时会进入 Hover 状态用食指戳到按钮的时候就会转变为 Select 状态表示点击的交互动作完成。然后当我取消点击动作之后也就是将手远离按钮的这一过程中交互状态就会先由 Select 变为 Hover再由 Hover 变为 Normal。那么我这里给出 Meta 官方提供的 Oculus Integration 交互状态切换图 Disabled 就是无法发生交互的状态。然后默认状态是 Normal当交互功能被开启的时候就会在 NormalHoverSelect 这三个状态之间互相切换。 配置一个基本的玩家物体 现在我们已经对 Oculus Integration 中的处理手部数据的流程和交互的基本概念有了初步的认识。接下来我们在 Unity 中配置一个玩家物体之后在介绍各种交互功能的时候就可以在这个玩家物体上不断添加功能。 前置的环境配置可以参考这篇教程Unity Meta Quest 一体机开发前期准备和环境配置2023 版Oculus Integration v57 首先新建一个场景删去场景中的 Main Camera然后添加一个 Plane 物体作为地面。 ⭐OVRCameraRig 然后在如下文件夹中找到 OVRCameraRig 预制体或者在 Project 窗口中搜索这个物体 将该物体拖到场景中找到它身上的 OVR Manager 脚本将 Tracking Origin Type 改为 Floor Level 选择 Floor Level会以安全区的地面打开 VR 设备一般都会先设置地面高度然后划安全区作为参考系运行程序后头部高度会以地面作为参考点初始高度相当于摆放在场景中的眼部相机的高度加上现实中玩家头显到安全区地面的距离。Tracking Origin Type 的区别可以参考这篇文章https://blog.csdn.net/qq_46044366/article/details/131616046 ⭐OVRInteraction 搜索 OVRInteraction 预制体将它拖入 Hierarchy 面板作为 OVRCameraRig 的子物体。这个 OVRInteraction 物体就是负责所有交互功能的父物体。 OVRInteraction 下自带一个 OVRHmd 物体用于获取头显追踪姿态的数据。 ⭐OVRHandPrefab 搜索 OVRHandPrefab 预制体先将它拖到 OVRCameraRig TrackingSpace LeftHandAnchor 下 打开 OVRHandPrefab 的 Inspector 面板除了 OVR Hand 和 OVR Skeleton 脚本其他的脚本先取消勾选 然后在 OVR Skeleton 脚本里, 勾选 Enable Physics Capsules 然后将这个 OVRHandPrefab 复制一份作为 RightHandAnchor 的子物体 将右手 OVRHandPrefab 的 OVRHand 和 OVRSkeleton 脚本的 Hand Type 从 Hand Left 改为 Hand Right ⭐OVRHands 搜索 OVRHands 预制体将它作为 OVRInteraction 的子物体 我们可以展开这个预制体 点击 OVRHandDataSource 物体它上面挂载了 FromOVRHandDataSource 脚本用于获取手部的姿态数据 点击 HandDataLeft它上面挂载了一些实现 IHand 接口的脚本用于处理获取到的手部追踪数据其中 Hand Filter 就是刚刚介绍的用于防抖处理的脚本 展开 HandVisualsLeft它有个 OVRLeftHandVisual 子物体上面有一个 Hand Visual 组件用于渲染手部模型 但是默认的 OVRHands 预制体下没有挂载了 SynthethicHand 脚本的物体我们可以手动添加。 ⭐OVRLeftHandSynthetic/OVRRightHandSynthetic 搜索 OVRLeftHandSynthetic 和 OVRRightHandSynthetic 预制体将它们作为 OVRHands 的子物体 找到 OVRLeftHandSynthetic 物体上的 SyntheticHand脚本将 LeftHand 物体拖入 I Modify Data From Source Mono 变量右手同理 然后我们展开这两个预制体它们下面各有一个 HandVisual 子物体用于渲染手部模型。 但是 OVRHands 物体的 LeftHand 和 RightHand 下也有用于渲染手部模型的物体这时候如果我们运行程序会发现手部模型闪烁。这是因为场景中会渲染两双手手部模型重合在一起就会发生闪烁。 因此我们需要把 LeftHand 和 RightHand 下的 HandVisualsLeft 和 HandVisualsRight 物体隐藏掉保证渲染的是 SyntheticHand。 现在运行程序如果你能看到手势追踪的双手就说明玩家物体配置成功了。不过 SyntheticHand 的效果要结合具体的交互组件来看我会在后续的教程中详细说明。
http://www.w-s-a.com/news/123881/

相关文章:

  • 怎么恢复网站数据库网站开发作业代做
  • 哪里建设网站最好用中国第五冶金建设公司医院网站
  • 雄安网建 网站建设订餐网站建设
  • 广州视频网站建站公司网站 体系
  • 青浦门户网站网站推广烟台公司电话
  • 湖北荆门建设银行网站wordpress购物模板下载
  • 学ui+wordpress模板北京推广优化
  • 建分类网站得花多少钱深圳设计网站开发
  • 网站集群建设和网站集约化百度商桥怎么绑定网站
  • 青岛模板网站建设价格网络品牌网站建设
  • 网站建设的几大要素网站的做网站的公司
  • 怎么登陆自己的公司网站垂直电商网站建设
  • 温州微网站制作哪里有许昌网站建设哪家最好
  • 中国中小企业网站官网网页制作工具按其制作方式分 可以分为
  • 做资源下载网站违法吗河南企业做网站
  • 网站开发总体功能设计网站建设 北京昌平
  • 辽宁省高等级公路建设局网站书画院网站建设方案
  • 本地生活网站 源码重庆本地网站有哪些
  • 企业网站域名服务器国外html响应式网站
  • 东莞网站建设策划企业网站推广策划方法
  • 网站的图片怎么制作WordPress交互式网站
  • pc网站增加手机站什么专业学网页设计制作
  • 婚庆公司网站模板wordpress用什么框架
  • 高校网站建设的时效性长沙市网站建设
  • 合肥网站建设市场四川建设网官网住房和城乡厅官网官方
  • 天行健君子以自强不息网站建设江西网站做的好的企业文化
  • 建网站内容谷歌搜索引擎优化
  • 网站建设与管理案例教程第三版答案网站建设策划书范文六篇精选
  • 建设工程项目在哪个网站查询实时网站推广的最终目的是
  • 个人网站可以做淘客网站设置的参数