Unity vision pro模拟器开发教程-附常见问题解决方案

前言

庄生晓梦迷蝴蝶,望帝春心托杜鹃

废话

去年苹果发布会上,推出了Vision Pro这一款XR产品。并且宣布Unity作为其主要合作伙伴,负责开发XR的开发产品。
这消息一出,当晚Unity的股价直接被熔断。产品发布之后,一直等到最近Vision Pro的产品开始正式发布,并且Unity的开发套件陆续发布,也让我们见到了Vision Pro的庐山真面目。
我相信有很多小伙伴都想去尝试Vision pro的开发,但是碍于Vision Pro的高昂的成本,迟迟没有行动。还好Apple给我们提供了Vision Pro Simulator。使得我们可以在近乎0成本的平台上进行开发。

准备

  • M芯片的苹果电脑, M1,M2都可以,Pro和Air都行。不要以开发为借口升级电脑。
  • Unity 2022.3以后的LTS版本。
  • Unity Pro License
  • Mac os 14以上,Xcode 15以上。

注意,需要Unity Pro授权。这一步你可以找你的朋友借,或者找官方买。

开始开发

下载Unity

一开始开发,建议直接选择最新的发行版。比如在Hub中直接选择最新的版本,点击install。注意版本选择,M芯片的Mac,只支持旁边有SILICON图标的版本。
请添加图片描述
在下载时选择Vision Pro Support(Experimental)和IOS Support。后面一个我没有测试不选有没有问题。不过多装一点没有错。

请添加图片描述

Start From Template

最好的入门就是模仿。Unity提供了一个Vision Pro的项目模板,解压之后,你会发现这个模板就是一个Unity项目。本节尾有下载链接。

请添加图片描述

有了Unity工程还不简单,打开UnityHub,然后选择Open。选择我们刚才解压的文件夹。

请添加图片描述请添加图片描述

注意原项目是用2022.3.18f1打开的,这里用其他2022.3版本打开都可以。同时c后缀的也没有问题。
请添加图片描述
这里我用的2022.3.17f1c1版本。

请添加图片描述

模板的好处是,所有的配置都提前配置好了。打开项目之后可以看到在Project Settings中已经有Vision pro的配置选项。并且XR Plugin-in Management的窗口中, Apple VisionOS已经勾选。
请添加图片描述
选择场景,并在Build界面中选择并打包。
请添加图片描述

Template的下载地址:https://download.csdn.net/download/u011618339/89008430

First Vision Pro Project

在Hub中选择新项目,然后选择3D URP模板创建项目。Vision pro目前支持URP渲染管想。
请添加图片描述
打开Project Setting,选中XR Plugin Management,选择Install XR Plugin Management。
请添加图片描述
勾选Apple VisionOS,此时Unity会自动下载Vision 的支持插件。
请添加图片描述
如果其中遇到了提示安装插件窗口,直接同意即可。切换平台,开始打包。
请添加图片描述

Run on Simulator

打开Unity发布的Xcode工程。在发布的Destination上选择Apple Vision Simulator。如果没有模拟器,那么可能是你没有创建。如果创建了之后也没有,那么可能是错误,请参考下方的问题2.

创建模拟器

选择发布的Destination,点击下方的Manage Run Destinations。
请添加图片描述
在弹出窗口中点击Simuation选项卡。并点击左下角的+。创建模拟器。
请添加图片描述

发布到模拟器

选择我们已经创建好的Apple Vision Pro Test。并点击左侧的运行。
请添加图片描述
注意,如果要发布需要使用付费的开发者账号,因此本教程不支持发布。一般在打包的时候会遇到问题二、三,见后面的解决方案。
点击运行,编译完成之后,将会看到模拟器中运行的程序。

Enjoy your first vision app。

请添加图片描述

问题总结

有些朋友在开发的时候,肯定会遇到各种问题,因此我会整理一些我在开发的时候遇到的问题,帮助大家。如果大家遇到不同的问题,可以留言,我会抽空为大家解释,也欢迎有解决方案的朋友一起回答。

问题一、打包之后发现模型丢失

查看模型的shader是否是urp的。

问题二、打开Xcode之后,明明下载了模拟器,但是却没有模拟器出现。

打包Unity的时候在Player Setting中在Target SDK中选择Simulator SDK。
请添加图片描述

问题三、编译提示/Users/unity_arm_mac/Project/Tutorial/visionOSTemplate-2/build/MainApp/UnityPolySpatialAppDelegate.swift:1:8 No such module ‘UnityFramework’

参考问题二,可能是Unity的Build 设置错误了。

问题四 编译问题 Library not found for -lGameAssembly

参考问题二

总结

从个人体验来说,Apple Vision Pro确实是一款跨时代的产品,但肯定不是颠覆性的产品。本教程也只是总结了在开发过程中遇到的坑。如果大家有兴趣,欢迎点赞,收藏,关注。如果喜欢的人多,我继续出Vision pro开发入门教程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/766161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法——深度优秀搜索和广度优秀搜索

深度优先——递归 // 先序遍历 void dfs(TreeNode* node){if(!node){return;}cout<<node->val;dfs(node->left);dfs(node->right); } // 中序遍历 void dfs(TreeNode* node){if(!node){return;}dfs(node->left);cout<<node->val;dfs(node->righ…

API(Arrays,Lambda)

一、Arrays 操作数组的工具类。 常用方法&#xff1a; public static Strinq tostring(数组) 把数组拼接成一个字符串 public static int binarySearch(数组&#xff0c;查找的元素) 二分查找法查…

算法|基础算法|位运算

基础算法|位运算 1.与运算 2.或运算 3.非运算 4.异或运算 5.左移、右移运算 心有猛虎&#xff0c;细嗅蔷薇。你好朋友&#xff0c;这里是锅巴的C\C学习笔记&#xff0c;常言道&#xff0c;不积跬步无以至千里&#xff0c;希望有朝一日我们积累的滴水可以击穿顽石。 与运算 与…

05- 还在双引号添加字符串?- 文本块

原因 使用过java的string的时候&#xff0c;当我们使用json&#xff0c;sql&#xff0c;xml在代码里面进行初始化的时候&#xff0c;大量的\n,“” 的真的是噩梦&#xff0c;导致无法顺畅的阅读&#xff0c;我一般调试的时候&#xff0c;会把他打印到console上进行阅读或者格式…

IPMI开源库pyghmi基本使用

简介&#xff1a;Pyghmi是一个纯Python&#xff08;主要是IPMI&#xff09;服务器管理库。IPMI&#xff08;Intelligent Platform Management Interface&#xff0c;智能平台管理接口&#xff09;是一种开放的标准&#xff0c;旨在帮助系统管理员在本地和远程管理服务器系统。而…

探索Garnet:微软开源的高性能分布式缓存存储系统

微软研究院近期宣布推出一款名为Garnet的创新开源分布式缓存存储系统&#xff0c;致力于解决现代应用程序在处理大规模数据时对于高吞吐量、低延迟及卓越可扩展性的严苛要求。这款基于C# .NET 8.0构建的新型系统&#xff0c;充分利用了现代硬件能力&#xff0c;为应用程序开发人…

2024年【通信安全员ABC证】新版试题及通信安全员ABC证模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 通信安全员ABC证新版试题根据新通信安全员ABC证考试大纲要求&#xff0c;安全生产模拟考试一点通将通信安全员ABC证模拟考试试题进行汇编&#xff0c;组成一套通信安全员ABC证全真模拟考试试题&#xff0c;学员可通过…

C++初阶---类和对象

目录 1. 类的引入 2. 类的定义 4. 类的访问限定符及封装 4.1 访问限定符 4.2 封装 5. 类的作用域 6.类的实例化 7.类对象模型 8. this指针 8.1 this指针的引出 8.2 this指针的特性 8.3 C语言和C实现栈的对比 9.类的六个默认成员函数 10&#xff0c;构造函数 10.1…

新能源汽车BMS应用设计

新能源汽车BMS应用设计 电池管理系统&#xff08;BMS&#xff09; 概述 电池管理系统&#xff08;BMS&#xff09;为一套保护动力电池使用安全的控制系统&#xff0c;时刻监控电池的使用状态&#xff0c;通过必要措施缓解电池组的不一致性&#xff0c;为新能源车辆的使用安全…

LeetCode热题Hot100-两数之和

充分意识到Coding能力的重要性&#xff0c;重启算法刷题之旅。 没想到这么简单的题目都写的磕磕绊绊。 一刷只写自己的解&#xff0c;二刷再看有没有其他更巧妙的方法~ 题目&#xff1a; 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目…

Prometheus+Grafana 监控Tongweb嵌入式(by lqw)

文章目录 1.思路2.部署准备3.Grafana仪表盘json文件下载4.tw嵌入式jar包本地引入依赖并测试运行5.运行jmx_prometheus_javaagent-0.19.0.jar形式获取监控数据&#xff08;方法一&#xff09;6.使用Actuator 获取监听数据&#xff08;方法二&#xff09;7.Prometheus部署8.Prome…

代码随想录day29(2)二叉树:将有序数组转换为二叉搜索树(leetcode108)

题目要求&#xff1a;将一个按照升序排列的有序数组&#xff0c;转换为一棵高度平衡二叉搜索树。 思路&#xff1a;思路比较简单&#xff0c;如果目标是平衡二叉树&#xff0c;我们每次只需要取数组的中间元素作为根节点&#xff0c;分成左右两个子树&#xff0c;再递归地进行…

B站python爬虫课程笔记(Q16-19结束)

下面是学习的网址&#xff1a; ​​​​​​【Python爬虫】 目录 16、捕捉异常try&except语句的一些问题 1&#xff09;一些常见的异常类型 2&#xff09;try&except的使用 17、测试Bug的一些问题 1&#xff09;assert断定函数的使用 2&#xff09;unittest单元…

SqlServer 数据库创建到指定目录

Sql 代码 CREATE DATABASE [StudentDB] CONTAINMENT NONE ON PRIMARY ( NAME NStudentDB, FILENAME ND:\Demo\DBs\StudentDB.mdf , SIZE 8192KB , MAXSIZE UNLIMITED, FILEGROWTH 65536KB ) LOG ON ( NAME NStudentDB_log, FILENAME NG:\Demo\DBs\StudentDB_log.ld…

fs-extra 抱错解决 TypeError: Cannot read property ‘native‘ of undefined

原来的写法&#xff0c;直接在最上面 import fs from fs-extra;在函数中&#xff0c;使用到的地方引入&#xff0c;修改为动态的 const fs await import("fs-extra");结果成功不抱错

学生综合考评管理系统|jsp+ Mysql+Java+ (可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW&#xff0c;文末可获取本项目的所有资料。 推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java&#xff0c;…

微服务鉴权的几种实现方案

1.Token 1.1 Token透传&#xff08;不推荐&#xff09; 刚开始接触微服务时网上给的方案大都数是通过透传Token做鉴权&#xff0c;但我认为这种方式不是很妥当。接着往下看&#xff1a; 这种方式通过透传Token使得各微服务都能获取到当前登录人信息&#xff0c;在代码编写上确…

RK3568平台 网络唤醒

一.什么是网络唤醒 网络唤醒(Wake-on-LAN&#xff0c;WOL)是一种计算机局域网唤醒技术&#xff0c;使局域网内处于关机或休眠状态的计算机&#xff0c;将状态转换成引导(Boot Loader)或运行状态。无线唤醒(Wake-on-Wireless-LAN&#xff0c;WoWLAN)作为 WOL 的补充技术&#x…

SpringBoot整合MyBatisPlus实现增删改查

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉🍎个人主页:Leo的博客 💞当前专栏: 循序渐进学SpringBoot ✨特色专栏: MySQL学习 🥭本文内容:SpringBoot整合MyBatisPlus实现增删改查 📚个人知识库: Leo知识库,欢迎大家…

React——组件通讯

组件通讯介绍 组件中的状态是私有的&#xff0c;组件的状态只能在组件内部使用&#xff0c;无法直接在组件外使用&#xff0c;但是我们在日常开发中&#xff0c;通常会把相似、功能完整的应用才分成组件&#xff08;工厂模式&#xff09;利于我们的开发&#xff0c;而不同组件直…