(三)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注入方法措施: 服务器…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
