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

网页设计好看的网站选择好的软件开发培训班

网页设计好看的网站,选择好的软件开发培训班,软文推广软文营销,wordpress字体更改文章目录 1 环境准备2 新手指引:Building Blocks2.1 创建 OVR 相机2.2 创建交互功能2.3 创建交互物体 3 老手开发:Interaction SDK3.1 创建交互功能3.2 创建交互物体 4 UI 交互4.1 3D 按钮4.2 Unity UI ​ 新版 Meta SDK(v74)优化…

文章目录

  • 1 环境准备
  • 2 新手指引:Building Blocks
    • 2.1 创建 OVR 相机
    • 2.2 创建交互功能
    • 2.3 创建交互物体
  • 3 老手开发:Interaction SDK
    • 3.1 创建交互功能
    • 3.2 创建交互物体
  • 4 UI 交互
    • 4.1 3D 按钮
    • 4.2 Unity UI

​ 新版 Meta SDK(v74)优化了 Quest 开发流程,使得原本复杂的开发设置变得简单了许多,这在旧版(v63)是不可想象的!

​ 特此记录。

配置环境:

  • Windows 11
  • Unity 6000.0.42f1
  • Meta SDK v74.0.2
  • Quest3

旧版链接:

  • 2024-04-03 NO.4 Quest3 手势追踪抓取物体(旧)_quest3 手势识别-CSDN博客

  • 2024-04-08 NO.5 Quest3 手势追踪进行 UI 交互(旧)_quest3手势-CSDN博客

  • 2024-04-08 NO.6 Quest3 自定义交互事件(旧)_unity quest3快速配置模型交互-CSDN博客

Quest3 环境配置教程:

  • 2025-03-17 NO.1 Quest3 开发环境配置教程_quest3 unity 开发流程-CSDN博客

1 环境准备

​ 创建新场景 InteractionDemo,删除 Main Camera。

image-20250408050306272

2 新手指引:Building Blocks

​ Building Blocks 是 Meta 推出的 Unity 内置开发教程,通过拖拽的形式快速配置开发环境,并带有错误检查功能。下面我们来看看。

2.1 创建 OVR 相机

​ 选择菜单栏中的“Meta”,依次点击“Tools”->“Building Blocks”。

image-20250408050420020

​ 将 Camera Rig 块拖拽到 Hierarchy 窗口中。

image-20250408050738455

​ 即可创建出 OVR Camera Rig。其名称由 “[BuildingBlock]” 开头,表示由 Building Blocks 创建。

​ 点击该物体,在 Inspector 面板中可看到 BuildingBlock 的介绍,包括:

  • Version:版本
  • Dependencies:该块的依赖。
  • Used by:被 xxx 引用。

​ 此时佩戴 Quest3 运行 Unity,即可看到场景。

image-20250408050902840

2.2 创建交互功能

​ 打开 Building Blocks,选择 “Interaction” 分类,将 “Controller Interactions” 拖拽到 Hierarchy 窗口中。Building Blocks 会自动为我们创建 Interaction 模块,包括 OVRHmd 和 Controller Interactions。同时在 TrackingSpace 下创建对应的 Anchor。

image-20250408051707751

​ 此时运行 Unity,可以识别到手柄,但无法交互。接下来配置可交互物体。

2.3 创建交互物体

​ 将 “Grab Interaction” 拖拽到 Hierarchy 窗口中。可看到创建了一个 Cube,并自动为其创建了 HandGrab 子物体,该物体上挂载了 Grabbable、Hand Grab Interactable 和 Grab Interactable 脚本。在以往版本(v63)中,这些都需要一个个手动创建,而且还需要记住脚本间的相互引用,天呐!😢

​ 可以看到,已添加的块右下角图标和未添加的块有所区别(下图绿色标识)。

image-20250408052408732

​ 此时运行 Unity,即可直接用手抓 Cube 了!

​ 但建议将 Cube 先放在一个合适的位置,并且将 OVRCameraRig 下 CenterEyeAnchor 的相机背景改为 Skybox,否则容易看不到物块。

image-20250408053221044

​ 其他 Block 大家自行探索。

3 老手开发:Interaction SDK

​ 尽管 Building Blocks 很令人经验,但是其功能块有限,无法满足定制化的需求(例如 UI 交互)。

​ 但是,Meta 还是贴心地给出了方便的解决方案:右键 -> Interaction SDK。

​ 而在老版本(v63)中,右键出不来 Interaction SDK:😿

image-20250408060042766

​ 现在,我们将场景中所有物体删除,只保留 Directional Light,重新从零开始。

3.1 创建交互功能

​ 在 Hierarchy 窗口中右键,依次选择 Interaction SDK -> Add OVR Interaction Rig。

image-20250408053949743

​ 弹出提示面板,提示我们需添加 OVR Camera Rig。点击 Fix All,再点击 Create 创建 OVR Interaction Rig。

image-20250406221430285

​ 可以看到创建了 OVRCameraRig,其子物体包括:

image-20250408054221406
  • TrackingSpace:用于跟踪与获取设备数据。
  • OVRInteractionComprehensive:字面意思是全面的 Interaction,确实可以看到,什么交互功能都有(懒人必备)。
image-20250408054439340

​ 展开 OVRCameraRig,找到其子物体 PlayerController,将 “First Person Locomotor.cs” 脚本上 Gravity Factor 改为 0,避免进入场景玩家立即下坠。

image-20250408061347180

3.2 创建交互物体

​ 在 Hierarchy 窗口中右键,依次选择 3D Object -> Cube。创建一个 Cube,用于抓取(可以顺便改一下位置和缩放,方便后续好抓)。

image-20250408054601537

​ 选中 Cube,右键,还是选择 Interaction SDK。此时由于选中了物体,比上次多了 6 个选项,其中第 3-6 个是用于 3D 物体交互的,分别为:

  • Add Grab Interaction:添加抓取交互(手柄 + 手势均支持)。
  • Add Ray Interaction:添加射线交互(手柄 + 手势均支持)。
  • Add Distance Grab Interaction:添加远距离抓取交互(手柄 + 手势均支持)。
  • Add Teleport Interaction:添加传送交互(手柄支持)。

​ 这里以第一个为例,选择 Add Grab Interaction。

image-20250408054824967

​ 弹出了提示窗口,提醒说必须为 Cube 添加 Rigidbody 组件才能 Grab。点击 Fix,然后 Create。

image-20250406222014763

​ 可以看到为 Cube 创建了 ISDK_HandGrabInteraction 子物体,该物体上挂载了 Grabbable、Hand Grab Interactable 和 Grab Interactable 脚本。

  1. Grabbable:该物体允许被抓取(必需)。
  2. Hand Grab Interactable:支持手势抓取(可选)。
  3. Grab Interactable:支持手柄抓取(可选)。
image-20250408055406711

​ 此时运行 Unity,即可使用手柄或手势抓取 Cube!

4 UI 交互

​ 新版 SDK 中,配置 UI 交互也变得非常简单。这里我将其分为以下 2 类。

4.1 3D 按钮

​ 叫 3D 按钮,是因为这是 3D 交互,且仅支持按钮交互hh。在 Building Blocks 里面找到 Poke Interaction,拖进来。

image-20250408060506744

​ 将额外添加的 [BuildingBlock] Hand Interactions 删去,咱有 OVRInteractionComprehensive 了。

image-20250408062717285

​ Poke Interaction 的层级结构如下:

  • Poke Interaction(Poke Interactable 脚本使得其能够被点击)
    • Model(Surface 的父物体,无特殊功能)
      • Surface(定义按到底的平面)
    • Visuals(ButtonVisual 的父物体,会比 Surface 突出一些,营造 3D 立体感)
      • ButtonVisual(渲染按钮部分)

​ 该 3D 交互的原理是,手将 Visuals 向前推,推到与 Surface 重合时便停止不动,给人一种真实按下的感觉。

​ 此时运行 Unity,可以按下该 Button,但什么都不会发生。要使得按下能够出发相应事件,需要在 Poke Interaction 物体上挂载 Interactable Unity Event Wrapper 脚本。并执行以下操作:

  1. 关联哪个 Interactable 被监听。这里将 Poke Interactable 拖拽到 Interactable View 中进行关联(下图红色标注)。
  2. 脚本中依据事件名称关联相应的方法。例如,这里我在 Select 中关联了 Cube 的 SetActive 方法,并传入 false(未勾选下方按钮)。
image-20250408062802104

​ 此时,运行 Unity,按下 Button 后,Cube 将消失。

4.2 Unity UI

​ 如果想和 Unity 中的 2D UI 交互,只需要一步操作即可。

​ 这种方法支持 Unity 中的大部分 UI,例如 Button、Toggle、Slider 等。交互功能没有问题,但给人感觉体验不如 3D Button。

​ 首先右键选择 UI -> Button - TextMeshPro,创建 Unity Button。

image-20250408063141002

​ 将 Canvas 的 Render Mode 设置为 World Space,并更改其位置和长宽(之前的太大了)。Button 也更改小一点。

image-20250408063329750

​ 选中 Canvas,右键依次选择 Interaction SDK -> Add Poke Interaction Canvas。

image-20250408063613843

​ 弹出提示界面,需要在 EventSystem 中添加 Pointable Canvas Module 脚本以支持 UI 的 Point 交互。点击 Fix,再点击 Create。

image-20250408063729816

​ 可以看见为 Canvas 创建了 ISDK_PokeInteraction 子物体,其挂载了:

  • Poke Interactable:可被点击。
  • Pointable Canvas:使 Canvas 下的所有 UI 支持点击操作。
image-20250408063928013

​ 之后,就可以像往常 Unity 开发一样,在 UI 中添加对应的事件了。

image-20250408064205330

​ 此时运行 Unity,点击按钮,即可将 Cube 隐藏。


文章转载自:

http://oEP4j0yO.gwbfx.cn
http://Z2aOE4Hc.gwbfx.cn
http://b2Oj0Uwt.gwbfx.cn
http://FGjOMJju.gwbfx.cn
http://ICKEeT5F.gwbfx.cn
http://x1ksFuvS.gwbfx.cn
http://G72B0n6w.gwbfx.cn
http://YVRrjqKY.gwbfx.cn
http://gcbtNW5J.gwbfx.cn
http://avp0aduZ.gwbfx.cn
http://ku94jUnB.gwbfx.cn
http://7dk5MC8C.gwbfx.cn
http://sMA1RAsF.gwbfx.cn
http://stBYVKHi.gwbfx.cn
http://zyC7h4t6.gwbfx.cn
http://vrB253ni.gwbfx.cn
http://O7c26Srx.gwbfx.cn
http://kdvr3hh6.gwbfx.cn
http://xkUoNewd.gwbfx.cn
http://f7uUZATr.gwbfx.cn
http://5FCvPS3F.gwbfx.cn
http://SWk2oxIx.gwbfx.cn
http://QQ6IuZQM.gwbfx.cn
http://xUJEAF6H.gwbfx.cn
http://QSZYtjm2.gwbfx.cn
http://ld3cK7XL.gwbfx.cn
http://VR1AOnBO.gwbfx.cn
http://v1AkT1MS.gwbfx.cn
http://P7o2KdY7.gwbfx.cn
http://0PtDnhhe.gwbfx.cn
http://www.dtcms.com/wzjs/758106.html

相关文章:

  • 网站制作公司怎么看wordpress chastity
  • 基于云服务器的网站开发无锡百度公司王东
  • 网站建设实验目的百度海南分公司
  • 现在网站建站的主流语言是什么东莞软件开发公司
  • wdcp搭建网站教程邢台手机网站建设报价
  • 自己做的网站页面错误采集伪原创wordpress
  • 2017网站开发就业前景wordpress淘客程序
  • 赤峰市网站建设百度一下百度搜索入口
  • 怎么用lamp做网站flash做网站的流程
  • 安阳网站哪家做的好开发公司办出项目不动产证纪实
  • 哈尔滨网站备案泰安网络宣传
  • 四平市住房和城乡建设部网站asp网站会员注册不了
  • 影视网站建设方案wordpress 文件下载插件
  • 杭州网站设计公司推荐做电影网站只放链接算侵权吗
  • 网站正在建设中模板下载网络优化的内容有哪些
  • 贾汪区建设局网站wordpress 模板宽度
  • 南京营销型网站建设公司偃师建设局网站
  • 做网站优化多少钱网站建设具体项目及价格
  • 纳税服务网站建设情况织梦做的网站怎么上传视频
  • app打包网站开发源码软装设计合同模板
  • 正规建筑工程网站发广告推广平台
  • 网站转移权重九一制作网站
  • 网站域名价格 优帮云公司制作网站多少钱
  • 昆明优化网站多少钱wordpress 显示pdf
  • 南宁专业做网站方案怎么做网页上小广告
  • wordpress如何将文章链接地址慈溪网站优化
  • 公司创建网站多少钱淄博哪家公司做网站最好
  • 沈阳行业网站建设专业logo设计公司
  • 重庆靓号网站建设wordpress更换头像插件
  • 林州二建集团建设有限公司网站成都前十名传媒网站建设