(三)Unity开发Vision Pro——入门
3.入门
1.入门
本节涵盖了几个重要主题,可帮助您加快visionOS 平台开发速度。在这里,您将找到构建第一个 Unity PolySpatial XR 应用程序的分步指南的链接,以及 PolySpatial XR 开发时的一些开发最佳实践。
2.开发与迭代
有关先决条件、开发、迭代、部署和调试的信息,请参阅开发和迭代。
3.创建新项目
这些指南提供了 VisionOS 入门的分步说明。
- 在从头开始新的visionOS项目中,您将找到一个分步教程,指导您从头开始安装、设置和部署一个简单的Unity应用程序以定位visionOS和Apple Vision Pro。
- 在从沉浸式应用模板启动新的visionOS 项目中,您将找到使用沉浸式应用模板设置新项目的分步教程。
- 在示例内容:了解如何使用visionOS 和应用程序示例中,您会发现各种垂直切片演示项目,解释如何使用PolySpatial 技术进行visionOS 开发。
4.移植现有项目
将现有 Unity 项目移植到 visonOS 时,需要考虑几个因素。最大的限制是不支持某些核心 Unity 功能,而其他功能则提供减少的功能集。此外,输入不同,处理能力和支持的组件也会有所不同。有时您必须开发自己的系统来支持您独特的项目功能并解决这些限制。
您可以找到有关将 VR 体验移植到 VisionOS 的信息,了解沉浸式应用程序当前支持哪些Unity 功能和组件,或者如何使用项目验证来获得有用的编辑器内帮助来移植项目。有关输入和其他开发主题的更多信息,请查看参考文档。
3.1 从头开始创建VisionOS项目
1.有关硬件和 Unity 版本要求的更多信息,请访问要求
2.确保切换visionOS的构建平台(实验)
3.1.1 完全沉浸式虚拟现实
确保您已安装xr.sdk.visionos软件包
1)选择编辑 > 项目设置...
2)打开XR 插件管理器菜单
3)选中视觉操作系统复选框
4)选择文件 > 构建设置...
>添加场景(SampleScene)
>选择构建。
您的应用程序将渲染一个完全沉浸式的空间,您应该看到 Unity 天空盒(或您的应用程序)在 Apple Vision Pro 模拟器中运行。
有关更多信息,请参阅完全沉浸式 VR文档
3.1.2 混合现实和共享空间
确保已安装com.unity.polyspatial、com.unity.polyspatial.visionos和com.unity.polyspatial.xr软件包
1.在场景中创建体积相机
a.打开场景工具/XR Building Blocks 菜单,然后单击体积相机
b.创建一个空游戏对象并添加体积相机组件
2.将体积相机配置为有界或无界模式并调整尺寸
a.尺寸将调整内容的渲染比例
b.对于有界应用程序,请确保某些内容在体积相机的尺寸内可见
3.打开项目设置 > PolySpatial ...
>选中启用 PolySpatial 运行时框
无界应用程序
对于想要使用 ARKit 功能的无界应用程序,您需要在 XR 插件管理设置中启用visionOS,并确保您的项目中有AR Foundation 包。对于 ARKit Hands,请确保您的项目中有XR Hands 包。
1.选择文件 > 构建设置...
>添加场景(SampleScene)
>选择构建。
对于有界应用程序,您的应用程序可以与共享空间中的其他应用程序一起存在,对于无界应用程序,您的应用程序将是唯一可见的内容。
注意:Apple Vision Pro 模拟器不提供任何 ARKit 数据,因此平面、网格、跟踪手等将无法工作。
有关更多信息,请参阅PolySpatial MR 应用程序文档
3.2 示例
Unity 的PolySpatial 示例为 Unity 中的 VisionOS 开发提供了一个起点,该起点围绕具有有限体积和无限体验的特定用例。
3.2.1 有界体积样本
有针对性的输入 - 气球画廊
目标输入 - 气球画廊是一款迷你游戏,演示如何使用间接捏合和直接(戳)输入来定位有界体积场景中的内容。


3.2.1.1 动态体积相机 - 角色跑步者
动态体积相机- 角色跑者是一款迷你游戏,演示了在有界体积中动态重新定位体积相机的能力。奔跑者迷你游戏会跟随角色在一个大于有限体积范围的环境中导航。


3.2.1.2 调试界面
Debug UI场景允许用户测试各种输入类型;直接(戳)、直接捏、间接捏以及使用调试 UI分析数据。

3.2.1.3 操纵
操纵场景允许用户在有界体积内操纵具有不同碰撞器形状的各种对象。

3.2.1.4 用户界面
UI场景为用户提供了有界应用程序中使用的常见空间 UI 的示例。这包括按钮、滑块、切换按钮和下拉菜单等元素。


3.2.1.5 项目启动器
项目启动器场景允许用户使用轮播风格的空间 UI 从有限体积启动各种 Unity 场景。

3.2.2无限样本
3.2.2.1 图像追踪
图像跟踪场景允许用户在无限制的应用程序中使用预定义的、唯一的图像标记生成内容。
3.2.2.2 混合现实
混合现实场景允许用户在无限制的应用程序中使用自定义 ARKit 手势生成内容。它还可视化物理环境中的平面数据信息** **。
相关文章:
(三)Unity开发Vision Pro——入门
3.入门 1.入门 本节涵盖了几个重要主题,可帮助您加快visionOS 平台开发速度。在这里,您将找到构建第一个 Unity PolySpatial XR 应用程序的分步指南的链接,以及 PolySpatial XR 开发时的一些开发最佳实践。 2.开发与迭代 有关先决条件、开…...
召集令:CloudQuery 社区有奖征文活动来啦!
CloudQuery 社区第一期征文活动来袭!!!只要你对 CloudQuery 产品感兴趣,或者是希望了解 CQ ,都可以来参加,在本期活动中,我们也为大家准备了多种主题供你选择,CQ 使用案例、版本对比…...
【傅里叶级数与傅里叶变换】数学推导——1、基础知识点回顾及[Part1:三角函数的正交性]介绍
文章内容来自DR_CAN关于傅里叶变换的视频,本篇文章提供了一些基础知识点,比如三角函数常用的导数、三角函数换算公式等。 文章全部链接: 基础知识点 Part1:三角函数系的正交性 Part2:T2π的周期函数的傅里叶级数展开 P…...
BUUCTF [MRCTF2020]Ezpop解题思路
题目代码 Welcome to index.php <?php //flag is in flag.php //WTF IS THIS? //Learn From https://ctf.ieki.xyz/library/php.html#%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E9%AD%94%E6%9C%AF%E6%96%B9%E6%B3%95 //And Crack It! class Modifier {protected $var;publi…...
【IMX6ULL驱动开发学习】07.驱动程序分离的思想之平台总线设备驱动模型和设备树
一、驱动程序分离的思想 【IMX6ULL驱动开发学习】05.字符设备驱动开发模板(包括读写函数、poll机制、异步通知、定时器、中断、自动创建设备节点和环形缓冲区)_阿龙还在写代码的博客-CSDN博客 之前编写驱动程序的代码存在不少弊端:移植性差…...
深度学习中的python语法笔记总结
解释 torch中的 .clamp(min0) 在PyTorch中,torch.clamp将张量中的元素限制在指定的范围内。 torch.clamp(min0)会将张量中的每个元素与0进行比较,并将小于0的元素替换为0。其他大于等于0的元素则保持不变。 clamp函数原理 def clamp(x, lower, upper)…...
Reids 的整合使用
大家好 , 我是苏麟 , 今天带来强大的Redis . REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选…...
Vue3 —— watchEffect 高级侦听器
该文章是在学习 小满vue3 课程的随堂记录示例均采用 <script setup>,且包含 typescript 的基础用法 前言 Vue3 中新增了一种特殊的监听器 watchEffect,它的类型是: function watchEffect(effect: (onCleanup: OnCleanup) > void,o…...
Java异步子线程读取主线程参数的若干好玩场景
在开发过程中,我们难免会因为性能、实时响应等,需要异步处理的一些事务,并且在子线程中有时我们还需要获取主线程相关的参数。下面有若干方案可以实现上述场景,但会出现一定的问题。 场景1-基础场景 在主线程中开启子线程&#x…...
Android 视频开发
在 Android 平台上进行视频开发,您需要掌握以下关键知识点,以确保能够成功地开发和调试视频应用程序: Android视频架构: 了解 Android 的视频系统架构,包括视频捕获、编码、解码、渲染和显示等。 视频格式和编解码&am…...
【计算机网络篇】UDP协议
✅作者简介:大家好,我是小杨 📃个人主页:「小杨」的csdn博客 🐳希望大家多多支持🥰一起进步呀! UDP协议 1,UDP 简介 UDP(User Datagram Protocol)是一种无连…...
LeetCode 2682. 找出转圈游戏输家
【LetMeFly】2682.找出转圈游戏输家 力扣题目链接:https://leetcode.cn/problems/find-the-losers-of-the-circular-game/ n 个朋友在玩游戏。这些朋友坐成一个圈,按 顺时针方向 从 1 到 n 编号。从第 i 个朋友的位置开始顺时针移动 1 步会到达第 (i …...
数据结构单链表
单链表 1 链表的概念及结构 概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链 接次序实现的 。 在我们开始讲链表之前,我们是写了顺序表,顺序表就是类似一个数组的东西࿰…...
自定义WEB框架结合Jenkins实现全自动测试
自定义WEB框架结合Jenkins实现全自动测试 allure生成 allure生成 1.allure–纯命令运行 -固定的–稍微记住对应的单词即可。2 安装,2个步骤: 1.下载allure包,然后配置环境变量。 https://github.com/allure-framework/allure2/releases/tag/2.22.4 2.在…...
PHP加密与安全的最佳实践
PHP加密与安全的最佳实践 概述 在当今信息时代,数据安全是非常重要的。对于开发人员而言,掌握加密和安全的最佳实践是必不可少的。PHP作为一种常用的后端开发语言,提供了许多功能强大且易于使用的加密和安全性相关函数和类。本文将介绍一些P…...
SQL Server数据库无法连接
问题如下: 原因:sql server服务器未开启 解决方法:以管理员身份打开cmd,输入:net start mssqlserver。...
videojs 播放视频
背景:在项目中使用第三方插件videojs进行播放视频,点击事件更改播放的数据源。 一、视频相关理论 (一)、背景 网络流媒体的呈现形式分为两种:直播点播 (二)、流媒体的3种协议 分类:HTTPHLSRTMP定义:基于HTTP的流媒体…...
vue强制刷新变量
在前端开发中,我们经常需要变量的值实时响应到界面上。Vue就是一个非常强大的前端框架,它的数据绑定能够非常好地实现变量与界面的同步更新。但是有时候,我们需要强制刷新某个变量的值,以便界面能及时地反映出它的变化。本文将介绍…...
[QCA6174]QCA6174 5G WiFi DFS处理逻辑分析及雷达误检率高优化规避
DFS认证信息 WIFI DFS测试要求 Master设备需要测试的项目 4.6.2.1 Channel Availability Check 信道可用性检查 定义其作为雷达脉冲检测机制,当雷达脉冲出现时所占用的信道需要能被设备检测到已经被占用。当相关信道未被占用时,这些信道被称为Avaliable Channel可用信道 …...
预防SQL漏洞注入和规避网络攻击
前言: 虽然近些年SQL注入已经被各类的安全开发框架规避了绝大部分,但SQL注入作为一种最原始的攻击手段之一,破坏力仍然十分强大,因为它直捣黄龙数据中心。所以未雨绸缪,各位不可不重视。 预防SQL注入方法措施: 服务器…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
