(三)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注入方法措施: 服务器…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
区块链技术概述
区块链技术是一种去中心化、分布式账本技术,通过密码学、共识机制和智能合约等核心组件,实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点:数据存储在网络中的多个节点(计算机),而非…...
