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

2025-04-06 NO.2 Quest3 基础配置与打包

文章目录

  • 1 场景配置
    • 1.1 开启手势支持
    • 1.2 创建 OVRCameraRig
    • 1.3 创建可交互 Cube
  • 2 打包配置

环境:

  • Windows 11
  • Unity6000.0.42f1

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

1 场景配置

1.1 开启手势支持

​ 找到 Project 页面下的 Oculus 文件夹,点击 OculusProjectConfig,在 Inspector 面板中设置 Hand Tracking Support 为 “Controllers And Hands”。

1.2 创建 OVRCameraRig

​ 双击 SampleScene 场景,删除 Main Camera。

image-20250406221206800

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

image-20250406221259942

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

image-20250406221430285

​ 可以看见创建出了 OVRCameraRig,在 Game 窗口中有粉色(Material 为 Standard,与 URP 不匹配),但实际运行中看不见,影响不大。

image-20250406221555431

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

image-20250406222231671

1.3 创建可交互 Cube

​ 在 Hierarchy 窗口中右键,依次选择 3D Object -> Cube,创建 Cube。

image-20250406221833622

​ 选中 Cube 后右键,依次选择 Interaction SDK -> Add Grab Interaction。

image-20250406221929105

​ 弹出提示窗口后,点击 Fix All(为 Cube 添加 Rigidbody,这是物体交互的必要条件),然后点击 Create 创建 HandGrabInteraction。

image-20250406222014763

​ 最后,将 Cube 的位置设置为 (0, 1, 0.5),缩放设置为 (0.1, 0.1, 0.1)。使 Cube 位于眼前,且大小合适。

image-20250406222634972

​ 此时运行程序,伸出双手,可以抓取 Cube。

image-20250406223119006

2 打包配置

​ 点击左上角 File 菜单,选择 Build Profiles。

image-20250406223216059

​ 确保平台为 Android,同时 Run Device 中含有 Oculus Quest3。

image-20250406223318789

​ 点击右上角 Build And Run,在项目目录下创建 Build 文件夹,将 apk 放在该文件夹下。

​ 等待打包完成后,Quest 中即运行该场景。

image-20250406223453965

​ 若此时出现如下弹窗,表示 Input 系统选择了 Both,在 Android 平台上可能引发问题。点击 No 关闭弹窗。

image-20250406223536688

解决方案:

​ 点击 Player Settings 按钮。

image-20250406223705728

​ 下拉找到 Active Input Handling,选择 Input System Pacakge (New)。

image-20250406223838478

​ 弹出窗口提示:这会重启 Unity,点击 Apply。

image-20250406223938676

​ 退出场景后,可点击资源库,在“未知来源”中找到自己的应用。

image-20250406231222496

相关文章:

2025-04-06 NO.2 Quest3 基础配置与打包

文章目录 1 场景配置1.1 开启手势支持1.2 创建 OVRCameraRig1.3 创建可交互 Cube 2 打包配置 环境: Windows 11Unity6000.0.42f1 Quest3 开发环境配置见 2025-03-17 NO.1 Quest3 开发环境配置教程_quest3 unity 开发流程-CSDN博客。 1 场景配置 1.1 开启手势支持 …...

人脸考勤管理一体化系统(人脸识别系统,签到打卡)

人脸考勤管理一体化系统 项目介绍 本项目是基于Flask、SQLAlchemy、face_recognition库的人脸考勤管理一体化系统。 系统通过人脸识别技术实现员工考勤打卡、人脸信息采集、人脸模型训练等功能。 项目采用前后端分离的技术框架,基于Flask轻量级Web框架搭建后端服务…...

LeetCode 每日一题 2025/3/31-2025/4/6

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 3/31 2278. 字母在字符串中的百分比4/1 2140. 解决智力问题4/2 2873. 有序三元组中的最大值 I4/3 2874. 有序三元组中的最大值 II4/4 1123. 最深叶节点的最近公共祖先4/5 1…...

mybatis plus 实体类基于视图,更新单表的时候报视图或函数‘v_视图名‘不可更新,因为修改会影响多个基表的错误的简单处理方法。

1、之前的文章中写了一下基于视图的实体,因为当前测试通过了,可能有缓存。 2、然后今天又用到了这个方法,发现报错了: 建了一下视图,将实体类绑定到了视图中,并不是原表中。 3、用mybatis提供的注解或者x…...

语法: i8=make8( var, offset);

MAKE8( ) 语法: i8make8( var, offset); 参数: var是16位或32位整数; offset是字节的偏移量,为1,2或3; 返回值: 返回值是一个8位整数; 功能: 该函数用来摘取以var为基址, offset为偏移量,所指向单元的字节;除了执行单字节复制之外,还相当于i8( ( var>>(offset…...

Seata TCC模式是怎么实现的?

Seata TCC 模式实现原理 TCC(Try-Confirm-Cancel)是 Seata 提供的分布式事务解决方案之一,适用于 高并发、高性能 场景,通过 业务补偿 保证最终一致性。其核心思想是将事务拆分为三个阶段: Try:预留资源(冻结数据,检查约束)。Confirm:确认提交(真正扣减资源)。Can…...

sentinel新手入门安装和限流,热点的使用

1 sentinel入门 1.1下载sentinel控制台 🔗sentinel管理后台官方下载地址 下载完毕以后就会得到一个jar包 1.2启动sentinel 将jar包放到任意非中文目录,执行命令: java -jar 名字.jar如果要修改Sentinel的默认端口、账户、密码&#xff…...

对责任链模式的理解

对责任链模式的理解 一、场景1、题目【[来源](https://kamacoder.com/problempage.php?pid1100)】1.1 题目描述1.2 输入描述1.3 输出描述1.4 输入示例1.5 输出示例 二、不采用责任链模式1、代码2、缺点 三、采用责任链模式1、代码2、优点 四、思考 一、场景 1、题目【来源】 …...

AGI大模型(11):RAG系统

1 RAG概念 RAG(Retrieval Augmented Generation)顾名思义,通过检索外部数据,增强大模型的生成效果。 RAG即检索增强生成,为LLM提供了从某些数据源检索到的信息,并基于此修正生成的答案。RAG基本上是Search + LLM 提示,可以通过大模型回答查询,并将搜索算法所找到的信…...

请问你了解什么测试方法?

测试方法在软件测试中是保障软件质量的关键手段,我将从黑盒测试、白盒测试、灰盒测试等方面为你介绍常见的测试方法: 黑盒测试方法 黑盒测试把软件看作一个黑盒子,不考虑内部结构和实现细节,只关注输入和输出。 等价类划分法:将输入数据划分为有效等价类和无效等价类,从…...

【springcloud】快速搭建一套分布式服务springcloudalibaba(三)

第三篇 基于nacos搭建分布式项目 分布式事务(分布式锁事务) 项目所需 maven nacos java8 idea git mysql(下单) redis(分布式锁) 本文主要讲解客户下单时扣减库存的操作,网关系统/用户系统/商品系统/订单系统 请先准备好环境&#xff0…...

Nginx-keepalived-高可用

Nginx 高可用 通常 借助 Keepalived 实现, Keepalived 能通过 VRRP (虚拟路由冗余协议)让多个 Nginx 服务器 组成一个 热备集群,当主服务器故障时自动切换到备用服务器,保障服务不间断。 一、环境准备 角色IP 地址主…...

Linux系统管理(十九)——欧拉系统硬盘挂载、网络配置以及Docker环境安装

挂载硬盘 如果数据盘在安装操作系统的时候没有挂载,需要自己做一下硬盘的挂载 查看需要挂载硬盘的路径 fdisk -l这里的可挂载的硬盘路径为:/dev/sdb MBR分区方式转换成GPT MBR分区能挂载的硬盘空间有限,无法挂载全部硬盘空间&#xff0…...

vue记忆卡牌游戏

说明: 我希望用vue做一款记忆卡牌游戏 游戏规则如下: 游戏设置:使用3x4的网格,包含3对字母(A,B,C,D,E,F)。 ​随机洗牌:初始字母对被打乱顺序,生成随机布局。 ​游戏流程&#xff1a…...

LearnOpenGL-笔记-其九

今天让我们完结高级OpenGL的部分: Instancing 很多时候,在场景中包含有大量实例的时候,光是调用GPU的绘制函数这个过程都会带来非常大的开销,因此我们需要想办法在每一次调用GPU的绘制函数时尽可能多地绘制,这个过程就…...

开源软件与自由软件:一场理念与实践的交锋

在科技的世界里,“开源软件”和“自由软件”这两个词几乎无人不知。很多人或许都听说过,它们的代码是公开的,可以供所有人查看、修改和使用。然而,若要细究它们之间的区别,恐怕不少朋友会觉得云里雾里。今天&#xff0…...

关于使用HAL_ADC_Start函数时为什么要放在while里的解释

HAL_ADC_Start() 是一个用于启动 ADC(模数转换器)转换的函数,那为什么有时候我们会看到它被放在 while 循环里呢?其实取决于你使用的是哪种ADC采样方式,我们来细说👇: 🧠 一、先搞清…...

Qt 入门 2 之窗口部件 QWidget

Qt 入门2之窗口部件 QWidget Qt Creator 提供的默认基类只有QMainWindow、QWidget和QDialog 这3种,这3种窗体也是以后用得最多的,QMainWindow是带有菜单栏和工具栏的主窗口类,QDialog是各种对话框的基类,而它们全部继承自QWidget。不仅如此,其实所有的窗…...

在 Windows 上安装 WSL Ubuntu 的完整避坑指南:从报错到成功运行

问题背景​​ 最近在尝试通过 ​​Windows Subsystem for Linux (WSL)​​ 安装 Ubuntu 时,遇到了一系列报错。最初的步骤是直接使用 wsl --install 命令,但安装完成后发现系统中并未自动安装默认的 Ubuntu 发行版。随后尝试通过命令行手动选择发行版&a…...

STM32看门狗原理与应用详解:独立看门狗 vs 窗口看门狗(上) | 零基础入门STM32第九十四步

主题内容教学目的/扩展视频看门狗什么是看门狗,原理分析,启动喂狗方法,读标志位。熟悉在程序里用看门狗。 师从洋桃电子,杜洋老师 📑文章目录 一、看门狗核心原理1.1 工作原理图解1.2 经典水桶比喻 二、STM32看门狗双雄…...

Hyperlane 框架路由功能详解:静态与动态路由全掌握

Hyperlane 框架路由功能详解:静态与动态路由全掌握 Hyperlane 框架提供了强大而灵活的路由功能,支持静态路由和动态路由两种模式,让开发者能够轻松构建各种复杂的 Web 应用。本文将详细介绍这两种路由的使用方法。 静态路由:简单…...

webpack js 逆向 --- 个人记录

网站 aHR0cDovL2FlcmZheWluZy5jb20v加密参数 参数加密位置 方法: 1. 构造自执行函数 !function(e) {// 加载器 }(// 模块1;// 模块2 )2. 找到js的加载器 3. 把上述代码放入第一步构造的自执行函数(完整扣取一整个加载器里的代码),并用一…...

代码随想录回溯算法03

93.复原IP地址 本期本来是很有难度的,不过 大家做完 分割回文串 之后,本题就容易很多了 题目链接/文章讲解:代码随想录 视频讲解:回溯算法如何分割字符串并判断是合法IP?| LeetCode:93.复原IP地址_哔哩哔…...

SOMEIP通信矩阵解读

目录 1 摘要2 SOME/IP通信矩阵详细属性定义与示例2.1 服务基础属性2.2 数据类型定义2.3 服务实例与网络配置参数2.4 SOME/IP-SD Multicast 配置(SOME/IP服务发现组播配置)2.5 SOME/IP-SD Unicast 配置2.6 SOME/IP-SD ECU 配置参数详解 3 总结 1 摘要 本…...

keys简单通用命令

目录 一、通配符匹配key 二、key的常用命令 1)exists 判断某个key是否存在 2)删除key 3)expire设置key的过期时间、ttl查询key的过期时间 4)type可以获取key对应的value的类型 一、通配符匹配key redis作为键值对类型的数据…...

Linux : 页表

目录 一 前言 二 深入理解页表 三 页表的实际组成 四 总结 一 前言 页表是我们之前在讲到Linux : 进程地址空间-CSDN博客的时候说到的,它是物理内存到进程程序地址空间的一个桥梁,通过它,物理内存的数据和代码才能映射到进程的程序地址空间…...

多智能体优秀开发框架

原文链接:https://i68.ltd/notes/posts/20250402-multi-agent/ motia-面向软件工程师的智能体框架 项目仓库:https://github.com/MotiaDev/motia 1.3k官方网站:https://motia.devMotia 允许开发人员在几分钟内创建,测试和部署生产就绪的 AI 代理,在一个…...

JavaScript创建对象与构造函数

目录 创建对象 一、创建对象的 5 种核心方式 1. 对象字面量(直接量) 2. 使用 Object.create() 3. 工厂模式 4. 构造函数模式 5. ES6 class 语法(语法糖) 二、构造函数与 new 关键字 1. 构造函数的作用 2. 构造函数的特征…...

【langchain4j系列教程-02】Langchain4j调用DeepSeek

文章目录 依赖引入代码示例api key如何获取模型名称及价格为什么调用DeepSeek API用的是OpenAIChatModel 这篇文章主要介绍了如何在Java项目中引入DeepSeek的依赖,并提供了调用DeepSeek API的代码示例。 依赖引入 DeepSeek是一个与OpenAI接口标准兼容的人工智能平台…...

c++STL入门

目录 什么是STL? vector容器 构造函数 赋值操作 vector容量和大小 vector存放内置数据类型 vector存放自定义数据类型 存放指针 vector容器嵌套容器 string容器 构造函数 赋值操作 字符串拼接 查找和替换 string字符串比较 string字符存取 string插…...

公有云子账号认证的原理和步骤

1 为什么使用子账号 1.1 子账号认证的背景 主账号权限过大:公有云账号(主账号)对账号中的资源具有完全管理权限,且无法调整其权限大小,多人共用时无法在审计日志中区分出具体使用人,一旦泄露风险极大且难以追溯。 安全需求:为了提高安全性,避免因主账号信息泄露而导致…...

基于Flask的微博舆情数据分析系统

【Flask】基于Flask的微博舆情数据分析系统(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统能够高效收集、处理微博上的海量数据,实时反映公众对某些事件或话题的舆论倾向&am…...

Mac OS 禁用 SIP 系统完整性保护

关闭并重新启动 Mac,CommandR在启动时按住以进入Recovery Mode.进入Recovery模式后打开终端 -bash-3.2# csrutil disable Turning off System Integrity Protection reguires modifying system security.Allow booting unsigned operating systems and any ker…...

第十四届蓝桥杯省赛真题解析(含C++详细源码)

第十四届蓝桥杯省赛 整数删除满分思路及代码solution1 (40% 双指针暴力枚举)solution 2(优先队列模拟链表 AC) 冶炼金属满分代码及思路 子串简写满分思路及代码solution 1(60% 双指针)solution 2&#xff0…...

整车CAN网络和CANoe

车载网络中主要包含有Can网络,Lin网络,FlexRay,Most,以太网。 500kbps:500波特率,表示的数据传输的速度。表示的是最大的网速传输速度。也就是每秒 500kb BodyCan车身Can InfoCan娱乐信息Can 车身CAN主要连接的是ESB电动安全带 ADB自适应远光灯等 PTCan动力Can 底盘Can...

从扩展黎曼泽塔函数构造物质和时空的结构-16

都是一样的泽塔函数,却呈现出不同的性质,而不同的性质无关于自然数还是质数,完全是由s来决定的。可以猜想, 就是光子,而如果, 就是物质粒子。其中不同的k指出不同的周期或者对应于不同的质数p,虽…...

【C++】list模拟实现

📝前言: 这篇文章我们来讲讲STL中list的模拟实现: 🎬个人简介:努力学习ing 📋个人专栏:C学习笔记 🎀CSDN主页 愚润求学 🌄其他专栏:C语言入门基础&#xff0c…...

人脸专注度检测系统(课堂专注度检测、人脸检测、注意力检测系统)

人脸专注度检测系统 项目介绍 本项目是基于Flask、MobileNetV2、Mediapipe的人脸专注度检测系统。 项目采用tensorflow.keras库内置的MobileNetV2预训练模型,对自主采集的少量人脸图片数据迁移训练而得到最终的人脸专注度检测模型。 项目采用前后端分离的技术框架…...

文件操作和IO ——Java

初识文件 首先文件分为: 1.狭义的文件 – 保存在硬盘上的文件。 2.广义的文件 – 操作系统进行资源管理的一种机制。很多的软件/硬件资源,抽象成“文件”来进行表示。 (println > 控制台,scanner > 控制台的标准输入&#…...

dmsetup 清理ceph osd残留磁盘分区

在物理机上接入磁盘并准备格式化时,发现磁盘中存在之前残留的 Ceph OSD 分区。尝试运用 fdisk 重新分区、重新格式化,以及使用 sgdisk 格式化,甚至重写磁盘头,都未能成功清理掉这些 OSD 残留分区。最终,借助 dmsetup 直…...

每日一题(小白)字符串娱乐篇16

分析题意可以了解到本题要求在一串字符串中找到所有组合起来排序递增的字符串。我们可以默认所有字符在字符串中的上升序列是1,从第一个字符开始找,如果后面的字符大于前面的字符就说明这是一个上序列那么后面字符所在的数组加一,如果连接不上…...

【Mac 从 0 到 1 保姆级配置教程 11】- Mac 基础配置 Finder、触控板、常用快捷键等

文章目录 前言配置 Finder1. 把我们的家目录请出来2. 显示文件扩展名3. 展示隐藏文件4. 显示路径栏和状态栏5. 固定文件夹到工具栏 基础快捷键1. Finder 导航快捷键2. 文件操作快捷键3. 视图和显示快捷键4. 搜索和选择快捷键5. 实用技巧6. 关于文件创建 配置触控板1. 右键设置2…...

Redis 渐进式rehash怎么判定rehash完成了?

Redis 渐进式 Rehash 的完成判断机制 在 Redis 的字典(dict)结构扩容或缩容时,会使用 渐进式 Rehash 来避免一次性迁移所有键值对导致的阻塞。以下是判断旧哈希表(ht[0])是否全部迁移完毕的核心逻辑: 1. 渐进式 Rehash 的核心流程 Redis 的字典结构包含两个哈希表: t…...

Redis的常用数据结构

三. Redis 的常用数据结构 (redis提供的查询功能, 不像mysql这么强大) 1. 认识数据类型和编码方式 常见数据结构 (数据类型) : string (字符串), list (列表), hash (哈希), set (集合), zset (有序集合). Redis 底层在实现上述数据结构的时候, 会在源码层面进行优化, 来达到…...

c++中的虚函数

在C中,虚函数(Virtual Function)是一种实现多态的重要机制,它允许在派生类中重写基类的函数,从而在运行时根据对象的实际类型调用相应的函数版本。 1. 虚函数的定义 虚函数是在基类中使用关键字virtual声明的函数。例…...

unreal engine5开发仿鬼泣5的游戏,把敌人击飞到空中4连击

UE5系列文章目录 文章目录 UE5系列文章目录前言一、实现思路二、具体蓝图 前言 unreal engine5开发仿鬼泣5的游戏,把敌人击飞到空中4连击,先看下效果 一、实现思路 unreal engine5开发仿鬼泣5的游戏,把敌人击飞到空中4连击 在Unreal Engi…...

蓝桥杯嵌入式第十四届模拟二(PWM、USART)

一.LED 先配置LED的八个引脚为GPIO_OutPut,锁存器PD2也是,然后都设置为起始高电平,生成代码时还要去解决引脚冲突问题 二.按键 按键配置,由原理图按键所对引脚要GPIO_Input 生成代码,在文件夹中添加code文件夹,code中添加fun.c、fun.h、headfile.h文件,去资源包中把lc…...

深挖 TypeScript 基础数据类型:应用与陷阱

在 TypeScript 的学习与实践过程中,对基础数据类型的深入理解和正确运用,是写出高质量代码的关键。本篇文章会通过探讨数据类型在实际场景中的应用,分析常见错误,帮助大家提升运用 TypeScript 基础数据类型的能力。​ 一、函数参…...

B站视频教材: Yocto项目实战教程 第一章 PPT讲解

B站视频链接,请多多关注本人B站: 📌 Yocto项目实战教程:第一章 视频讲解 在当今嵌入式系统快速发展的背景下,越来越多的设备和行业依赖于高效、可定制、可维护的操作系统解决方案。嵌入式Linux系统,凭借其开源灵活性和…...

嵌入式软件开发调试方法

文章目录 1. 利于函数返回值,retrurn 定位错误位置2. 合理使用逻辑分析仪(正点原子 厉害!!) 1. 利于函数返回值,retrurn 定位错误位置 如下图所示,设置不同的返回值,0是ok的,其他值均为失败&…...