/ Roadtovr / 0浏览

苹果视觉专业设计与开发初学者简明指南

Apple Vision Pro 带来了关于如何设计、控制和构建 XR 应用的新思路。在这篇客座文章中,Sterling Crispin 提供了一份简明指南,供首次接触 Apple Vision Pro 应用开发的开发者参考。

客座文章 – Sterling Crispin
Sterling Crispin 是一位艺术家和软件工程师,在空间计算行业拥有十年的经验。他的工作涵盖了产品设计以及在苹果、Snap Inc 和其他科技初创公司进行新技术研发等领域。
编辑注:作者提醒读者,他并非苹果公司的代表;这些信息属个人意见,不包含非公开信息。此外,关于Vision Pro开发的更多信息可以在苹果的WWDC23视频中找到(选择过滤器 → visionOS)。
以下是我对Vision Pro设计和开发产品的建议。本文包括平台概述、工具、应用迁移、产品设计、原型设计、感知设计、商业建议等内容。
概述
visionOS 上的应用被组织成“场景”,包括窗口、容器和空间。
窗口是一个空间版的计算机界面,是用户所环绕的有界矩形内容。它们可以是来自不同应用的窗口,也可以是同一应用的多个窗口。
容器是诸如3D对象或小型交互场景之类的东西。就像一个浮在眼前的3D地图或小型游戏,而不是完全沉浸式的体验。
空间是完全沉浸式的体验,只能看到一个应用。它可以包含来自您的应用的许多窗口和容器。或者像虚拟现实游戏一样,系统消失了,你完全沉浸在周围的内容中。您可以将 visionOS 视为共享空间,应用共同存在,您拥有较少的控制权。而完整的空间则给您最大的控制和沉浸感,但不与其他应用共同存在。空间有不同的沉浸风格:混合、渐进和完全。这决定了您希望用户看到现实世界的多少。
用户输入
用户可以像Apple Vision Pro演示视频中展示的那样查看 UI 并进行捏合操作。但您也可以伸手触摸窗口,就像触摸飘浮的iPad一样。或者使用蓝牙触控板或视频游戏控制器。您还可以通过视线和语音来操控搜索栏。此外,还提供了一种称为“目视控制”的只能使用眼睛进行输入的功能,但那确实是一个辅助功能。对于简单的开发方法,您的应用程序可以使用类似于 TapGesture 的事件。在这种情况下,您无需担心这些事件的来源。
空间音频
Vision Pro 拥有先进的空间音频系统,通过考虑房间的尺寸和材质,使声音似乎真实存在于房间中。利用细微的声音进行用户界面交互,并利用声音设计来创造沉浸式体验将非常重要。务必认真对待这个话题。
开发
如果您希望在Vision Pro、iPad和iOS之间构建适用的应用,您将需要在苹果开发生态系统中操作,使用 XCode 和 SwiftUI 等工具。然而,如果您的目标是在 Vision Pro 上创建完全沉浸式的 VR 体验,并且也能在 Meta 的 Quest 或 PlayStation VR 等其他头显上进行使用,您必须使用 Unity。
苹果工具
对于苹果的生态系统,您将使用 SwiftUI 来创建用户看到的 UI 和应用的整体内容。RealityKit 是处理材料、3D 对象和光线模拟的 3D 渲染引擎。您将使用 ARKit 进行高级场景理解,例如如果您希望让人们投掷虚拟飞镖并与实际墙壁发生碰撞,或者对手势跟踪进行高级操作。但这些丰富的增强现实功能仅适用于完整的空间。还有一个名为 Reality Composer Pro 的 3D 内容编辑器,可让您在 3D 场景中拖动物体并创建富媒体的空间或容器。它类似于为此开发专门构建的轻量级版 Unity栈。
Reality Composer 酷的一点是它已经充满了资源、材质和动画。这有助于那些不是艺术家的开发人员快速构建东西,并应该有助于创建使用该工具构建的所有内容的更统一的外观和感觉。这个产品决策有利有弊,但总体上应该是有帮助的。
现有的 iOS 应用
如果你想要将 iPad 或 iOS 应用移植过来,它可能会在共享空间中作为一个窗口而无需修改就能正常工作。如果你的应用同时支持 iPad 和 iPhone,头戴设备将使用 iPad 版本。
要使现有的 iOS 应用更好地利用头戴设备,你可以使用 Ornament API,在应用前面或旁边创建一些浮动的 UI 岛屿,使其具有更强的空间感。具有讽刺意味的是,如果你的应用使用了许多 ARKit 功能,你可能需要对其进行“重新构想”以适应 Vision Pro,因为 ARKit 已经对头戴设备进行了很大的升级。
如果你对为 Vision Pro 构建新东西感到兴奋,我个人的观点是你应该优先考虑你的应用如何为 iPad 和 iOS 提供价值。否则你将失去数亿用户。
Unity
你可以使用 Unity 游戏引擎构建 Vision Pro,这是一个庞大的主题。再次强调,如果你要同时为 Vision Pro 和 Quest 或 PSVR 2 等 Meta 头戴设备构建应用,你需要使用 Unity。
Unity 支持构建共享空间的有界体积,与本机 Vision Pro 内容并存。也可以构建基于增强现实功能的沉浸式内容的无界体积。最后,你还可以构建更像虚拟现实的应用,这样可以更好地控制渲染,但似乎不支持 ARKit 的场景理解,比如平面检测。体积方法给了 RealityKit 更多的渲染控制权,因此你必须使用 Unity 的 PolySpatial 工具来转换材质、着色器和其他功能。
Unity 对 Vision Pro 的支持包括诸多你在虚拟现实中希望看到的交互方式,比如传送到新位置或拾取和抛掷虚拟物体。
产品设计
你可以只创建一个类似 iPad 的应用,作为一个浮动窗口出现,并使用默认的交互方式,然后就完成了。但正如我之前所说,内容可以存在于广泛的沉浸程度、位置,并使用各种各样的输入方式。因此,可能会有压倒性的组合可能性。
如果你没有在虚拟现实中花费过100个小时,尽快购买一个 Quest 2 或 3 并尝试一切。无论你是设计师、产品经理还是 CEO,你都需要获得一个 Quest,并花100个小时在虚拟现实中,开始理解空间应用的语言。
我强烈推荐以 Hand Physics Lab 作为起点和概览,来理解直接交互。他们在赋予虚拟物体实体感方面做了很多微妙的事情。而 2019 年发布的 YouTube VR 应用在外观和感觉上与基本的 visionOS 应用非常相似,值得一看。
记下什么有效、什么无效。
问自己:“哪些应用设计舒适,或会导致疲劳?”,“哪些应用的快乐或价值实现最快?”,“什么让人困惑,什么是直观的?”,“有哪些体验你愿意做多次?”要非常诚实地回答。尽量从已经尝试过的经验中学习。
总体设计建议
我强烈推荐IDEO风格的设计思维过程,也适用于空间计算。如果你不熟悉,你应该绝对尝试一下。有资源的设计套件,以及这个视频,虽然有点过时,但是是一个很好的流程示例。
通向空间计算的道路是一个失败的乌托邦构想的坟场。人们往往花费很长时间来构建针对虚构用户的虚构问题的宏伟解决方案。这听起来很明显,但你应该尝试尽快构建出填补真实人类需求的东西,并从那里逐步改进。
继续阅读第2页:空间格式和交互 »

空间格式和交互
预计人们会“懒惰”,并且希望大部分时间都要避免过多的移动。一般来说,在空间计算中,用户消耗的卡路里越多,使用您的应用程序的时间就越少。我并不是说您不应该开发VR拳击游戏,但是无论如何,您应该尽量将所需的运动量降至最低,即使这是您的应用程序的基本组成部分。

与此同时,您的应用程序的目的应该在其空间布置和交互模式中得到体现——形式追随功能的原则。

例如,如果您正在制作一款虚拟钢琴应用程序,您可能希望将其锚定在桌子上,以便用户在触摸琴键时与实体表面接触。

有一句话说,“当您想要表达新意时,请使用熟悉的语言。”如果您的应用程序的每个方面都是全新的,那么用户很可能会难以理解。因此,在创新方面选择和取舍,并确保用户界面和体验中有一定的熟悉感。

原型设计

我强烈推荐使用纸张和硬纸板进行原型设计。不要从Figma开始。直接使用一些重量较重的纸张或硬纸板,制作粗糙的界面模型。如果您希望用户直接触摸您的用户界面,请注意设计对肩膀肌肉的负担。使用胶带粘在墙上,用便利贴来模拟一些用户界面。然后站在离模型一段距离的地方,假装自己在虚拟现实中,感受一下布局需要多大的头部运动。

再次,我认为每个人都需要一台Oculus Quest来尝试现有的应用程序。作为原型设计工具,它们非常棒,甚至在编写任何代码之前就可以使用。有一款名为ShapesXR的应用程序可以让您在空间中勾画出创意,创建故事板,并支持与远程用户的实时协作。在空间应用程序的早期开发阶段,它是一个很好的工具。

您还可以使用Quest来创建一个具有逼真虚拟客厅的“VR中的AR”模型,让其他物体看起来就像是增强现实一样。虽然这并不像完整的通透设置那样好,但总比没有要好。如果您与其他地方的人分享演示,虚拟客厅也会很有帮助。如果您的预算更大,Quest Pro将使您能够进行完整的“通透AR”,就像Vision Pro一样,这可以让您在拿到苹果头戴设备之前为原型设计过程提前打下基础。

如果您有较大公司的预算,您甚至可以考虑使用Varjo XR-3。它是目前VR市场上最接近Vision Pro的产品,具有高质量的通透能力、高分辨率显示、手部追踪、地图建立等功能。但每个设备售价为6500美元,并需要一台价值2-3千美元的电脑来供电。如果您是一家资金雄厚的大公司,并担心无法获得Vision Pro的开发套件,我建议至少购买一套XR-3设备。

视觉和知觉上的舒适性

在设计空间计算应用程序时,您需要考虑用户的整个身体、感知系统以及他们的大脑如何整合这些感官。

例如,您可以将iPhone应用程序的菜单放在屏幕底部附近,以便用户的拇指轻松触达。同样,在虚拟现实中,您可以将用户界面布置在用户自然的视线中心位置,以最小化头部和眼睛的运动。每个设计选择都会产生人体工程学和认知影响。Fitts定律很有用,但还有很多其他要考虑的因素。

如果您对空间设计还不熟悉,我强烈建议您观看完整的WWDC讲座。该讲座涵盖了许多在空间计算中独特的感知和认知设计约束。您的设计选择将会影响用户的眼睛疲劳、不适感和晕动感。如果您的应用程序让人感到恶心或者引起颈部不适,那将抵消您应用程序所带来的任何好处。

UI设计

实话说,对于UI设计,您应该尽量参考苹果已经找出并发布的指南,这样您的应用程序就能融入其中。如果使用他们的工具,他们会使您轻松创建一个外观出色的用户界面。但请记住,一般来说,在处理空间和运动方面要保持细微,不要因为可以而过度使用。不要将图标或文本变成3D。通常最好采用2.5D的方法,基本上是一个带一些深度的2D用户界面,以传达层级关系。再次观察Quest上的作品和苹果的决策。除非您的应用的重点是体验新颖的交互方式,否则您无需重新发明轮子。

网页设计
Vision Pro是另一种响应式网页设计的设备,但不要把它当作另一台2D屏幕。就像我上面说的,当您为空间计算设计时,制作一些纸质原型,把一些东西贴在墙上,后退一步,了解您的设计决策会如何影响用户的整个身体是非常有价值的。您必须摆脱桌面和移动设备设计的习惯。

此外,还有很棒的机会可以使用WebXR,使网站成为完全沉浸式的VR体验。如果您的网站富媒体内容丰富或处理任何潜在的3D内容,您应该尝试使用WebXR。有一些WWDC讲座也涉及到了这个主题。

游戏和媒体
依我个人意见,构建Vision Pro上的游戏或复杂沉浸式体验时,您可能会更倾向于使用Unity而不是苹果生态系统工具。从技术上讲,您可以使用SwiftUI、RealityKit和ARKit构建游戏,但可能会非常痛苦。

然而,有一些理由可以使用苹果的工具而不是Unity。也许您是iOS开发人员,对Swift和苹果的开发生态系统非常熟悉,并且不想学习Unity,而且您不在意您的体验是否能在其他设备上运行。或者您想构建一些极高性能的内容,真正挑战设备的极限。

设计游戏和体验:
迄今为止本文中提到的所有内容也适用于设计游戏和沉浸式体验。而且,正如我所说的,空间位置和输入方式之间的组合可能会让人心慌意乱。因此,在开始时进行广泛的头脑风暴,做一些纸质原型,并尽可能多地尝试Quest的内容。

如果您从电影制作或2D媒体转行而来,请向游戏开发人员学习,了解他们如何引导用户在交互式的3D空间中注意力。其中许多知识在空间计算中也适用。

请记住,体验可能是2D的,以悬浮窗的形式出现,就像在虚拟电视或电影院上显示的PS4游戏。或者锚定在房间的墙上,或者水平放在桌子表面上,或者放在地板上。相同的原理也适用于3D体验,可以完全沉浸式,比如VR,或者仍然与玩家的实际房间相关联。您还可以制作一些奇怪的2.5D效果,让元素“泄漏”出2D屏幕并进入房间的其他部分。

这些情境中的每一种都为游戏机制提供完全不同的机会。您应该充分利用这些新的可能性,而不仅仅是将一个已经存在的游戏变成VR体验。

至于输入方式,您可以看着某物并捏住它,或者如果它漂浮在空间中或锚定在表面上,可以伸手触摸它,您还可以使用蓝牙游戏控制器、键盘和鼠标、或者声音控制。所有这些都提供了独特的游戏机会。

您还可以结合其他设备。我认为在设计时可以充分利用更多的iPhone设备。

那么,Vision Pro上的一个玩家和手机上的另一个玩家一起进行体验会是怎样的呢?无论是在同一个房间还是在世界上的任何地方。也许Vision Pro佩戴者像哥斯拉一样,在一个3D城市中行走并摧毁它。iPhone玩家可能会查看地图,并展开军队来阻止他们,然后这些军队将出现在沉浸式的城市中。已有一些VR游戏是围绕这种不对称性设计的,并且具有类似的游戏机制。《保持沉默并无人受伤》就是一个很好的例子,在这个游戏中,VR用户试图拆除一颗炸弹,而不在VR中的玩家则根据只有他们能看到的指令告诉他们剪断哪根导线。

现有的PC游戏
苹果宣布了一个名为Game Porting Toolkit的开发者工具,用于将高端PC游戏引入Mac。我不确定他们是否明确表示移植的游戏是否能在Vision Pro上运行。但通过虚拟桌面功能,你可以将Mac视为Vision Pro中的巨大虚拟屏幕,连接蓝牙游戏手柄,然后尽情玩。如果你对技术有兴趣并且不想等待,现在就有一些指南,可以让像《埃尔登环》这样的现有游戏在你的Mac上运行。但请记住,这是一个开发工具,现有游戏尚未进行过优化。
初创企业和企业
Vision Pro和空间计算的潜在商业应用场景显而易见。这篇文章中的“产品设计”部分的内容非常适用,建议先阅读那部分。从真实人们真实面临的问题开始,寻找解决方案。抵制幻想出一些人们在遥远未来可能需要的东西的冲动。
继续第3页:空间计算的优势 »

空间计算的优势
空间计算对教授人们空间事物非常有帮助。使用VR学习如何组装宜家家具比使用纸质说明书容易得多。在这一点上,飞机制造商空中客车已经取消了所有的纸质说明书,并在平板电脑上进行全部指导。他们使用了HoloLens,在飞机制造过程中帮助加快了数百英里的电缆安装过程。
同样地,它非常适合以身体为中心观察和与其相关的事物。亚马逊的移动应用程序已经为许多产品提供了“在你的房间中查看”的功能,所以你可以使用AR在你的房间里看到一张沙发,并理解其在上下文中的真实尺寸。可以想象在头戴式设备中这样的功能会更好。
多样的用户输入方式对于富有表达性的应用程序来说非常有帮助。你可以想象一个音频制作应用程序,在更具触感的方式下模拟大量音乐设备,将你的桌子变成鼓垫和键盘。
当然,它非常适合沉浸式媒体。
总的来说,由于可以将自己置于虚拟屏幕的环绕中,可能会有许多一般性的用途变得更好了5%。但我建议集中关注改变性的时刻和真实人员所面临的真实问题。
空间计算的不足
它对于你需要在快速运动时进行的任何事情并不适用。一个记录你动作并回放最佳挥杆的空间计算高尔夫挥杆训练器听起来可能很有趣。但是在你这么做的时候带着头戴式设备可能会让你晕动病,追踪你身体的计算机视觉可能会失败,并且头戴式设备可能会从你的头上飞出并摔坏。
这样的想法可能会在你将iPhone放在三脚架上并使用ARKit的人体跟踪API拍摄人员的情况下起到作用。但即便如此,快速移动可能也会破坏它。
VR和AR头戴设备通常不适合长期使用。我记得我曾经读过平均PSVR用户在体验中花费50分钟,这已经是很长的时间了。我没有关于Vision Pro的相关话题。但总体上来说,头戴式显示器通常最适合短时间使用。
快速失败和转型
人们说“快速失败”,但可能不会秉持这样的心态。Eric Ries的这个演讲基本上是他的《精益创业》一书的简化版,对于空间计算产品开发非常相关。快速构建一个能够模拟你的想法并收集用户反馈的东西,并从不起作用的部分转向其他方向。你可以“巫师推销员”一些功能,快速虚构它们只是为了尽快收集用户反馈。
对于现有产品
尽可能将您现有的应用程序移植到Vision Pro上。但是试着找出哪些特定时刻会受益于空间计算,并将其作为您的应用程序的亮点。同样,用Quest上的ShapesXR进行粗略的VR模型制作,并让人们试用以获取反馈。不要因为可以而过度空间化和分散内容,这容易使情况变得混乱。一个体验。

0

  1. This post has no comment yet

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注