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

Unity Apple Vision Pro 开发(一):开发前期准备【软硬件要求 | 开发者模式 | 无线调试打包】

文章目录

  • 📕教程说明
  • 📕硬件要求
  • 📕软件要求
    • ⭐Xcode 15.2 及以上
    • ⭐visionOS 1.0 (21N301) SDK 或者更高版本
    • ⭐Unity 2022 LTS for Apple Silicon (2022.3.18f1及以上的版本)
    • ⭐Unity Pro/Unity Enterprise/Unity Industry的授权许可证
  • 📕其他要求(苹果开发者账号)
  • 📕开启开发者模式 & Wi-Fi 无线调试功能
  • 📕将 Xcode 中的程序打包到头显中

此教程相关的详细教案,文档,思维导图和工程文件会放入 Spatial XR 社区。这是一个高质量 XR 开发者社区,博主目前在内担任 XR 开发的讲师。该社区提供专人答疑、完整进阶教程、从零到一项目孵化保姆服务(包含产品上架App lab)、投资|融资对接、工程文件下载等服务。

社区链接:
SpatialXR社区:完整课程、项目下载、项目孵化宣发、答疑、投融资、专属圈子

在这里插入图片描述


📕教程说明

这期教程我将介绍使用 Unity 开发 Apple Vision Pro 应用的前期准备,包括开发的软硬件要求、开启开发者模式和 Wi-Fi 无线调试功能、真机打包调试。通过本期教程的学习,可以为之后 Unity 开发 Apple Vision Pro 程序做好准备。

视频讲解:苹果Vision Pro Unity开发前期准备

Unity 的 Apple Vision Pro 开发工具叫做 PolySpatial,官方文档:https://docs.unity3d.com/Packages/com.unity.polyspatial.visionos@1.2/manual/index.html

(需要时刻关注开发者文档,因为 PolySpatial 处于早期阶段,在未来可能有些地方会发生变动)


📕硬件要求

  • Apple Silicon Mac (M系列芯片的Mac电脑) 我用的是 M2 芯片的 Macbook Pro
  • Apple Vision Pro (真机调试必备)

📕软件要求

⭐Xcode 15.2 及以上

Unity 的程序会打包成一个 Xcode 工程,然后可以在 Xcode 里调试开发和打包发布。安装好 Xcode 后需要导入 visionOS 模块。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

⭐visionOS 1.0 (21N301) SDK 或者更高版本

开发的时候会自动导入。

⭐Unity 2022 LTS for Apple Silicon (2022.3.18f1及以上的版本)

需要下载针对 Apple Silicon 的 Mac 系统的 Unity。经测试,国服版的 Unity 也能使用。

在这里插入图片描述

⭐Unity Pro/Unity Enterprise/Unity Industry的授权许可证

目前使用 Unity 开发 Apple Vision Pro 需要用付费版的 Unity 许可证,至少需要 Unity Pro。

官方价格表:
https://unity.com/cn/products

价格是笔不小的数字,因此开发 Apple Vision Pro 的成本不小。希望未来 Unity 个人免费版也能开发苹果头显。

📕其他要求(苹果开发者账号)

如果需要将电脑里的程序打包到苹果头显里运行,以及上架 App Store,需要准备苹果的开发者账号,可以到苹果开发者官网进行注册,最便宜的价格是一年 99 美元。

📕开启开发者模式 & Wi-Fi 无线调试功能

步骤一:Apple Vision Pro 和 Mac 连接同一个 Wi-Fi
步骤二:在 Apple Vision Pro 中点击 Settings > General > Remote Devices

在这里插入图片描述

步骤三:打开一个 Xcode 工程,点击 Window > Devices and Simulators,点击 Pair,输入头显中显示的配对码

在这里插入图片描述

在这里插入图片描述

步骤四:在 Apple Vision Pro 中打开 Settings > Privacy & Security,找到 Developer Mode,开启开发者模式 。

在这里插入图片描述

此时,就已经开启了开发者模式并且满足了 Wi-Fi 无线调试的条件。虽然调试也能用有线调试,但是苹果头显的有线调试必须要购买官方的开发者头戴,价格 299 美元,比较昂贵,且不是必需品。Wi-Fi 无线调试已经能满足大部分的需求。

📕将 Xcode 中的程序打包到头显中

首先在 Xcode 的最上方把设备切换成与电脑连接的 Apple Vision Pro 设备。

在这里插入图片描述

然后点击项目的根文件夹,在 General 里确保 Minimum Developments 的 visionOS 版本,也就是 Xcode 里开发环境的 visionOS 版本,需要匹配上设备实际的 visionOS 版本。

在这里插入图片描述
最后在 Signing & Capabilities 里,在 team 一栏添加自己的苹果开发者账号,否则无法进行打包。

在这里插入图片描述

现在点击 Xcode 中的运行按钮,如果打包成功就会跳出 Build Success 的提示框。然后就可以在头显中找到并且运行 Xcode 程序。

相关文章:

Unity Apple Vision Pro 开发(一):开发前期准备【软硬件要求 | 开发者模式 | 无线调试打包】

文章目录 📕教程说明📕硬件要求📕软件要求⭐Xcode 15.2 及以上⭐visionOS 1.0 (21N301) SDK 或者更高版本⭐Unity 2022 LTS for Apple Silicon (2022.3.18f1及以上的版本)⭐Unity Pro/Unity Enterprise/Unity Industry的授权许可证 &#x1f…...

IGMP——组播成员端网络协议

目录 一.IGMP基本概念 (1)组播转发困境 (2)感知组播成员方式 (3)IGMP版本 二.IGMP各版本的区别与联系 (1)IGMPV1 1.普遍组查询报文 2.成员关系报告报文 3.IGMPV1报文格式 4…...

Java break细节(标签)

Java break细节(标签)continue也可以使用标签 break是用来跳出循环的。 当有多重循环时,可以配合标签来使用,决定跳出那一重循环。 尽量不要使用标签 1、不代标签时,默认跳出 break 所在的那重循环: 可见在 i 3 时&#xff0…...

远程户外监控组网方案,工业4G路由器ZR2000

户外监控无人值守4G工业路由器组网应用涉及工业自动化、数据传输和远程监控的重要领域。在户外没有光纤的情况下,想要让监控或传感器等设备联网,仅需一台4G工业路由器即可解决。以下是关于远程监控户外组网的详细分析与应用: 物联网应用场景 …...

K8S集群中Yaml文件详解

目录 一、Yaml概述 二、Yaml基本语法 三、Yaml数据结构 四、K8S资源清单描述方法 五、api资源版本标签 六、Yaml文件示例详解 1.deployment.yaml文件详解 2.Pod yaml文件详解 3.Service yaml文件详解 七、Yaml文件相关操作 1.试运行 2.生成yaml格式 3.生成json格式…...

git-将老项目的分支推送到新项目的新分支上

1.克隆新项目&#xff1a;首先&#xff0c;将新项目的仓库克隆到本地。使用以下命令将新项目克隆到本地&#xff1a; git clone <新项目的仓库地址> 2.进入新项目目录&#xff1a;进入新项目的目录&#xff0c;使用以下命令&#xff1a; cd <新项目目录> 3.添加旧项…...

Unity之如何使用Localization来实现文本+资源多语言

前言 使用Unity实现本地化&#xff08;Localization&#xff09;功能 在当今的游戏开发中&#xff0c;支持多语言已成为一项基本需求。Unity作为主流的游戏开发引擎&#xff0c;提供了强大的本地化工具&#xff0c;使开发者能够方便地为游戏添加多语言支持。本文将介绍如何在U…...

ESP32 实时人脸检测系统:ESP32 与上位机通信(microPython框架)

实时人脸检测系统&#xff1a;ESP32 与上位机通信 在这篇博客中&#xff0c;我将介绍如何使用 ESP32 摄像头捕获图像&#xff0c;并通过 UDP 协议将图像传输到上位机进行实时人脸检测。我们将使用 Python 编程语言和 OpenCV 库来实现上位机端的人脸检测功能。 硬件与软件准备…...

Paddle 0-d Tensor 使用指南

Paddle 0-d Tensor 使用指南 1. 0-d Tensor 的定义 在深度学习框架中&#xff0c;Tensor 是存储和操作数据的基本数据结构。一个 Tensor 可以有 0 到任意多的维度,每个维度对应一个 shape 值。而 0-d Tensor&#xff0c;顾名思义&#xff0c;就是一个无任何维度的 Tensor&…...

Collection(一)[集合体系]

说明&#xff1a;Collection代表单列集合&#xff0c;每个元素&#xff08;数据&#xff09;只包含一个值。 Collection集合体系&#xff1a; Collection<E> 接口 (一&#xff09;List<E> 接口 说明&#xff1a;添加的元素是有序、可重复、有索引。 1. ArrayLi…...

58. 最后一个单词的长度

Show me the code class Solution {func lengthOfLastWord(_ s: String) -> Int {s.trimmingCharacters(in: .whitespacesAndNewlines).components(separatedBy: CharacterSet.whitespaces).last?.count ?? 0} }注意点 // print: ["", "", "&…...

深入理解ECMAScript:JavaScript的规范与实践

引言 在当今的Web开发领域&#xff0c;JavaScript几乎无处不在。它不仅在客户端编程中占据主导地位&#xff0c;而且在服务器端&#xff08;Node.js&#xff09;和移动应用开发中也越来越受欢迎。然而&#xff0c;JavaScript的核心并非由单一的公司或组织控制&#xff0c;而是…...

【深度学习】Transformer梳理

零、前言 对于transformer&#xff0c;网上的教程使用记号、术语不一 。 最关键的一点&#xff0c;网上各种图的简化程度不一 &#xff08;画个图怎么能这么偷懒&#xff09; &#xff0c;所以我打算自己手画一次图。 看到的最和善&#xff08;但是不是那么靠谱&#xff0c;我…...

C语言 | Leetcode C语言题解之第118题杨辉三角

题目&#xff1a; 题解&#xff1a; int** generate(int numRows, int* returnSize, int** returnColumnSizes) {int** ret malloc(sizeof(int*) * numRows);*returnSize numRows;*returnColumnSizes malloc(sizeof(int) * numRows);for (int i 0; i < numRows; i) {re…...

以太坊钱包

以太坊钱包是你通往以太坊系统的门户。它拥有你的密钥&#xff0c;并且可以代表你创建和广播交易。选择一个以太坊钱包可能很困难&#xff0c;因为有很多不同功能和设计选择。有些更适合初学者&#xff0c;有些更适合专家。即使你现在选择一个你喜欢的&#xff0c;你可能会决定…...

Vue 怎么定义插件以及使用这个插件

Vue.js插件是一种增强Vue功能的方式&#xff0c;它允许你向Vue中添加全局功能&#xff0c;比如全局方法、指令、过滤器、混入等 创建Vue插件 export default {install(Vue, options) {// 添加全局方法或属性Vue.myGlobalMethod function() {console.log(全局方法调用, optio…...

SQL2017附加从其他电脑复制过来的mdf数据后出现【只读】无法写入数据

1. 尝试给它所在的文件夹的属性中的“只读”去勾&#xff0c;无果。 2. 其他文章提示是文件的问题。 该错误为文件权限错误&#xff0c;找到该数据库的 数据库文件 和 日志文件&#xff0c;在安全中添加 Authenticated Users 用户的权限&#xff0c;并设置 “完全控制”...

Python轴承故障诊断 (21)基于VMD-CNN-BiTCN的创新诊断模型

往期精彩内容&#xff1a; Python-凯斯西储大学&#xff08;CWRU&#xff09;轴承数据解读与分类处理 Python轴承故障诊断入门教学-CSDN博客 Python轴承故障诊断 (13)基于故障信号特征提取的超强机器学习识别模型-CSDN博客 Python轴承故障诊断 (14)高创新故障识别模型-CSDN…...

如何运行大模型

简介 要想了解一个模型的效果&#xff0c;对模型进行一些评测&#xff0c;或去评估是否能解决业务问题时&#xff0c;首要任务是如何将模型跑起来。目前有较多方式运行模型&#xff0c;提供client或者http能力。 名词解释 浮点数表示法 一个浮点数通常由三部分组成&#xf…...

基于FPGA实现LED的闪烁——HLS

基于FPGA实现LED的闪烁——HLS 引言&#xff1a; ​ 随着电子技术的飞速发展&#xff0c;硬件设计和开发的速度与效率成为了衡量一个项目成功与否的关键因素。在传统的硬件开发流程中&#xff0c;工程师通常需要使用VHDL或Verilog等硬件描述语言来编写底层的硬件逻辑&#xff0…...

平常心看待已发生的事

本篇主要记录自己在阅读此篇文章&#xff08;文章链接&#xff1a; 这才是扼杀员工积极性的真正原因&#xff08;管理者必读&#xff09; &#xff09;和这两天京东的东哥“凡是长期业绩不好&#xff0c;从来不拼搏的人&#xff0c;不是我的兄弟”观点后的一些想法。 自己在微…...

docker image分析利器之dive

dive是一个用于研究 Docker 镜像、层内容以及发现缩小 Docker/OCI 镜像大小方法的开源工具. 开源地址: dive github 为了有个直观的印象, 可以先看一下repo文档中的gif图: 安装 在Ubuntu/Debian系统下&#xff0c;可以使用deb包安装: DIVE_VERSION$(curl -sL "https:/…...

java组合设计模式Composite Pattern

组合设计模式&#xff08;Composite Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许你将对象组合成树形结构来表示“部分-整体”的层次结构。组合模式使得客户端对单个对象和组合对象的使用具有一致性。 // Component - 图形接口 interface Graphic {void draw()…...

每天五分钟深度学习:如何使用计算图来反向计算参数的导数?

本文重点 在上一个课程中&#xff0c;我们使用一个例子来计算函数J&#xff0c;也就相当于前向传播的过程&#xff0c;本节课程我们将学习如何使用计算图计算函数J的导数。相当于反向传播的过程。 计算J对v的导数&#xff0c;dJ/dv3 计算J对a的导数&#xff0c;dJ/da&#xf…...

常见排序算法之选择排序

目录 一、选择排序 1.1 什么是选择排序&#xff1f; 1.2 思路 1.2.1 思路一 1.2.2 优化思路 1.3 C语言源码 1.3.1 思路一 1.3.2 优化思路 二、堆排序 2.1 调整算法 2.1.2 向上调整算法 2.1.3 向下调整算法 2.2 建堆排序 一、选择排序 1.1 什么是选择排序&#xf…...

Redis 事件机制 - AE 抽象层

Redis 服务器是一个事件驱动程序&#xff0c;它主要处理如下两种事件&#xff1a; 文件事件&#xff1a;利用 I/O 复用机制&#xff0c;监听 Socket 等文件描述符上发生的事件。这类事件主要由客户端&#xff08;或其他Redis 服务器&#xff09;发送网络请求触发。时间事件&am…...

Java | Leetcode Java题解之第118题杨辉三角

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<Integer>> generate(int numRows) {List<List<Integer>> ret new ArrayList<List<Integer>>();for (int i 0; i < numRows; i) {List<Integer> row new…...

DNS 解析过程

文章目录 简介特点查询方式⚡️1. 浏览器缓存2. 系统缓存&#xff08;hosts文件&#xff09;3. 路由器缓存4. 本地域名服务器5. 根域名服务器6. 顶级域名服务器7. 权限域名服务器8. 本地域名服务器缓存并返回9. 操作系统缓存并返回10. 浏览器缓存并访问流程图 总结 简介 DNS&a…...

Golang | Leetcode Golang题解之第118题杨辉三角

题目&#xff1a; 题解&#xff1a; func generate(numRows int) [][]int {ans : make([][]int, numRows)for i : range ans {ans[i] make([]int, i1)ans[i][0] 1ans[i][i] 1for j : 1; j < i; j {ans[i][j] ans[i-1][j] ans[i-1][j-1]}}return ans }...

操作系统实验——线程与进程

如果代码或文章中&#xff0c;有什么错误或疑惑&#xff0c;欢迎交流沟通哦~ ## 进程与线程的区别 1. **各自定义**&#xff1a; 进程是操作系统进行资源分配和调度的一个独立单位&#xff0c;具有一定独立功能的程序关于某个数据集合的依次运行活动。 线程被称为轻量级的进程…...