密西根大学每个人的增强现实笔记-全-
密西根大学每个人的增强现实笔记(全)
001:认识你的导师 👨🏫


在本节课中,我们将认识本专项课程的导师,了解他的背景、教学理念以及对本课程的期望。
大家好,我是Mike Ebelling,我是你们的导师。我是密歇根大学的一名教授,更准确地说,是信息学院的助理教授。
在正式开始这个扩展现实专项课程之前,我认为应该先介绍一下自己,并分享一些关于我的信息。
我的背景与经历 🧑💻
上一节我们介绍了导师的身份,本节中我们来看看他的专业背景。
我从事扩展现实领域的工作大约有五年时间。我的研究主要集中在人机交互领域。同时,我在密歇根大学的在校项目中教授扩展现实课程已有三年,开设了两门课程:一门侧重于设计,另一门侧重于开发。
本课程的渊源与目标 🎯
上一节我们了解了导师的经历,本节中我们来看看本课程的由来和目标。
本课程在诸多方面是我几年前与几位同事共同开设的“Teachout”课程的升级版。那个课程名为“密歇根大学增强现实、虚拟现实与混合现实Teachout”。也许你们中的一些人曾在那里见过我。很高兴能在那个慕课中结识一些学习者,并且许多人反馈希望学习更多关于设计和开发的内容。我们听到了大家的声音,因此在本课程中,我们在这两个领域都增加了大量内容。
我关心扩展现实技术。对我来说,至关重要的是我们所有人都能理解这些技术。它们正在融入我们的日常生活,并且不会消失。我们仍然可以影响这些技术的塑造方式,从而更好地控制它们如何进入我们的日常生活。
我的期望与愿景 🌟
上一节我们了解了课程的目标,本节中我们来看看导师对大家的期望。
现在是我回馈并传递知识的时候了。我希望你们今天以及在未来几周内所学到的内容,也是我自己必须学习的东西。学习过程不会一蹴而就。
我希望你们能分享这些知识,并邀请其他人也来了解这些内容。并非每个人都关心开发,也许有些人关心设计,希望关心的人更多。我们中的许多人应该真正关心这个领域和这些技术的发展方向,并就此展开一些批判性的讨论。
感谢你们让我认识你们,并加入我传播扩展现实知识的努力。我真的很期待在课程中见到你们,希望我们能相互交流,也许有一天甚至能线下见面,那将会非常令人兴奋。
总结 📝


本节课中我们一起学习了导师Mike Ebelling的背景、本课程的渊源以及他对课程的期望。他是密歇根大学的教授,在人机交互和扩展现实领域有丰富的教学与研究经验。本课程是其早期课程的升级版,旨在满足学习者对设计与开发知识的深度需求。导师期望大家不仅能学习知识,更能分享和讨论,共同影响扩展现实技术的未来发展。
002:课程概述


在本课程中,我们将学习扩展现实(XR)的基础知识,涵盖其术语、技术、应用、趋势、问题以及相关策略。课程旨在为初学者提供全面的理解,以便能够参与关于XR的讨论并为其未来发展做出贡献。
课程结构
本课程分为四个主要模块,每个模块聚焦于XR的一个关键方面。
以下是各模块的简要介绍:
- 术语与应用:我们将首先学习XR的核心术语,并探索其多样化的应用场景。
- 概念与技术:深入探讨虚拟现实(VR)和增强现实(AR)的具体概念与支撑技术。
- 趋势与展望:分析当前XR领域的发展趋势,并展望其未来方向。
- 问题与策略:批判性地审视XR技术带来的社会、伦理等问题,并讨论个人与团队如何制定学习与发展策略。
学习目标与评估
完成本课程后,你将能够理解XR的基本术语,区分VR与AR,了解相关技术与工具,并能够就XR的趋势、问题和发展策略进行有意义的讨论。
课程将通过以下方式评估学习成果:
- 模块测验:每个模块结束后设有测验,以巩固所学知识。
- 荣誉路径:提供额外的实践活动与练习,供希望深入探索的学习者选择,以更批判性地参与内容并深化知识。
详细学习内容
上一节我们介绍了课程的整体框架,本节中我们来看看具体会学到哪些内容。
我们将围绕三大知识支柱展开学习:术语与应用、概念与技术、趋势与问题。


术语与应用
首先,我们将厘清关键术语的定义与区别。
以下是本课程将重点讲解的核心术语:
- 虚拟现实 (Virtual Reality, VR)
- 增强现实 (Augmented Reality, AR)
- 混合现实 (Mixed Reality, MR)
- 扩展现实 (Extended Reality, XR)
我们将通过传统讲解和沉浸式演示(例如在VR工具Tilt Brush中绘制“现实-虚拟现实连续体”)两种方式来学习这些概念。
概念与技术
在掌握了基本术语后,我们将深入XR的技术全景。
我们将从以下四个维度考察XR技术生态:
- 设备:市面上有哪些XR硬件设备。
- 平台:支撑XR应用运行的操作系统与软件框架。
- 应用:XR技术在游戏、生产力等领域的实际用例。
- 工具:用于创建XR内容的开发与设计工具。
例如,我们将通过《Beat Saber》等游戏应用来理解VR的交互与体验,通过《Pokémon GO》来认识AR的大众化应用。同时,也会接触如Apple Reality Composer这样的创作工具,了解如何在AR环境中直接进行3D内容编辑。
趋势、问题与策略
最后,我们将以人机交互的视角,从用户、任务和技术三个角度分析XR的发展趋势。我们也将直面XR技术带来的挑战。
我们将重点讨论以下几类问题:

- 社会与伦理关切
- 可及性与公平性
- 隐私与安全性
课程最后,我们将转向策略思考,探讨如何围绕知识、设备、团队和用户四个维度制定个人或团队的XR成长策略,例如如何提升团队XR知识、如何选择合适的设备以及如何推广XR技术以培养更多用户。
总结


本节课中,我们一起学习了“扩展现实入门”课程的整体概述。本课程内容丰富,旨在从多角度全面介绍XR。无论你对设计、开发感兴趣,还是仅仅希望理解这项技术以便参与相关讨论,本课程都将为你奠定坚实的基础。掌握这些知识,将使我们能够更批判性地思考XR的影响,并共同塑造一个XR技术融入日常生活的未来。
003:XR技术定义解析


在本节课中,我们将要学习扩展现实(XR)领域中的几个核心术语与技术定义。我们将详细解析虚拟现实(VR)、增强现实(AR)和混合现实(MR)的概念、特征与区别,帮助你建立一个清晰的知识框架。
什么是XR?
“什么是XR?”这是一个经常被问到的问题。本节作为XR的入门介绍,旨在让你了解该领域的主要术语和技术。
你目前可能最熟悉的术语是虚拟现实和增强现实。我们常将它们并称为AR/VR,但实际上,这些术语背后关联着截然不同的技术。
虚拟现实(VR)详解
上一节我们提到了VR,本节中我们来看看它的具体定义。当提到虚拟现实时,其核心思想是替换用户周围的现实环境。这是通过提供一个计算机生成的虚拟环境来实现的。用户不再看到真实世界,只能看到虚拟视图。
虚拟现实主要由三个主要特征来定义。
以下是虚拟现实的三个核心特征:
- 自主性与能动性:用户始终处于控制地位。这是通过头部追踪和以身体作为输入来实现的。例如,佩戴VR头显时,设备在三维空间中被追踪,用户可以使用身体动作(通常通过VR控制器,或直接用手势)和语音作为输入。
- 自然的交互方式:虚拟现实通过手势(使用控制器、手或手指)和语音作为输入,提供自然的交互体验。
- 临场感:虚拟现实给予用户一种“身临其境”的感觉。当我们进入虚拟世界时,便沉浸其中。这种沉浸感是通过刺激我们的多种感官实现的,包括视觉、听觉,以及更先进的触觉反馈,甚至嗅觉显示。
增强现实(AR)详解
与替换现实的VR不同,增强现实旨在增强现实。用户同时看到真实世界和虚拟世界,它们仿佛融合在一起。这种真实与虚拟的结合,我们称之为复合视图。
有趣的是,VR中的“R”并非指真实世界,而是指合成的、计算机生成的世界;而AR中的“R”才是指我们周围的物理现实世界。
增强现实同样由三个主要特征来定义。
以下是增强现实的三个核心特征:
- 虚实结合的复合视图:增强现实将真实物体与虚拟物体结合,产生一个复合视图。这种叠加不仅是视觉上的,也可以是音频信息。
- 实时交互性:增强现实支持实时交互,包括显式交互和隐式交互。显式交互类似于VR中的手势和语音交互。隐式交互则基于摄像头,当我移动设备时,设备必须确保虚拟内容看起来像是真实世界的一部分。
- 三维空间注册:为了实现虚实物体的空间对齐,使它们看起来属于同一个世界,增强现实需要在三维空间中进行注册。
混合现实(MR)辨析
另一个你可能遇到的术语是混合现实。这个术语常常引起混淆。事实上,在与专家、研究者和设计师交流后,我们发现了至少六种不同的工作定义。
其中一种流行的定义是米尔格拉姆提出的现实-虚拟连续统。根据这个定义,混合现实是指从没有任何增强的真实环境,到完全由计算机生成的虚拟环境之间的整个谱系。
- 增强现实:我们看到的主要是物理世界,并引入了虚拟内容。
- 增强虚拟:我们看到的主要是虚拟内容,并引入了物理内容(可以看作是增强现实的反向操作)。
- 混合现实:这个术语指的是该谱系中很大的一部分,包含了增强现实和增强虚拟,但在米尔格拉姆的最初定义中,它通常不包含纯粹的虚拟现实。因此,混合现实本质上是物理世界与虚拟世界以不同程度的增强进行融合。
为了更直观地理解,可以从显示设备的角度来思考混合现实在连续统中的位置。
以下是不同显示设备在现实-虚拟连续统中的大致映射:
- 靠近真实环境端:有形交互显示或空间投影显示。
- AR到AV的过渡区域:平板电脑和智能手机。它们通过显示摄像头画面(形成穿透式显示)并在其上叠加虚拟内容来实现增强现实。
- 靠近虚拟环境端:洞穴式自动虚拟环境、房间大小或墙壁大小的环绕显示,或者我之前展示过的头戴式显示器(典型的VR头显)。
课程总结
本节课中,我们一起学习了几个关键术语:
- VR(虚拟现实):指计算机生成的虚拟世界。
- AR(增强现实):指用虚拟内容增强物理世界的理念。
- MR(混合现实):根据米尔格拉姆的定义,包含增强现实和增强虚拟,但通常不包含纯粹的虚拟现实。



而XR是一个统称术语,其中的“X”是一个通配符,可以代表增强、虚拟或混合现实。
004:XR技术定义解析


在本节课中,我们将学习扩展现实(XR)技术的核心定义,并厘清虚拟现实(VR)、增强现实(AR)、混合现实(MR)等关键概念之间的关系。我们将从一个直观的“现实-虚拟”连续谱出发,帮助你理解这些技术如何相互关联与区别。
从现实世界到虚拟世界
上一节我们提到了XR技术的广阔前景,本节中我们来看看如何从我们身处的物理现实世界,逐步过渡到完全由计算机生成的虚拟世界。理解这个过程是掌握XR技术的基础。


想象一个连续谱,一端是现实世界(The Real World),即我们日常生活的物理环境。另一端则是虚拟现实(Virtual Reality, VR),即一个完全由计算机生成、可交互的模拟环境。
核心概念解析
为了理解从现实到虚拟的过渡,我们需要引入几个核心概念。以下是这些关键术语的定义及其在连续谱中的位置。
增强现实(AR)
增强现实(Augmented Reality, AR)的理念是在现实世界的基础上叠加虚拟内容。用户仍然主要看到真实世界,但其中添加了数字信息或对象。其核心公式可以表示为:
AR体验 = 现实世界 + 叠加的虚拟内容
增强虚拟(AV)
与AR相对的概念是增强虚拟(Augmented Virtuality, AV)。它指的是在主要由虚拟构成的环境中,融入物理世界的内容。一个常见的例子是,在VR中使用运动控制器来模拟和引入用户双手在真实世界中的位置与姿态。
AV体验 = 虚拟世界 + 引入的物理世界信息(如手部位置)
虚拟现实(VR)
当我们叠加大量虚拟内容,直至环境完全由虚拟构成时,就到达了连续谱的另一端——虚拟现实(VR)。在VR中,用户被完全沉浸在一个数字环境里,可以与之进行各种交互。

VR体验 ≈ 完全的虚拟世界
混合现实(MR)
混合现实(Mixed Reality, MR)是一个统称,涵盖了从AR到VR的整个连续谱。它描述了现实世界与虚拟世界融合共存的各类技术。这个概念早在1994年就已由研究文献定义。
MR = AR + AV + VR 的融合空间
扩展现实(XR)的定位
那么,扩展现实(Extended Reality, XR)在这个图景中处于什么位置呢?它实际上是一个总括性术语,指代一切能够增强或扩展我们现实感知的技术。
XR 中的 “X” 是一个通配符,可以代表 AR、VR 或 MR。因此,XR 并不引入新的交互方式或理念,而是为整个设计空间提供了一个统一的称呼。我们可以这样理解:
XR = {AR, VR, MR}
总结与展望
本节课中,我们一起学习了扩展现实技术的核心定义。我们从“现实-虚拟”连续谱出发,明确了增强现实(AR)、增强虚拟(AV)、虚拟现实(VR)和混合现实(MR)的含义与关系,并最终理解了扩展现实(XR)作为所有这些技术总称的定位。

这种在虚拟现实中授课的方式,本身也展示了XR作为强大教学工具的潜力。未来,我们可以期待在VR中构建更复杂的虚拟空间,用于解释建筑理念、物理现象等,这正是本专项课程将要深入探讨的内容。
005:XR技术生态全景 🗺️


在本节课中,我们将学习如何理解和分类广阔的扩展现实技术生态。我们将介绍四种主要的技术类别,帮助你建立一套分析工具,以便更好地评估和比较不同的XR设备、平台、应用和工具。
概述
XR技术领域非常庞大且发展迅速。为了清晰地理解这个领域,我们需要一套分类工具。本节将介绍四种核心类别:设备、平台、应用和工具。掌握这些分类方法,将帮助你拨开营销宣传的迷雾,更准确地评估技术的实际能力与局限。
设备分类
首先,我们从XR设备开始。设备是用户直接交互的硬件,我们可以从两个维度对它们进行分类。
以下是主要的设备类型:
- 内置/独立式 vs. 外接/适配器式:独立式设备(如HoloLens 2, Oculus Quest)集成了所有必要的计算组件,可以独立运行。外接式设备(如Google Cardboard, Oculus Rift)则需要连接到智能手机或电脑才能工作。
- 有线连接 vs. 无线独立:传统VR设备(如HTC Vive)通常需要有线连接到高性能电脑。而现代设备(如Oculus Quest)虽然可以无线独立运行,但也能通过线缆(如Oculus Link)连接到电脑以获得更强的图形处理能力,这体现了分类的混合性。
上一节我们介绍了设备的基本分类,本节中我们来看看支撑这些设备的软件环境——平台。
平台分类
平台是连接硬件与软件的桥梁,决定了应用能在哪些设备上运行。平台主要分为特定平台和跨平台解决方案。
以下是主要的平台类型:
- 特定平台:如Oculus、HTC Vive或Magic Leap,它们通常与自家设备深度绑定。为这些平台开发的应用,技术实现上各有不同。
- 跨平台方案:如SteamVR、Windows Mixed Reality或WebXR。它们旨在构建一个通用层,让开发的应用能够兼容多个不同厂商的硬件设备。
了解了设备和平台后,我们来看看最终呈现给用户的产品形态——应用。
应用分类
应用是用户直接使用的XR程序。我们可以根据其功能范围和集成方式进行区分。
以下是主要的应用类型:
- 纯XR应用:如《Beat Saber》或Snapchat的AR滤镜,其核心功能完全围绕XR体验构建。
- 集成XR功能的应用:许多传统移动应用现在也加入了XR视图或模式。例如,宜家(IKEA)和亚马逊(Amazon)的购物应用都内置了AR功能,允许用户在家中预览家具或商品。
最后,为了创造上述所有内容,开发者需要借助一系列工具。
工具分类
工具是用于设计和开发XR体验的软件。它们不同于最终的应用,而是创造应用的“武器”。
以下是主要的工具类型:
- 设计工具:用于在XR环境中直接进行创作,例如VR绘画工具Tilt Brush和Quill,以及AR设计工具Adobe Aero和Apple Reality Composer。
- 开发工具:用于编程和构建完整的XR应用。本课程将重点介绍几个核心开发工具,包括基于网页的A-Frame,以及功能强大的游戏引擎Unity和Unreal Engine。
技术生态图景
现在,让我们将学到的分类知识应用到实际的技术图景中,并看看它们如何分布在“现实-虚拟现实连续体”上。
VR设备与平台
在VR方面,设备从简单的智能手机适配器(如Cardboard)到需要连接电脑的系留设备(如Oculus Rift),再到可以独立运行的设备(如Oculus Quest)。平台则形成了各自的生态,如Oculus Store、Viveport和Windows Store。跨平台开发可以通过SteamVR或WebXR实现。
AR设备与平台
在AR方面,设备包括智能手机适配器(如HoloKit)、内置AR功能的移动设备(如搭载ARKit的iPad)以及独立的头戴式设备(如HoloLens)。平台主要由ARKit(iOS)、ARCore(Android)和Windows Mixed Reality(HoloLens)主导。WebXR是当前最主要的跨AR平台解决方案。
在连续体上的定位
我们可以将这些技术放置在从“真实环境”到“完全虚拟环境”的连续体上:
- Google Cardboard:偏向虚拟环境端,但沉浸感不如高端VR设备。
- Oculus Quest:更靠近虚拟环境端,提供六自由度(6DoF)追踪和控制器,沉浸感更强。
- HoloKit:位于真实环境与增强现实之间,提供简单的虚拟内容叠加。
- HoloLens:明确位于增强现实频谱内,支持更先进的交互(如语音、手势追踪)。
- 智能手机AR:位于AR与AV(增强虚拟)之间,因为它通过摄像头捕捉真实世界画面再进行增强,视图介于真实与虚拟之间。
总结


本节课中我们一起学习了分析和理解XR技术生态的框架。我们将其分为四大类:设备、平台、应用和工具。通过这个框架,我们审视了当前市场上主流的VR和AR设备与平台,并将它们定位在现实-虚拟现实连续体上。掌握这些分类知识,能帮助你在面对层出不穷的新技术时,保持清晰的判断力,理解其真正的创新点与局限性。在接下来的课程中,我们将深入其中一些具体的工具和平台,开始动手创造自己的XR体验。
006:荣誉课程说明 🏆


在本章中,我们将详细介绍本课程的“荣誉课程”学习路径。与标准路径相比,荣誉路径将引导你进行更深入的实践探索,通过完成具体的任务和活动来巩固对核心概念的理解。我们将介绍荣誉路径包含的三个主要活动:应用分类、技术选择以及关键议题探讨。
课程概述
在荣誉课程路径中,我们将通过一系列动手实践活动来深入探索扩展现实(XR)的各个主题。通常,我会要求你完成某项具体的活动或实际任务,并明确描述任务内容以及预期的成果。我们旨在通过这些活动,理解其背后的学习目标、重要性以及参与的意义。
与专注于设计和开发的后续课程不同,本课程不设置正式的同行评审环节。在那些需要你创建项目的课程中,同行评审是一项主要活动。我们充分理解同行评审的重要性,但认为在本入门课程中可以省略这一正式评估环节。这并不意味着你不应与同伴讨论问题,事实上我们鼓励你这样做,只是你不会被同伴正式评分。这是荣誉路径与其他课程路径的一个主要区别。
课程结构安排
本课程是第一门课,目前我们正在探索XR的术语和应用。在接下来的两周,我们将更深入地研究VR和AR的概念与技术。之后,我们将讨论XR的趋势与议题,这部分内容将使课程更具前瞻性,并构成课程的核心塑造部分。为此,我们将要求你完成一项应用分类活动,并在学习所有概念和技术后,基于你当前的理解提出一些建议。我会提供几个场景供你分析。
最后,我们还将揭示XR领域许多重要的关键议题,并希望围绕这些议题展开充分且深入的讨论。在本课程结束时,我们会进行更多探索,讨论策略以及如何着手新的XR项目与计划,这部分内容将更具开放性。
荣誉路径核心活动
那么,本课程的荣誉路径具体包含哪些内容?主要包括应用分类、技术选择和关键议题探讨三项活动。
以下是具体活动介绍:
- 应用分类:你需要体验一款XR应用,然后根据“现实-虚拟连续体”对该应用进行分类。
- 技术选择:我将提供若干个场景,由你来建议应使用哪些技术。为了完成这项任务,你需要进行一种名为“QOC分析”的方法,即问题、选项和标准分析。我会提供阅读材料来指导你完成这个过程。
- 关键议题探讨:我们将讨论三大类议题:伦理与社会关切、可及性与公平性(这是XR领域中非常重要的问题),以及隐私与安全性。你可以选择聚焦于哪一个议题,并完成三项关键活动,从不同角度进行评估。这将非常有趣,希望你能从中有所收获。
活动一:应用分类详解
首先,我们来谈谈应用分类活动。在这个活动中,我会向你展示“现实-虚拟连续体”,你可能已经开始接触这个概念了。
你所使用的设备显然是一个重要指标,它能强烈暗示你体验的应用在连续体上可能处于什么位置。请注意,在第二个模块(也就是下周的内容)中,你需要选择最具体的术语进行分类,而不是使用像“MR”或“XR”这样宽泛的术语。
活动二:技术选择与QOC分析
在第二个模块中,我们将更关注概念以及实现这些概念的技术,即真正理解AR和VR技术。为此项活动,我设计了几个场景。
以下是其中一个例子:家居装饰场景。你可以想象使用多种不同的移动设备,或许还能与家人协作。那么,在AR方面,哪些技术是合适的呢?你将运用我介绍的技术树来思考。我们会更深入地了解在AR和VR方面我们拥有的各种不同选项。


主要目标是让你思考:在为技术方案提供建议时,应该考虑哪些问题?我们将基于MacLean等人于1991年提出的QOC论文进行分析。QOC代表问题、选项和标准,这是一种系统化探索设计空间的方法。我将向你介绍其表示法,以及如何实际做出决策、如何进行评估。

活动三:关键议题探讨
最后,我们将讨论XR领域的议题,主要有三大类:社会与伦理关切、可及性与公平性,以及隐私与安全性。显然,随之而来的还有信任、安全等各类关切。
我要求你从以下三项活动中选择一项完成(当然你也可以完成更多):
- 社交VR会议活动:我希望你实际进入一个社交VR平台。我会向你展示我如何在2020年虚拟参加IEEE虚拟现实会议的经历,包括一些现场片段和印象。我希望你能获得类似的体验,以便随后分析这类活动所关注的一些问题。
- 可及性评估:评估一款XR应用对于不同能力用户的包容性。
- 隐私安全分析:分析某XR体验中的数据收集与安全措施。
思考现有解决方案的设计影响非常重要,我希望能引导你像设计师一样思考。设计思维是我希望为你铺垫的,显然,本专项的第二门课程将重点聚焦于此。
对于任何这些活动,思考活动之前、期间和之后发生什么都非常重要:
- 活动前:作为用户,你如何为活动做准备?作为设计师,你会做什么来为用户设定他们对即将进入的“新现实”的期望?
- 活动期间:观察你自己的感受是很有趣的,比如你认为所使用的应用是否为你做好了充分准备。同时,留意你使用过程中的所有想法和关切。
- 活动后:作为设计师,我们需要在真实感、舒适度和安全性之间取得平衡,而安全性是我们必须解决的首要问题。最后,当用户回归现实时,帮助他们平稳过渡回原有的、真实的现实,这也是你应该考虑的一点。
总结与展望



希望这个荣誉课程路径会充满乐趣。如果你能完成整个XR专项课程,甚至完成所有相关的荣誉路径内容,那将会非常棒。我期待与你的讨论,期待看到你得出的各种成果,并希望在荣誉课程路径中见到你。
007:XR应用分类练习


在本节课中,我们将学习如何实际体验一款XR应用,并依据“现实-虚拟现实连续谱”对其进行分类。我们将通过实践来巩固对增强现实(AR)、虚拟现实(VR)和混合现实(MR)等核心概念的理解。
概述
本次练习的核心任务是:找到并体验一款XR应用,然后根据其特性将其归类到现实-虚拟现实连续谱的相应位置。为了帮助你更好地完成这个任务,我们提供了相关的阅读材料,并将在下文中详细说明具体步骤和注意事项。
任务详解
以下是本次练习的具体步骤和要求。
第一步:寻找并体验XR应用
首先,你需要找到一款可以在你的设备上运行的XR应用进行体验。如果你对如何寻找应用有疑问,可以参考课程中提供的技术概览和寻找XR应用的技巧。
关键要求:
- 请务必体验该应用的AR或VR版本。360度视频也可以,但我们更鼓励你体验完整的虚拟现实应用,以便更好地分析用户体验。
- 在这个阶段,你不需要以设计师的角度思考,只需像普通用户一样体验即可。
第二步:初步分类应用
体验完应用后,你需要对其进行初步分类。以下是分类选项:

- 增强现实(AR)
- 虚拟现实(VR)
- 混合现实(MR):仅在你完全无法确定是AR还是VR时使用此选项。通常这不是最佳选择。
- 扩展现实(XR):仅当该应用同时支持AR和VR两种模式,并且你都体验过时,才使用此分类。

特殊情况处理:如果一款应用同时支持AR和VR,但你只体验了其中一种模式(例如只体验了AR版),那么你只需根据所体验的模式将其归类为AR或VR。
第三步:参考阅读材料确认分类
为了更准确地分类,建议你阅读论文《What is Mixed Reality?》。这篇由本课程讲师及其团队撰写的论文发表于2019年,面向广大读者,清晰地阐述了混合现实的不同定义和考量维度,能帮助你验证自己的分类选择。
第四步:(可选)体验另一款应用
为了获得更全面的认识,建议你尝试体验另一款应用,最好选择位于连续谱另一端(即与第一款应用特性相反)的应用。这能帮助你更深入地理解XR技术光谱的两极。
核心概念与分类技巧
上一节我们介绍了任务步骤,本节中我们来看看分类时需要用到的核心概念和一些实用技巧。
理解连续谱
XR技术是一个连续谱(Continuum),而非简单的非此即彼。我们的目标是将应用定位在这个光谱的某个位置上。
- 虚拟现实(VR):用计算机生成的虚拟环境完全取代用户的真实感官输入。例如,佩戴VR头显玩《Beat Saber》游戏。
- 增强现实(AR):在用户看到的真实世界画面上叠加计算机生成的虚拟信息。用户仍然能看到真实环境。例如,通过手机屏幕看到叠加在房间里的宝可梦。
公式化理解:
- VR体验 ≈ 完全虚拟环境
- AR体验 ≈ 真实世界 + 叠加的虚拟信息
分类实用技巧
以下是帮助你进行分类的几个实用技巧:
- 观察使用的设备:设备类型是重要的线索。例如,使用Oculus等头戴式显示器通常指向VR体验;使用手机或AR眼镜则可能指向AR体验。
- 使用最具体的术语:尽量避免笼统地使用“XR应用”或“在连续谱上”这样的描述。优先使用AR或VR进行具体分类。
- 接受模糊性:连续谱的本质意味着有时分类会存在模糊地带。认识到这种模糊性,并尝试给出你的理由,本身就是练习的一部分。
深入理解:混合现实的多个维度
为了更精确地分类,特别是处理那些难以界定的案例,我们可以参考《What is Mixed Reality?》论文中提出的更复杂的分析框架。该论文通过文献综述,提出了理解混合现实体验的多个关键维度。
以下是论文中提出的几个核心考量维度:
- 环境数量:体验是只发生在虚拟世界、只发生在物理世界,还是同时涉及两者?
- 用户数量:应用支持单个用户还是多个用户(协作或社交)?
- 沉浸感水平:用户与虚拟环境融合的程度。
- 虚拟程度:体验中虚拟内容的占比和真实性。
- 交互程度与方式:用户如何与系统交互。这可以进一步分为:
- 显式交互:如特定的手势、语音命令。
- 隐式交互:如基于摄像头的交互(将标记物带入视野)。
综合这些因素,你可以更深入、更细致地描述一款XR应用的特征,而不仅仅是将其放在光谱的某个点上。论文指出,对于“什么是混合现实”这个问题,答案往往是“视情况而定”,这取决于我们更看重上述哪个维度。

实例分析
让我们通过两个例子来实践一下分类。
- 《Beat Saber》:用户佩戴VR头显,完全沉浸在由光剑和音乐方块构成的虚拟世界中,看不到真实环境。这显然是一个虚拟现实(VR) 应用。
- 《Pokemon GO》:通常被称为AR游戏,但其AR功能(将宝可梦叠加到相机画面中)相对基础,缺乏遮挡等高级特性。根据严格定义,它可能更偏向“弱增强现实”。在分类时,你可以将其归为增强现实(AR),但同时指出其AR功能的局限性。
总结与展望
本节课中,我们一起学习了如何通过实践对XR应用进行分类。我们明确了从寻找应用到初步分类,再到参考论文进行确认的完整流程。我们理解了现实-虚拟现实连续谱的概念,并掌握了依据设备、体验本质进行分类的技巧。最后,我们还介绍了从多个维度(环境、用户、沉浸感、交互)深入分析XR应用的更高级框架。
期待你的实践与分享!在课程论坛中,尝试分享你体验的应用和分类理由。如果发现其他学员对同一款应用有不同的分类,那将是非常有趣的讨论起点。通过交流和辩论,我们可以共同深化对XR技术多样性的理解。


本“深度实践”学习路径旨在通过有趣的练习帮助你深入掌握知识,并最终获得认证。请继续关注后续更多的练习任务。
008:VR技术演示 🎮


在本节课中,我们将通过一个虚拟现实赛车游戏的演示,来直观地感受VR技术的沉浸式体验。我们将跟随演示者,了解VR环境中的交互、视觉与听觉反馈,以及这种技术如何模拟真实世界的驾驶感受。
进入虚拟驾驶舱 🚗
上一节我们讨论了VR的基本概念,本节中我们来看看一个具体的应用实例。演示者启动了一款VR赛车游戏,并坐进了虚拟的汽车驾驶舱。
- 虚拟环境:演示者身处一个模拟的拉力赛车内部,可以环顾四周,观察内饰。
- 视觉交互:虽然没有实际握住换挡杆,但虚拟场景提示了其存在,并且可以通过操作进行换挡。
- 沉浸感增强:与之前的演示相比,这个场景更具沉浸感,部分原因在于可以自由地转头观察,就像在真实驾驶中一样。
沉浸式体验与感官反馈 🎧

仅仅有视觉画面还不够,完整的沉浸感需要多感官的配合。接下来,演示者着重调整了听觉体验。
- 空间音频:演示者提到,声音直接输出到头戴设备中,这比通过电视外放能提供更逼真的方位感和包围感。
- 环境模拟:游戏中的声音,如引擎轰鸣和环境音效,是营造真实感的关键因素。
实战驾驶与挑战 🏁
设置好环境后,演示者开始了正式的赛道比赛。这个过程展示了VR模拟的真实性和面临的挑战。
以下是演示者在比赛中的一些观察和体验:
- 操作反馈:游戏提供了逼真的物理反馈,例如在不同材质路面上(如砂石地)的驾驶手感截然不同。
- 引导系统:游戏中配有“领航员”进行语音提示,模拟了真实拉力赛中的体验。
- 操作难度:演示者承认游戏具有挑战性,精确控制车辆需要练习,这反映了高质量模拟的复杂性。
- 娱乐与沉浸:尽管成绩不佳,但整个过程充满乐趣,并且强烈感受到了VR技术带来的沉浸感。
总结与回顾 📝
本节课中我们一起通过一个VR赛车游戏的实机演示,深入体验了扩展现实技术的核心魅力。


我们看到了一个完整的VR应用如何构建视觉环境、集成空间音频,并通过物理模拟来创造强烈的沉浸感。演示表明,VR不仅能用于娱乐,其高度的模拟真实性也使其在培训、设计等领域具有巨大潜力。虽然操作存在学习曲线,但技术提供的参与感和临场感是传统媒介无法比拟的。
009:虚拟现实导论 🚀

在本节课中,我们将要学习虚拟现实(VR)的基本概念。我们将从初次体验VR的视角出发,探讨其核心定义、关键特性、技术分类以及发展历程,帮助你建立一个清晰、全面的VR知识框架。
初次VR体验 🎮
当你决定购买一台虚拟现实头显并首次使用时,通常会有一个教程或引导程序。我们以Oculus的“第一步”教程为例,来感受初次接触虚拟现实是怎样的体验。

你戴上头显,开始适应周围这个全新的虚拟环境。环顾四周,你看到了自己的“双手”。实际上,你看到的并非真实的双手,而是某种手部模型或抽象表示。它们随着你的动作而移动,并且匹配得相当准确。这令人惊讶:你只是握着控制器,它是如何做到的?
这种效果得以实现,主要归功于控制器上的按钮布局。系统可以根据你手指按压的位置,估算出手指的姿势并进行相应的渲染。因此,我们甚至可以隐藏控制器本身。在最新的头显中,已经支持手部追踪技术,可以直接追踪你的双手,不再需要控制器。但在早期的Oculus Rift等设备上,体验就是如此。
接着,你开始熟悉这个虚拟现实环境。按下按钮,物体凭空出现,就像魔法一样。你捡起它们,四处投掷,并对它们的行为(比如总是会飞回来)感到惊奇。然后,你可能会尝试其他物体,比如纸飞机。在虚拟现实中操控纸飞机飞行,是此阶段一个有趣且直观的互动。
定义虚拟现实:5W分析法 ❓
“虚拟现实”这个术语值得我们深入探讨。在本节中,我们将通过经典的5W分析法(Who, What, When, Where, Why)来确立虚拟现实的基本定义。
- Who(关键参与者):目前VR领域的主要参与者包括Google、Oculus(现属Facebook)、HTC和Microsoft等。他们推出了关键产品,为VR的发展铺平了道路。
- What(是什么):VR是一种沉浸式的3D交互方式,用户通过头戴式设备进入一个虚拟环境,并能与之进行自然互动。
- When(发展历程):VR的发展经历了三波浪潮。第一波在20世纪60年代,出现了早期的头戴显示器概念。第二波在90年代,以VR主题电影和游戏(如任天堂Virtual Boy)为代表。第三波即当前浪潮,始于2012年Oculus Rift的众筹成功,并逐渐走向消费级市场。
- Where(应用场景):VR最初主要用于研究实验室和企业环境。现在,它正越来越多地被普通消费者和学生使用,包括在线课程。
- Why(为何重要):VR的魅力在于它能将用户“传送”到不同的地方,并提供一种以用户为中心的、沉浸式的3D交互界面。技术进步、大公司推动以及设备价格变得可承受,是当前VR得以普及的关键原因。
VR的核心特性与概念 🧠
上一节我们介绍了VR的宏观定义,本节中我们来看看构成VR体验的一些核心特性与概念。
根据经典定义,VR主要关乎自主性或能动性,即赋予用户控制权。这是通过头部追踪和身体输入(如手势、语音、眼动)实现的,从而带来自然的交互。
另一个核心概念是临场感,即“身临其境”的感觉。这主要通过沉浸感来实现。沉浸感不仅指视觉上的包围,还包括多感官刺激,如音频、触觉(力反馈),甚至嗅觉,从而创造出更逼真的体验。
然而,VR并不必须追求极致的真实感。它可以被看作是一个虚拟环境,用户在其中进行三维空间内的任务或交互。我通常将VR与以下要素关联:
- 头戴式显示设备。
- 立体视觉(为每只眼分别渲染图像)。
- 六自由度移动能力(不仅可环顾,还可行走)。
- 沉浸式任务:专注于空间内的交互,不受外界干扰。
从人机交互的角度看,VR是一个非常有趣的交互模态和设计领域。
VR显示技术分类 🖥️
在深入讨论关键概念前,我们先快速了解一下VR显示技术的两种主要类型。
我们可以区分头戴式显示器和房间规模的VR环境。
以下是两种技术的简要对比:
-
头戴式显示器
- 描述:设备佩戴在头上,屏幕随用户移动。
- 原理:为每只眼睛提供独立的渲染图像,产生立体视觉。
- 示例:Google Cardboard, Oculus Quest等。
-
房间规模VR(CAVE)
- 描述:用户站在一个房间内,墙壁、地板(有时包括天花板)都是投影面。
- 原理:基于投影,用户佩戴追踪器,系统根据用户位置实时调整所有投影面的画面,以保持正确透视。
- 特点:外部观察者看到的画面透视不正确,体验仅为身处CAVE内的用户设计。
总结 📚


本节课中我们一起学习了虚拟现实的入门知识。我们从一次典型的初次VR体验开始,理解了其交互的奇妙之处。接着,我们使用5W分析法定义了VR的范畴,回顾了其发展历程。然后,我们探讨了VR的核心特性,如自主性、自然交互、临场感和沉浸感。最后,我们介绍了两种主流的VR显示技术:头戴式显示器和房间规模的CAVE系统。这些基础知识将为我们后续深入学习VR的设计与开发打下坚实的根基。
010:VR核心概念 🎯


在本节课中,我们将学习虚拟现实(VR)领域的七个核心概念。理解这些概念是设计和开发沉浸式VR体验的基础。我们将通过具体的例子来探讨每个概念,确保初学者也能轻松理解。
概述
在上一节我们介绍了基本的显示技术之后,本节我们将重点探讨VR的七个关键概念:自主性与能动性、临场感与沉浸感、化身与具身性、认知与共情、本体感觉与晕动症、触觉与伪触觉,以及边界与重定向行走。掌握这些概念将帮助我们更好地理解后续的VR技术实现。
自主性与能动性 🕹️
自主性与能动性指的是用户在虚拟环境中拥有控制权和选择权。以下是体现这一概念的三个主要方面:
- 视角选择:用户可以控制虚拟摄像机,自由选择观察场景的视角。
- 导航方式:用户通常能以多种方式在场景中移动。大多数VR环境允许传送或提供菜单功能。如果使用六自由度(6DoF)头显,用户还可以进行真实的物理行走。
- 对象交互:用户可以与他们看到的任何对象进行交互。除非有特殊标记,否则用户会期望可以拾取任何物体,并且在松手时物体会遵循物理规律(如重力)下落。
总而言之,用户可以自由选择视角、移动方式,并与虚拟和物理世界中的对象进行互动。
临场感与沉浸感 🌌
接下来,我们来看看临场感与沉浸感。根据Mel Slater的理论,进入虚拟世界时涉及两种幻觉:
- 场所幻觉:回答“我是否身临其境?”这个问题。在虚拟世界中停留时间越长或世界设计得越好,用户就越可能产生“我就在那里”的感觉。
- 真实感幻觉:回答“这一切正在发生吗?”这个问题。在某种程度上,它克服了用户的怀疑,让用户愿意相信虚拟世界的真实性。
这两种幻觉共同作用,使用户暂时忘记自己正身处VR之中。另一个常用概念是沉浸感,我们通常用它来描述体验的深浅程度。
以下是不同媒介的沉浸感层级示例,从低到高排列:
- 2D图像和视频:沉浸感最低。
- 手机上的360度图像和视频:通过移动手机,利用惯性测量单元(IMU)调整视角,比2D内容更具沉浸感。
- 头显中的360度图像和视频:即使使用Cardboard这类简易头显,通过立体视觉和高视场角呈现内容,其沉浸感也远超手机。
- 3自由度(3DoF)头显中的3D图像和视频:例如Oculus Go,它能感知用户头部的朝向(方向),但无法感知位置。由于具有真实深度感,它比360度内容更沉浸。
- 6自由度(6DoF)头显中的3D图像和视频:例如Oculus Quest,用户不仅可以环顾四周,还可以实际行走。这对于具有真实3D几何的场景尤其有意义,因为用户的移动会改变视角。
- 配备触觉等感官刺激的6DoF头显:当更多感官(如触觉)接收到输入,且内容交互性更强时(无论是隐式的头部探索还是显式的触摸、语音互动),沉浸感将达到最高。
以一次VR体验为例,用户进入一个虚拟休息室,环顾美丽的风景,细节丰富,层次分明。随着体验时间增加,用户会逐渐忘记现实世界,这种高度的沉浸感有助于营造临场感。
化身与具身性 👤

现在,我们来探讨化身与具身性。这个概念关注用户在虚拟世界中的数字代表。继续上面的例子,用户走到一面虚拟镜子前,可以看到并自定义自己的虚拟化身。经过一番调整,用户选择了一个看起来不错的形象。这个化身成为了用户在虚拟世界中的身体代表,增强了用户的代入感和归属感。
认知、共情与本体感觉 🧠
以上是前三个概念。接下来,我们看看第二组概念:认知与共情、本体感觉与晕动症,以及触觉。我们将通过一个赛车游戏的例子来说明。
在这个例子中,用户佩戴6DoF头显(采用Inside-Out追踪技术)驾驶一辆虚拟赛车,体验非常沉浸。用户手握真实的方向盘和换挡杆,这增加了触觉反馈。
- 认知与共情:通过长时间游戏,用户逐渐在脑海中构建了赛道地图的心理模型。这个高度真实的模拟让用户对职业赛车手产生了共情,能够理解他们的挑战。
- 本体感觉与晕动症:本体感觉是指对身体位置和运动的感觉。在这个游戏中,由于用户是坐着的,并且虚拟运动(驾驶)与身体动作(操作方向盘、踏板)有良好的映射关系,因此本体感觉良好,不易产生晕动症。刹车、漂移时车辆的响应也符合预期。

触觉与伪触觉 ✋
最后,我们来谈谈触觉与伪触觉。在这个赛车体验中,真实的硬件设备提供了良好的触觉反馈:
- 方向盘、换挡杆和手刹:提供了真实的力反馈和操作感。
- VR头显:戴在头上,类似于赛车手的头盔,增加了真实感。
从外部视角看,用户虽然看不见真实世界的设备位置,但通过触觉和物理布局,用户的运动记忆很快被训练出来。用户能准确知道换挡杆和手刹的位置,无需视觉确认即可操作,这体现了触觉反馈如何帮助训练运动记忆并增强沉浸感。
关于伪触觉,它指的是在没有真实力反馈的情况下,通过视觉或其他暗示模拟触觉(例如,看到虚拟物体被抬起,即使手中没有真实重量感)。这是一个有趣的研究领域,但目前尚无成熟的消费级产品。
边界与重定向行走 🚧
最后一个核心概念是边界与重定向行走。我们重点讨论VR边界,这是保障VR体验安全的重要设置。
在设置VR边界(如Oculus的防护系统)时,系统会扫描环境并识别障碍物。以下是一些设置边界的实用技巧:
- 标记安全区域:首先划定一个绝对安全的游戏区域。
- 包含座位区域:可以将书桌等座位区域包含在边界内,这样即使坐着也能保持在VR模式中,方便进行 seated experience。
- 避开危险障碍:务必避开书架、墙壁等固定障碍物。
- 标记房间出口:可以特意标记出门的位置,帮助自己在VR中感知房间布局。
当用户在VR中移动时,如果接近或越过边界,系统会显示透视视图(如Oculus的Passthrough功能)以提醒用户,防止碰撞。低头查看时,也可以瞥见边界轮廓,帮助定位。合理设置边界对于维持沉浸感和安全性至关重要。
总结

本节课我们一起学习了VR的七个核心概念:自主性与能动性、临场感与沉浸感、化身与具身性、认知与共情、本体感觉与晕动症、触觉与伪触觉,以及边界与重定向行走。我们通过具体实例探讨了每个概念的含义及其在体验中的体现。理解这些概念是构建引人入胜的VR体验的基石。在下一节课中,我们将探讨如何通过具体的技术来实现这些概念,从而打造出更具临场感和沉浸感的VR体验。
011:虚拟现实关键技术 🚀


在本节课中,我们将学习构成虚拟现实体验的核心技术。我们将探讨从视觉呈现到空间追踪等一系列关键技术,了解它们如何共同作用,创造出沉浸感和临场感。
360度照片与视频 📸
上一节我们介绍了虚拟现实的整体概念,本节中我们来看看其内容基础。360度照片和视频本身并非虚拟现实,它们通常与虚拟现实相关联,但只有通过立体视觉设备观看时,才成为虚拟现实体验的一部分。


在360度视频中,用户拥有自主控制权。视频内容围绕摄像机全方位录制,用户可以选择观看视角。

立体显示技术 👓
接下来,我们探讨立体显示技术。其核心概念是为每只眼睛渲染略有不同的视图。双眼瞳孔之间存在微小位移,这种位移为我们的眼睛创造了深度感。
以下是立体显示的关键原理:
- 立体渲染:为左眼和右眼分别渲染视图。
- 瞳距:两个视图之间的微小偏移与瞳距有关,部分头显设备支持调整此参数。
- 深度错觉:当用户佩戴设备时,大脑会将两个视图融合,感知到一个具有深度的单一图像和光标。
立体显示是Cardboard等设备背后的主要技术。手机放入设备后,会为每只眼睛渲染带有桶形畸变的图像,用户便能感知深度。
CAVE系统 🏛️
另一种不同的显示技术是CAVE系统。CAVE是“洞穴自动虚拟环境”的递归缩写。用户步入一个由投影墙包围的空间,系统根据用户佩戴的追踪器(如光学追踪系统)实时调整投影,为用户创造深度感。物体离用户越远,视图偏移越大;越近则重叠越多。
这与3D电影的原理类似。3D眼镜通过快门显示等技术,快速交替为左右眼显示图像,利用视觉暂留形成具有深度的3D图像。

三自由度与六自由度追踪 🎯
现在,我们来看看头部和控制器追踪。虚拟现实运动控制器可以进行三自由度或六自由度追踪。
以下是两种自由度的区别:
- 三自由度:仅追踪旋转。例如Cardboard,可以追踪沿X轴(俯仰)、Y轴(偏航)和Z轴(翻滚)的旋转,但无法追踪在这些轴向上的位置移动。
- 六自由度:同时追踪旋转和位置。例如HoloKit,除了旋转,还能通过SLAM(同步定位与地图构建)等算法,确定设备在X、Y、Z轴上的位置移动。光学流等技术通过分析摄像头像素的移动向量来计算设备位移。

拥有六自由度追踪,用户就能够在3D空间中行走,而不仅仅是环顾四周,这为用户在内容中提供了极高的自主权。
以Oculus Go为例,它是一个三自由度设备,其控制器也只能旋转。用户可以通过激光指针交互远距离操作物体,但控制器的位置移动无法被追踪。
而Oculus Quest支持六自由度追踪。用户划定安全边界后,可以在其中自由行走,控制器在3D空间中的移动也能被精确追踪。
由外向内与由内向外追踪 🔄
追踪技术主要分为由外向内和由内向外两种模式。

两者的核心区别如下:
- 由外向内追踪:将传感器(如摄像头、激光基站)放置在环境中,指向用户,在一个被传感器覆盖的区域内追踪用户。例如初代Oculus Rift需要将传感器放在桌上,追踪头显和控制器发出的光点。
- 由内向外追踪:将摄像头等传感器内置在设备本身。例如Oculus Rift S和Quest,设备上的摄像头直接追踪周围环境和控制器,无需外部传感器。这提供了更大的活动范围和灵活性,但控制器若移到摄像头视野外(如背后)则无法被追踪。
HTC Vive也采用了一种由外向内追踪形式,通过环境中的基站进行追踪。
手部追踪 ✋

手部追踪技术正在迅速改进,并已成为许多新一代VR设备的标准功能。

手部追踪的发展分为两个阶段:
- 外置设备阶段:如Leap Motion,它是一个通过USB连接、可安装在头显上的外设,在其视窗范围内提供精确的手部关节追踪。
- 内置集成阶段:如Oculus Quest,手部追踪功能已直接内置。用户放下控制器,注视双手即可被识别。系统支持捏合拖动等手势,用户可以在手部追踪和控制器使用之间无缝切换。
VR手套的目的不仅是追踪,更重要的是提供触觉反馈,通过将物理环境与虚拟对象对齐,创造触摸感。
空间音频 🎧
虽然虚拟现实以视觉为主,但创造沉浸感的一个非常重要的部分是围绕用户的音频。空间音频能根据声音在虚拟空间中的位置和用户的朝向,提供具有方位和距离感的听觉体验,极大地增强临场感。
技术整合示例:Beat Saber 🎮




现在,我们回顾一下学到的所有技术,并以游戏《Beat Saber》为例进行整合分析。
《Beat Saber》集成了多项关键技术:
- 立体显示:通过头显为每只眼睛提供不同的视图,创造深度感。
- 六自由度追踪:用户需要在空间中移动和挥动光剑,精确的位置追踪至关重要。
- 由内向外追踪:演示中使用Oculus Rift S,利用其内置摄像头追踪用户动作。
- 空间音频:游戏中的音乐和音效与玩家的动作和游戏视觉元素紧密结合,增强了节奏感和沉浸感。
这些技术共同作用,为用户创造了一个高度沉浸、富有动感的虚拟现实体验。


本节课中,我们一起学习了构成虚拟现实的核心技术。从创造深度视觉的立体显示和CAVE系统,到实现自由移动的三自由度和六自由度追踪,再到由外向内、由内向外两种追踪模式,以及日益重要的手部追踪和空间音频技术。最后,我们通过《Beat Saber》看到了这些技术如何整合,共同打造出令人沉浸的虚拟现实体验。理解这些基础技术,是设计和开发优秀VR应用的关键。
012:AR技术演示 🚀

在本节课中,我们将通过一个具体的增强现实(AR)应用演示,来了解AR技术如何将虚拟信息叠加到现实世界,创造出沉浸式的交互体验。我们将跟随一个模拟阿波罗11号登月任务的AR演示,学习其核心交互流程。

概述
这个AR演示应用将用户带入阿波罗11号的登月之旅。它通过叠加3D模型、动画和交互提示,在现实环境中重现了火箭发射、轨道飞行、登月舱分离以及月球漫步等关键历史时刻。用户可以通过触摸屏幕上的特定虚拟物体来推进剧情,体验交互式叙事。
上一节概述了演示的基本框架,本节中我们来看看演示的启动与火箭发射阶段。

演示始于著名的肯尼迪总统演讲引言:“我们选择在这个十年间登月并完成其他壮举,并非因为它们轻而易举,而是因为它们困难重重。”
土星五号火箭是一个三级火箭。每一级都在从地球到月球的旅程中扮演着关键角色。
当您准备好观看其工作原理时,请触摸土星五号底部发光的部分以启动发射序列。
以下是启动后的关键步骤:
- 点火序列开始:所有发动机启动。
- 升空:火箭升空。
- 程序转弯:火箭执行程序转弯,将阿波罗11号送入正确航向。
第三级火箭首先点火,将阿波罗11号送入环绕地球的驻留轨道。在进行了数小时的系统检查后,第三级火箭再次点火,推动飞船踏上前往月球的旅程。

在经历了激动人心的发射后,我们来看看飞船在太空中的关键操作:指令舱与登月舱的分离。

准备好继续后,请按指令舱上的“分离”命令。
由于登月舱专为太空真空环境飞行设计,它无需具备空气动力学外形,因此重量被降至绝对最低。其舱壁厚度仅相当于几层铝箔。
宇航员甚至没有座椅,他们站立着驾驶飞船,这本质上是一次从轨道开始的受控降落。

上一节我们看到了登月舱的独特设计,本节将体验登月与月球漫步的历史性时刻。

当您准备好继续时,请按鹰号登月舱的舱门。
七小时后,指令长沿梯子向下,站在了登月舱的支脚上。在月球六分之一的重力下,指令长及其宇航服的总重360磅仅相当于60磅,这使得移动极为轻松。
最后,指令长为人类迈出了一小步,为人类迈出了一大步,踏上了月球表面。
这个脚印代表了近40万人十年工作的成果,这是人类历史上最伟大的探索时期之一,并且这个脚印很可能至今仍留在那里。
当您准备好结束演示并返回地球时,请按这个脚印。
总结
本节课中,我们一起学习了一个完整的AR技术演示案例。通过这个阿波罗11号登月演示,我们看到了AR技术如何:
- 叠加虚拟内容:将火箭、飞船等3D模型融入真实环境。
- 设计交互叙事:用户通过点击特定虚拟对象(如火箭底座、分离按钮、脚印)来推进故事发展。
- 传递知识与情感:生动再现复杂的历史与科技事件,提供沉浸式教育体验。
这个演示清晰地表明,AR的核心在于将数字信息与物理世界无缝融合,并通过直观的交互创造出身临其境的体验。






013:增强现实导论


在本节课中,我们将学习增强现实(AR)的核心概念。我们将探讨AR的定义、关键特性、技术分类,并通过实例来理解这些概念。课程内容将尽可能简单直白,适合初学者。
概述
本节将介绍增强现实的基本概念。我们将从“5W”(Who, What, When, Where, Why)框架入手,分析AR的关键特征,并了解不同类型的AR显示技术。理解这些概念是区分AR与其他技术(如VR)的基础。
AR的“5W”框架
为了系统地理解增强现实,我们可以从五个基本问题入手。
以下是关于AR的“5W”分析:
- Who(谁在参与):该领域的主要参与者包括谷歌、微软、苹果和Magic Leap等公司。谷歌推出了Google Glass,微软有HoloLens系列,苹果和谷歌则分别通过ARKit和ARCore将AR带入了智能手机平台。
- What(什么是AR):根据经典定义,增强现实是指将真实与虚拟内容相结合,形成一个复合视图。它不仅是视觉对象的叠加,还需要是实时交互的,并根据正确的3D空间注册进行渲染。
- When(何时发展):AR的早期概念可追溯到1968年的演示。随后经历了漫长的沉寂,直到2013年Google Glass发布引发热潮。2015年微软HoloLens 1和2017年智能手机AR平台(ARKit/ARCore)的出现,标志着AR技术进入新的发展阶段。
- Where(应用场景):AR最初仅限于研究实验室。如今,它已通过智能手机进入大众口袋。其应用也从企业环境(如工业维修、培训)扩展到了消费级领域(如游戏、教育)。
- Why(为何重要):AR的核心价值在于它能以直观、有意义的方式将虚拟信息叠加到真实世界中。这在教育、设计、导航等领域能创造非常有效的体验,前提是虚拟内容与真实环境存在有意义的关联。
AR的关键特征
上一节我们通过“5W”框架概述了AR,本节我们来具体看看构成AR体验的三个关键特征。
根据学术定义,一个真正的AR系统必须满足以下三个核心特征:
- 虚实融合:系统必须生成一个将计算机生成的虚拟对象与真实世界环境无缝整合在一起的复合视图。公式可以表示为:
最终视图 = 真实世界视图 + 虚拟对象叠加。 - 实时交互:系统必须是交互式的,并且运行在实时状态下。这意味着当用户移动或与环境互动时,虚拟内容的渲染必须立即更新,没有明显的延迟。
- 3D空间注册:虚拟对象必须被准确地“注册”或锚定在真实世界的三维空间中。它们看起来应该像是真实环境的一部分,具有正确的位置、方向和比例,并遵循透视规律。这创造了所谓的“全息幻觉”。
例如,Google Glass通常不被认为是真正的AR,因为它主要提供一个信息平视显示器,其内容并未与真实世界进行精确的3D空间注册和锚定。
AR的显示技术类型
理解了AR的关键特征后,我们来看看实现这些特征的不同技术路径。AR可以通过多种显示方式呈现。
以下是四种主要的AR显示技术:
- 头戴式显示器:用户佩戴在头上的设备,如Microsoft HoloLens。它直接将虚拟内容叠加到用户的真实视野中。
- 空间/投影式AR:使用投影仪将虚拟内容直接投射到真实世界的物体或表面上,并通过摄像头追踪用户视角来调整投影,以产生正确的3D透视效果。这种设置通常称为“投影-相机”系统。
- 手持式AR:利用智能手机或平板电脑的屏幕和摄像头来实现AR。用户通过设备屏幕观看融合了虚拟内容的真实世界画面。这是目前最普及的AR体验形式。
- 显示器式AR:用户在固定的屏幕(如显示器或电视)上体验AR。屏幕上的内容会根据用户相对于屏幕的位置和方向(通过摄像头追踪)实时变化,模拟出类似镜子的效果,让用户感觉虚拟物体存在于屏幕后的空间中。

所有这四种技术都必须满足之前提到的AR三大关键特征,才能提供真正的增强现实体验。
总结


本节课中,我们一起学习了增强现实的核心概念。我们从“5W”框架入手,明确了AR的定义、发展历程和重要性。我们重点分析了AR的三个关键特征:虚实融合、实时交互和3D空间注册。最后,我们介绍了实现AR的四种主要显示技术:头戴式、投影式、手持式和显示器式。理解这些基础概念,是进一步探索AR设计、开发与应用的重要第一步。
014:AR基础概念与分类


在本节课中,我们将学习增强现实(AR)的一些核心概念。我们将从“增强”与“中介”这两个基本理念开始,区分“强AR”与“弱AR”,并探讨“基于标记的AR”与“无标记AR”的技术差异。最后,我们会介绍一些支撑这些体验的关键技术术语。
增强与中介
上一节我们了解了AR的基本定义,本节中我们来看看AR体验的两个核心维度:增强与中介。
增强 指的是将虚拟内容作为覆盖层引入现实世界。这个概念可以用现实-虚拟连续体来理解。从完全的现实到完全的虚拟现实,增强现实 位于靠近现实的一端,主要叠加虚拟内容;而增强虚拟现实 则更靠近虚拟一端,以虚拟内容为主,融入部分现实元素。混合现实 则涵盖了整个光谱。增强的程度,可以理解为叠加到现实世界上的虚拟内容的数量。
中介 则沿着同一个光谱发生。引入的虚拟内容越多,我们对世界感知的“中介”或“调解”程度就越高。因此,AR不仅仅是向视野中添加虚拟物体,它还包括减损现实 的概念,即可以移除物体或让周围世界看起来完全不同。这既令人兴奋,也潜藏风险。“中介”一词强调了我们可以调解你对周围环境的感知这一事实,未来在AR广告等领域,我们会越来越多地看到这一点。
以下是这两种理念的一些具体例子:
在增强方面:
- 信息叠加: 例如导航箭头、产品标签。
- 空间锚定物体: 虚拟物体被固定在真实空间中的特定位置,看起来像是世界的一部分。
- 空间音频: 即使没有视觉内容,如果音频遵守空间规则(例如,虚拟声源仿佛来自房间某个角落),这也属于AR范畴。
在中介方面:
- 美化滤镜: 如Snapchat滤镜,让你看起来更美或更年轻(后者也可视为一种减损现实)。
- 物体移除与替换: 例如,移除我身后的书架并用其他东西替换,从而操纵我们对世界的感知。
- 设计中的黑暗模式: 这涉及到设计伦理,我们将在后续课程中详细讨论。
强AR与弱AR
理解了AR的基本作用后,我们来看看如何根据体验的深度对AR进行分类:强AR与弱AR。
在现实-虚拟连续体上,弱AR 更靠近现实一端,而强AR 则向虚拟方向移动,但尚未脱离AR范畴。以下是它们的主要区别:


强AR的特点:
- 高精度追踪: 虚拟物体与真实世界对齐准确。
- 完整的语义理解: 系统真正理解周围环境(例如,这是桌子,那是墙)。
- 支持自然/本能交互: 例如,通过手势、凝视进行交互。
- 头戴式AR显示器: 如Microsoft HoloLens,是强AR的典型代表。
弱AR的特点:
- 粗略或不精确的追踪: 例如早期的《Pokemon GO》,虚拟物体只是简单地叠加在相机画面上。
- 对环境无认知: 系统不了解周围环境的几何或语义信息。
- 交互方式隐晦: 主要是基于相机的简单交互(如点击屏幕),体验感较弱。
- 手持式AR显示器: 如智能手机,通常只作为一个观察虚拟世界的“镜头”,同时看到的虚拟内容有限,常限于桌面AR体验。
基于标记的AR与无标记AR
接下来,我们将深入两种实现AR的关键技术路径:基于标记的AR和无标记AR。为了说明,假设我们使用HoloLens观察一个场景。
在基于标记的AR中,我们需要一个预先设计好的标记(或称为基准点),例如一个特殊的图案。设备上的应用会预先训练识别这个标记。当摄像头看到这个标记时,系统会:
- 以设备初始位置为原点建立一个三维坐标系。
- 通过分析标记在图像中的大小、角度和变形,计算出标记相对于设备的精确位置和方向(即姿态)。
- 基于这个计算出的坐标系,将虚拟内容稳定地锚定在标记所在的位置。
核心公式/概念:
设备通过求解透视n点问题 来计算标记的姿态。简单来说,就是根据已知的标记3D模型点与其在2D图像上的投影点,反推出相机的位姿。
// 简化流程
已知:标记的3D模型坐标,标记在2D图像上的坐标
求解:相机的旋转矩阵(R)和平移向量(t)
使得:2D投影点 = 投影函数(3D模型点, R, t)
无标记AR则无需特定的预先打印的标记。其工作原理是:
- 设备在移动过程中,通过摄像头主动寻找环境中的特征点(例如桌角、纹理鲜明的点)。
- 系统持续跟踪这些特征点在连续帧之间的移动。
- 通过分析这些特征点的运动,并结合设备自带的惯性测量单元(IMU,如陀螺仪、加速度计)数据,推断出设备自身在三维空间中的运动轨迹和位置变化。
核心概念:
这涉及到视觉里程计 和SLAM 技术。设备通过比较连续图像帧,估算自身运动,并同时构建环境地图。
这两种方式也影响了AR体验的规模:
- 基于标记的AR 通常适用于桌面级 体验,因为需要标记始终在视野内。
- 无标记的AR 可以实现房间级 乃至世界级 的体验。通过持续追踪环境特征,用户可以在更大范围内自由移动。未来,通过“AR云”等技术映射整个世界,将可能实现全球规模的持久性AR体验。
总结



本节课中,我们一起学习了增强现实的核心概念。我们首先区分了“增强”与“中介”的理念,明白了AR不仅能添加内容,还能调解感知。接着,我们对比了“强AR”与“弱AR”,了解了不同深度的AR体验。最后,我们深入探讨了“基于标记的AR”和“无标记的AR”的技术原理与适用场景,理解了从依赖特定标记到利用环境自然特征进行追踪的技术演进,以及它们所支持的不同规模的应用。这些基础概念为我们后续学习具体的AR技术与设计打下了坚实的基础。
015:AR核心概念详解


在本节课中,我们将深入探讨增强现实(AR)背后的几个核心技术与概念。我们将了解设备如何“看见”并理解周围的世界,以及这些技术如何共同作用以创造沉浸式的AR体验。
🧠 深入理解SLAM与视觉惯性里程计
上一节我们介绍了AR的基本特性,本节中我们来看看实现这些特性的关键技术:SLAM和视觉惯性里程计。
SLAM 是同步定位与地图构建的缩写。其算法工作原理如下:
- 它通过在一系列连续的相机帧(即一张接一张的图像)中追踪关键点来工作。
- 算法会追踪这些点的轨迹,从而确定它们的运动路径。
- 通过多帧图像进行三角测量,算法可以估算出这些关键点在三维空间中的位置。
- 根据这些三维位置点的估算,算法可以反推出观察到这些点的相机姿态。
- 当追踪到足够数量的点时,系统就能同时解算出相机在空间中的运动(定位)和周围环境的结构(地图构建)。
这是一个对SLAM的直观解释。SLAM本身是一个活跃研究了多年的领域。对于我们开发者而言,目前有各种框架和工具帮助我们应用这项技术,因此理解SLAM在算法层面的基本工作原理和目的,就足以掌握其核心概念。
视觉惯性里程计 则结合了两种传感器数据来提升追踪的鲁棒性:
- 它通过相机追踪姿态,将现实世界中的点与相机传感器上的像素进行匹配,并在每一帧都进行此操作。
- 同时,它也通过惯性测量单元追踪姿态。IMU在定位上精度不高,但在方向测量上非常精确。
- 系统会处理来自智能手机的加速度计和陀螺仪数据,将视觉获取的姿态信息与IMU获取的姿态信息相结合,并随时间分析这两套系统的测量数据。
- 通过这种融合分析(在每秒60帧的实时帧间进行),系统能确定三维位置的最佳估计。
现在我们已经列出了SLAM和VIO。现代的SLAM算法仅需RGB相机(手机普通摄像头)即可实现,无需深度相机等特殊硬件。而视觉惯性里程计在许多方面使追踪更加鲁棒,因为它还考虑了IMU数据,这使得SLAM能够在移动设备上高效运行。
你可以尝试在AR体验中快速摇晃手机,观察系统何时能恢复并重新精确定位,这就是追踪鲁棒性的体现。另一个常见的现象是,当你启动手机AR应用时,它总会要求你最初稍微移动一下手机以“建立追踪”。这实际上是系统在帮助你构建关键点云,从而建立一个周围世界的坐标系,之后应用才能正常工作。
🎯 追踪与配准:AR体验的基石
这引出了追踪和配准这两个紧密相关的概念。
追踪是指当用户的视点(或设备)在三维空间中移动时(例如行走),定位其位置的过程。系统可以追踪你的头戴设备(或手机)的位置变化,从而根据你的新视角渲染不同的场景。
配准则是AR的关键特性之一,指将虚拟物体相对于真实世界进行定位的过程。例如,假设你用手做出一个手势,我们想在这个手势上方放置一个立方体。我们可以利用之前追踪到的手部位置作为参考点,在已建立的坐标系中,将立方体放置在略高于手部的Y轴位置上。这样,立方体就被“配准”到了真实世界中。此后,只要我们持续追踪设备,就能始终准确地根据视角渲染这个立方体。因此,追踪和配准是协同工作的。
👁️ 视野:当前AR头显的主要限制
现在,让我们快速了解一下视野。视野可能是你使用AR头显时最令人失望的方面之一。即使是最新一代的AR头显,其视野也仍然有限。
例如,假设你面前有一个虚拟立方体。在一个视野约为35度的头显(如HoloLens 1)中,你实际看到的可能只是立方体的一部分,其余部分会被视野边界切断,你需要抬头才能看到立方体的全貌。这可能会令人失望,因为在宣传视频中,从第三人称视角看,内容似乎是完整的,但用户实际看到的只是被切割的部分。
因此,在设计AR体验时,需要考虑如何在有限的、可被虚拟内容增强的视野区域内构建视觉提示。例如,对于一个本应完整显示的重要物体,可以绘制一些标记或视觉线索,引导用户移动头部来查看全貌。一般来说,内容越小,越适合在AR头显中观看;而大型内容则难以完整呈现和感知。

目前,实现所谓的“消隐现实”或完全改造周围环境(如融入广告等)还非常困难。从某种程度上说,当前AR头显因视野有限而不断“打破沉浸感”,这或许是一件好事。要实现完美的、环绕式的增强现实,还需要更多的研究和技术进步。
📐 平面检测与物体识别:理解环境的关键
最后的关键概念是平面检测和物体识别。理解这些概念有助于你明白当前AR设备如何工作。
以下是平面检测的一个例子:
- 使用Google的测量应用时,应用会识别并可视化检测到的平面(如桌面、地板或屏幕)。
- 它能理解这些表面的方向(法线),并将这些信息绘制到AR视图中,这是良好设计的体现。
在物体识别方面,以Google Lens为例:
- 它不仅能翻译文本,还能检测物体。例如,用摄像头对准一个设备轮子,它能识别出轮子的类型。
- 如果计算机能够理解用户周围存在哪些物理对象,AR体验就能变得更加有意义。这种对我们周围环境的语义理解,目前仍是技术创新的关键障碍之一。
- 这涉及到让计算机像人一样“看见”并理解世界(即计算机视觉和机器学习),对物体进行语义标注(例如识别出“这是一把椅子”,甚至是什么类型的椅子)。虽然我们已经看到一些早期应用(如iPad能检测人物以实现内容遮挡),但真正全面的语义理解尚未实现。
📝 课程总结
本节课中,我们一起学习了AR的核心概念。我们从AR的特性出发,深入探讨了几个关键术语及其背后的算法,包括SLAM、视觉惯性里程计、追踪与配准、视野的限制,以及平面检测与物体识别的重要性。


理解这些概念至关重要,它能帮助我们更好地把握现有技术的能力与局限。然而,一旦这些局限被突破,我们可能会进入一个截然不同的世界,并引发关于技术伦理、隐私和安全的新讨论,这些内容我们将在本专项课程的后部分进行探讨。
016:增强现实关键技术 🚀


在本节课中,我们将学习构成现代增强现实体验的核心技术。我们将逐一探讨这些技术,并通过实际演示来理解它们如何协同工作,创造出沉浸式的AR内容。
标记跟踪 📍

首先,我们来看标记跟踪技术。这是一种通过识别特定图案(标记)来确定设备在空间中位置和方向的方法。
以下是其工作原理的简要说明:
- 识别:设备摄像头检测到一个预定义的标记(例如一张印有特殊图案的纸)。
- 计算姿态:系统计算出标记相对于摄像头的位置(
x, y, z坐标)和旋转角度(roll, pitch, yaw)。 - 叠加内容:虚拟物体被准确地叠加在标记所在的位置上。
标记跟踪是AR原型的绝佳工具,因为它快速、可靠,并且标记可以设计成各种样式,甚至融入环境或像二维码一样包含链接信息。
运动跟踪 🏃♂️
上一节我们介绍了需要外部标记的跟踪技术,本节中我们来看看无标记的运动跟踪。这项技术让智能手机或头戴设备等设备能够理解自身在三维空间中的位置,而无需依赖外部标记。

其核心是SLAM(即时定位与地图构建) 或视觉惯性里程计。设备通过摄像头和运动传感器(如陀螺仪、加速度计)持续分析周围环境,识别特征点,并估算自身的运动轨迹。这使得用户可以在空间中自由移动,同时虚拟内容能稳定地“锚定”在现实世界中。

人体与骨骼跟踪 👤

为了创造更丰富的交互,AR系统还需要理解环境中的人。这就是人体与骨骼跟踪技术的用武之地。
这项技术通常使用深度摄像头(如Kinect)来实现。它可以实时检测人体,并估算出关节位置,从而构建一个虚拟的骨骼模型。这不仅用于跟踪动作,还能进行实时的三维人体重建。理解人体对于实现虚拟物体与人的正确遮挡关系(例如,你的手应该挡住虚拟物体)至关重要。

空间映射与场景理解 🗺️

现在,我们已经能让设备理解自身运动和环境中的人。接下来,我们需要让设备理解环境本身。这就是空间映射与场景理解。
空间映射是指设备(如HoloLens)实时扫描周围环境,并生成一个三维网格(或点云)。这相当于创建了物理世界的数字副本。有了这个三维网格,系统就能实现虚拟物体与现实物体之间逼真的物理交互和遮挡效果。
然而,仅有几何结构还不够,设备还需要场景理解。这意味着系统要能识别出这个三维网格中的具体物体是什么,例如地板、墙壁、桌子、椅子等。目前,移动平台(如ARKit)已能进行一定程度的平面检测和语义标注(识别出“地面”、“座椅”等),这是让AR内容智能交互的关键一步。
投影映射 🎥
除了头戴式和移动式AR,我们还有空间增强现实,其代表技术就是投影映射。
投影映射使用投影仪将图像或动画投射到物理物体(如墙壁、雕塑)的表面。通过预先校准和几何校正,可以使投影内容完美贴合不规则表面,创造出物体本身在变化的幻觉。结合运动跟踪(如用Kinect追踪观众),还可以实现交互式投影体验,让用户无需佩戴任何设备就能与增强内容互动。
光线估计 💡
最后,为了让虚拟物体看起来真正属于现实世界,一个关键因素是匹配环境的光照条件。这就是光线估计的作用。

设备(如手机)上的环境光传感器可以检测当前位置的亮度。系统需要据此估算出虚拟物体所在位置的光照情况,并相应地调整虚拟物体的渲染亮度、阴影和高光。这样,虚拟物体在明亮环境下不会显得太暗,在昏暗环境下也不会显得过亮,从而更好地与环境融为一体。

本节课中,我们一起学习了增强现实的六大关键技术:从基础的标记跟踪,到实现无标记自由的运动跟踪,再到理解用户的人体跟踪。接着,我们探讨了让设备感知环境的空间映射与场景理解,并了解了无需头显的投影映射技术。最后,我们认识了提升虚实融合真实感的光线估计。将这些技术组合起来,就能构建出沉浸而逼真的增强现实体验。
017:VR与AR对比分析 📊


在本节课中,我们将学习如何为项目选择合适的扩展现实技术。我们将探讨VR与AR的核心差异,分析各自的适用场景,并构建一个实用的决策树来指导技术选择。
概述
上一节我们介绍了VR与AR的基本概念和技术细节。本节中,我们将深入探讨如何在实际项目中做出明智的技术选择。我们将分析VR与AR各自的优势、局限性和适用场景,并构建一个决策框架来帮助您回答“何时选择VR,何时选择AR”这一关键问题。
VR的理想应用场景 🥽
VR技术最适合以下类型的体验:
以下是VR技术表现突出的几个关键领域:
- 丰富的视觉元素:VR能提供沉浸式的3D视觉环境,让用户感觉被内容包围。
- 3D空间交互:用户可以在虚拟空间中自由移动、观察并与3D对象进行交互。
- 物理/直接操作:通过控制器或手部追踪,用户可以直接操控虚拟物体。
- 无限尺度的交互:VR允许创建极大或极小的虚拟对象,用户仍能通过移动和观察来理解和交互。公式表示为:
交互尺度 ∈ (0, +∞)。
AR的理想应用场景 📱
AR技术则在以下场景中表现出色:
以下是AR技术最具优势的应用方向:
- 适量的视觉元素:AR将虚拟内容叠加在现实世界上,而非完全替代。
- 3D空间与物理操作:与现实世界结合的3D交互同样有效,有时甚至更直观。
- 1:1比例的交互:AR最擅长展示与现实物体等大(或稍大)的虚拟内容,例如家具摆放预览。公式表示为:
交互尺度 ≈ 1。
VR的不适用场景 ⚠️
在以下情况中,VR可能不是最佳选择:
以下是VR技术面临挑战或效果不佳的场景:
- 大量非视觉元素:如果体验主要依赖音频、触觉或其他感官,VR的视觉沉浸优势无法发挥。
- 大量文本阅读或输入:在VR中进行长时间阅读或文本输入容易导致疲劳,且目前输入方式仍不够便捷。
- 需要触觉反馈:除非有专门的物理外设,否则在纯虚拟环境中提供精准触觉反馈非常困难。
- 需要连接现实世界:如果应用的核心依赖于对真实环境的感知或交互,VR的封闭特性将成为障碍。
AR的不适用场景 ⚠️
同样,AR技术也有其局限性:
以下是AR技术可能无法满足需求的场景:
- 大量非视觉元素:虽然可能,但纯音频等非视觉主导的AR体验并不常见。
- 大量文本阅读或输入:与VR类似,在移动设备或头显上处理大量文本体验不佳。
- 需要触觉反馈:除非虚拟交互能与真实物体精确对应(例如,手直接触摸真实桌面),否则提供触觉反馈同样困难。
- 与现实世界无关:如果应用内容完全独立于用户所处的物理环境,那么使用AR技术就失去了意义,应考虑VR。
技术选择考量 🛠️
在做出VR或AR的初步决策后,我们还需要考虑具体的技术实现选项。
上一节我们分析了场景适配性,本节中我们来看看具体的技术选型。这包括显示设备、追踪方式和开发工具等多个层面。
显示与追踪技术
- VR显示:从手机盒子(如Cardboard)到高端一体机(如Oculus Quest系列),选择取决于对沉浸感、性能和成本的要求。
- AR显示:涵盖从智能手机、手持设备到头戴式显示器(如HoloLens、Magic Leap)的广阔谱系。
- 追踪技术:需在3DoF(三自由度)与6DoF(六自由度)、Outside-in与Inside-out追踪之间做出选择。同时考虑是否需要手部追踪、眼球追踪或控制器。
AR特有的技术决策
对于AR项目,还需额外考虑:
- 基于标记(Marker-based) vs 无标记(Markerless):这决定了应用如何识别和锚定虚拟内容到现实世界。
- 环境理解深度:仅需检测平面,还是需要生成完整的3D空间网格?后者通常需要深度摄像头(如Kinect、RealSense)。
- 物体追踪:是否需要识别和追踪特定的真实物体?这可以通过预先设置标记、训练机器学习模型来实现。
平台与工具生态
技术选型也离不开对平台和工具链的考察:
- 平台碎片化:VR和AR的设备生态日益复杂,从低端到高端,支持哪些平台直接影响用户体验和开发成本。
- 设计与开发工具:工具链选择广泛。
- 设计端:包括360度内容创作工具、沉浸式VR设计工具等。
- 开发端:例如Unity的AR Foundation、VR交互工具包(XR Interaction Toolkit)、微软的MRTK等框架和SDK。
决策树框架 🌳
综合以上分析,我们可以形成一个初步的决策思路:
以下是指导技术选型的关键问题流程:
- 核心需求是否依赖真实环境?
- 是 -> 优先考虑AR。
- 否 -> 进入下一步。
- 体验是否需要完全沉浸的封闭视觉环境?
- 是 -> 优先考虑VR。
- 否 -> 可能适合轻量级AR或非XR方案。
- 内容交互尺度是否远超或远小于真实人体尺度?
- 是 -> VR更能胜任。
- 否(接近1:1尺度)-> AR更有优势。
- 评估技术限制:对照前述VR/AR的不适用场景清单,检查项目是否存在这些“硬伤”。
- 选择具体技术栈:根据项目预算、目标用户设备和团队技能,确定具体的显示设备、追踪方案和开发工具。
总结


本节课中,我们一起学习了如何对比分析VR与AR技术。我们明确了它们各自理想的应用场景(VR擅长无限尺度的沉浸体验,AR擅长1:1尺度的现实增强),也指出了它们各自的局限。通过引入一个包含显示、追踪、平台和工具的技术选择框架,我们最终构建了一个实用的决策树。这个决策树能帮助您在项目初期,系统地思考并回答“应该选择VR、AR还是其他技术”这一核心问题。记住,最好的选择始终源于对项目目标、用户需求和现实约束的深刻理解。
018:XR技术体系树 🌳


在本节课中,我们将学习如何构建和理解扩展现实(XR)的技术体系。我们将通过一个“技术树”模型,系统地梳理增强现实(AR)与虚拟现实(VR)在显示、追踪、输入和开发工具等方面的核心组件与选择路径。
在绘制决策树之前,我们先来构建一个技术树。我对此进行了一些思考。
我将在左侧列出AR相关技术,右侧列出VR相关技术。首先,我们从显示技术开始讨论,这部分内容会有些重复,因为之前已经介绍过这些显示类型。
😊 接着,我将AR空间(A-Space)按基于标记(Marker-based) 和无标记(Markerless) 来划分,将VR空间(V-Space)按3自由度(3DoF) 和6自由度(6DoF) 追踪,以及由外向内(Outside-in) 和由内向外(Inside-out) 追踪来划分。这些不同组合对应着不同类型的头显设备。
在AR和VR之间,我们通常有一个共同点:需要追踪控制器。至少需要从控制器接收输入。即使是HoloLens也有一个像小点击器一样的控制器。我通常不使用它,而是依赖手势操作。因此,控制器和手部追踪都很重要。
无论是VR还是AR,眼动追踪技术现在在这些头显设备上正变得越来越普及。此外,追踪额外物体通常需要额外的库和工具,但本课程不会深入探讨这部分内容。
在工具方面,我刚刚勾勒出了一个思维模型的雏形,这更多是开发层面的一个版本。从AR.js和Bhorzia(它们主要围绕基于标记的应用开发)到AR Foundation(更侧重于基于智能手机的AR开发,例如ARKit和ARCore),再到MRTK(微软的混合现实工具包,实际上横跨了AR和VR领域,我把它放在中间)。然后,我们还有更偏向VR的开发工具包,包括一些主流头显的SDK以及SteamVR。
这些都是你可以选择的软件开发工具包(SDK)。在绘制这张图时,我实际上在思考两件事。我称之为XR技术树。我想到了像《星际争霸》这样的策略游戏,为了赋予我的单位某些能力,我必须在游戏过程中研究一些科技。让我快速说明一下。
看待这棵技术树的一种方式是:为了最终使用AR Foundation,你必须研究AR技术,选择手持设备,并研究无标记技术,然后你才能真正使用AR Foundation。
😊 另一种路径是,如果你选择AR、手持设备和基于标记的技术,那么你最终可能会使用AR.js或Bhorzia。如果你倾向于使用Unity,你会选择Bhorzia;如果你倾向于A-Frame、WebXR等基于Web的方法,那么你会选择AR.js。这里还有许多其他工具,比如Vuforia,我本可以选择它。
无论如何,这是第一种看待它的方式。
但我构思这张图时想到的第二件事,实际上是电视节目《危险边缘》(Jeopardy!)。为什么这么说呢?如果你了解这个游戏,它的玩法是你看到答案,然后必须提出正确的问题。
😊 所以,如果你看这棵树,这棵树实际上包含了所有答案。但为了利用这棵树,你必须知道如何提出好的问题。《危险边缘》中最厉害的人就是能提出正确问题的人。让我再举个例子。
😊 如果你看到“AR 800”这个提示,它可能会显示“AR Foundation”。那么你应该提出的问题是:“什么是基于无标记、智能手机、手持设备的AR工具包?”然后你可以回答:“是Unity的AR Foundation。”这就是正确答案。
如果你看到“VR 800”的提示,答案是“SteamVR”,那么问题应该是:“什么是头戴式虚拟现实平台,允许你为支持3DoF或6DoF、由外向内或由内向外追踪的HMD进行编程?”基本上涵盖了所有主流头显。那么答案就是SteamVR。
这与另一种情况相反,比如提示是“VR 600”,答案是“Oculus”。你可能会想到Oculus Rift或Oculus Quest。那么问题应该是:“什么是软件开发工具包,允许我为支持6自由度、由内向外追踪的头戴式显示器编程?”你可以看到这里的区别,SteamVR因为跨平台而覆盖了整个VR领域,但它仍然是纯VR。
如果答案是“MRTK”(混合现实工具包),那么问题应该是:“什么是允许我为AR或VR、手持或头戴式、基于标记或无标记、或6自由度虚拟现实头显编程的工具包?”那么答案就是MRTK。因为根据我的经验,我成功地用MRTK为ARCore(智能手机)、HoloLens(头戴式AR)和Oculus Rift S(6自由度、由内向外追踪的头戴式VR)进行过编程。
当你了解所有答案时,就能提出正确的问题,这很有趣。这正是我想通过这棵技术树说明的。这棵树包含了所有答案,其中许多是隐含的。我能相对轻松地建立这些联系,是因为我在这个领域工作了一段时间。
😊 因此,为了在这个领域中导航,我在思考:我们可以像在《危险边缘》中那样提出哪些好问题?



总结



本节课中,我们一起学习了如何通过构建一棵XR技术体系树来系统化地理解扩展现实技术。我们按照AR和VR两大方向,梳理了从显示技术、空间追踪(如3DoF、6DoF、Outside-in、Inside-out)到输入方式(控制器、手部、眼动追踪)以及核心开发工具(如AR Foundation、MRTK、SteamVR)的完整脉络。更重要的是,我们学会了像玩策略游戏或《危险边缘》一样,通过提出正确的问题(例如,“我需要一个支持智能手机无标记AR开发的Unity工具包”),来在这棵“答案之树”中找到最适合自己项目的技术路径。掌握这种“提问”思维,将帮助你在复杂的XR技术生态中做出明智的决策。
019:XR技术决策树 🧭


在本节课中,我们将学习如何为XR项目做出技术决策。我们将介绍一种名为“问题-选项-标准”的分析框架,帮助你系统地思考显示、追踪、导航、交互和协作等关键问题。通过具体的场景分析,你将学会如何权衡利弊,为你的项目选择最合适的技术方案。
动机与目标
上一节我们探讨了各种XR技术,本节中我们来看看如何系统地选择它们。我设计这个额外决策树的动机,是为你提供一个思考框架。
首先,明确我的目标:
- 提供一个系统化、技术上可靠,但无需深厚技术背景的思考框架。
- 提供具体且有代表性的技术选择示例。
同时,需要说明非目标:
- 并非涵盖所有可能的平台、设备和工具。
- 并非提供一个适用于所有项目的通用解决方案。
我的方法是将其视为一个设计空间问题,并引入一种名为“问题-选项-标准”的设计空间分析工具。
理解“问题-选项-标准”框架
“问题-选项-标准”是一个帮助你理清设计思路的工具。它通过提出具体问题、列出可行选项、并依据明确标准进行评估,来辅助决策。
以下是该框架的基本结构:
- 问题:关于具体设计元素的疑问。
- 选项:相互排斥的设计备选方案。
- 标准:可客观评估和权衡的准则。
例如,对于“如何显示某个元素”这个问题:
- 选项A:永久显示。
- 选项B:基于事件或交互触发显示。
评估标准可能包括:
- 用户操作负担:
选项A负担低,选项B负担高。 - 界面简洁性:
选项A可能造成界面混乱,选项B有助于保持简洁。 - 持续反馈:
选项A能提供持续反馈,选项B可能无法提供。
通过权衡这些标准,你可以根据项目具体情况做出最佳选择。选定一个选项后,可能会引出新的问题(例如“如何让它出现?”),从而形成层层递进的决策树。
核心决策领域与评估标准
现在,让我们将QOC框架应用到XR的几个核心决策领域。以下是XR项目中常见的关键问题及其对应的选项和通用评估标准。
显示技术选择
问题:如何显示内容?选择何种显示技术?
以下是主要的显示技术选项:
- 头戴式设备:VR头显、AR眼镜。
- 手持设备:智能手机、平板电脑。
- 屏幕空间:2D界面(如手机AR)、360度视频。
- 世界空间:内容锚定在真实世界中的固定位置。
- 跟随模式:内容随用户视角移动(如Hololens或Oculus的主菜单)。
评估这些选项时,可以考虑以下标准:
- 用户熟悉度:用户是否容易上手?
- 用户舒适度:包括人体工学和可用性。
- 用户移动性:用户需要坐着还是可以走动?是否考虑无障碍访问?
- 用户负担:需要用户佩戴或携带多少设备?
- 环境要求:需要对环境进行多少改造或部署?
- 显示特性:屏幕尺寸、分辨率、视场角、刷新率。
- 设备要求与成本:是否需要特殊或昂贵的设备?
追踪技术选择
问题:如何追踪用户或物体?
以下是主要的追踪技术选项:
- 自由度:3DoF(仅旋转) vs. 6DoF(旋转+平移)。
- 追踪方式:由内向外追踪、由外向内追踪。
- 基准类型:基于标记点、无标记点、基于面部、基于身体。
评估这些选项时,可以考虑以下标准:
- 用户/环境负担:是否需要用户佩戴标记,或在环境中布置传感器?
- 环境限制:是否有物理空间或照明条件的约束?
- 设备要求与成本:是否需要特定或昂贵的硬件?
导航(移动)方式选择
问题:用户如何在虚拟内容中移动(导航)?
以下是主要的导航方式选项:
- 真实行走。
- 重定向行走。
- 瞬移。
- 菜单选择。
评估标准与显示和追踪技术类似,需特别考虑移动自由度、舒适度(防晕动)和环境空间要求。
交互(操控)方式选择
问题:用户如何操控虚拟内容?
以下是主要的交互方式选项:
- VR控制器。
- 徒手交互。
- 语音控制。
- 眼动控制。
- 基于标记的物理道具。
评估时需考虑交互精度、自然度、学习成本以及额外的传感技术要求。
协作模式选择
问题:如何支持多用户协作?
协作可以从两个维度考虑:
- 空间维度:
同地协作vs.远程协作。 - 时间维度:
同步协作vs.异步协作。
评估时需考虑网络要求(延迟、带宽)、数据存储需求(用于异步协作)以及用户体验的一致性。
场景应用示例
掌握了框架和核心领域后,我们通过具体场景来看看如何应用。
场景一:家居装饰AR应用
背景:一家人聚在一起,使用各种AR设备商讨如何装饰客厅。
关键问题:如何实现追踪?
选项分析:
- 选项A:基于标记的追踪。
- 选项B:无标记追踪。
评估与决策:
| 评估标准 | 基于标记追踪 | 无标记追踪 | 决策倾向 |
|---|---|---|---|
| 设备兼容性 | 适用于任何有摄像头的设备。 | 需要特定设备支持(如ARKit/ARCore)。 | - |
| 环境负担 | 需要在空间中放置标记。 | 无需改造环境。 | 支持B |
| 移动自由度 | 受限于标记必须在摄像头视野内。 | 用户可自由移动。 | 支持B |
| 基于评估,在此场景下可能更倾向于选择无标记追踪,因为它提供了更大的移动自由且无需准备标记。 |
场景二与三:公共空间中的XR
场景A(教室):老师想展示太阳系,学生使用各种AR设备观看。
场景B(会议室):团队在会议室协作,共同查看和操作AR内容。
需要思考的问题:
- 显示:是每人一个视图,还是共享一个公共视图?
- 追踪:使用标记还是无标记?标记放在哪里?如何为所有用户工作?
- 协作:如何确保所有人都能看到并指向同一内容?能否支持VR用户加入?
- 环境:用户大多是坐着的,这对技术选择有何影响?
这些场景涉及更多权衡,例如共享视图可能降低个人设备要求,但会牺牲交互的个性化。
总结与练习

本节课中,我们一起学习了如何运用“问题-选项-标准”框架来为XR项目构建技术决策树。我们探讨了在显示、追踪、导航、交互和协作等核心领域如何提出关键问题、列出可行选项,并依据客观标准进行评估与权衡。
记住,没有放之四海而皆准的“最佳”方案,只有最适合特定项目目标、用户需求和上下文约束的选择。最好的决策来自于系统化的分析和清晰的权衡。

我邀请你将这些知识付诸实践:选择一个XR场景,尝试构建你自己的决策树。提出关键问题,脑暴各种选项,并定义你的评估标准。这是一个绝佳的方式来巩固所学,并为你的项目规划打下坚实基础。
020:XR技术选型练习


在本节课中,我们将通过一个实践练习,学习如何为不同的应用场景选择和推荐合适的扩展现实技术。我们将采用一种系统化的分析方法,帮助你理解在XR项目决策中需要考虑的各种因素。
上一节我们介绍了XR技术的整体框架,本节中我们来看看如何将这些知识应用于实际场景的决策。
练习概述
我们的任务是:为给定的场景推荐合适的XR技术。你需要从四个场景中选择一个进行分析。以下是具体的操作步骤:
- 首先,浏览所有四个场景,并选择一个你感兴趣的。
- 沿着“现实-虚拟连续体”的谱系,考虑所有可能的技术实现方式。
- 回顾“XR技术树”,收集所有可行的技术选项。这些选项将构成我们后续“问题-选项-标准”分析的一部分。
- 深入思考并列出关键问题。确立评估标准,并尽可能系统地进行QOC分析。
- (可选)选择另一个场景进行QOC分析,并比较不同方案。
对于大多数场景,通常存在多种实现方式,没有绝对的对错。你在技术树中做出的每个选择,都会对用户覆盖范围、体验、项目规模和范围产生影响。
练习目标
通过完成这个练习,你将能够:
- 学习一种基于场景的技术选型方法,这是人机交互领域常用的决策思维方式。
- 更清楚地知道在为客户做推荐时应该提出哪些关键问题。
- 建立一个更全面的决策评估标准列表,虽然不完整,但可以作为未来决策的基础。
场景介绍
以下是四个供你分析的场景描述。
场景一:家居装饰
这个场景可能涉及协作解决方案,并侧重于增强现实领域。用户希望预览不同的家居装饰效果,例如更换地毯、家具或墙面装饰。
你需要思考:应该使用哪种技术?需要考虑哪些标准?有哪些可选方案?应该提出哪些关键问题?
场景二:客厅游戏
这个场景仍然发生在客厅,但焦点是玩游戏。这是一个协作游戏,可能涉及多种技术。图中展示了空间AR、可穿戴AR头显和手持AR设备。
需要考虑的是:如果你想支持玩家进行游戏,而这些玩家可能在同一房间,也可能在不同地点,这是否会影响你的技术选择?远程协作可能需要额外的技术支持。
场景三:课堂讲座
这个场景中,一位教师或讲师在前方讲解,例如介绍太阳系,并展示行星模型。他们希望学生能够通过某种AR或VR技术来观察。
你可以考虑AR方案,也可以思考完全使用虚拟现实的版本是否会更简单。本场景的核心目标是让讲师能够讲解,并让教室里的学生通过AR或VR版本进行观察。
场景四:团队会议
这个场景涉及的人数较少,但协作性更强。可以考虑使用VR和AR设备,主要是头显,但也可以探索如何利用手持AR设备甚至空间AR来实现。
会议中可能存在物理资产,比如海报,你可能希望将信息投影到物理对象上;图中的骨架模型也可能是完全虚拟的。你可以自由解读这个场景,目标是提出你认为最佳的实施方案。
分析方法指导
在分析时,请考虑整个技术谱系,即“现实-虚拟现实连续体”上的所有显示技术,而不仅仅是图中明确展示的。广泛探索你在AR和VR概念与技术课程中学到的所有内容。
具体分析方法上,我建议你采用系统化的“问题-选项-标准”分析框架。
以下是QOC分析的一个示例,它主要关注用户界面设计:
- 问题:列出关于场景中特定设计元素的问题。
- 选项:针对每个问题,列出设计备选方案。寻找对立的选项,而不仅仅是相关的。
- 标准:建立可以客观评估和权衡的标准。
- 决策:基于这些标准做出最终推荐。
例如,在为不同显示技术布局选项时,可以考虑用户熟悉度、舒适性、移动性、设备要求等标准。

我强烈鼓励你遵循QOC分析来更系统地进行技术推荐。这可能感觉有些繁琐,但这很重要。只有当你完整地走过这个过程,你才能在未来知道哪些步骤可以简化,哪些步骤在特定项目中至关重要。
这种方法将训练你的思维,帮助你建立更接近设计思维的思考模式,这对于我们如何塑造XR空间非常有用。
我希望你能享受这个练习,并期待看到你提出的有趣技术方案。这个练习旨在帮助你更好地驾驭整个XR技术设计空间,理清所有可做的选择。

本节课中我们一起学习了如何通过系统化的QOC分析方法,为具体的XR应用场景进行技术选型。我们分析了四个不同的场景,并探讨了在决策过程中需要考虑的关键问题、可行选项和评估标准。掌握这种方法将帮助你在未来的XR项目中做出更明智、更全面的技术决策。
021:IEEE VR 2020虚拟参会实践 🎮


在本节课中,我们将跟随讲师的实际体验,了解如何在虚拟现实中参加一场关于虚拟现实的学术会议。我们将看到具体的参会流程、互动方式,并分析这种新型会议形式的优缺点。
概述
这段视频记录了讲师参加2020年 IEEE 虚拟现实会议(IEEE VR)的完整过程。该会议原定于亚特兰大举行,后因疫情转为线上虚拟会议。讲师使用 Mozilla Hubs 平台,以虚拟形象参会,并分享了从登录、探索、社交到听报告的完整经历。本节内容将作为我们探讨虚拟社交、会议设计与可访问性等议题的实践案例。
虚拟参会初体验
上一节我们介绍了课程背景,本节中我们来看看讲师是如何开始他的虚拟会议之旅的。


首先,讲师需要登录会议网站并选择自己的虚拟形象。这个过程本身就很有趣:就像参加实体会议前需要挑选正装一样,在虚拟会议中,你需要为自己选择一个虚拟化身(Avatar)。
// 概念上,选择化身是一个设置用户表示的过程
user.avatar = selectAvatar(avatarOptions);
随后,讲师进入由 Mozilla Hubs 构建的虚拟会议空间。他最初的体验包括探索不同的“房间”、寻找演讲厅以及尝试与虚拟环境互动。即使是虚拟现实,一些设计问题依然存在,例如虚拟楼梯难以行走,这提醒我们可访问性(Accessibility) 在虚拟空间设计中同样至关重要。
会议中的探索与社交
在熟悉环境后,讲师开始尝试会议的社交功能,这模拟了现实会议中的咖啡休息环节。
以下是讲师在虚拟咖啡角尝试的一些互动:
- 尝试发起对话:讲师试图以茶和咖啡的话题开启聊天。
- 与学生会合:讲师与他的学生Schweda在虚拟空间中会面,并一同探索。
- 遭遇技术问题:他们遇到了常见的音频问题,Schweda一度听不见声音,这反映了远程协作中普遍存在的挑战。
在探索过程中,发生了一些有趣的插曲。例如,讲师和他的学生无意中站在了虚拟空间的同一位置,导致彼此“看不见”对方,这是一种在现实世界中不会发生的奇特体验。讲师还尝试使用虚拟激光笔等工具与海报互动,这些工具增强了演示和讲解的体验。
对虚拟会议体验的反思
在体验了多日的虚拟会议后,讲师对整体经历进行了批判性总结。这与参与传统实体会议的体验既有相似之处,也有显著不同。
积极的方面包括:
- 更高的参与度:线上形式吸引了比往年更多的参会者。
- 创新的海报环节:虚拟现实中的海报展示变得格外引人入胜,学生和年轻研究员得到了更多关注。
- 多元的参与渠道:组织者提供了VR(Mozilla Hubs)、Twitch直播、Slack聊天等多种参与方式,兼顾了包容性。
面临的挑战与问题包括:
- 注意力分散:多个并行的交流渠道(如VR空间与Slack)容易分散参会者的注意力。
- 社交体验差异:通过虚拟化身互动,无法进行真实的眼神交流或读取面部表情,社交深度受限。
- 隐私与礼仪问题:在虚拟公共空间中录制影像的伦理边界模糊,且存在他人麦克风未静音等干扰。
- 与现实生活的整合:在不同时区参加虚拟会议,需要协调虚拟活动与线下现实工作,具有一定挑战性。
核心问题在于,虚拟现实会议在努力模拟(Simulate) 现实体验的同时,也复刻(Replicate) 了现实会议中的许多问题,甚至引发了一些新的问题。
总结

本节课中,我们一起学习了以第一视角体验虚拟现实学术会议的全过程。我们看到了从选择化身、探索场景到学术交流的具体步骤,也深入分析了这种形式在提升参与度、创新展示方式方面的潜力,以及在社交深度、技术稳定性、隐私伦理和可访问性方面面临的持续挑战。这次实践表明,扩展现实技术为远程协作和活动提供了新的可能,但其设计与应用仍需充分考虑人性化体验与实际需求。
022:XR发展趋势第一部分


在本节课中,我们将探讨扩展现实(XR)领域的发展趋势。我们将尝试展望未来,看看技术将走向何方,并讨论其中涉及的一些问题。本节课主要侧重于前景展望,关于具体挑战的深入讨论将在后续课程中专门进行。现在,让我们先来窥探一下XR的未来。
建立参考框架:人、任务与技术三角模型
在探讨趋势之前,首先建立一个参考框架或坐标系非常重要。作为一名人机交互研究者,我倾向于从三个主要实体来思考:人、任务和技术。
我在此使用了一个由我同事马克·纽曼(Mark Newman)改编的三角模型图示,我非常喜欢它。它将“人”置于三角形的一角,而“任务”和“技术”则分别位于另外两个角。
这个模型的趣味在于,我们可以探索这三个实体之间的关系。人机交互领域(我的研究方向)的核心问题通常是:我们如何利用对用户、其任务以及技术能力的理解,来设计更好的系统? 这是一个设计问题,同时也涉及技术视角。
这个三角模型的每一“边”都代表了一个值得探索的关系领域。
上一节我们介绍了分析XR趋势的三角模型框架,本节中我们来看看这个模型的第一条边:人与任务的关系。
从“人”的角度看趋势
从“人”的角度出发,我们关注用户本身及其互动方式的变化。以下是当前观察到的一些趋势:
- 从单用户到多用户再到社会化体验:目前,XR体验多为单人模式。用户戴上头显,进入独立的世界。但多用户体验正在增多,这些用户通常是远程的。下一步将是社会化XR,即大量用户在公共场合使用XR设备进行互动。虽然社会可能尚未完全准备好接受这一点,但合适的设备形态和技术将推动其实现。
- 从健全用户到普适包容性设计:当前技术主要面向身体健全的用户。未来的趋势是服务于所有用户,包括有特殊需求或存在障碍的用户。障碍也可能是情境性的,例如在自行车或汽车上使用AR/VR设备,会带来显著的操作限制,使健全用户也面临挑战。目前大多数XR体验在此类情境下难以安全使用。
从“人”的角度我们看到了用户群体和互动模式的变化,接下来,让我们从“任务”的角度审视XR应用场景的演进。
从“任务”的角度看趋势
“任务”指的是用户使用XR技术完成的活动或场景。当前的设计思路正在不断拓宽:
- 应用场景的扩展:目前,XR设计主要针对特定、受限的环境,例如坐姿或桌面AR体验、站立式或房间规模的VR体验。我们开始看到一些移动中的场景支持(如在火车或飞机上)。像《Pokemon Go》这样的世界规模AR游戏已经出现,允许用户在公共场合游戏和互动。未来,任务支持将扩展到更大规模。
- 支持跨场景的任务连续性:未来,应用将能够支持更广泛的上下文环境,而不仅仅是传统的桌面或房间环境。用户可以自由选择在桌面、房间甚至不同地点之间切换并继续同一任务。例如,一个任务可以从桌面开始,无缝过渡到整个房间,甚至延续到邻居家。这需要技术进步,也需要在设计中赋予用户更多控制权。
了解了任务场景的扩展方向后,支撑这些体验的技术本身也在经历深刻的变革。最后,我们从“技术”的角度来观察核心趋势。
从“技术”的角度看趋势
从技术演进来看,可以观察到三条主要趋势线:
-
趋势一:从有线到独立,再到内置集成
- 早期因计算需求,设备多为有线连接。
- 随后出现独立的专用设备,如Oculus Quest或HoloLens。
- 当前趋势是将XR技术(尤其是AR)内置集成到现有设备中,如智能手机、平板电脑,未来甚至包括机器人。更多传感器(如LiDAR)正变得普及和廉价。
-
趋势二:从硬件到软件,再到云端计算
- 早期依赖专用硬件(如Google Tango的深度摄像头)。
- 转向软件解决方案(如ARKit和ARCore),利用算法实现类似功能。
- 未来趋势是云端计算与渲染。将传感数据发送到云端,由强大的服务器集群进行复杂计算和高保真渲染,再将结果流式传输回设备,以实现本地设备无法达到的图形质量。

- 趋势三:从单一现实模式到跨现实应用
- 目前应用多为纯粹的AR应用或VR应用。
- 未来,更多应用将根据具体任务的优势,同时集成AR和VR模式。用户可以根据偏好、上下文和当前任务,在应用内无缝切换AR与VR体验。这种能力可称为“跨现实”,它能让XR技术更灵活地支持各种生产力场景。
总结


本节课中,我们一起学习了如何从人、任务和技术三个角度分析XR的发展趋势。我们看到,用户体验正朝着社会化和普适包容发展;应用场景在不断扩展并追求跨场景连续性;而技术则沿着集成化、云端化和跨现实融合的方向演进。理解这些趋势有助于我们把握XR领域的未来方向,并为设计和开发下一代XR体验做好准备。
023:XR发展趋势第二部分 🚀


在本节课中,我们将深入探讨XR领域的三大技术发展趋势,并了解这些趋势如何从硬件、软件和应用层面塑造XR的未来。
上一节我们介绍了从人员、任务和技术角度观察XR趋势的框架。本节中,我们将重点展开分析技术层面的具体趋势。
趋势一:从有线到独立,再到集成式设备 🔌➡️🎧
XR设备的发展经历了从有线连接到独立运行,再到集成化的过程。
以下是该趋势的具体演变阶段:
- 有线VR头显:发展初期以Oculus Rift和HTC Vive为代表,需要连接高性能电脑。
- 智能手机AR:随后出现了基于智能手机的AR体验,例如Google Cardboard、GVR和Daydream。如今,Google和Apple通过ARCore和ARKit平台继续推动手机AR的发展。
- 独立VR头显:以Oculus Go和Quest为代表的新浪潮。它们是独立的移动计算机,需要充电,但无需连接外部设备。
- 集成式AR/VR能力:最新的趋势是将XR功能集成到日常穿戴设备中。早期例子包括Snap的Spectacles和North的Focals。Spectacles更像一个头戴式相机,而Focals被Google收购,其发展路径类似早期的Google Glass,目前AR功能有限。未来,我们预计会看到更多集成XR功能的智能眼镜甚至隐形眼镜。


趋势二:从硬件到软件,再到云端 ☁️
XR的实现方式正从依赖专用硬件,转向以软件和云计算为核心。
以下是该趋势的具体表现:

- 专用XR硬件:例如Google Glass、Tango项目、Kinect以及动作捕捉服。这些硬件在XR乃至电影制作等领域都有应用。
- 软件化XR:趋势转向基于软件的XR解决方案,例如ARKit和ARCore。同时,出现了大量与此相关的软件框架,例如用于人体姿态和手势识别的OpenPose、PoseNet和BodyPix。
- 云端XR:最终趋势是向云端迁移。微软将广受研究人员欢迎的Kinect技术以Azure Kinect的形式重新带回,作为一个深度摄像头,将大量的图像处理和语义理解工作放在云端完成。HoloLens也支持远程渲染。另一个例子是Niantic(《Pokemon Go》的开发商)收购了专注于用智能手机进行3D场景重建的初创公司6D.ai,这预示着未来可能通过众包方式在云端构建庞大的3D世界地图。
上一节我们探讨了设备形态和实现方式的演变,接下来我们看看应用层面的融合趋势。


趋势三:从独立应用到融合模式,再到跨现实体验 🔄
XR的应用形态正从独立的AR或VR应用,发展为应用内的特定模式,并最终走向支持用户在AR与VR之间无缝切换的跨现实体验。
以下是该趋势的具体案例:
- 独立XR应用:例如VR社交应用AltspaceVR或Second Life,AR家具摆放应用IKEA Place和Wayfair。Google Earth VR和Google Lens也是典型的专用VR和AR应用。
- 应用内的XR模式:越来越多的应用开始集成XR功能作为其特性之一。Snapchat本质上是一个通讯应用,但其集成了各种AR“镜头”作为娱乐和内容创作工具。亚马逊购物应用也加入了AR产品预览功能。
- 跨现实体验:最前沿的趋势是支持根据任务上下文和用户偏好,在AR与VR之间平滑过渡。Google地图整合了街景(VR)和实时视图(AR),让用户能以混合现实的方式探索世界。Google搜索在特定关键词下也提供AR预览功能。Spatial是一个支持用户通过不同设备(VR或AR头显)进入同一虚拟会议空间的跨现实应用。此外,学术界也在探索相关方向,例如与Mozilla合作研究的XR浏览器项目,旨在探索如何在网页浏览中自然地过渡到沉浸式体验。


本节课中我们一起学习了XR技术发展的三大核心趋势:设备日益轻便集成化,实现方式转向软件与云端,应用体验走向融合与跨现实。这些技术进步在带来更强大、更便捷体验的同时,也引入了新的挑战,例如数据隐私、云端安全、算法偏见以及技术与社会更深度交织所引发的伦理问题。理解这些趋势有助于我们更好地预见和思考XR技术的未来发展方向及其广泛影响。
024:XR关键议题 🎯


在本节课中,我们将探讨扩展现实(XR)领域面临的一系列关键议题。我们将超越技术本身,审视其设计、技术、用户采纳以及更广泛的社会伦理影响,帮助你建立一个全面的批判性视角。
上一节我们介绍了XR的概念与技术趋势,本节中我们来看看这个领域面临的实际挑战与问题。
技术层面的挑战 🛠️
尽管XR技术发展迅速,但仍面临诸多技术挑战。以下是几个核心的技术议题。
平台碎片化
平台碎片化是一个显著问题。目前市场上有众多不同的XR设备,且少数关键供应商试图以各自的方式控制市场。这导致了与过去(乃至现在)移动设备领域相似的问题。
核心问题:对于开发者或设计师而言,用户使用的是Android类设备还是iOS类设备至关重要。大多数情况下,你必须为每个平台创建特定的应用程序。在XR领域情况类似。虽然现在有一些跨平台解决方案,但供应商特定的设备SDK仍然存在,它们能提供最新功能的访问权限,而这些功能需要时间才能整合到Unity、Unreal甚至WebXR等通用解决方案中。
设备局限性
许多XR设备目前功能仍相当有限,经常被过度宣传。许多宣传视频中存在大量过度承诺,这本身就是一个问题。我们在推广这些技术时并不总是诚实的。
真实感与交互
我们在真实感方面正在取得进展,开始体验到临场感。许多体验具有明确的沉浸感。我们在支持自然交互(如手势和语音等基于身体的交互,而非鼠标键盘等间接交互)方面也相对较好。我们拥有大量直接操作方式,虽然仍有控制器,但感觉也相对自然。
空间映射与物体识别
我们在空间映射方面也取得了良好进展。这更多是增强现实(AR)世界的重点,即映射用户周围的环境以增强体验。在虚拟现实(VR)方面,我们同样需要做得更好。Oculus已经开始展示能识别房间内障碍物的功能,因为在VR环境中,障碍物不仅会破坏用户体验,实际上也非常危险。
物体识别能力也在提升。我们现在有更多的语义理解能力。我们知道我身后的是一面墙,这可能是一个架子。但更复杂的识别,例如判断一个物体是否危险,或者计算其轨迹和速度以警告用户,目前这些技术尚未完全内置到现有设备中。
VR特定挑战:触觉与移动
在VR方面,我们在触觉反馈上取得了相当好的进展。市面上有多种控制器,例如类似外骨骼的手套,它们能附着在身体部位并提供触觉反馈(类似于力反馈),让你在虚拟现实中触摸物体时有真实感。
在移动方面,我们现在拥有六自由度(6DoF)内向外追踪技术,无需在环境中放置任何外部传感器。我们在重定向行走等更先进的技术上也取得了进展,这使我们能在较小的物理空间内创造更大的虚拟体验,本质上是通过巧妙地欺骗用户的感官来实现,且不让用户察觉。
增强现实(AR)的特定挑战 👓
现在我们来具体谈谈AR。感知是指所有与我们在观看AR界面时如何感知事物相关的议题。
遮挡
遮挡是一个非常重要的问题。显然,如果一个虚拟物体在我身后,我的身体应该遮挡它,就像我的身体会遮挡我身后的真实椅子或其他任何东西一样。如果这些是虚拟物体,它们显然应该像在物理世界中一样做出反应。
光线估计
感知方面的另一个大问题是光线估计。为了让增强现实内容看起来像是真实世界的一部分,我们需要弄清楚那里(与这里相比)的光照条件,并设置合适的主光和补光,这可能会非常不同。我们需要想办法让内容融入环境,本质上是为了解决一些感知问题。
场景理解
最后是场景理解。我认为这是我们取得大量进展的领域,因为这是目前机器学习与AR(如计算机视觉)令人兴奋的交汇点。其理念是计算机可以观察事物并真正理解它们看到的是什么。例如,识别我身后是一面墙,我坐在椅子上,我是一个人。人物分割就属于这一范畴,我们正在取得进展。
场景理解本质上是空间映射和物体检测识别之上的语义层,这非常困难。你可能认为我们在绘制世界地图方面取得了很大进展,这在外界是事实,但室内定位和地图绘制一直是个问题。对于AR,我们很多人在家中等更私密的环境中使用这些技术。场景理解涉及大量计算,问题在于这些计算发生在哪里。这引发了各种问题。
更广泛的社会与伦理关切 🤔
以上只是技术问题。我们还应该关注一些更广泛的关切,包括伦理和社会关切,以及可访问性与公平性、隐私与安全等重大议题。
伦理与社会关切
这包括你个人可能持有的伦理关切,也包括在更公共的场合使用这些技术时所引发的社会关切。例如,如果有人戴着虚拟现实头显走进咖啡馆,你会怎么想?或者,如果飞行员说:“大家好,这是飞往西雅图的航班,欢迎各位登机。顺便说一下,这是我第一次实际飞行,之前我只在虚拟现实中接受过训练。”虽然我们已经有飞行模拟器,但你会信任那位飞行员吗?这些都是我们必须认真关注和思考的有趣问题。
可访问性与公平性
这是一个巨大的议题类别。可访问性指的是,有些人通常受益于屏幕阅读器和其他软件,以使应用程序和用户界面对他们更易访问。而在AR/VR领域,我们目前做得还很差,基本上排除了整个重要的用户群体。这让我非常困扰,因为它也直接影响了整个教学体验。
公平性显然也是一个问题。大多数这些技术仍然非常昂贵,与之相关的高成本不仅在于设备本身(如果你能负担得起400到500美元),还包括学习所有这些知识、设置设备等额外成本。例如,如果我想教一门课,并说“让我们一起在AR或VR中看看这个”,我该怎么做?目前大多数环境实际上都没有配备这些设备。
隐私与安全
这是一个无处不在的重大议题类别。隐私和安全问题非常突出。
总结 📝



本节课中,我们一起探讨了扩展现实(XR)领域的关键议题。我们从技术挑战(如平台碎片化、设备局限性和感知问题)入手,进而审视了更广泛的社会与伦理关切,包括用户采纳、可访问性、公平性以及至关重要的隐私与安全问题。理解这些议题对于负责任地设计、开发和采用XR技术至关重要。在接下来的课程中,我们将通过具体案例进一步深化对这些问题的思考。
025:核心议题与思考


在本节课中,我们将探讨扩展现实(XR)技术发展与应用过程中所面临的伦理与社会关切。我们将聚焦于几个核心问题,并思考如何以负责任的方式推动XR技术的发展。
上一节我们介绍了XR技术的基本概念,本节中我们来看看在设计和应用XR时需要考虑哪些重要的伦理与社会议题。
如何促进合乎伦理与负责任的XR设计?🤔
第一个重要问题是:如何促进合乎伦理与负责任的XR设计?这个问题至关重要,它源于与同行及该领域其他设计师的多次讨论。
目前,当创建一个AR或VR应用时,它会提交到应用商店,可能会经过审核,以确定该应用是否安全可用。然而,应用发布给用户后,我们无法预知其将在何种具体情境下被使用。因此,我们如何建立一套流程与政策来有效管理这些应用,是一个重大的挑战。
如何增强用户对XR应用的控制权?🎮
在伦理层面,另一个我经常思考的重要问题是:如何增强用户对XR应用的控制权?合乎伦理与负责任的设计核心在于透明化并赋予用户控制权,同时确保安全。
观察当前可下载体验的XR应用,它们通常不可定制,只是以某种标准配置运行,其功能上限更多取决于设备技术能力,而非我们是否“应该”使用所有传感器。问题在于,开发者可以访问所有传感器数据。因此,我们如何将控制权交还给用户?例如,如果这意味着开发者无法知晓我家中的所有物品,我可能愿意在追踪精度上做出一些妥协。这显然也涉及到后续将讨论的无障碍访问问题。
社交XR应用中的新规范是什么?👥
社交XR应用中的新规范是什么?这是一个有趣的问题。目前存在许多社交和会议导向的AR,尤其是VR应用。例如,AltspaceVR是一个流行的例子,之前的“第二人生”也围绕它产生了各种有趣的问题。
该领域存在大量议题,骚扰是一个重大问题。如何监管此类行为?是否应该由真人观察他人的行为并做出评判?他们有权监管吗?他们应该可见还是不可见?这里存在各种问题。如果禁止某人使用这些平台,会发生什么?应该禁止吗?禁止的阈值是什么?这些问题都非常棘手。如何追踪身份?如何确保一个人使用某个身份后不会创建另一个身份?这些都是需要面对的挑战。
如何缓解在公共场合使用XR的担忧?🌍
如何缓解在公共场合使用XR的担忧?这对我来说是一个大问题。目前,你带着智能手机走动没有问题,至少法律上可能没问题,但根据你使用的方式,这可能不是最安全或最明智的做法。然而,当你拿出智能手机时,没有人会以异样的眼光看你。
但假设你在公交车站,拿出了VR头显,或者戴上了某种AR眼镜。你认为周围人会怎么想?我们如何缓解这些担忧?目前,一种常见的方式是通过大量广告宣传。我猜想,当苹果推出他们的新款眼镜时,它在视频中会看起来非常酷,并得到大力推广,届时人们可能会接受它,这或许能缓解部分担忧。
但总体而言,这是社会需要解决的问题。我们需要做的是确保处理好其他许多问题,如无障碍性、公平性、隐私和安全性,使其变得安全且可定制。这样,对这些技术的信任度或许会随之提高。另一个重大问题,我马上会提到,是关于收集到的数据如何处理,以及谁有权访问这些数据。我认为“谁”这个问题非常关键。如果你喜欢某家公司,你可能觉得没问题,但对其他人则未必。这确实值得深思。


实例分析:IEEE VR虚拟会议体验 🖥️
现在,让我们快速回顾一个具体实例,以右侧两个议题为例进行探讨。在这个广阔的领域中,给出具体例子很困难,但我们可以快速回顾一下我参加IEEE VR虚拟现实会议的经历。
这是一次有趣的体验,因为很多人知道,这是首批因COVID-19而转为远程的会议之一。显然,这是一个与会者对这些技术充满热情、兴趣并在一定程度上持支持态度的会议。
在社交XR方面,这次经历很有趣。我在VR中遇到了很多人,进行了有趣的讨论,与虚拟化身交谈,感觉有点像在真实的会议上与人见面。这没问题,没有发生奇怪的事情,因为总体上这是一个专业活动。组织者也确保事先提供了大量信息,以真正确保这是一个专业活动。显然,人们参加这些活动时,也带有一定的声誉和责任,所以情况良好。
作为这些VR设备的用户之一,我并没有一直使用它。我看到总体上很多人没有使用VR设备。我不确定这是因为他们对这些技术有特定的担忧,还是仅仅因为当前的设置方式(许多小虚拟现实房间,限制在20人左右)非常繁琐和麻烦。由于带宽和其他问题,很难找到特定的人。这类活动难以扩展规模,这与在现实世界中寻找大型会议场地的问题类似,但在虚拟世界中更易解决,因为我们可以增加计算资源以支持更大的会议和场地。当然,你仍然需要解决一些技术问题。但总体而言,这是一次有趣的经历,确实涉及到我刚才谈到的一些伦理和社会关切。
VR会议另一个值得注意的地方是,虚拟出席率实际上高得多。通常,这个会议的现场出席人数限制在400到800人左右,而这次他们有了更多参与者。我以前从未参加过这个会议的VR版本,因此在很多方面,它对会议的形态和规模产生了有趣的影响。也许是因为参会的门槛相对较低(这次也是免费的),所以吸引了比往常更多的人。但这并不意味着XR技术自动获得了更多的接受度,不应这样解读。有趣的是,将这类活动转移到在线形式,并用相对先进的虚拟现实技术来支持,确实对整个会议的进行方式产生了相当有趣的影响。


本节课中我们一起学习了XR技术面临的几大核心伦理与社会议题,包括如何推动负责任的设计、增强用户控制权、建立社交新规范以及应对公共使用的担忧,并通过一个虚拟会议实例进行了具体分析。理解这些问题是确保XR技术健康、包容且可持续地融入我们生活的关键一步。
026:可及性与公平性


在本节课中,我们将探讨扩展现实(XR)领域中的两个核心议题:可及性与公平性。我们将学习如何让XR技术服务于残障用户,以及如何利用XR增强用户的能力,并思考如何扩大XR技术的使用人群,促进多样性。
如何让XR对残障用户可及?
一个萦绕在我脑海中的重要问题是:如何让XR对残障用户可及?这确实是一个重大问题,也可能是人们最初听到“XR与可及性”时首先想到的。
目前,虚拟现实(VR)体验本质上是视觉主导的,而我们如今设计的增强现实(AR)体验也主要是视觉性的。因此,我们对视障用户的支持相对薄弱,现阶段实际上并未真正为他们设计。如何使其变得可及,这是一个大问题。
该领域的一个项目范例是 Seeing VR。这是微软研究院的一个研究项目,也是一个非常有影响力的人机交互研究。它是一个面向开发者的工具包,用于检查他们的应用程序。开发者可以尝试不同的视觉模拟模式,在一定程度上模拟不同类型的视觉障碍,并据此进行检查,确保以正确的方式调整界面。这是一个工具和努力的绝佳范例,也是一个我们需要看到更多成果的研究方向。
如何利用XR增强用户能力?
可及性实际上包含两个方面:一是如何让XR变得可及;二是如何利用XR来增强用户的能力。这两者略有不同。
现在,我们思考的是如何为目前视力不佳的人提供“视觉”。鉴于其中一些技术已经相当先进,尤其是在AR领域(我们拥有良好的空间映射、物体检测、地理理解能力,并且通过场景理解在语义层也取得了良好进展),我们实际上可以实时告诉用户他们正在看什么。这意味着,你可以为增强现实提供一个“屏幕阅读器”。虽然如何设计它仍然是一个大问题,但这可能非常强大。
在可及性方面,我想分享的一个例子是 IGym 项目,它同时也关乎公平性,因为它能平衡竞争环境,让更多人参与进来。这是我在密歇根大学与同事们合作的项目。IGym 是一个增强现实地板投影系统应用,旨在创建包容性健身房,支持适应性运动,让坐轮椅的儿童可以与其他坐轮椅的儿童(包括手动轮椅)以及健全儿童一起比赛。
我们进行了非常有趣的用户研究。整个研究设计的核心是如何确保公平。我们引入了一些家庭,孩子们带着他们的轮椅和朋友或兄弟姐妹一起来参与。我们以传统的用户研究方式进行,仔细思考了如何对战,其中涉及一些训练,甚至有一个完整的算法来帮助调整系统以进行平衡。
平衡是一个重要问题。实际上,我们并未完全做好平衡,系统有点“过度平衡”了,导致轮椅使用者经常战胜健全儿童。在某些情况下,这反而带来了新的感受,比如健全的孩子可能会想:“这是我第一次被弟弟/妹妹打败。” 这本身也是一种前所未有的体验。
从设计和开发的角度看,这个AR组件相对简单,但产生了很大影响。这也是一个重要经验:有时不需要复杂或超级先进的技术,简单的方法也能产生巨大效果。IGym 是一个很酷的例子,我们利用增强现实和一些额外手段(例如一个“踢球”按钮,可以虚拟地扩展你周围的个人空间来踢球),来增强用户的能力。
如何扩大XR技术的使用范围并促进公平?
这直接引向了与公平性相关的更多问题:我们如何扩大XR技术的使用范围?随着越来越多人拥有这些设备,我们何时能期望所有学生都拥有XR设备并尝试相关内容?在多大程度上我们仍需提供设备?目前,至少在西方世界的课堂上,我们可以说“用谷歌搜索这个”或“拿出你的笔记本电脑/手机”,但我们还不能说“让我们用VR/AR看看这个”。这是因为设备昂贵,人们对技术存在诸多担忧,这阻碍了采用。技术本身也尚未完全令人信服,虽然有像IGym这样很酷的例子,但我们需要更多这样的正面案例来展示潜力,从而扩大使用范围。我们需要从正面和负面例子中学习,但正面例子通常影响力更大,至少破坏性更小。
如何增加XR用户的多样性?
最后,另一个我经常思考的问题是:如何增加XR用户的多样性?目前的技术和例子大多来自西方世界。我怀疑在性别平衡上,AR/VR技术用户可能更多是男性(虽然没有具体数据),用户可能也更年轻。这可能是一种刻板印象,但基于现有观察和信息,这可能是事实。
因此,我们如何增加XR用户的多样性?是通过设计吗?这些设备是否需要看起来更时尚、更像时尚单品?外形因素肯定是一个问题,但我认为还有其他因素在起作用,例如运动眩晕。
一个事实是,女性用户更容易或更频繁地经历运动眩晕。运动眩晕意味着你在头显中感到头晕、恶心和非常不适。虽然男性用户也会发生,但女性用户更常见。从我自己的课堂教学经验来看也是如此。

我们可以从设计角度采取一些措施。例如,当你在虚拟空间中导航时,如果身体的实际感知与虚拟现实中的情况不匹配,就容易发生眩晕。因此,如果无法正确匹配,或者你同时看到太多内容(比如周边视觉),可以尝试更多地聚焦于中央凹区域,淡化一些周边视觉。在移动时暂时限制部分视野,就是一项改善体验的技术。这个领域也需要更多研究。
总结

本节课我们一起学习了XR领域的可及性与公平性。我们探讨了如何让XR技术对残障用户(尤其是视障用户)可及,并介绍了 Seeing VR 这样的工具。我们也学习了如何利用XR(如 IGym 项目)来增强用户的能力,创造更包容的体验。此外,我们还讨论了扩大XR技术使用范围所面临的挑战(如成本、认知),以及如何通过展示有影响力的应用来促进采用。最后,我们审视了增加XR用户多样性的重要性,并特别提到了女性用户更易遭遇运动眩晕的问题及其潜在的设计缓解方案。推动XR的可及性、公平性与多样性,对于这项技术的健康与长远发展至关重要。
027:隐私与安全性 🔒


在本节课中,我们将探讨扩展现实(XR)领域一个至关重要的话题:隐私与安全性。我们将了解XR应用在收集和处理数据时可能带来的风险,并思考如何设计更安全、更尊重用户隐私的XR体验。
概述
随着XR技术日益融入我们的生活,它能够捕捉我们周围环境的丰富数据,这引发了关于隐私和数据安全的重大关切。本节将深入探讨XR开发者与设计师在创建应用时必须面对的几个核心隐私与安全问题。
核心问题探讨
上一节我们介绍了XR的广阔前景,本节中我们来看看其背后隐藏的隐私与安全挑战。主要问题集中在以下几个方面:
如何沟通数据收集内容
一个核心问题是:如何清晰地向用户传达正在收集哪些数据。目前常见的做法是提供冗长的服务条款和隐私政策,但用户很少仔细阅读。这是否是沟通的最佳方式?征求用户许可的频率应该是多少?是否存在标准化的交互界面,还是每个应用都需要自行设计?
Mozilla等组织在推动Web浏览器兼容XR时,正在深入思考如何与用户沟通、如何请求摄像头权限以及权限授予的时效性。然而,这些方式仍相对技术化。许多用户并不完全理解“需要访问您的摄像头”意味着什么——应用不仅能拍照,还能实时进行三维场景重建,甚至估算环境中所有物品的价值。因此,清晰地传达数据收集的范围和用途至关重要。
如何防止XR应用窥视敏感数据
当您佩戴头戴设备在空间中行走时,设备上的摄像头会看到您所见的一切,甚至更多(因为其视野可能比人眼更广)。如何防止应用看到敏感信息呢?
从设计角度思考,是否可以应用一些遮蔽技术?例如,在数据被任何应用获取之前,就对源数据进行模糊处理(如模糊人脸)。但这引出一个问题:如果人脸并非最敏感的数据呢?如果周围有重要文件或私人笔记,我们如何确保XR设备不会“看到”这些内容?最直接的方法可能是不在存在敏感信息的环境中使用XR设备。这凸显了问题的复杂性。
如何确保XR应用本身是安全的
这里存在一个假设性场景:利用“重定向行走”技术,攻击者可能远程入侵您的设备,误导您的感知,将您引向障碍物,造成物理伤害。这虽然是极端情况,但说明了建立安全防护措施、控制机制和伦理审查的必要性。
在学术研究中,新项目必须经过伦理审查委员会的评估,以确保参与者的安全与权益。我们或许应以同样的审慎态度来对待XR应用的开发。在后续关于设计伦理的课程中,我们将再次讨论这种方法。
如何开发安全可靠的XR应用
我们需要更多的知识和最佳实践来指导设计师和开发者。需要建立更完善的流程和工作规范。虽然现有的应用商店审核和用户评分机制有一定作用,但总有方法可以绕过这些限制(例如,通过类似 SideQuest 的工具直接安装未经官方商店审核的应用包)。这就像电影《侏罗纪公园》里的台词:“生命总会找到出路”,在这个领域,非官方的分发渠道也总是存在。因此,我们可能需要更官方、更标准化的安全认证方式。
一个实际案例
关于“如何沟通数据收集”和“防止窥视敏感数据”的问题,这里有一个IKEA Place应用的实际体验案例。


有趣的是,在不同平台上的体验差异很大:
- 在iPad上,需要经历完整的流程:同意所有条款、授予摄像头权限。
- 在支持ARCore的Android手机上,应用没有发出任何警告或请求许可就直接运行了。
一种体验可能过于繁琐(无人阅读所有条款),而另一种则完全忽略了用户的知情权,两者都引发了不同的思考。
总结与反思


本节课我们一起学习了XR领域中隐私与安全性的核心挑战。我们讨论了数据收集的透明沟通、敏感信息的防护、应用安全性的保障以及开发流程的规范化需求。
必须认识到,XR是一片既充满趣味又危险的领域。作为创造者,我们对用户负有重大责任,但我们常常缺乏足够的知识和经验。目前,该领域有很多爱好者和创新者,但尚未建立起足够的规范和成熟的工作流程来保证体验质量。


我们正在共同探索这个领域,需要从正面和负面的案例中学习。我们必须承认,并非当前所有的XR应用都是好榜样。由于并非每个人都有平等的机会尝试这些技术,因此需要时间才能分辨哪些应用是合理的,哪些可能正在探索错误的方向。这是一个持续学习和完善的过程。
028:总结与展望 🎯



在本节课中,我们将对扩展现实(XR)领域当前面临的挑战进行总结,并探讨未来可能的发展方向。我们将重点关注如何从移动和网络平台的经验中学习,以及如何构建一个更具包容性、互联性和实用性的XR生态系统。
上一节我们讨论了XR领域存在的诸多问题。本节中,我们来看看讲师提出的几点未来发展的思考与建议。
首先,应用移动与网络平台的经验教训。
讲师指出,当前XR领域的一些问题,如平台割裂、标准不一,与早期移动和网络世界遇到的问题惊人地相似。与其重蹈覆辙,我们应该积极应用从那些平台发展中学到的经验。例如,WebXR标准的出现虽然稍晚,但正是为了避免各厂商构建封闭生态(如特定SDK)所导致的问题。这种割裂曾给设计师、开发者和最终用户带来巨大困扰。
其次,构建互联的虚拟生态系统。
目前,大多数AR/VR应用都存在于各自独立的小生态中,拥有自己的应用商店且互不兼容。例如,为Oculus Quest购买的应用无法在HTC Vive上运行。未来的方向是构建一个共享的虚拟生态系统,让XR设备能更好地与我们现有的其他设备(如电视、智能手机)集成,并融入更广泛的物联网(IoT)和边缘计算框架中。当然,这也会引发诸如数据所有权(谁拥有映射的空间数据?)、存储和处理等“AR云”相关的重大挑战。
第三,设计工具需要更好的工作流整合。
从设计角度看,许多XR创作工具试图建立自己封闭的工作流程。但设计师和开发者通常使用多种工具。理想的情况是,新工具应该思考如何融入现有的、更庞大的工作流(如Unity或Unreal引擎的生态),并确保良好的连接性和集成度,而不是期望用户完全改变其工作习惯。

以下是关于应用内容创作的一些具体建议:
- 超越玩具示例:目前许多XR应用只是用于展示某项新技术(如人物分割、实时3D重建)的“玩具”示例。虽然它们能激发灵感,但我们需要更深入地思考如何在实际的、关键的领域(如医疗、危机模拟、护理、教育)创造真正有价值的体验,并清晰地传达这些技术的实用价值。
- 降低准入门槛与提升包容性:为了让更多人能够使用并从XR技术中受益,我们必须努力降低其创作和使用的技术门槛。这与之前讨论的可访问性问题紧密相连。我们需要确保技术更具包容性,从而吸引关键用户群体,形成规模效应。这也意味着设计师和开发者肩负着更重大的责任。


本节课中,我们一起学习了如何从更宏观的视角审视XR的未来。我们探讨了借鉴历史经验、构建开放互联的生态系统、改进工具链整合、创造深层价值应用以及推动技术普及与包容的重要性。解决这些问题需要跨学科的大型团队协作,也需要业界和学术界投入更多精力进行负责任的、符合伦理的设计与开发。尽管前路充满挑战,但积极应对这些问题是推动XR技术健康、可持续发展的关键。
029:XR影响分析实践 🧠


在本节课中,我们将进行一项名为“XR影响分析”的实践活动。我们将通过具体的体验活动,来识别和反思XR技术可能带来的关键问题,例如社会伦理、可访问性与公平性、隐私与安全等。通过“出声思考”和撰写分析报告,我们将学习如何以活动为中心来发现问题,并初步思考解决方案。
概述
在前面的模块中,我们的练习主要集中于更好地理解XR技术本身。现在,随着课程进入最后部分,我们将开始思考如何塑造XR的未来。为了做到这一点,我们需要理解当前的趋势和问题。本节课的实践活动将引导我们反思一些关键议题。
我们将执行一项“XR影响分析”,聚焦于关键问题。你需要考虑所有主要的问题类别,选择你最感兴趣的议题,并通过完成一项建议的活动来进行深入思考。
关键问题类别(分析视角)
在开始活动前,我们首先需要明确分析的视角。以下是三个主要的问题类别,它们将作为你分析活动的“透镜”:
- 社会与伦理问题:例如,XR体验如何影响社会互动、行为规范,或可能引发哪些伦理困境。
- 可访问性与公平性:考虑不同用户(如残障人士、不同社会经济背景的人)能否平等地获得和使用XR体验。
- 隐私与安全:关注XR应用如何收集、使用和保护用户数据,以及可能存在的安全风险。
你可以选择其中一个或多个视角来分析接下来的活动。
建议的活动
以下是三项设计好的活动,用于作为你进行分析的具体场景。请选择其中一项来完成。
活动一:社交VR会议体验
上一节我们介绍了分析的视角,本节中我们来看看具体的活动。第一项活动是体验社交虚拟现实(VR)会议。
- 描述:尝试加入一个社交VR平台(如VRChat, AltspaceVR等),参与一次虚拟会议或社交活动。观察并记录你的体验。
- 示例:就像讲师在2020年IEEE VR线上会议中的体验一样,尝试在虚拟空间中行走、与他人互动(如挥手、握手)。
- 分析点:在体验时,请从你选择的视角(如社会伦理、隐私安全)思考可能出现的问题。
活动二:物体识别活动

接下来,我们看看第二项活动,它涉及计算机视觉和增强现实(AR)技术。
- 描述:使用手机上的AR应用(如Google Lens、IKEA Place)扫描你环境中的一个物体,让应用识别它或将其虚拟放置到你的房间中。
- 示例:用IKEA Place应用扫描一把椅子,然后在你的客厅里预览虚拟家具的摆放效果。
- 分析点:思考这个过程背后的技术原理。例如,
谁告诉了手机这是什么家具?它查询的是哪个数据库?从隐私或公平性的角度,这可能会引发哪些担忧?
活动三:增强现实(AR)照片/滤镜活动
最后一项活动与面部识别和图像处理相关,在社交媒体中非常常见。
- 描述:使用一款带有AR滤镜的应用(如Snapchat、Instagram),拍摄一段使用面部特效滤镜的视频或照片。
- 示例:应用一个改变你外貌或添加虚拟元素的滤镜。
- 分析点:关注应用如何追踪你的面部,以及背景环境是否也被捕获。从隐私、安全或社会影响的角度分析这种体验。
活动执行与记录指南

现在,你已经了解了活动和视角,以下是执行和记录分析的具体步骤:
- 选择并声明议题:首先,明确你将要重点关注哪一类或哪几类问题(社会伦理、可访问性与公平性、隐私与安全)。
- 执行活动并“出声思考”:选择一项活动进行体验。在体验过程中,请“出声思考”——即大声说出你的即时想法、感受、疑虑或惊喜。例如:“这个功能很酷,但它会不会收集我的房间布局信息?” 这些想法是发现问题的重要线索。
- 撰写影响分析报告:将你的主要思考和担忧整理成几段文字。报告应包含:
- 你选择的活动和议题。
- 你在体验中观察到的具体现象。
- 从你选择的视角出发,分析这些现象可能带来的潜在影响或风险。
- 初步的解决思路或缓解担忧的建议。
- (可选)变换视角或活动:为了更全面的分析,你可以尝试用不同的视角再次分析同一活动,或者选择另一项活动并用相同视角进行分析,然后将新发现补充到你的分析报告中。
设计的全局考量:体验前、中、后
在进行影响分析时,除了体验本身,还应从一个设计者的角度,考虑整个用户体验周期:
- 体验前(引导):如何为用户设置合理的期望?例如,通过教程、示例预览或明确的警告来引导用户,为“新现实”做好准备。
- 体验中(平衡):如何在追求体验的“炫酷”与真实感的同时,坚决保障用户的舒适度与安全性?思考你体验的活动是否在这两者间取得了平衡。
- 体验后(过渡):如何帮助用户平稳地从XR体验过渡回现实?例如,提供“离场”简报或过渡期支持,这对于长时间沉浸式体验(尤其是对儿童)尤为重要。
本次练习的预期收获
我们进行这项练习,希望你能获得以下收获:
- 掌握一种以活动为中心的方法来发现XR技术中的潜在问题和担忧。
- 能够基于具体实例,而不仅仅是泛泛而谈,来展开关于议题的讨论。
- 开始初步构思如何解决这些问题和缓解相关担忧,从而培养你的设计思维。
- 促进符合伦理和负责任的设计理念。在后续更偏重技术开发的课程中,我们很容易忙于实现功能而忽略这些方面,因此现在建立这种意识至关重要。

安全与分享提示
XR领域发展迅速,请注意以下事项:
- 安全第一:请谨慎选择体验平台和内容。社交VR平台可能存在骚扰等风险。本次推荐的活动应相对安全,但请保持警惕。
- 互相帮助:这是一个快速发展的领域,如果你发现了新的、有价值的(或需要警惕的)应用或体验,请在课程社区中与大家分享和讨论。
- 积极反思:你的体验不必是极端负面的才能进行有价值的反思。即使是愉快的体验,也值得从不同视角进行批判性思考。
总结
在本节课中,我们一起学习了如何进行“XR影响分析”。我们明确了社会伦理、可访问性与公平性、隐私安全这三大分析视角,并提供了社交VR、物体识别和AR滤镜三项具体活动作为分析场景。通过“出声思考”和撰写报告,我们实践了如何从具体体验中发现问题,并初步思考设计解决方案。


这标志着本课程第一个核心轨道的结束,但仅仅是XR学习之旅的开始。请考虑继续学习后续关于XR设计和开发的课程,在那里我们将把这些批判性思维应用到实际创作中。下周,我们将更多地讨论XR战略,并有一些精彩的专家和学生小组讨论,期待与你再见!
030:XR战略规划方法论 🚀


在本节课中,我们将探讨如何制定你的XR战略。课程旨在围绕“成长”这一核心理念展开,帮助你增长经验、知识,组建团队,购置设备,并做出明智的战略决策。
概述
本节内容并非传统的商业战略讲座,而是基于过去几年在XR领域积累的实践经验分享。我们将从四个核心维度——知识、团队、设备和用户——来构建一个成长型战略框架。
知识:构建认知基础 📚
上一节我们介绍了战略规划的整体框架,本节中我们来看看第一个支柱:知识。拥有扎实的知识基础对于在XR领域创新至关重要。
你需要考虑团队目前拥有哪些知识,以及希望学习什么。知识的获取和多样化是关键。
以下是构建XR知识体系需要考虑的几个方面:
- 应用知识:不仅限于体验过《Beat Saber》或《Pokemon Go》,而是需要对市场上现有的各类XR应用有一个全面的概览。
- 技术知识:对于任何你想要创建的新解决方案,都必须对现有的技术选项有基本的理解。
- 关键议题知识:需要有人深入思考XR带来的社会、伦理问题。这些问题至关重要,会影响、驱动并最终塑造设计决策。
- 设计知识:显然,传统或基础的UX(用户体验)背景是一个良好的起点。
- 开发知识:需要了解如何基于这些技术进行构建。这包括快速、迭代的测试驱动开发周期,如何快速部署到不同平台,以及如何调试和检查XR体验。
- 管理知识:组建一个能在XR领域创新和工作的团队是困难的,它需要实验精神。管理也涉及财务决策,包括购置和投资何种设备与工具。
增长知识通常始于一个“布道者”,例如一个VR早期采用者,他四处向他人展示这项技术。另一个有效策略(尤其在学术环境中)是组织阅读小组,将来自不同研究领域的人聚集起来。此外,建立一个实践社区也很有用,例如每月聚会一次,汇集来自整个机构(大学、公司或团队)的人员,有时还可以邀请外部人员进行技术演示。
团队:组建核心力量 👥
在讨论了知识基础之后,我们转向战略的另一个关键部分:团队建设。组建合适的团队是XR项目成功的核心。
你需要从角色角度思考团队构成。
以下是构建XR团队时需要考虑的关键角色:
- 设计师:团队中是否需要设计师?需要不止一位吗?
- 开发者:至少需要一位真正理解技术(例如熟悉Unity引擎)的开发者。
- 经理:谁是团队的经理?这个问题在XR领域需要思考。
- 艺术家:XR领域实际上为艺术家提供了非常广阔和重要的空间。
- 研究员:包括学术研究方向或用户体验研究方向的研究员。后者更偏向实践,专注于发现缺陷、改进产品,而非验证科学假设。
- 创业者型人才:是否需要一位具有创业者特质、能够推动创新并考虑获取资金的人才?
个人团队建设策略分享:作为教授,我身兼多职。以下是我尝试构建团队时的一些策略:
- 寻找开发经验:我通常首先寻找具有XR开发经验的人。这是一个技术性很强的领域,因此开发经验可以作为一种筛选机制。如果没有XR经验,那么至少要有移动或Web开发经验。
- 评估作品集:我会查看候选人的作品集,关注其中项目的复杂程度,以及他们曾经合作的团队的规模和构成。
- 考察设计与用户研究经验:我寻找能够衔接设计与开发的人才。同时,拥有设计和实施用户研究的经验也非常重要。
- 吸纳特殊才能:如果候选人在某个新兴领域(变量X)有显著专长,我的团队总会为其留有一席之地。
在引入新成员时,我会思考如何使其获得富有成效的学习体验,我能提供何种指导,他们能为团队带来哪些新机会,并会进行风险评估,考虑技能重叠度、团队成长和团队动态等因素。
设备:选择技术工具 🛠️

团队组建完成后,我们需要为其配备合适的工具。设备是XR实践的物理基础。

本课程中,我们努力展示了大量可接触到的设备。其中一些是我购买的,一些是供应商赠送的,学校也资助了一部分,但很多设备实际上是我自己“采购”的。
关于设备,核心问题是:何时使用现成的商用设备?应该购买哪些设备?
增长设备库的策略:
- 从现有设备开始:如果你只是个人或小团体探索,最好的起点就是你已有的设备,很可能就是一部智能手机。然后探索将其转化为AR设备(基于ARKit或ARCore)或VR设备(通过Cardboard等方式)的方法。
- 追求广度而非深度:我的方法一直是追求设备的多样性,而非重复购买同一型号。我始终致力于保持AR和VR设备的良好混合。
- 利用组合的力量:拥有多种设备的美妙之处在于,它们可以以有趣的方式组合使用。例如,将智能手机与HoloLens结合,可以构建新型的混合体验。在研究中,我们经常采用这种方式。
- 确保设备就绪:对我来说,非常重要的一点是,我们有设备是常设、可用且准备就绪的。
- 谨慎尝试新品:我通常会试用最新设备,但不必立即购买,也从不批量采购。
购置新硬件(特别是电脑)的建议:
当需要购买新设备(如开发用电脑)时,请遵循以下优先级:
GPU(显卡) > CPU(处理器) > RAM(内存)
具体来说,寻找强大的显卡(例如NVIDIA RTX系列),搭配不错的CPU(如i7),内存16GB目前基本足够,除非需要处理非常复杂的模型。
用户:拓展影响范围 👥
最后,我们来到战略的落脚点:用户。这里的“用户”概念是广义的,既包括你产品或服务的目标用户,也包括XR技术本身的潜在使用者和推广者。
内部用户(你的团队):你希望团队内部更多人采用这些技术。这通常需要一个“布道者”来推动。
不同背景者的角色:
- 设计师/开发者:你需要拥抱XR技术,学习相关方法与工具,了解如何调整传统方法,并通过实际项目帮助创建设计知识、指南和模式。
- 研究员/教师:你在这里扮演着塑造XR未来的角色,正在培养人才。通过将XR引入课堂,可以有效地扩展用户基础。
- 经理/创业者:你需要了解行业内的关键参与者、资金来源,并制定相应的XR策略。
增长用户基础的方法:
- 研讨会:由知识渊博的人进行讲解。
- 演示:通过实际操作和体验来学习,效果更好。
- 工作坊:结合了研讨会和演示,更具互动性,是学习的最佳方式之一。
- 设计冲刺:这是我个人在密歇根大学使用过且非常成功的一种工具。
这些活动的副作用是,每个参与者都可能成为新的“布道者”,从而形成一个有趣的知识传播循环。
总结与行动建议 ✅
本节课中,我们一起学习了构建XR战略的四个核心维度:知识、团队、设备和用户。这提供了一个超越单纯营销推广的、更广阔的战略视角。
请记住以下行动建议:

- 保持规律性:无论你做什么(如双周阅读小组、月度实践社区),都将其固定下来,形成一种惯例。
- 勇于尝试混合形式:不要局限于一种形式。可以混合尝试研讨会、演示、设计冲刺等多种活动。兴趣会变化,你也可以提供不同类型的参与机会。
- 致力于内部成长:虽然寻找外部的合作者和志同道合者很好,但仅从外部引入知识效果可能有限。因此,不仅要寻找XR领域的同行,更要战略性地引入来自外部的“爱好者”——那些对XR充满热情,同时又是其特定领域专家的人。
希望本讲内容对你有所启发。期待收到反馈,并在未来几年与大家共同完善这些想法。这或许是我们展开有趣讨论、了解他人战略的起点。

感谢观看。
031:规模化实施路径




在本节课中,我们将与密歇根大学的几位专家一起探讨扩展现实(XR)技术在大学层面的规模化实施策略。我们将了解当前正在进行的项目、面临的挑战以及如何通过不同的方法和合作来推动XR技术的广泛应用。
大家好,我期待与几位受邀专家、教职员工、管理人员以及密歇根大学的相关人员进行讨论。密歇根大学目前正在大力投入XR领域,在本节中,我将剖析这对在大学不同层级工作的人员意味着什么。

我将围绕两个主要主题来组织这次讨论。第一个主题是关于当前现状,即我们现在正在做什么,目前有哪些类型的倡议正在进行。
现在,我想先简要介绍一下今天参与讨论的各位。
好的,让我们开始吧。请各位介绍一下自己以及在密歇根大学的工作。
我的名字是米歇尔·拉伯斯特,我是护理学院的临床教授,同时也在信息学院任职。我很高兴今天能来到这里,我的大部分学术工作都集中在基于模拟的教育领域,包括许多XR方面的工作。
我是乔安娜·默基·马林奇,我是工程学院本科教育的副院长,同时也是材料科学与工程系的教授。我的角色一方面是进行XR研究,我们实验室致力于利用XR教授材料科学概念;另一方面,作为副院长,我也负责开发方法和技术设施,帮助教师们能够应用这类技术于他们自己的课堂。
我的名字是丹·费斯·海安,我是北校区德特中心一个中心的副主任,领导新兴技术小组。我也是工程学院IT部门(KaAN)的成员。我的角色是帮助推动技术发展,我们参与XR领域已有很长时间。我的团队开发空间,并且我们实际上有一个开发人员团队,为校园内的不同用途构建应用程序。
我的名字是杰里米·尼尔森,我是密歇根大学XR计划的主任。我们肩负着三大目标:为我们的19个学院和安阿伯校区的住宿课程带来用于教学和学习的XR技术;将这些技术引入我们快速发展的在线课程;以及创建创新的公私合作伙伴关系。
这太棒了,今天有这么好的参与者阵容,我们可以从中学到很多东西。
因此,我想首先围绕“规模化”来组织这次讨论。当谈到XR时,我们通常从小规模开始,但在大学层面,我们确实希望快速扩大规模。我想向各位学习,这在你们的每个项目中意味着什么,以及当我们扩展到整个大学时,这又意味着什么。
米歇尔,我想从你开始,了解你的一些XR项目和倡议,以及你如何处理那里的规模化问题,无论是涉及多少学生还是多少科目。请告诉我们一些关于项目、参与者、技术以及你如何处理规模化的信息。
规模化问题在考虑XR技术时确实非常重要,有时我认为这也可能驱动你所选择使用的技术类型。
我目前正在进行的两个项目,它们的规模略有不同。我最初启动的第一个项目是一个虚拟现实程序,重点是帮助执业护士、医生和药剂师学习团队合作与沟通。这个环境是一个儿科急诊室,它将支持多人在线协作,小团队将使用Oculus或HTC等高阶设备聚集在一起练习技能、沟通和团队合作。虽然我们希望许多团队参与这个项目,但其规模将受到我们拥有的高端设备(如Rift和Vive)数量以及能够聚集人员的能力的限制。因此,我将这个项目视为较小规模。
我们参与的另一个项目,刚刚通过AI获得资助,我们将与合作伙伴共同进行。这个项目旨在帮助护士和药剂师理解化疗药物在静脉注射时,如果出现问题,这些强效的危险药物泄漏到血管或端口外,对皮肤和内部组织造成的破坏性影响。虽然我们可以解释并展示其破坏性,但人们无法真正看到体内发生的情况,所以我们称这个项目为“皮肤之下”。我们希望大规模推广这个项目,希望能让60名参与我们研讨会的人员、100名护理研究生以及药剂师使用。为此,我们选择了Oculus Go,因为我们可以获得许多头显并广泛分发。所以对我们来说,有时是需求驱动,然后决定使用何种复杂程度的设备。
这很棒,也呼应了我的一个观察:大规模通常意味着低技术含量,因为这是在预算限制下实现规模化的一种方式。这种“最低共同标准”方法是一种途径。
乔安娜,现在我们来谈谈学院层面,特别是密歇根大学的工程学院。我知道你们正在进行的一项倡议是AVMR诊所,我想了解你如何在该层面处理规模化问题。

这是个很好的问题。正如之前听到的,你可以采用不同类型的技术,比如Rift或Oculus Go等。我们早期的一个想法是使用移动设备进行增强现实,这是我作为个体研究者最初开始的工作。当我担任副院长职位后,我开始意识到,当进入不同类型的课堂和情境时,学生需要理解如何与混合现实本身互动,而我们目前还没有很好的方法来实现这一点。还没有一个规范的情境,就像在演讲厅里,人们知道要面对前方的屏幕或黑板听讲座,那是规范的情境。但对于XR类应用,目前还没有规范的情境。我认为我自己无法找出最佳的规范情境,相反,我们需要让许多不同的人在这些空间中尝试,以找出最佳的规范情境。因此,我们的方法是尽可能让更多人接触这些工具,让不同的教师思考在他们的情境中什么是有意义的。通过进行大量小规模实验,并真正降低在课堂中采用这些技术的门槛,我认为我们将能够达到一个使XR学习有意义的情境。所以,我们的方法不是让一个人思考在特定情境下的最佳方式,而是降低门槛,让人们与像丹·费斯·海安小组中的开发人员合作,与了解教学法和教育研究的博士生合作,共同理解在不同情境下部署这类技术的最佳方式。这既相似又不同,我们试图让技术尽可能多地掌握在人们手中,这就是我们处理规模化的方式。
谢谢你,乔安娜。我知道你们一直在做的一件可能看似微小但意义重大的事情是举办一系列研讨会,将那些想学习如何实际教授或如何实际使用AVMR或XR技术的人们聚集在一起。我想知道,从与想学习XR的教师和学生举办研讨会中,你学到了什么?
我学到的是我们还有太多东西需要学习。真正让我印象深刻的是,这是一个如此广阔的开放空间,没有人真正有答案。外面有很多不同的想法,也有很多相互矛盾的研究发现,没有单一的方法。这意味着我们需要更多的人进入这个领域,需要更多的人生成更多的数据和经验,我们需要彼此之间更多的互动,以找出最佳和最差的方式,这样我们就可以摒弃那些似乎效果不佳的东西,转而开始进行对学生真正有影响力的不同类型的工作。
现在,杰里米,在某种程度上,你可能拥有密歇根大学的全景视角。你与我们共事已有一段时间,我知道你的第一步实际上是接触并和很多人交谈。所以,你首先面临的一个大问题似乎是:密歇根大学目前的XR工作规模到底有多大?然后我们如何可能扩展和加速它?你能告诉我们一些关于你的步骤、第一步以及你如何理解密歇根大学XR工作规模的信息吗?

是的,谢谢。我首先真正想了解的是那些专业领域在哪里,谁在构建这个空间,谁在使用这些技术进行教学。我认为今天在座的各位正在引领这个领域。我确实尝试与尽可能多的教职员工、学生以及这个领域的其他非学术单位会面,以真正了解技术构建者在哪里,消费者是谁,他们想探索什么,我们拥有什么类型的设备。这真的是为了尝试建立那种社区感,同时也与那些甚至还没有开始考虑的学院的教师会面,以帮助他们了解他们在采用阶段或思考步骤中处于什么位置,然后与他们分享我们在其他地方看到的情况,以帮助建立那种兴奋感和兴趣。显然,密歇根大学的工作并非始于XR计划,多年来一直有很多工作在进行,我真正尝试的是将这些工作整合起来,看看哪里有我们可以支持的关键群体。
我正在思考一些方法,比如创建框架、流程或工具集,以帮助实现规模化,使教师能够开始将他们的资产或概念带到平台或他们可以带入课堂的技术上。特别是在360度视频方面可以做很多工作,我们正在探索一些平台,你可以在其中使用传统视频方法并插入数字元素和数字交互,以扩大该阶段的开发。此外,我们还启动了一个种子基金来刺激创新和第一轮项目。我们刚刚宣布了六个正在进行的项目,米歇尔的项目是其中之一。我们将帮助核工程专业构建一个虚拟核反应堆,与音乐、戏剧和舞蹈学院的人员合作创建沉浸式音频工具包,与物理系合作创建物理实验室。这些都是非常令人兴奋的项目,旨在让学生开始使用并建立在乔安娜所说的让更多经验掌握在教师和学生手中的基础上,这样我们才能继续学习。
好的,这很棒。谢谢分享。现在,丹,你一直耐心地和我们坐在一起,我知道你也是在这个领域活跃了很长时间的人。
我想直接具体地问你一个问题:我知道你已经运行XR实践社区有一段时间了。所以我想从“规模化”过渡到“方法”,我想了解更多关于我们如何实施这种规模化,其他人如何从我们正在做的事情中学习,以及其他人如何可能改进我们正在做的事情。这个XR实践社区,我想知道,在你想聚集谁、你从外部引入了谁以及你如何描述在该实践社区中正在进行的交流和学习的想法方面,最初的构想是什么?
我启动这个实践社区的目标是,正如我们所熟悉的,密歇根大学是一个庞大而多样化的机构,鼓励人们进行本地化思考和发展想法,但在很多方面,我们在很多地方确实存在大量的重复工作。这个想法是,我们长期以来一直在进行评估,并且被视为在XR开发方面处于领导地位。我想开放一个平台,让我们能够分享我们正在做的所有工作、我们已经完成的所有工作,但同时也要邀请那些在他们的实验室和课堂使用中做着出色工作的其他人,分享他们的知识、发展方向以及未来两三年可能做的事情,这样我们就可以将社区聚集起来,构建一个每个人都可以利用的脚手架,而不是建立许多孤岛,重复发明轮子。
这就是概念。看到它的发展真是太好了。我们刚刚将其开放,我们有教师参加这些会议,有学生参加,有在实验室工作支持教师工作的员工参加。通常我们为他们提供一个平台来展示他们的想法,并且我们有意设计让会议可以在校园内轮流举行,这样我们就可以去你的实验室、你的空间、你的环境,分享你正在研究和实验的内容。这对我们来说是一个很好的方式,有时通过电子邮件组产生交流,人们会问“你见过这个吗?”。看到它随着时间的推移而发展真是太好了,这就是最初的意图,我认为它一直在发展以满足这些需求。
是的,这很棒。我也知道我们经常收到外部的请求,人们希望进来展示一些技术,我认为这是向很多人传播知识的一个非常好的方式。
我想问你一个关于方法的更具体的问题。这是一个相当困难的问题,但我想丹你是回答这个问题的最佳人选。在你管理团队、从事各种XR项目的能力范围内,你已经工作了一段时间。
我知道当你问我这个问题时,我会告诉你每个项目都是具体的,需要量身定制的策略和特定的方法。现在我的问题是:当你反思这项工作时,你认为在接手一个新的XR项目时,是否有共同的方法?是否有你寻找的一些共同指标或关键组成部分?还是每个项目都如此不同,以至于没有共同的策略?
这在一定程度上也触及了你关于规模化的问题。我总是回到德特中心的使命,这是我试图推动我们身份认同的核心:我们应该处在一个实验和思考事物发展方向的空间,而不是事物当前所在的位置。在很多方面,我们应该像福奇博士引用格雷茨基的话那样:我们应该去冰球将要去的地方,而不是冰球现在所在的地方。这驱动了我们所做的很多事情。
我们使用一些标准来评估收到的项目,因为我们没有能力承担所有希望我们承担的项目。一些关键标准包括:这个项目是否会探索我们尚未尝试或校园内其他人未见过的技术的独特用途,从而能够开启对话?例如,如果我们与护理学院的米歇尔合作,但我们看到这个想法实际上可以应用于许多其他学科,那么我们就会承担这个项目,比如米歇尔的VR心脏项目,它是关于一群人查看特定患者以及他们如何相互沟通的协作工作环境。这种工具在许多学科中都有应用。当我们承担它时,我们会思考如何构建这种协作VR环境,然后我们学到的知识实际上将帮助我们应用于其他学科。所以这些是关键点,意味着如果我们开发这个,它不仅仅是一次性的东西,它实际上有潜力在其他领域发展。
我只是想呼应你刚才所说的。例如,当我们进行诊所项目时,我们选择支持的提案也是基于类似的标准:这个项目是否会从使用XR中受益,还是使用其他技术同样容易,而XR并非关键?其次,它如何能移植到其他情境?因为在这个阶段,最重要的是确保我们以尽可能广泛适用的方式开发这些工具,而不是仅仅创建一个很酷但只适用于一个特定且非常有限情境的应用程序。
工程学院诊所资助的一个项目是如何将360度视频与交互性整合到VR环境中。乔安娜资助了我们的努力,让我们能够说:好的,我们有一个工具包可以做很多很酷的事情,但我们从未真正有机会实现交互式360度内容。我们开发了它,因为我们认为360度视频将是那些低垂的果实之一,人们将能够说:我有一些内容,我有一些相机拍摄的素材,我想把它带入VR环境,我该如何使用它?构建这个平台将允许我们将其扩展到更大的用例中。另一个标准是基于我们的能力,比如我们有一些独特的资源:动作捕捉设备、摄影测量设备等,这些在许多其他地方并不具备。所以,如果一个项目找到我们说,比如一个电影制作课程想使用动作捕捉来捕捉演员表演的场景并嵌入到VR环境中,那么没有其他地方能做到这一点,因为很多地方没有Vicon动作捕捉设备。这些因素驱动了我们承担的许多项目。最终,能力和我们是否拥有实际执行计划的专业知识也是考虑因素。这些是我们与教师和研究人员接触时,思考他们是否可能通过XR寻求潜在途径的大致概述。
好的,这很棒。这也突显了我们团队之间以及我们所在位置的一些协同效应。我认为我们甚至有更多的故事可以分享。
我认为我们在这一部分很好地讨论了规模化问题,观察到规模化最终意味着(至少在这个阶段)可能做出低技术含量的选择,并确保我们能够触达更多人。我们讨论了方法以及如何定义什么是一个有趣的项目。有时对于刚开始接触XR的人来说可能会感到失望,认为“我的应用程序很有趣,不是吗?”。作为研究人员、管理者或院长,在资助项目时所做的选择,我认为这些都是宝贵的见解,我希望与我们的学习者分享。



谢谢大家参与我们讨论的第一部分。
032:成功要素分析



在本节课中,我们将与密歇根大学的特邀专家们继续讨论,聚焦于如何定义和衡量XR项目的成功,并一同展望未来的发展方向。
上一节我们探讨了XR项目的应用场景,本节中我们来看看如何评估这些项目的成效。
定义项目成功
首先,我们向米歇尔提问:对于您之前描述的具体项目或其他正在进行的项目,您是如何定义其成功的?无论是在研究层面还是与教学结合方面,是否有具体的衡量指标或目标来展示成功?
这是一个很好的问题。审视整个“成功”的概念以及如何判断XR项目是否成功,我尝试从一些基础层面入手。每个项目都是独特的,其目标也各不相同。
以下是我考虑的几个方面:
- 学习成果:明确项目试图实现的目标。例如,在我们的心脏VR项目中,最重要的目标是让学习者有机会练习沟通技巧和团队合作技能。
- 次要目标:例如,练习儿科高级生命支持算法。我们明确该项目不涉及任何基于任务的学习(如练习心肺复苏技能),这指导了我们的开发方向。
- 衡量方法:评估成功的方式包括,学习者的沟通技巧是否得到展示并随着多次练习而改善;是否能在临床环境中观察到技能迁移(尽管这很难测量);以及通过问卷调查了解学习者是否感觉更有信心。
- 研究问题:有时研究问题与教育问题是一致的。XR在“观点采择”方面非常有效。例如,我们有一个项目旨在帮助医疗保健提供者理解听障人士就诊时的体验,目标是增进理解而非直接教授具体技能。
关键在于审视你想要实现什么,然后匹配相应的技术。对我们而言,360度视频足以实现“观点采择”的目标,无需创建更昂贵的虚拟现实动画环境。
衡量成功的标准
接下来,我们询问乔安娜:在您决定为项目提供资金的角色中,是否有具体的标准来衡量项目成功?
确定项目是否成功,我主要从两个层面思考:
- 项目特定标准:每个项目都应有某种机制来衡量其是否实现了既定目标。
- 技术迁移:该技术是否被移植到另一个应用场景中,这对我而言是最终的成功标志。例如,如果米歇尔的360度视频应用场景或从中获得的经验,能被应用到另一门关于以消费者为中心或社会赋能设计的课程中,那将是巨大的成功。
目前我们尚未达到这种程度的成功,因为项目仍处于早期阶段,我们仍在根据各自的标准评估单个项目的成功。
从“失败”中学习
丹分享了一个研究案例,其中包含了反直觉的发现,这引发了更深层次的思考。
我们的研究旨在帮助学生理解材料科学中的重要概念——晶体结构,这需要空间推理能力。我们假设使用虚拟或混合现实来呈现晶体结构,能帮助学生更好地发展空间理解能力。
实验进行了两年,我们确实观察到,在特定任务中使用VR操纵物体的学生,在该任务上表现更好。然而,当我们进行前测和后测以检验这些增益是否保持时,发现使用VR的学生并未保留优势,反而未使用VR的学生在后测中表现更好。
这个反直觉的发现提出了许多引人入胜的问题:这种心理操纵是否反而固化了学习?我们如何改变实验或学习活动以避免增益流失?这虽然是个别案例的“失败”,但长远来看将产生更积极的连锁反应,推动我们更深入地理解XR如何有效促进学习。

未来发展与扩展能力
我们讨论了当前面临的一个问题:与规模扩展相关。现有的学生导向XR空间(如Duderstadt中心)容量已接近饱和。那么,我们如何提升能力,在未来进行更多更好的XR实践?
丹解释了可视化工作室的建设思路:其初衷是创建一个能支持多学科、展示XR潜力的环境,而非专注于特定学科。这个模型可以作为蓝图,供校园内其他学院和部门根据自身特定需求进行演化和发展。短期策略是增加工作站数量以缓解压力,但长期战略是推动其他单位规划并建设他们自己的XR支持空间。

杰里米补充道,可以在丹的蓝图基础上,在校园其他部分(如中校区)建设更多空间,包括大型协作空间和小型迭代空间。此外,随着Oculus Quest等更实惠、易用的设备出现,以及大多数学习者已拥有具备AR功能的智能手机,我们应思考如何利用现有设备扩大规模。同时,必须考虑设备维护、安全、更新和内容分发等挑战。
丹提出了另一个策略:利用校园内数百台分布的工作站,提供专门的XR设备外借服务。学生可以借阅头显,在任意实验室即插即用(尤其利用Inside-Out追踪技术),或使用他们自己的高性能笔记本电脑,这能极大地扩展参与范围。
乔安娜最后强调,当前投资硬件不仅是为了硬件本身,更是为了开发内容、理解XR的最佳应用场景、并解决安全性和可访问性等问题。当XR未来普及时,我们才能知道如何以最佳方式部署它。

本节课中,我们一起学习了如何从学习成果和技术迁移等角度定义XR项目的成功,认识到从“失败”中汲取教训的重要性,并探讨了通过建设多元空间、利用普及设备和建立外借服务等策略,来扩展XR能力、面向未来发展的多种途径。
033:未来发展方向 🚀



在本节课中,我们将探讨扩展现实(XR)技术的未来愿景与发展方向。几位来自密歇根大学的专家将分享他们对未来5到10年内XR技术如何塑造社会、教育、医疗等领域的预测与期望。
当前努力与未来展望
上一节我们了解了密歇根大学在XR领域的当前努力。本节中,我们来看看几位专家对未来的共同展望。大家一致认为XR技术将继续存在并变得更加普及。
医疗保健领域的愿景 🏥
首先,我们来听听米歇尔(Michelle)对XR在医疗保健领域未来的设想。她认为XR技术,特别是虚拟现实(VR)和增强现实(AR),将在医疗培训和实践中扮演关键角色。
- 即时培训工具包:她希望开发一个“即时培训”工具包。这不仅适用于在校学生,让他们能在校外为能力评估做准备,也适用于一线医护人员。
- 技能演练:当医护人员需要执行一项生疏的操作时,他们可以随时进入虚拟环境进行“演练”。这比观看视频或阅读资料更有效。
- 提升患者安全:XR技术被视为模拟训练的高级演进,能帮助从业者(无论是学生还是前线人员)提供更有效、更安全的患者护理。
- 课堂应用:她设想未来课堂上,每个学生都能通过笔记本电脑和头戴设备(如Oculus Go),实时查看和交互学习内容,例如解剖结构或心力衰竭的虚拟案例研究。
米歇尔相信,这些并非不切实际的愿望,而是即将实现的未来。
思维范式的变革 💡
接下来,乔安娜(Joanna)从更宏观的认知层面分享了她的看法。她预测XR将催生全新的思维方式。
- 类比智能手机:她将XR的未来影响力类比于智能手机。十年前我们无法想象没有智能手机的生活,未来XR也可能变得同样不可或缺。
- 三维知识组织:当前的知识组织方式(书籍、屏幕)本质上是二维的。XR允许我们从三维空间直接构思、草图和呈现信息,无需将三维现实投影到二维平面。
- 降低学科门槛:科学、技术、工程和数学(STEM)领域通常需要抽象的思维方式。XR允许直接操纵物理空间,这可能降低这些领域的入门门槛,向更多人开放。
- 与微积分类比:微积分提供了用严谨的一维方程(代码)描述多维空间的方法。公式
f'(x)表示变化率,∫f(x)dx表示面积。而XR可能让我们无需经过这个“多维转一维”的认知转换步骤,直接在多维空间中工作。
乔安娜对XR开启全新物理世界认知方式的前景感到非常兴奋。
技术融合与伦理挑战 ⚖️
然后,另一位专家(根据上下文推测为Dr. Mahajan或其他参与者)从技术融合和社会影响角度进行了补充。
- 技术加速:增强现实(AR)和XR整体将在未来5到8年改变许多事情的运作方式。这与人工智能(AI)和机器学习的加速发展密切相关。
- 硬件普及:随着视觉系统日益复杂,搭载激光雷达(LiDAR)等传感器的设备(如新iPad、iPhone)将更加普及,软件也会更精密。
- 远程医疗变革:这些工具将改变远程医疗的方式,例如远程指导外科手术。
- 同理心机器:VR可以成为强大的“同理心机器”,让人亲身体验他人的处境(例如,通过项目让学生体验《汤姆叔叔的小屋》中角色的逃亡经历)。
- 隐私问题凸显:随着设备配备众多传感器并收集海量信息,隐私问题将变得空前重要。机构和个人都必须密切关注数据如何被使用和共享。
他提醒,在享受XR带来的便利时,必须高度重视随之而来的数据与隐私挑战。
硬件演进与共创未来 👓

最后,杰里米(Jeremy)对硬件发展和XR的社会角色做出了预测。
- 硬件加速与普及:计算设备的普及和硬件的发展,将使我们最终拥有能够改造世界、将人们联系在一起的智能眼镜。
- 临场感重塑:虚拟或增强的“临场感”将改变交流方式,不再局限于面对屏幕。
- AR与VR的分化:增强现实(AR)可能会更普遍地渗透到世界各地,而虚拟现实(VR)则会在模拟、培训等特定用例上更加精炼。
- 大学的角色:大学等机构的作用是帮助厘清XR的最佳应用场景,并教导学生如何在这个空间学习和成为“共同创造者”。
- 共创时代:就像社交媒体一样,学生和大众将成为XR内容的共同创造者,工具将变得更加可用,供人们在此基础上进行建设和增强。
杰里米认为,现在是帮助塑造这个未来的激动人心的时刻。

总结与反思
本节课中,我们一起学习了多位专家对XR技术未来的展望。大家普遍对XR持积极态度,认为它不会消失,反而会变得普及、廉价且易于获取,甚至可能增强部分人的能力。
讨论中也提出了重要警示:我们在二维矩形界面设计上刚刚变得成熟,现在必须从头开始学习为三维空间设计。我们日常生活在三维空间中的知识和技能并不能直接转化为良好的设计,我们需要新的、更好的设计指南。


总的来说,XR的未来潜力巨大,但也伴随着隐私、伦理和设计等需要认真对待的新议题。感谢专家们分享他们的知识与见解,也期待与学习社区的各位一起,继续探讨大家对XR未来的疑问、担忧、梦想与愿望。
034:学生主导的XR社区建设


在本节课中,我们将学习密歇根大学学生主导的“替代现实倡议”(ARI)社区如何从零开始,通过组织活动、研讨会和会议来推广XR技术。我们将了解他们的组织结构、活动内容以及面临的挑战。
大家好,在这个环节,我想讨论一些学生倡议,特别是密歇根大学校园内的一个学生倡议——“替代现实倡议”。我邀请了几位几年前结识、在该领域非常活跃的学生。我们将讨论他们遇到的挑战,以及这个总体上相当成功的倡议是如何运作的。我们先向大家介绍一下自己。从你们开始,说说你们是谁,以及在“替代现实倡议”中的角色,然后我们就可以开始了。
我叫Matthew Yussova,是“替代现实倡议”的现任联合主席,也是联合创始人之一。
大家好,接下来是我。我叫Bessta En,是现任联合主席。
大家好,我叫Michael Deang,是ARI的联合创始人和前主席。
很好,我是在和所有的主席们对话。这很棒。那么,这是一个学生倡议。几年前我参加你们第一次启动会议时,印象特别深刻的是你们在这个倡议中表现出的专业性。当时Michael是主席,周围还有几位其他成员。请告诉我,在组织架构上,你们是如何运作的?进展如何?有多少其他主席或团队成员?有哪些类型的角色?你们内部是如何组织的?让我们从这个话题开始。
当我们开始时,我们就像一群来自不同背景的学生。我们发布了一个Facebook公告,试图寻找其他对VR和AR领域感兴趣的学生。Matthew和我就是这样走到一起的。从那以后,我们开始组建一个正式的学生组织,设立了不同的角色和领导结构。过去几年,我们团队的成员也发生了变化。
是的,目前我们设有不同的职位。我们一直有副主席,现在是联合主席。除此之外,我们通常有专人负责会议期间的研讨会。现在有了项目团队,我们也有项目团队的负责人。我们还通过会议和不同类型的拓展活动举办各种社区活动。因此,我们有一批不同的领导成员来担任这些角色。目前团队中有八位不同的领导成员,这样我们可以把工作分配给每个人。
这包括像市场营销,我想,还有关于你们各种倡议的沟通。我很自豪能每周收到你们的通讯。那么,还有其他什么事情在进行中?Bessta,你目前主要负责什么?
目前,作为联合主席,我主要专注于研讨会和开发方面。我帮助组织研讨会,确保我们每次研讨会会议都有新的、不同的内容。我们也会用一些社区活动来平衡这些,比如电影之夜、游戏之夜,以建立我们团队的社区感。
基本上,我想主要是对XR感兴趣的学生。你们是如何招募的?你们希望什么样的人成为你们社区的一部分?
在大多数情况下,我们欢迎任何人。我们向校园内的任何本科生或研究生开放。大多数情况下,我们的学生确实更偏向技术或STEM背景。很多学生来自计算机科学或其他类似专业。至于我们如何实际招募学生,我们会在校园内的不同活动中进行招募,例如密歇根大学的“Festifall”和“Northfest”。研究生院也有他们自己的活动。通过这些活动,我们能够获得广泛的接触。通常,在“Northfest”和“Festifall”期间,我们能让大约250到300名本科生注册我们的通讯。通过研究生院的活动,我们还能让大约50名研究生注册。这确实是我们建立社区的方式。无论他们是否实际参加我们的会议,我们至少能把我们的信息传递给他们,无论是关于我们每周会议的信息,还是我们看到的任何工作机会,或者我们举办的任何活动。我们也不区分经验水平。有些经验更丰富的人会来参加我们的会议,也有刚刚起步的人。我们确保我们的研讨会内容对这两类人都适用,因为我们希望新人能够学习,也希望有经验的人能有一些挑战。
补充一点,我们创建ARI时,设想学生将经历四个不同的领域:从探索XR技术开始,然后通过我们的研讨会学习,接着构建不同的项目,最后与XR行业的其他学生或人士建立联系。这样,我们可以吸引处于XR旅程不同阶段的各种学生。
这很棒,对于想要启动倡议的人来说,这里有很多有用的建议。我听到的一些要素包括研讨会。ARI给我的印象一直是,人们聚在一起学习XR。你们能举一些你们举办过的研讨会的例子吗?
我们的一些研讨会非常技术性。例如,我们有一个通过Unity进行的Oculus Rift研讨会,教授Oculus Rift的基本编程和控制。我们有一些增强现实研讨会,比如创建Snapchat滤镜,这是一个更有趣的研讨会。然后我们还有一些不直接与XR相关的,比如Blender建模教程,这样人们可以制作自己的资源并导入到他们的VR/AR项目中。我们试图通过研讨会涵盖很多基础内容。
这些研讨会是由你们组织的,对吧?我记得参加了一些研讨会,至少我参加的那些是其他学生在主讲。这是常态吗?那天是特殊情况吗?
在大多数情况下,是我们,也就是我们的领导成员,来举办研讨会。通常,我们的领导成员需要几周,甚至几个月的时间来准备研讨会材料、进行练习,并为这些研讨会在我们的网站上创建在线博客,以便其他学生可以跟着学习。所以大多数情况下是我们自己举办。不过,就像你说的,我们有时也会邀请其他学生组织或公司的嘉宾来举办他们自己的研讨会。例如,去年我们有一个HoloLens研讨会,就不是我们自己举办的,而是由另一个学生组织为我们做的。
这很酷。我听到Michael和Matthew提到,要借助其他活动来真正扩大影响力,数字确实令人印象深刻。我甚至不知道有这么多人对XR感兴趣,因为在我的课堂上可能只看到大约40名学生。我同意,硕士课程的候补名单更长,但我想在本科层面,你们有很多本科生成员,而且我想你们自己实际上也是本科生,所以你们目前是他们的大本营,我认为你们做得非常好。
我们有研讨会。我知道在某个阶段,我们真的需要谈谈最令人兴奋的部分之一,那就是你们自己的会议。但除了研讨会,我也注意到很多有趣的活动。你说过《Beat Saber》锦标赛是其中之一。你们还做了哪些事情来保持社区的高参与度?
我们做过的一些事情包括《Beat Saber》锦标赛,这是比较有趣的活动之一,我们也试图让俱乐部外的人加入这些有趣的活动。我们还举办一些电影之夜或电视剧之夜,观看与VR或AR相关的内容。我记得有一次我们看了一集《黑镜》,非常有趣。这些是我能想到的,但我们试图让外面的学生来参加这些活动,因为这比研讨会更像是一种有趣的体验。
是的,除了做这类社区活动来吸引我们的社区,我们还开始做项目团队。这帮助我们拥有一个核心学生群体,他们某种程度上“被迫”参加我们所有的会议,这有助于我们的成员留存。通过项目团队,五到七名学生组成小组,共同完成他们想出的项目。他们参加我们的每次会议,与我们的领导成员会面,讨论进展,可能还会学习不同的项目管理方法。过去这一年,他们有机会与Michael你见面,从你那里获得一些指导,并在他们继续工作的过程中得到其他建议。
是的,但我想我们担心的一件事是,如何为学生设定正确的激励措施,让他们坚持完成一个本质上只是为了自己学习的完整项目。我们当时认为我应该更多参与的一个原因是,也许我可以给他们一些学分。但最终,他们似乎都只是为了乐趣而做。我不记得有人问过我是否可以将此作为独立研究。所以激励似乎主要是“我只是想了解这些东西”。但学生们有具体的目标吗?他们想在XR行业找到工作吗?或者他们是如何看待的?除了乐趣之外,他们的动机是什么?显然,背后是否有职业动机和目标?
我认为目前是混合状态。我知道一些学生目前在这个行业工作,无论是通过实习还是咨询工作。但对于我们的大部分学生,包括我自己,很多这只是因为这是一个有趣的领域,他们喜欢这项技术,认为它未来可能有很多不同的应用,所以想现在了解更多。当然,在校园里,我们是学生,尤其是本科生,来学习XR的主要资源之一。是的,我确实认为有些人想专业地进入这个领域。至于项目团队,目前他们的目的只是创建一个项目。你之前提到了我们的会议,我们也让我们的学生项目团队在我们的会议上展示,展示他们的工作,向在场的其他公司或与会者展示。
是的,但我必须说,对于自主学习和项目,项目的质量相当高。他们基本上是通过你们的研讨会和自己的参与自学成才的。显然,我注意到很多技术背景的学生,所以他们有很多技术技能。如果你会编程,你可以在XR领域做很多事情。我想你们未来可能想做出一些改变,以吸引更多人,但质量确实很好。
我想继续谈谈过去两年可能的一个亮点。我参加了你们的会议——XR Midwest会议。我记得Michael和Matthew你们去年启动了它,然后今年不得不再次举办。你们能多告诉我们一些关于XR Midwest会议的目标吗?谁来了?你们的主要收获是什么?
是的,最初举办会议的想法是,我们身处中西部。当我们启动ARI时,我们一直面临的一个困难是,在校外找不到太多资源来支持我们。在中西部,没有那么多大公司总部设在这里,大多数都在西海岸,也许东海岸,南部和德克萨斯也有一些。但在中西部这里,无论是公司关系还是不同活动的机会真的不多。我们最终从申请的一个项目中获得了额外资金,并决定用这笔额外资金举办一个会议。第一年我们没有赞助商,几乎一切都是我们自己做的。然后我们能够邀请到大约八、九家不同的中西部公司来向学生展示,谈论他们如何在中西部工作,谈论他们的产品,以激励我们的学生和其他与会者更多地了解这个行业,看看外面有什么机会。我认为在2019年第一年,我们最终有大约80名与会者,10位演讲者。总的来说,我们从那次活动中得到了很多非常好的反馈。举办XR Midwest的另一个动机基本上是试图汇集我们从行业内外人士那里获得的所有不同资源和知识,并试图提高其可及性。对于我们团队的许多成员来说,我们有机会参加美国各地的XR行业会议或XR黑客松。但对于许多这样的大型活动,你有机会与行业人士建立联系,或者在黑客松上从事非常令人兴奋的项目,对许多学生来说,参加这样的活动费用高昂,通常需要数百美元。既然在中西部还没有其他类似的大型活动,我们也知道中西部对XR感兴趣的学生和专业人士社区正在不断增长。举办XR Midwest本质上也是我们回馈更广泛社区的方式,而不仅仅是大学内的倡议。
说得很好,真的很酷,也非常成功。今年它不得不转为线上,但出席人数非常高。对今年这个版本的会议有什么主要的收获吗?
是的,今年就像你说的,我们必须从线下转为线上,这给了我们大约两周半的时间来做这件事。嗯,是的,没有太多时间重新启动整个营销活动来争取与会者,但最终结果如你所说,我认为活动当天我们有大约200名独立访客,或者有300个注册。但我的主要收获是,无论发生什么,人们总是会对这个话题感兴趣。所以,无论我们是线下举办还是通过Zoom线上举办,无论如何我们都会吸引到人,无论如何我们都能够传播信息,或者像Michael说的,能够回馈我们的社区。对于线上版本,我们真的不仅关注密歇根大学的学生,还关注吸引密歇根州乃至我们营销目标中西部地区的与会者。所以基本上,无论如何,我们总是能让人们感兴趣。只要我们能够把我们的信息传播出去,并解释我们举办会议的原因,我认为我们就能取得成功。
好的,所以ARI一直是校园内本科生XR领域的主要推动力之一。但除了ARI,你们认为校园内甚至校外的学生还有哪些学习XR的机会?能举一些例子吗?
我们一直在做的一件事是邀请在这个领域工作的教授或人士来我们的会议,谈论除了ARI之外探索XR的机会。这可以通过校园内的研究机会,或者我们通过通讯发布的一些工作机会来实现。我们也鼓励学生在ARI之外做项目,比如通过参加黑客松。我记得第一年宣布这些黑客松时,只有两名学生,我和Michael参加了第一个。然后第二年人数增加了,我们有四名学生参加了黑客松。所以我们一直在推动我们的学生在大学校园内外探索XR。

本节课中,我们一起学习了密歇根大学“替代现实倡议”(ARI)学生社区的建设经验。我们了解到,一个成功的XR学生社区可以通过以下方式建立:从兴趣小组起步并逐步正规化,设立清晰的组织架构和角色分工,通过校园活动广泛招募成员,并举办涵盖不同技能水平的研讨会和有趣的社区活动来保持参与度。此外,创建项目团队和举办区域性会议(如XR Midwest)能有效提升学习深度和行业连接。学生的参与动机混合了兴趣探索和职业发展,而社区的成功关键在于提供持续的学习资源、实践机会和行业网络。
035:学生倡议的挑战与展望


在本节课中,我们将继续探讨学生主导的扩展现实(XR)倡议。我们将重点关注学生领袖在推动此类倡议时遇到的实际挑战、他们采取的应对策略,以及他们对XR领域未来发展的展望。
上一节我们介绍了“替代现实”倡议的成功故事,本节中我们来看看他们在发展过程中遇到的具体困难以及如何应对。
学生领导力的个人收益
首先,我们探讨学生领导者从这类倡议中获得了哪些个人与职业上的收益。
问题:领导这样的倡议对你们作为学生和未来的职业发展有何益处?你们是否立志成为XR领域的未来领袖?
回答:我们成立了一个名为 ICXR(Intercollegiate XR Community) 的组织,旨在联合美国各地的大学,共享资源和建议,以吸引更多学生进入XR领域。在我的职业生涯以及我为各个组织(如“替代现实”倡议和线上社交VR社区)所做的贡献中,核心原则始终是 “吸引更多人进入XR领域”。因为这不仅能培养更多开发者,也能带来更多用户,共同推动XR走向主流未来。
倡议发展中的具体挑战与应对
在谈论成功的同时,我们也必须面对挑战。以下是“替代现实”倡议遇到的一些主要困难及其解决方案。
挑战一:技术资源的可用性
问题描述:起步阶段,XR技术较新,资源有限。
- 初期状况:学校可视化工作室最初只有2-3台连接电脑的头显。团队需要自购设备,并在技术层面遇到困难,这导致早期更侧重于增强现实(AR)。
- 解决方案与现状:随着虚拟现实(VR)的普及和社区兴趣的增长,学校加大了对该技术的支持。如今,可视化工作室配备了多种头显,并有专业 staff 提供技术支持,已成为成员会议和工作的绝佳场所。技术可用性从最初的挑战,转变为推动我们成长和教学能力提升的关键因素。
挑战二:成员参与度与留存率
问题描述:作为学生倡议,活动参与度受学期周期(如考试)影响很大,难以维持工作坊的活跃度和参与人数。
以下是他们应对参与度挑战的具体策略:
策略列表:
- 持续进行招新:通过大型招新活动不断扩充邮件列表,即使不是所有人都参会,也能扩大潜在受众基础。
- 优化活动节奏:减少纯技术工作坊的频率,增加社区活动和非技术性聚会(如游戏之夜、电影之夜、披萨聚餐)。采用 “技术工作坊”与“社区活动”交替进行 的模式。
- 活动形式多样化:这既能吸引不同技术水平的学生(高级开发者可能觉得基础工作坊不适用),也能满足那些只想参与社区、了解XR而非专注开发的学生。
效果:通过上述策略,最近一年的留存率显著提高。首次会议有约50人参加,后续会议平均能保持25-30人。
挑战三:启动阶段的资源与指导获取
问题描述:作为大一新生,在启动倡议时,难以获得教职员工的关注和实质性指导。
应对过程:
- 尝试联系校内资源:向所有从事XR研究的教授和教职工发送邮件,寻求关于校内XR生态系统的信息、指导或反馈。
- 结果:虽然通过暑期视频会议与部分人建立了联系(例如与Michael教授),但大多数联系未能深入,未能获得持续支持。
- 策略转向:将重点转向其他学生。团队与约 50名 来自其他大学、运营XR组织的学生交流,了解他们的成功经验、活动类型以及失败教训。
- 结论:“替代现实”倡议的许多成功模式,都源于从这些活跃学生社区获得的建议和反馈。学生社群间的互助是成功的重要因素。
当前与未来的挑战及愿望
了解了过去的挑战后,让我们展望未来。当前最大的障碍是什么?如果许愿,希望获得什么支持?
核心挑战:克服XR未来发展的不确定性。
许多学生最初对XR技术充满热情,但将这种兴趣转化为职业追求面临挑战。因为目前行业中的许多人是从其他领域(如游戏、软件)转型而来。而像我们这样的学生,属于 “首批” 直接从大学开始探索XR并计划以此职业的学生群体。我们正在尝试为后来者开辟一条道路,但在XR发展速度和具体机会尚不明朗的情况下,这是一项艰巨的任务。
愿望:希望有更多清晰的路径和案例,展示学生如何能在XR领域规划职业生涯,尤其是在这个领域仍在快速演变和成长的阶段。
总结
本节课中我们一起学习了学生XR倡议所面临的多维度挑战:
- 资源挑战:从技术设备匮乏到获得学校支持,体现了基础设施的重要性。
- 运营挑战:通过持续招新、活动多样化(交替进行
技术工作坊和社区活动)来提升成员参与度和留存率。 - 启动挑战:在难以获得自上而下指导时,转向平行学生社群寻求经验与支持是有效的策略。
- 未来挑战:最大的长期挑战在于应对XR行业发展的不确定性,并为学生探索职业道路提供更多参考。


“替代现实”倡议是一个几乎完全由学生自主驱动并取得成功的典范。它展示了即使在没有大量初始支持的情况下,通过学生间的协作、坚持和灵活的策略调整,也能建立起一个有影响力的社区。对于有志于启动类似项目的学习者来说,这个故事提供了宝贵的经验和鼓舞。
036:课程总结 🎉


在本节课中,我们将对《面向所有人的扩展现实》专项课程的第一门课进行总结。我们将回顾所学到的核心概念、技术、趋势与策略,并展望后续课程的内容。
课程概述
恭喜你完成了扩展现实(XR)专项课程的第一门课。本课程的核心目标是为你建立XR领域的知识基础。我们重点学习了相关术语、核心概念与技术,探讨了行业趋势,并讨论了相关的社会议题与战略思考。这些内容为你深入理解这个快速发展的领域提供了初步但全面的视角。
核心概念回顾
上一节我们介绍了课程的整体目标,本节中我们来回顾一下学到的几个最核心的概念。
首先,我们从根本上区分了虚拟现实(VR) 与增强现实(AR)。你现在应该明确:
- 虚拟现实(VR):用计算机生成的环境取代现实世界。公式可表示为:
用户体验 = 完全虚拟的环境。 - 增强现实(AR):将数字信息叠加到现实世界中,从而增强现实。公式可表示为:
用户体验 = 真实世界 + 叠加的数字信息。
需要强调的是,这两个术语中的“R(现实)”含义不同。在AR中,“R”指的是真实世界;而在VR中,“R”指的是计算机生成的合成世界。
我们还学习了现实-虚拟连续统,这是一个用于理解从完全现实到完全虚拟的各种混合体验的模型。我们通过练习,将现有的应用分类放置在这个连续统上。
技术与方法学习
在掌握了基本概念后,我们深入了解了驱动VR和AR的各种技术,构建了自己的“技术知识树”。这帮助我们理解不同技术方案及其关联。
更重要的是,我们学习了一种名为 “问题-选项-标准”(QOC) 的设计空间分析方法。以下是其核心步骤:
- 提出问题:针对你想要设计的功能或体验,提出根本性问题。
- 列出选项:为每个问题找出所有可能的技术或设计选项。
- 制定标准:建立评估这些选项优劣的准则。
这种方法将技术讨论结构化,便于与团队成员或潜在用户进行有意义的探讨,而不是空泛地谈论技术。
行业趋势与议题
接下来,我们从人机交互(HCI)的视角探讨了XR的演进趋势,涵盖了人、任务、技术和环境四个维度的变化。
我们观察到一些关键趋势:
- 社交化与多用户体验:支持多用户、跨设备的AR/VR社交应用正在兴起。
- 包容性设计:从服务特定用户,转向为包括残障人士在内的所有用户提供无障碍体验。
- 情境泛在化:AR体验正从特定场景(如工作区)走向“始终在线、随时可用”。
- 技术集成化:设备从有线走向独立,再进一步向内置化发展,更多普通设备将集成AR能力。
- 计算模式演化:计算任务从依赖额外硬件,到软件处理,再到云端协同。
- 应用形态融合:从独立的XR应用,发展到应用内包含XR模式,未来可能实现根据任务和用户偏好,在AR与VR间无缝切换内容的跨现实(Cross-Reality) 体验。
同时,我们也必须关注XR发展带来的重大社会与伦理议题,主要包括:
- 社交与伦理问题
- 可访问性与公平性
- 隐私与安全
个人与团队战略
在课程的最后部分,我们探讨了个人与团队在XR领域的成长战略。核心是培养成长型思维,持续学习并构建多元化的团队。策略涉及知识积累、团队建设、设备选型和用户理解。XR本身就是一项战略选择,关乎你选择参与的项目、秉持的信念以及对行业方向的判断。
专项课程展望
本课程是整个XR专项课程的第一部分,侧重于知识与认知塑造。
后续还有两门深入课程:
- 设计篇:专注于设计思维、原型制作(包括实体、数字及沉浸式原型),并通过实际项目进行实践。
- 开发篇:专注于开发工具链,引导你从2D思维转向3D开发,具体学习构建VR和AR场景,无需深厚的计算机图形学背景。
这两门课的内容相互衔接,你将完成一个完整的项目并参与同行评审。
总结

本节课中,我们一起回顾了XR入门课程的全部要点。我们从区分VR与AR开始,学习了核心技术、分析问题的QOC方法,洞察了行业趋势与挑战,并探讨了个人发展策略。现在,你已经对这个快速演进的领域有了扎实的概览,为进行批判性讨论和进一步深入学习打下了坚实基础。


我邀请你继续加入后续课程,更深入地参与XR的设计与开发,共同成为这个领域的实践者和塑造者。感谢你的参与,期待在未来的学习中再次相遇!
037:认识你的导师 👨🏫


在本节课中,我们将认识本专项课程的导师,了解他的背景、教学理念以及对扩展现实(XR)领域的看法。
大家好,我是 Mike Ebelling,我是你们的导师。我是密歇根大学的一名教授,更准确地说是一名助理教授,我在信息学院工作。
在正式开始这个XR专项课程之前,我认为应该先介绍一下自己,并告诉你们一些关于我的事情。我在这个领域工作了大约五年。我一直在人机交互领域进行相关研究。同时,我已在密歇根大学的在校项目中教授了三年课程,包括两门AR/VR课程:一门侧重于设计,另一门侧重于开发。
这门课程在多个方面是我几年前与几位同事共同制作的“Teachout”课程的更新版。那个课程是密歇根大学的“增强现实、虚拟现实和混合现实”Teachout。也许你们在那里见过我。很高兴在那门慕课中遇到了一些学习者,并且你们中的许多人实际上表示希望了解更多关于设计和开发的内容。我们听到了你们的声音,并在这两个领域都增加了大量内容。
我关心XR。你们可以猜到,对我来说,我们所有人都理解这些技术非常重要。它们正在融入我们的日常生活,它们已经存在,并且不会消失。我们仍然可以影响如何塑造这些技术,从而更好地控制它们如何融入我们的日常生活。
无论如何,现在是我回馈和传递知识的时候了。我希望你们今天在这里学到的东西,是我自己必须学习的——不仅仅是今天,而是在接下来的几周里。这个过程不会那么快。差点被误导了,对吧?我希望你们能分享这些知识,并邀请其他人也来了解这些事情。
不是每个人都关心开发,也许我们中的一些人关心设计,希望关心的人更多。然后,我们中的许多人应该真正关心这个领域和这些技术的发展方向。我们应该对此进行一些批判性的讨论。
感谢你们让我认识你们,并加入我传播XR知识的努力。我真的很期待在课程中见到你们,希望我们能相互交流,也许有一天甚至能亲自见面,那将令人兴奋。欢迎来到XR专项课程。
本节课总结


在本节课中,我们一起认识了本专项课程的导师 Mike Ebelling 教授。我们了解到他是密歇根大学的助理教授,在XR领域拥有多年的研究和教学经验。他介绍了本课程的背景,并分享了他希望学员能理解XR技术、参与塑造其未来发展的教学愿景。
038:课程概述 🚀


在本课程中,我们将学习如何将传统的用户体验与交互设计原则、方法和工具,过渡并应用到扩展现实(XR)领域。XR包括增强现实(AR)、虚拟现实(VR)和混合现实(MR)。我们将探讨设计思维、物理与数字原型制作等核心主题,帮助你掌握为XR环境设计有效体验的技能。
课程结构与目标
上一段我们介绍了课程的整体方向,本节中我们来看看课程的具体安排和学习目标。
本课程的结构分为四个主要模块。
以下是各模块的简要介绍:
- 模块一:引言:我们将讨论进行XR设计涉及的内容、如何找到你的设计流程,以及如何真正开始。
- 模块二:设计思维:我们将探讨源自斯坦福设计学院的六步设计思维方法,并研究如何将其应用于XR设计,应对XR特有的挑战。
- 模块三:物理原型制作:我们将学习使用纸张、透明胶片、纸板等物理材料进行原型制作,这是一种有趣且有效的方式,可以在投入编码前深入思考用户体验。
- 模块四:数字原型制作:我们将探索使用数字工具进行原型设计,包括传统的桌面二维设计,以及直接在头戴设备中进行“沉浸式原型制作”的新方法。
在每个模块结束后,都会有测验来评估你的学习成果。
实践内容与价值
上一节我们概述了理论模块,本节中我们来看看配套的实践练习及其重要性。
除了课程视频和测验,选择“荣誉课程”路径的学员还可以访问额外的实践活动。
以下是三项核心实践练习:
- 设计思维练习:这是一个分为两部分的练习,重点在于设计批判。首先基于设计准则对现有界面进行批判,然后更深入地探讨伦理问题。
- 物理原型制作练习:从故事板和线框图出发,进行纸质原型制作。这是一个发挥创意、探索XR体验的绝佳方式,能帮助你在真正开始编码前,与利益相关者一起走查和验证设计思路。
- 数字原型制作练习:我们将制作两种数字原型。一种是使用桌面工具设计并可在AR/VR设备上预览的原型;另一种是直接在沉浸式环境中进行的“沉浸式原型制作”,允许你在3D空间中直接草图绘制。
这些技巧并非相互替代,而是互为补充。通过故事板、纸质原型、数字原型乃至沉浸式原型的逐步推进,你将在每一步中更深入地理解设计,明确需求,并最终接近我们所说的最小可行产品。
总结


本节课中,我们一起学习了《扩展现实用户体验与交互设计》课程的概述。我们了解了课程将如何引导你从传统设计过渡到XR设计,介绍了以设计思维、物理原型和数字原型为核心的四大模块结构,并预览了配套的实践练习。这些方法旨在帮助你高效探索设计思路,避免过早投入开发,从而节省时间并找到真正适合XR的解决方案。
039:XR开发要素解析第一部分


在本节课中,我们将探讨进行XR开发所涉及的核心要素。我们不会立即开始动手实践,而是先提供一个概览,并类比电影制作来理解XR体验的创作过程。
🎬 与电影制作的类比
我认为创作XR体验在很多方面与制作电影相似。电影制作是一项复杂且富有创造性的任务,通常涉及不同角色的多人协作,例如导演、编剧、摄影师、演员以及负责灯光、音效和特效的人员。最优秀的电影往往兼具出色的故事和特效。
在XR领域也是如此。我们需要在VR或AR中传达某种“故事”,并且这个“故事”可以有多种表现形式。选择电影制作作为类比的另一个原因是,如今每个人都可以用智能手机拍摄并分享视频,无需接受正式训练。XR领域同样如此,存在大量工具,使得越来越多的爱好者能够创作XR体验。这既令人兴奋,也潜藏风险。如果我们能真正理解XR设计,秉持道德责任感,并关注用户在体验中的舒适与安全,将更为理想。现实中,并非所有体验都做到了这一点。
🔑 核心术语定义
首先,让我们回顾并定义几个关键术语。我将描绘一个“现实-虚拟现实连续体”。
- 现实 位于光谱的一端。
- 虚拟现实 位于光谱的另一端。
- 增强现实 大致位于中间偏现实的位置,因为它主要是对物理世界进行增强。用户看到的主要是物理世界,然后叠加了一些虚拟内容。
- 增强虚拟现实 随着虚拟内容的增加,我们会进入这个领域。它主要是虚拟内容,并融入了物理世界的元素。
这个连续体的内部部分,我们常使用 混合现实 这个术语。对大多数人来说,它几乎是增强现实的同义词,但严格来说,混合现实涵盖了从AR到增强虚拟现实的整个光谱范围。
我经常使用 XR 这个术语。有些人将其解释为“扩展现实”,意指它超越了之前提到的AR、VR、MR。但我将其用作一个统称,其中的 X 是一个通配符,代表增强、混合和虚拟现实。
🧩 XR体验的三大要素
明确了关键术语后,我们来定义什么是XR体验。我认为XR体验包含三个主要要素:环境、3D角色和交互。
环境
我们需要区分物理环境和虚拟环境。
- 物理环境 是用户实际所处的空间。
- 虚拟环境 是我们在VR中将用户“传送”进入的完全虚拟的空间。在VR中,用户沉浸于虚拟环境,可能与所处的物理世界没有直接关联。
- 在增强现实中,我们需要解读物理环境,并富有意义地用虚拟内容对其进行增强。这是AR与VR在环境处理上的主要区别和挑战。
3D角色
3D角色不仅限于人物模型,它包含多种形式,以下是几个例子:
- 虚拟化身:通过3D重建或动作捕捉技术,创建真实人物的虚拟复制品。
- 3D模型:由3D艺术家建模、绑定骨骼并添加动画的虚拟物体。虽然3D建模是一项专业技能,但XR设计师并非必须掌握,因为网络上有大量免费的3D模型资源可供使用。
- 数据可视化:以空间化形式(如图形、3D声音)呈现数据,用于在沉浸式环境中向用户传达复杂的理念。例如,3D声音不仅仅是立体声,它能模拟声源在场景中的具体位置,让声音听起来来自特定方向。
交互
交互可以分为两大类:
- 显式交互:用户明确知晓并主动执行的交互,例如系统可识别的手势或语音命令。
- 隐式交互:用户并非直接发起的交互。在AR和VR中,基于摄像头、头部注视或眼球追踪的交互常属于隐式交互。
XR体验是显式与隐式交互的有趣结合。目前的一个主要挑战是,面向非技术用户的设计工具通常支持的交互类型非常有限。在后续专注于开发的课程中,我们将介绍更多面向程序员的工具包和库,以扩展XR设计师可用的交互词汇。
🌍 情境与故事
上一节我们介绍了XR体验的内容与交互要素,本节中我们来看看体验发生的情境及其所要传达的“故事”。
情境的重要性
情境对AR和VR体验的影响方式不同:
- 在VR中:虽然用户看不见物理环境,但虚拟环境的设计必须考虑其与真实世界的“适配”。虚拟世界在物理尺度上可能远大于用户所处的实际房间,这带来了有趣的挑战,例如移动方式和重定向行走技术。
- 在AR中:物理世界直接驱动AR体验。设计的AR环境必须与现实世界融合,而不仅仅是“放入”。它需要补充或修饰物理世界。因此,AR设计不仅关乎虚拟内容,更关乎理解并设计包含真实世界在内的整体体验。
故事的讲述方式
回到电影制作的类比,XR中的“故事”讲述方式因技术而异:
- 在VR中:故事讲述发生在现实与虚拟的交界处。最佳的VR体验能巧妙处理物理与虚拟世界之间的映射关系。例如,在解谜游戏中按压虚拟按钮时,如果现实中也有对应的物理按钮提供触觉反馈,体验将大幅提升。反之,如果物理环境中的障碍物(如椅子)未在虚拟世界中体现,则会破坏沉浸感。
- 在AR中:故事讲述发生在现实与虚拟内容的结合体上。一个优秀的AR体验,其虚拟内容应与现实世界产生有意义的关联,而不仅仅是简单地将虚拟物体放置在物理空间中。
📝 总结
本节课中,我们一起学习了XR开发的核心要素。我们首先通过与电影制作类比,理解了XR体验创作的复杂性。接着,我们定义了现实-虚拟现实连续体上的关键术语:现实、虚拟现实、增强现实、混合现实以及作为统称的XR。
然后,我们深入探讨了构成XR体验的三大支柱:
- 环境:区分了物理环境与虚拟环境,以及它们在AR和VR中的不同角色。
- 3D角色:涵盖了虚拟化身、3D模型和数据可视化等多种形式。
- 交互:分为用户主动的显式交互和系统发起的隐式交互。



最后,我们分析了情境如何影响AR与VR体验的设计,并探讨了在这两种媒介中“故事”讲述方式的不同:VR关注现实与虚拟的交界,而AR关注两者的融合。理解这些基础要素,是设计和开发出引人入胜且负责任的XR体验的第一步。
040:XR开发要素解析第二部分


概述
在本节课中,我们将通过一个具体的案例研究——《狮子王》2019年重制版,来深入解析XR体验的创作过程。我们将了解从构思到原型制作的完整流程,并探讨XR开发中各个角色的职责与传统电影制作的异同。
从电影制作到XR开发的角色映射
上一节我们介绍了XR开发的基本要素,本节中我们来看看这些要素如何具体应用于一个实际项目中。
在电影制作中,我们拥有导演、摄影师、演员等多种角色。这些角色在XR开发中是如何体现的呢?以下是其映射关系:
- 导演:在XR项目中,通常是项目负责人。在个人项目中,XR设计师或开发者可能同时承担导演的职责。
- 摄影师:这是XR与电影最大的不同点。在XR中,摄影师的角色实际上由最终用户承担。用户拥有在虚拟空间中自由探索、选择视角的自主权。这带来了独特的设计挑战,设计师必须通过视觉、音频等线索来引导用户的注意力。
- 演员:在XR中,“演员”通常是设计师编排的3D模型。如果需要定制化角色,则需要与3D艺术家合作,进行建模、绑定和动画制作。另一种方式是使用动作捕捉技术,由专业演员表演。
- 灯光师/音效师/特效师:在XR中,这些职责通常由XR设计师承担。具体工作包括:
- 为3D模型设置合适的材质、纹理和光照。
- 在三维空间中布置空间音频源,并确保声音能根据虚拟环境的几何结构被正确遮挡和传播。
- 实现粒子效果、着色器等特殊效果,这通常需要一定的脚本编程能力,更偏向开发者的角色。
案例研究:《狮子王》XR原型制作
为了更具体地说明上述过程,我将分享我们实验室进行的一个研究项目。我们以《狮子王》2019年重制版为案例,探索了多设计师在AR/VR环境中协作创作XR体验的方法。值得注意的是,这部电影本身就是在虚拟现实中导演和拍摄的,因此它是一个极佳的研究对象。
第一步:故事板与线框图
任何XR项目通常都始于规划和构思。我们的流程始于传统的故事板和线框图绘制。
我们分析了电影预告片,在纸上勾勒出想法。这个过程帮助我们确定:
- 所需的镜头运动。
- 涉及的角色及其动作关系。
- 要选取的故事序列。
以下是我们在这一阶段的工作方式示例:


第二步:实体原型制作
在构思之后,我们进入了实体原型制作阶段。这超越了纸面规划,是在三维物理空间中进行的故事板活动,对于AR/VR项目尤为重要。
我们利用有限的预算(约25美元),购买了卡纸、透明胶片等材料,将纸板改造成舞台,制作了角色模型。学生们像一个小型电影剧组一样协作,测试和拍摄场景。例如,制作木法沙被推翻的场景就非常具有挑战性,需要精细的角色动作和慢镜头拍摄。

通过实体原型,我们可以在没有任何数字技术介入的情况下,初步感受虚拟世界的氛围和节奏。
第三步:数字原型制作

在实体原型的基础上,我们开始构建数字原型。我们使用了多种工具,将每个场景数字化。
我们涉及的工具和技术包括:
- Unity:用于构建交互式场景。
- A-Frame 和 WebXR:用于创建基于网页的XR体验。
- Blender:用于3D建模和修改。许多模型来自Google Poly,它们本身是用Google Blocks或Tilt Brush等沉浸式建模工具创作的。
以下是我们创建的数字原型示例,其中包含了脚本控制的动画:

虽然这个数字原型被评论为“粗糙的程序员美术”,无法与迪士尼的成品相比,但它已经包含了大量的工作,并能有效地帮助我们设想最终的XR体验。你可以看到拉飞奇爬上荣耀石、辛巴出现等动画,以及镜头的旋转运动。

总结


本节课中,我们一起学习了XR开发的核心流程,并通过《狮子王》案例进行了具体分析。我们了解到:
- XR开发继承了电影制作的许多角色,但关键区别在于用户成为了摄影师,这带来了引导用户注意力的设计挑战。
- XR体验的创作是一个从构思(故事板) 到实体原型,再到数字原型的迭代过程。
- 实体原型制作能有效帮助团队在早期感受空间和叙事,而数字原型则依赖于Unity、Blender等多种工具的组合。
- 一个完整的XR项目需要融合设计思维(如场景构图、用户体验)和技术实现(如3D建模、动画编程、空间音频)。

通过这个案例,希望你能够对“创作一个XR体验究竟涉及什么”有一个更具体、更直观的理解。
041:XR体验开发概述


在本节课中,我们将学习如何将XR设计概念转化为实际可运行的体验。我们将从基础与高级XR体验的区别入手,分析其核心构成要素,并探讨不同XR技术(如VR与AR)在实现上的具体需求。
从原型到产品
上一节我们介绍了故事板、物理原型和数字原型。本节中,我们来看看如何将这些原型进一步发展为可运行的“最小可行产品”。
通过之前的《狮子王》体验示例,我们完成了故事板、物理原型和数字原型的制作。目前所达到的阶段,可以称之为最小可行产品。接下来,需要在此基础上进行多次迭代,正式进入XR体验的开发阶段。
XR体验的类型
当思考开发XR体验时,需要区分两种主要类型。
基础XR体验相对简单,但已包含几个必要组件:
- 需要在AR和VR之间做出选择。
- 通常会放置一些3D角色或模型。
- 必须设置至少一个方向光和环境光,才能让场景中的物体可见。
这种基础体验,可以视为一个单一的XR设计。
高级XR体验则更为复杂。它可能包含:
- 定制的、带有骨骼绑定和动画的3D模型。
- 多个附加光源。
- 声音效果。
要创建这样的高级体验,XR设计师需要扮演更多角色。例如,创建定制3D模型和动画需要具备3D美术师的技能,可能需要在Blender、Maya等专业3D工具中完成。虽然Unity和Unreal引擎也具备基础的建模功能,但专业工具的工作流程截然不同。
作为XR设计师,你仍需要负责场景中的灯光布置,并确保3D模型的材质设置正确。在使用网络下载的免费3D模型时,经常遇到比例不一致和原点位置不统一的问题。此外,材质的设置也至关重要,它决定了模型如何正确地反射光线,这些都需要设计师进行调整。
声音也是高级体验的重要组成部分。例如,为动物添加叫声、设置背景音乐和音效,都能极大增强沉浸感。动画的实现方式多样,既可以在Unity的动画编辑器中制作,也可以通过代码(如在A-Frame中使用JavaScript)进行脚本控制,但后者通常不是制作复杂动画的最佳方式。
XR体验的核心构成要素
现在我们已经明确了基础与高级XR体验的区别,接下来将其分解为具体的内容与交互要素。
一个XR体验的核心内容成分包括:
- 3D模型与动画
- 灯光与阴影
- 环境(地形、天空盒等)
- 物理效果
- 空间音效
- 菜单与平视显示器
在交互方面,我们区分显式交互和隐式交互。
以下是显式交互的例子:
- 光标/注视点:通常基于头部或眼球运动,提供一个指示焦点的十字准星。
- 控制器:如VR手柄或手势追踪。
- 语音命令
以下是隐式交互的例子:
- 基于摄像机的移动
- GPS地理位置(可影响渲染内容,如时区)
- 基准标记:在AR体验中常见,是一种能被摄像头识别的图案(如二维码),用于建立虚拟内容与现实世界的坐标系对应关系。在最终用户体验中,标记本身通常不扮演重要角色。
- 环境特征:例如,将特定物理物体带入视野,或在家具摆放应用中看向沙发,都可能触发相应的虚拟内容。
不同XR技术的实现需求
现在,让我们看看对于不同类型的XR体验,上述构成要素如何具体应用。我们将分别探讨基础VR、沉浸式VR、基于标记的AR和无标记AR。
VR体验的实现
一个基础VR体验(如Cardboard类应用)可能仅包含:
- 少量3D模型(甚至只有一个)
- 基础灯光与阴影
- 光标交互
而一个沉浸式VR体验则会包含更多要素:
- 完整的虚拟环境
- 物理模拟
- 空间音效
- 菜单和平视显示器用于导航
- 更丰富的控制器或手势交互
- 可能支持语音命令
与基础体验相比,沉浸式体验在显式交互方面有显著增强。
AR体验的实现
在AR中,我们需要区分基于标记的AR和无标记AR。

一个基于标记的AR体验(通常通过手持设备实现)类似于基础VR体验,但额外需要:
- 可能有一个菜单界面
- 可能使用GPS位置信息
- 必须使用基准标记来锚定内容
一个无标记AR体验(如由ARKit/ARCore支持的体验)则更接近沉浸式体验。它不需要物理标记,因为系统会通过计算机视觉自行识别环境特征来建立坐标系。这类体验通常更丰富,因为平台提供了对环境表面及其法线方向的理解。在配备空间映射和深度传感等高级传感器的设备上,甚至可以实现虚拟物体与真实环境的物理交互(如碰撞、投掷)。
总结
本节课中,我们一起学习了XR体验从设计到开发的关键步骤。我们概述了如何将原型发展为产品,区分了基础与高级XR体验的构成,并详细拆解了内容与交互的核心要素。最后,我们探讨了这些要素在不同XR技术(VR、基于标记的AR、无标记AR)中的具体应用与需求。


这部分内容旨在提供一个全面的概览。在后续课程中,我们将更深入地探索设计的各个方面,并有专门关注开发的课程来详细研究这些技术实现。希望这个《狮子王》示例能让你对XR开发涉及的内容有一个良好的初步认识。
042:如何开始你的XR之旅 🚀


在本节课中,我们将探讨如何开始学习扩展现实。许多对XR感兴趣的人常常感到困惑,不知从何入手。本教程旨在梳理初学者面临的关键挑战和障碍,并提供成为XR创作者的清晰路径。
概述:初学者面临的六大障碍
在深入细节之前,我们先来了解初学者进入XR领域时普遍遇到的六个主要障碍。理解这些障碍有助于我们找到克服它们的方法。
以下是初学者在XR领域起步时常见的六大挑战:
- 寻找起点:不清楚应该从哪里开始,使用什么工具。
- 从2D到3D的过渡:如何将熟悉的2D设计知识和技能应用到3D环境中。
- 寻找优质示例:难以找到高质量、可参考的XR设计或开发案例。
- 工具选择的困惑:面对众多工具,不清楚哪种最适合自己的需求和用例。
- 平台碎片化问题:不同设备和平台(如Oculus、Vive、iOS ARKit、Android ARCore)的兼容性问题。
- 评估用户体验:如何判断自己创建的AR/VR体验是否优秀,缺乏成熟的评估标准。
深入探讨:起点问题 🧭
上一节我们概述了主要障碍,本节中我们来看看第一个也是最基本的问题:如何找到正确的起点。学生们经常询问应该学习Unity还是Unreal,以及哪个工具更好。
我认为这不是正确的问题。首先,Unity和Unreal本质上是游戏引擎,对XR的支持是后续添加的。虽然支持非常全面,但对于初学者来说,这些工具界面复杂,术语繁多,同时学习复杂工具和3D概念可能会让人不知所措。因此,它们可能不是最佳的起点。
我个人经常使用WebXR进行工作,因为它具有跨平台和快速原型设计的优势。但这也不是唯一的答案。
关键在于,你需要退一步思考自己的角色定位:你更偏向设计师还是开发者? 根据不同的定位,关注点会有所不同。
- 作为设计师,你更关心设计流程、方法、创作工具、设计指南和可用性评估技术。
- 作为开发者,你更关注开发流程、开发工具包、编程语言、设计模式如何转化为代码架构,以及如何优化性能(如渲染效率)。同时,你也会考虑如何通过数据追踪和分析来评估体验。
这两者如同阴阳,需要紧密结合。根据你的自我定位,你可以寻找不同的切入点,或者以不同的视角看待相同的问题。
成为XR创作者的路径 🛣️
在明确了自身定位后,我们可以根据不同的背景,选择进入XR领域的路径。
以下是根据不同技术背景推荐的XR入门路径:
- 如果你有Web开发背景:最直接的路径是基于WebXR标准。
- 擅长JavaScript,可以选择 Three.js。
- 喜欢声明式HTML,可以选择 A-Frame。
- 想快速创建基于标记的AR体验,可以尝试 AR.js。
- 如果你有游戏开发背景:并且熟悉3D设计和建模,那么Unity或Unreal是你的天然选择。
- 可以利用SteamVR开发跨平台VR应用。
- 利用AR Foundation(Unity)可以同时为ARKit和ARCore开发应用。
- 利用混合现实工具包开发头戴式设备体验。
- 如果你有移动开发背景:熟悉Android或iOS原生开发。
- 可以直接学习 ARKit 或 ARCore 的SDK。
- 也可以直接使用 Oculus SDK 或 Vive SDK 进行开发。
路径选择与难度评估 ⚖️
上一节我们介绍了不同背景的对应路径,本节中我们来评估一下这些路径的可行性。我将补充一些过渡路径,并讨论其难易程度。
以下是不同背景转向特定XR工具的路径与难度分析:
- Web开发者 → WebXR:这条路径相对容易。A-Frame入门简单,Three.js需要较强的JavaScript能力,AR.js可以快速获得AR成果。
- 游戏开发者 → Unity/Unreal生态:如果你已熟悉C#或C++,那么掌握SteamVR、MRTK和AR Foundation是可行的。但直接使用原生SDK(如Oculus SDK)可能不是最佳首选,除非你需要针对特定平台进行深度开发。
- 移动开发者 → 原生SDK:对于有经验的移动开发者,直接学习ARKit、ARCore或头显SDK是“可以做到”的,但可能并非“容易”。你仍然需要花费大量时间理解XR概念。不过,直接使用原生SDK的好处是能第一时间用上平台的最新功能。
核心挑战:从2D思维到3D思维的跨越 🌉
无论选择哪条路径,几乎所有来自传统屏幕设计(网页、移动应用)的初学者都会面临一个根本性挑战:从2D设计思维过渡到3D设计思维。
在2D世界中,我们熟悉像素、X/Y坐标系和绝对定位。但在3D的XR世界中,一切都变了:
- 坐标系:从二维(X, Y)变为三维(X, Y, Z)。原点(0,0,0)通常是应用启动时用户所在的位置,而非屏幕的固定角落。
- 单位:从像素变为现实世界的米。模型和距离都需要以现实尺度来考量。
- 模型与材质:需要处理3D模型,并确保它们具有正确的比例和材质,以便在光照下呈现应有的外观。
- 光照:这是2D设计中几乎无需考虑的因素。在3D场景中,没有光,就看不见任何东西。环境光、定向光的设置对场景视觉效果至关重要。
这个跨越涉及对空间、尺度、材质和物理光照的全新理解,是XR学习曲线中陡峭但必须攻克的一部分。
总结 📚
本节课中我们一起学习了如何开始你的XR之旅。我们首先概述了初学者面临的六大障碍,然后深入探讨了如何根据你的背景(Web开发、游戏开发或移动开发)选择最适合的入门路径和工具。最后,我们强调了从2D思维过渡到3D思维是核心挑战,需要理解新的坐标系、单位、模型材质和光照系统。



记住,开始XR创作的关键是先明确自己的角色和背景,选择一条匹配的路径,并准备好迎接从2D到3D的思维转变。在接下来的课程中,我们将逐一深入这些主题,帮助你逐步构建XR设计与开发的能力。
043:工具、挑战与入门建议


在本节课中,我们将深入探讨XR开发中的工具选择挑战、平台碎片化问题,并为初学者提供一套实用的入门建议。我们将分析现有工具的优缺点,并学习如何在这个快速发展的领域中迈出第一步。
工具选择的困境:寻找“甜蜜点”
上一节我们介绍了XR的基本概念,本节中我们来看看学习过程中一个常见的难题:如何找到好的学习范例。
好的XR学习范例很难找到。社区分享的范例通常是为解决特定问题而设计的。如果这不是你试图解决的问题,作为新手开发者,你很难从中推断并应用到自己的问题上。
如果你找到了更通用的范例,它们通常又显得过于抽象和复杂。即使从这个更通用的例子出发,你也很难将其调整到你的具体用例上。这似乎是一个两难的局面。
那么,什么样的例子更好呢?也许介于“过于简单的最小化示例”和“不太复杂的完整示例”之间。我们真正追求的是这个“甜蜜点”。非常具体的例子有优势,非常通用的例子可能对有经验的开发者很有效。最小化的例子如果用例正确,或者真正模块化,你可以从许多小例子中组装你的解决方案,那也很好。一个完整但不太复杂的例子通常也是很好的学习范例。
但作为范例的创建者,很难找到这个甜蜜点。因为经验丰富的开发者需要更通用的范例,而经验不足的设计师和开发者则更需要这些较小的部分。然而,他们又需要努力从这些孤立的小例子中进行推断,想象出具体的应用场景以及如何解决自己的问题。这是一个非常有趣的问题,我们将在更侧重于开发的课程中再次讨论。
XR工具全景图:复杂度与能力的权衡
接下来,我们来看看当前AR和VR工具的现状。我将它们分为五类,并根据你能用这些工具达到的保真度水平以及所需的技能和资源来绘制它们。
以下是主要的工具类别及其特点:
- 简单易用但功能有限的工具:这类工具相对容易使用,但你能用它们做的事情不多。
- 3D建模工具:这类工具需要一套非常不同的技能和资源,并不容易使用。如果你有网页设计或网页开发背景,使用这些工具会很困难。
- A-Frame、Unity和Unreal引擎:这些工具可以达到很高的保真度,但你也需要相当多的技能,并且需要时间来培养这些技能(时间就是金钱)。
- 沉浸式创作工具:例如Tilt Brush和Google Blocks。它们能提供相对较高的保真度,因为你直接在VR中创作。相对于其他工具,所需的技能和资源可能没那么多,但说它们能达到很高的保真度可能有些勉强。
显然,在研究中,我们希望达到的目标是:用最少的必要技能,创造出最高保真度的解决方案。这很酷。我研究过这里的一些工具,并会在课程中与你们分享。但我不确定是否真的达到了那个象限的目标,可能有些工具在能达到的保真度方面仍然有限。但我确实认为,我成功地限制了所需的技能和资源。然而,代价是你不能原型化所有类型的体验。
所有工具的问题是,它们只允许你做这么多。有些工具对于较小的项目来说可能是“杀鸡用牛刀”,例如,你可能只需要用A-Frame就能完成。
现有XR工具的核心问题
建立对这片“全景图”的认识,能够进行分类,然后在所有这些不同的象限中挑选工具,我认为这是我们需要在本课程中培养的一项关键技能。
总而言之,现有XR工具的主要问题如下:
- 工具生态庞大:对于新设计师来说很难入门,即使对于有经验的开发者来说也很难跟上。
- 设计流程是独特的拼凑:每个项目都需要一套非常具体的工具,项目之间没有太多共性。每个AR/VR应用都需要独特的工具链。
- 原型工具对大多数应用来说太有限:这是我发现的问题。
- 开发工具对新手、非技术型设计师来说遥不可及。
- 工具内部和工具之间存在显著差距:工具链实际上是向上优化的,这使得设计迭代变得非常困难,尤其是当你必须回到之前的工具时。
不过,我认为随着时间的推移,我们将能够解决很多这些问题。通过做更多的XR项目,我们会获得更多经验,培养出对“哪种工具合适、何时使用”的感觉。我很高兴地看到,我的学生正在构建自己的“工具箱”,他们不会试图用一个工具做所有事情,而是在每个项目中都很有创造性地探索不同类型的工具。这也是我邀请你们去做的事情,在本课程后面的部分以及其他课程中,你们会看到更多这样的机会。
平台碎片化:从低端到高端
最后,让我以稍微不同的方式说明之前提到的平台碎片化问题。
当你进行VR或AR开发时,你确实需要考虑从低端到高端的范围。
- VR方面:基于手机的VR(如Daydream、Cardboard)和3自由度(3DoF)头显(如Oculus Go)已基本被淘汰,转而支持6自由度(6DoF)头显。这至少解决了VR方面的一部分问题。
- AR方面:在低端,是基于智能手机的AR(非头显)。这里的问题是:我们是否需要用户使用任何标记?我们能否将其与应用程序很好地打包?目前趋势是向无标记(Markerless)AR发展。在高端,是AR头显,例如HoloLens。我认为最终大多数AR体验将发生在这里,但目前当你创建一个新的AR应用时,你必须决定是支持基于智能手机的AR(标记或无标记),还是针对头显。这些头显仍然相当昂贵,用户群体不大,但你可以做出非常酷的例子。
目前,平台碎片化确实是一个问题,很难绕开。在更侧重于开发的课程中,我们会详细展开并更深入地讨论这些问题。
给初学者的具体入门建议
现在我已经讲完了所有关键障碍,并提供了不少例子和新的思考方式。我想以一些具体的建议来结束。以下是我给你的入门建议:
- 亲自动手,越深入越好:真正接触一台XR设备。它不一定是最贵的,也可以重新利用你的智能手机,通过Cardboard等手机支架将其变成AR或VR设备。尝试一些应用,并在你尝试进入创建XR体验这个领域时,认真思考工具的选择。
- 开始制作你的第一个XR应用:为自己设定一个小的、可实现的目标。做一个待办事项应用、提醒应用或AR测量应用都可以。例如,测量应用是学习AR及其原理的好方法。重要的是真正去做你自己的第一个应用,而不仅仅是做教程或读博客文章。真正做出点东西,我认为这是最好的入门方式,但要记住设定一个小目标。
- 连接开发者社区:当你感到对AR和VR充满热情时,认真思考如何与其他开发者建立联系。了解XR社区,那里有很多专业知识。开始关注AR/VR博客,在社交媒体(如Twitter)上关注相关人士和厂商,这是了解当前动态的好方法。
- 开始阅读更多关于XR研究和设计的资料:有很多从业者在博客中分享他们的知识和经验。有些人撰写白皮书或进行市场分析,这可能对你想确定目标平台类型时有所帮助。我个人也从最新的学术论文中获益良多。
这就是我的“如何入门”建议:亲自动手;制作你的第一个XR应用,确保它是你自己的东西;加入XR社区;然后开始阅读一些XR研究和设计资料。

总结

本节课中我们一起学习了XR入门的关键挑战和实用步骤。我们分析了寻找合适学习范例和开发工具的困境,探讨了当前XR平台碎片化的现状。最重要的是,我们掌握了一套为初学者量身定制的行动指南:从亲身体验设备开始,通过制作一个小型应用来实践,积极融入社区获取支持,并持续学习前沿知识。这条路经经过许多学生的验证,希望能为你开启XR创作之门提供一个坚实的起点。在课程后续部分,我们将以此为基础,继续深入探索。
044:寻找你的X流程


在本节课中,我们将学习如何将传统的交互设计流程优化并应用于XR体验的开发。我们将探讨从需求发现到最终部署与分析的完整生命周期,并重点介绍不同保真度的原型设计方法。
概述:从交互设计到X流程
上一节我们介绍了XR开发的基础,本节中我们来看看如何系统化地构建XR体验。这个过程被称为“X流程”,它源于传统的交互设计流程,但针对XR的独特需求进行了调整。
传统的交互设计流程通常始于需求发现,理解用户需求,然后创建备选设计方案。接着,设计师与用户合作,通过可交互的原型(可以是纸质的或数字的)来测试这些设计。最后进行更全面的评估,可能发现新的需求,从而形成一个循环迭代的过程。
深入来看,交互设计流程通常包含四个步骤:界定问题、探索解决方案、寻找优质方案、以及优化方案。在这个过程中,我们需要先发散思维,考虑多种备选方案,然后收敛聚焦,做出选择。这个流程本质上是迭代的,完成一个循环后,可以再次迭代以改进产品。
核心步骤:X流程详解
现在,让我们将学到的交互设计流程知识转化为X流程。我认为这个过程包含四个主要步骤。
1. 需求发现与头脑风暴
此步骤的核心是通过场景、用例、用户画像和竞品分析来界定问题。如果你不熟悉这些术语,我将在后续章节中详细解释。
2. 故事板与原型设计
这是至关重要的第二步,需要进行多次迭代。以下是常见的原型设计方法:
- 故事板与草图:用于框定问题并构思希望用户经历的故事。
- 实体原型:使用纸板、纸张、透明胶片等材料制作空间模型,探索XR交互的可能性。这允许我们在使用任何数字工具之前就设计概念并探索交互。
- 数字原型:使用数字工具测试可行性并试验XR特有的功能,这些功能通常只有在设备上才能充分探索。
3. 开发与测试
在此阶段,你将使用以下工具之一创建应用程序:
- WebXR
- Unity 或 Unreal 等游戏引擎
- 基于移动开发平台或特定VR/AR工具包的原生SDK(如Oculus SDK、ARKit)
我同样会在其他章节中展开介绍这些选项。
4. 部署与分析
应用程序开发完成后,需要部署给用户使用,并持续评估其表现。这包括将应用部署到XR设备上,然后在用户使用过程中收集数据,分析应用的表现以及可改进之处。目标是基于用户与应用的交互来识别改进机会。
这就是XR应用程序的完整生命周期。
原型保真度:从低到高的演进
我之前使用过“保真度”这个术语,现在我想解释一下低保真度和高保真度的含义。
当我创建一个新的XR体验时,通常从纸上开始。我喜欢在纸上画草图,理清思路。但一个挑战是,大多数XR体验都是3D的,而在纸上表现3D并不容易。
因此,我更喜欢制作一个立体模型。立体模型就像是我场景的微型实体原型。我使用纸板、透明胶片等材料将XR体验组合起来,并进行实体探索。
从实体原型快速过渡到数字原型(尤其是VR)的最快方法是使用360度全景。使用双镜头360度相机,一键就能拍摄全景照片。如果录制视频,我甚至可以在空间中移动,否则就会被固定在一个位置。360度全景的一个主要限制是它没有深度信息。
如果你想在体验中向前推进,提高保真度,下一步就是进入3D建模。从360度全景跳到3D,市面上有很多工具,我会介绍其中一些。但更难的跳跃是进入VR和AR。
我将AR的保真度定位得比VR更高,我想表达的是,创建一个高保真度的AR体验实际上非常困难。让我们快速浏览一下这张图。
我们讨论的是刚刚提到的各种保真度,以及创建这些体验所需的技能。
- 纸张:位于低端。
- 立体模型/实体原型:要求稍高一些,需要更多时间。
- 从立体模型到360度全景:相对容易。我们甚至可以在实体模型内部拍摄360度全景,然后进行数字处理。
- 从360度全景到3D:目前没有很好的工具支持,需要我们真正在3D中构建场景。我的许多学生在此环节花费了大量时间。
- 从3D到VR:仍然是一个相当大的跳跃,但是可行的。
- 从VR到AR:需要相当多的技能。在VR中,我们可以控制整个环境并设计它,这需要一些技能。但在AR中,我们需要感知周围环境,并让我们的体验完美地融入其中,这在技术上 arguably 更难。
因此,我这样绘制图表,我认为它很好地概述了流程中的步骤、你想要达到的保真度以及每个步骤可能需要的技能。
内容与交互的演进
在3D建模阶段,我通常会引入3D模型。例如,一个看起来不错的3D立方体,相对容易建模,但至少具有纹理和颜色。这是更精美内容的例子。我会开始替换之前用作占位符的基本几何体,引入我真正想要的3D模型。
在那个阶段,我拥有的只是内容。现在我需要考虑交互。当我们思考交互时,需要区分隐式交互和显式交互。
让我举一个从隐式开始然后变成显式交互的例子。当我们使用像Google Cardboard这样的设备时,我们可以环顾四周,瞄准内容,然后可能通过设备顶部的按钮点击它。我们通常用一个光标来指示用户正在看哪里。


假设这是我们的光标,现在用户瞄准了这个立方体。他们移动过来,按下按钮,执行点击操作,我们调整3D模型并注册了这次点击。这是一个隐式交互(瞄准物体)与显式交互(点击)的结合。我们需要处理这两种情况。这只是一个使用Cardboard的简单例子,但这些都是当你提高保真度并为场景添加交互时真正需要考虑的事情。
X流程实践:时间线与迭代
最后,我想将其放入一个时间线中,举例说明我经常在课堂上如何实施X流程。
我们通常从一个设计概念开始,真正确定问题框架,并思考是AR还是VR。然后,我们创建第一个原型,通常保真度仍然较低,可能只有基本的交互。我们真正需要在此阶段确定用于原型的平台和工具。这只是V1版本。
然后,我们可能会从用户(或在我的案例中是导师)那里获得一些初步反馈,并着手开发第二个版本。我经常做的是将范围缩小到两到三个关键交互。我认为以我们想要支持的交互来思考XR体验非常有帮助。有趣的是,有时你可能不得不切换一些工具,因为如果你需要处理更棘手的交互,它将决定你需要使用哪些工具。
在经过这些初始原型的一到三个版本后,我们可能会创建一个可以称为最小可行产品的东西,我们可以用它来运行一些初步的用户测试,获得反馈。
至此,我们从最初的设计概念出发,制作了原型(可能先在纸上,然后创建了几个数字版本),最终与用户进行了测试。我们现在拥有的是一个设计规范,可能以报告的形式呈现,我们可以反思学到的一些经验教训,并可以将此设计规范交给开发人员进行进一步实现。或者,如果我们意识到需要做很多改进,这只是一次设计冲刺,我们可以进行另一次设计冲刺。
当我想到设计冲刺时,我通常指的是一到两周的工作,遵循这个过程。多次迭代这个过程最终将为你带来一个非常酷的XR体验。
后续重点与工具选择
在本课程的后续章节中,我们将更专注于原型设计、开发与测试。
关于开发与测试,如果你还记得之前的内容,主要有三个大方向:
- 基于Web的路线:通过 WebXR。
- 游戏开发路线:通过 Unity 和 Unreal。
- 硬核开发路线:如果你是经验丰富的移动开发者,可以使用 Oculus SDK、ARKit 或其他AR解决方案进行原生开发。
在后续课程中,我们将花更多时间在WebXR和Unity上,但也会提供资源,让你可以了解更多替代方案。
部署与分析策略
最后,一旦我们创建了XR体验,我们可以将其部署给用户,并且应该认真考虑分析。在此阶段,我保持非常高的层次,只是为了让我们思考三种主要方式:
- 自定义日志记录与分析:许多研究人员和实践者会实施自定义日志记录并进行一些日志分析,即使是用于用户体验和可用性测试。
- 平台内置分析工具:例如,Unity内置了分析功能。这些是基于平台的分析工具,更侧重于有多少人下载了你的应用以及他们大致在做什么。它们可能过于有限,无法真正理解交互中的问题所在。
- 专用的XR分析工具:这些新工具允许你分析用户如何交互、交互何时失败(例如,当人们想要与不存在的内-容交互时)、何时引起挫败感或用户何时显得困惑。然而,这是一个活跃的研究领域,只有少数仍在发展的工具。
我会提供一些指针和链接,但作为本课程的一部分,我们不会在这些方面花费太多时间。
总结



本节课中,我们一起学习了如何将系统化的X流程应用于XR体验开发。我们从传统的交互设计流程出发,将其转化为包含需求发现、故事板与原型设计、开发测试以及部署分析四个核心步骤的X流程。我们深入探讨了从低保真度(如草图、实体模型)到高保真度(3D、VR、AR)的原型演进路径,以及所需的技能。最后,我们通过一个实践时间线了解了迭代过程,并概述了主要的开发工具和分析方法。掌握这个流程将帮助你更高效、更系统地创造出优秀的XR体验。
045:课程概述与设计流程


在本节课中,我们将学习扩展现实(XR)设计的基础知识,涵盖设计流程、核心方法、工具以及评估准则。我们将构建一个实用的设计工具箱,帮助你从理解问题开始,逐步完成一个可交互的原型。
设计流程概览
XR设计流程主要包含三个核心部分:设计流程、方法与工具以及设计准则与评估。本课程将围绕这三个部分展开。
上一节我们介绍了课程的整体结构,本节中我们来看看具体的设计流程。
从问题定义到设计空间分析
设计流程始于明确的问题陈述。我们通常从竞品分析和设计空间分析开始。这些步骤帮助我们更好地界定问题、理解现状,并识别现有解决方案的优势与不足。
以下是此阶段的关键活动:
- 理解问题:深入分析需要解决的核心问题。
- 竞品分析:研究市场上已有的解决方案,了解行业最佳实践。
- 设计空间分析:探索各种可能的设计选项,并建立决策标准,以找到填补市场空白、提供有意义的解决方案的途径。
原型设计:从物理到数字
在明确问题与方向后,我们将进入原型设计阶段。我特别强调物理原型的价值,例如纸面原型,它能让我们在投入数字开发之前,以低成本、高创意的方式探索XR体验。
以下是原型设计的主要阶段:
- 物理原型:使用纸张、透明胶片、纸板等材料,将物理空间当作“舞台”来构思和测试XR体验。这是一种强大的早期设计方法。
- 数字原型:使用专注于AR/VR设计的桌面工具进行设计。这个领域的工具正在快速发展。
- 沉浸式原型:直接进入头戴设备或使用AR移动设备进行“边设计边体验”的原型制作,这被称为并发设计与测试。
实现最小可行产品
通过一系列原型迭代,我们将得到一个最小可行产品。MVP是一个概念验证版本,它集成了最核心的功能,允许我们与用户进行测试,收集初步的体验反馈,并指导后续改进。本课程的目标就是引导你完成这个MVP,它可以作为一份清晰的设计规格说明书,交付给开发团队。
XR设计的核心关切
除了流程导向的视角,我们还需要关注设计中的核心关切与关键问题。
上一节我们走完了设计流程,本节中我们来看看设计过程中需要始终思考的几个核心问题。
建立用户共情与伦理设计
设计思维的核心是与用户建立共情。同时,我们必须重视合乎伦理与负责任的设计。这要求我们不仅思考如何做出好用的设计,更要思考设计可能带来的危害、是否可能被滥用,确保我们的设计选择是有意义、合乎伦理且负责任的。
设计准则与模式
作为一名设计师,你需要了解当前XR领域的设计准则、最佳实践和设计模式。这能确保你的设计符合现代标准,并与用户可能体验过的其他XR应用保持一致性。这些知识体系本身也在不断演进。
设计评审
设计评审是一项重要技能,尤其在建筑等领域被广泛采用。我们将练习两种评审方式:一种侧重于上述设计准则,另一种则聚焦于伦理考量。学习如何给出有建设性的反馈,批判性地分析产品并提出改进建议,这对设计师至关重要。
我们将使用“我喜欢/我希望/如果…会怎样”的方法进行评审:
- “我喜欢”:从积极的角度开始,找到设计中的优点。
- “我希望”:提出建设性的、具体的改进愿望。
- “如果…会怎样”:提出替代方案,开启有益的讨论。
设计研讨会
我将介绍一种我非常喜欢的研究方法——设计研讨会。它像一个为期三小时、有设计主题和指导的协作会议,聚集关心同一问题的目标用户或利益相关者,共同协作解决问题。多元化的参与者背景能带来更丰富的视角。
设计评估的维度
评估设计时,我们需要超越基本的可用性,从更全面的维度进行考量。
上一节我们讨论了设计的核心关切,本节中我们来看看如何多维度地评估一个XR设计。
超越可用性
研究人员通常首先关注可用性,即效率、效果和用户满意度。但对于XR体验,我们还需要思考:
- 有用性:这个设计对用户有帮助吗?它能改善用户的日常生活吗?用户能感知到它的价值吗?
- 实用性:这个设计真的解决了用户的问题吗?这通常需要通过长期使用来验证。
- 用户接受度:用户会持续使用它吗?这是衡量设计成功的终极标准之一。
一个设计可能具有很高的实用性和有用性,但若可用性极差,用户接受度也会受到影响。我们需要全面平衡这些维度。
原型设计的意义与方法
原型设计是本课程的重点,它能以高效的方式验证想法、规避风险。
上一节我们了解了评估的维度,本节中我们将深入探讨实现这些评估的关键手段——原型设计。
原型设计的重要性
原型设计的意义重大,主要体现在以下几点:
- 避免过早承诺:防止因为个人对某项技术(如VR)的偏爱而错误地将其应用于所有问题。通过物理原型可以快速、低成本地验证技术路线的合理性。
- 理解使用情境:帮助厘清体验发生的环境、叙事方式、环境设计以及用户所需的技能。
- 明确技术要求:通过实践,明确所需的交互方式、输入模态、传感需求以及显示设备。
- 创造知识资产:在整个过程中,不仅产生设计知识,还会创造出初始的视觉和交互资产,为后续开发奠定基础。
我们将学习的方法
本课程将带你学习一系列原型设计方法,构建你的设计工具箱:
- 故事板与线框图:可视化叙事与界面布局。
- 低保真物理原型:使用纸张、纸板、橡皮泥等材料快速构建可交互的模型。
- 高保真数字原型:使用专门的AR/VR设计工具进行精细化设计。
- 沉浸式原型:在目标设备上进行实时创作与体验。
核心建议是:不要急于直接开始编程。 通过系统的原型设计,你可以更高效地思考XR体验,在实际开发时节省大量时间与资源。本课程专注于原型设计,而编程实现将在本专项的第三门课程中详细展开。
总结与展望

本节课中,我们一起学习了XR设计的整体框架。我们了解了从问题分析、设计空间探索,到物理与数字原型迭代,最终形成最小可行产品的完整流程。我们探讨了设计中必须关注的用户共情、伦理责任、设计准则以及多维度评估。最后,我们深入阐述了原型设计的重要价值及其具体方法。

我期待在接下来的课程中,向你详细介绍所有这些有趣的内容。如果你觉得有任何遗漏或希望深入探讨某个主题,欢迎反馈。希望你能在本课程中学有所获,并享受设计的乐趣。我们下节课再见。
046:XR设计思维方法详解 🧠


在本节课中,我们将学习如何将经典的设计思维方法应用于扩展现实(XR)领域。设计思维是一种以用户为中心、强调共情和迭代的创新方法。我们将探讨其六个核心步骤,并重点关注在XR这一新兴技术背景下应用时需要注意的特殊事项。
概述:设计思维与XR的结合
设计思维是一种源自斯坦福设计学院的成熟方法论,多年来被广泛应用于创新产品开发和用户体验设计。它本质上是一种思维方式,核心在于与用户建立共情,真正聚焦于用户需求,并以此为基础推动后续工作。它更像是一种思考方式和处理问题的途径,而非一套固定的技术。
我们的目标是将设计思维的知识引入XR领域。这存在一些显著差异。例如,在创新和问题界定方面,XR作为一种新兴技术,常被视为解决各种问题的“万能锤”。然而,设计思维提供了一种通过深度理解用户来界定问题的特定方式。用户通常不会直接要求AR或VR,AR/VR只是可能解决问题的工具或技术手段。技术本身并不直接解决问题,但它可以成为解决问题的“赋能者”。
设计思维六步法详解
接下来,我们将概述设计思维的六个步骤。
第一步:共情
共情阶段的目标是深入了解用户。你需要尽力发掘用户的问题、痛点、现有方案的优缺点,并学习当前解决方案的应用场景,从而识别现有方案的不足、差距以及潜在的改进机会。这有助于你准确定义问题。
以下是常见的共情方法:
- 用户访谈:与用户直接交流。
- 观察法:观察用户在实际环境中的行为。
- 焦点小组:组织小组讨论。
这些都属于传统的人机交互和用户研究技术。
第二步:定义
在共情的基础上,我们需要准确定义要解决的核心问题。前三个步骤(共情、定义、构思)的核心是“问题界定”,而非“寻找解决方案”。目标是深入理解问题的本质,而不仅仅是表面症状。
第三步:构思
构思阶段通常与原型设计紧密相连。构思不仅仅发生在脑海中或讨论里,它更多地通过具体的形式来实现。
以下是构思阶段的常用技术:
- 草图绘制:快速勾勒想法。
- 故事板:以漫画形式描绘用户体验流程。
- 线框图:勾勒界面布局和结构。
这些方法能帮助我们有效地将想法可视化,并自然过渡到原型设计阶段。
第四步:原型制作
在原型制作阶段,通常从纸质原型开始,尤其是在XR背景下,这非常有用。你可以从纸质原型过渡到数字原型。即使是纸质原型,也可以用于用户测试。
需要记住一个关键点:原型的保真度会影响你获得的反馈类型。例如,一个看起来粗糙、低保真的原型,用户可能会更关注流程和界面组织等核心问题,而不是颜色等细节。你不希望原型看起来过于精美,因为如果某物看起来“已完成”,测试者可能会因为担心修改成本高而不愿提供更多反馈。
第五步:测试
严格来说,测试永远不会真正结束。我们通常将“实施”视为构建原型、测试原型,然后进行下一次迭代的过程。在XR中,我们最终会直接使用XR设备进行测试。
有趣的是,有一些方法允许你在构思和原型阶段就使用XR设备,例如沉浸式原型设计——直接在XR设备中创建界面并同步测试。这几乎是XR独有的、非常酷的能力。
第六步:实施
在实施阶段,我们将运用技术(对XR而言就是XR设备)来构建解决方案。
XR设计思维的特殊考量
现在我们已经建立了共情、定义、构思、原型、测试、实施这六步法。接下来,让我们看看在XR背景下,每个步骤需要注意的问题。
共情阶段的挑战
如前所述,共情的常见方式是访谈和观察用户,以理解他们的挑战和痛点。
XR面临的问题是:XR通常还不是一个现成的解决方案。 如果你在优化一个现有的XR原型,或许可以观察用户如何使用它。但如果你审视一个现有问题,并试图引入XR作为潜在的新解决方案,你无法直接观察用户使用XR的情况。这与基于网页或移动端的设计非常不同,用户日常就在使用这些技术。目前,很少有人每天使用VR或AR进行生产性活动。因此,你无法像传统领域研究那样,通过“影子观察”或实地研究来直接观察XR相关问题的发生。
定义阶段:保持开放心态
在定义阶段,非常重要的一点是,不要只盯着问题或表面症状,然后生硬地将其塞进AR或VR的解决方案中。我们很多人有个人偏好,可能更喜欢VR或AR,并试图用其解决所有问题。
关键是要保持开放心态。 不要过早承诺使用AR或VR。在经过初步的需求发现后,你可能会发现AR和VR都不是合适的解决方案。这实际上是一个非常好的结果,可以避免大量的成本、时间和精力的浪费。
构思阶段:跳出技术限制
进入构思阶段时,至关重要的一点是:在进行构思时,不要过早地被现有设备的技术限制所束缚。 例如,如果你满脑子都是HoloLens等设备的扫描频率、环境重建精度或缺乏语义理解(难以可靠检测未知物体)等技术约束,你会严重限制自己的构思,产生偏见。
我喜欢在构思环节与多元化的团队合作,包括一些对XR经验有限、认为它充满魔力且无比强大的人。这种想法不会束缚他们的构思,我认为这对XR设计思维至关重要。
原型阶段:聚焦“未知的未知”
在与学生进行原型设计时,当我们有了设计概念、故事板和线框图,并准备从纸质转向数字原型时,容易倾向于先做那些已知的、基础的部分。
不要先做登录界面。 登录界面大同小异,数字化原型它们的意义不大。你应该做的是聚焦于“未知的未知”。你的设计概念中可能存在很多空白和不确定性,利用原型设计来探索如何填补这些空白才是最佳方法。
原型设计不一定要构建完整的原型。可以采用“水平原型”的方式,更像一个“门面”,专注于弄清楚整个前端和面向用户的所有选项。即使如此,也不要从已知的界面部分开始数字化。也许你可以用它来热身,但真正应该聚焦的是那些你还不知道如何在用户界面中实现的部分。
测试阶段:利用XR技术填补空白
测试阶段非常有趣。因为我们在设计XR,所以可以利用XR技术来填补原型的空白。想象一个近乎完整的界面,但你希望出现一些“魔法般”的效果,却还不知道如何原型化。除了使用视频编辑软件制作叠加效果外,你还可以使用更先进的AR或VR工具来引入这些叠加层。
核心思想是:利用XR技术来填补你XR原型的空白。 这是一种利用XR技术支持原型设计和测试的创新方法。目标是在测试阶段模拟一个近乎完整的用户体验。
如果你没有实现完整的原型,可以利用“绿野仙踪”法来填补空白。在“绿野仙踪”原型测试中,由真人(巫师)在后台模拟系统尚未实现的功能。这在XR中尤其有意义。
例如,我曾做过一个实验:我进入一个VR体验,对VR用户几乎是隐形的。我可以在VR中移动物体,为他们生成虚拟的平视显示器。他们以为所有屏幕都是动画,界面有响应,个人助理真的理解他们。但实际上,是我作为“巫师”在后台填补了计算机功能的空白。这是一种非常酷的模拟更完整原型以进行测试的方法。它可以是一个我们正在原型化的智能系统,能理解各种手势和语音命令。在此类测试阶段,即使我们尚未完全实现系统,也能模拟出近乎最终的用户体验。
实施阶段:选择最合适的工具
在实施阶段,一个常见的误区是:我们很多人非常熟悉某一种工具(例如Unity或Unreal),并试图用这个工具完成所有工作,认为它是最好的。
我想强调的是:你应该使用最合适的工具。 例如,对于早期原型,我们不一定非要立即使用Unreal的高端渲染能力或跳进Unity开始。你可以选择其他更偏向沉浸式原型设计的工具。拥有一系列工具选项并不可怕。尽管在不同工具间切换并不总是容易的,但保持工具选择的灵活性,并掌握多种工具,实际上是一种优势。这能丰富你思考问题的方式,让你不再局限于单一工具的视角,而是能从多个不同的角度看待问题。

总结


本节课中,我们一起学习了将设计思维方法应用于XR设计的过程。我们回顾了共情、定义、构思、原型、测试、实施这六个核心步骤,并重点探讨了在XR这一特殊领域应用每个步骤时需要注意的挑战和技巧,例如在共情时如何应对XR非现成方案的困境,在构思时如何跳出技术限制,在原型和测试时如何巧妙利用XR技术本身来填补设计空白。记住,保持开放心态、聚焦用户真实需求、选择合适工具,是成功进行XR设计思维的关键。
047:场景与用户画像 🧑🎨


在本节课中,我们将学习在扩展现实(XR)设计过程中,如何通过场景和用户画像来定义问题并理解目标用户。这是将模糊想法转化为具体设计方向的关键步骤。
上一节我们介绍了设计思维的整体流程,本节中我们来看看如何具体地定义设计问题和目标用户。
问题定义与用户理解方法概览
首先,我们需要明确要解决的问题。定义问题通常通过以下几种方法实现:
以下是常见的问题定义方法:
- 场景与用例分析:构想用户使用产品的具体情境。
- 日记研究:请用户记录日常生活中的相关活动与痛点。
- 问卷调查:进行大规模或特定用户群体的意见收集。
- 面对面访谈:与用户进行深入交流。
- 焦点小组:将不同的利益相关者聚集在一起讨论,共同框定问题。
在明确问题后,我们需要深入理解用户。定义用户身份的常用技术是创建用户画像。用户画像不应只是一张填满信息的表格,其背后基于数据和事实的构建过程才是关键信息所在。
以下是理解用户的其它方法:
- 任务分析:分解用户为达成目标所需执行的具体步骤。
- 日志记录与分析:通过现有原型收集用户行为数据。
- 用户旅程图:可视化用户完成目标所经历的全过程,包括活动、事件及其影响。
- 利益相关者地图:识别所有与产品或服务相关的人员及其关系。
竞争格局分析
接下来,我们需要理解竞争格局。即了解市场上现有的解决方案、它们的优点、缺点以及缺失的功能。
进行竞争分析的常见方法是SWOT分析,即分析优势(Strengths)、劣势(Weaknesses)、机会(Opportunities)和威胁(Threats)。
以下是了解竞争格局的途径:
- 亲身体验:下载并试用现有产品。
- 查阅用户评价:在相关论坛、社区(如Stack Overflow)查看用户的反馈与投诉。
- 系统性文献调研:阅读白皮书、博客文章或学术论文,建立对技术或解决方案领域的全面认知。
设计综合与分析
综合从问题定义、用户理解和竞争分析中获得的知识后,我们需要进行设计综合。这涉及将所有数据和事实整合起来,进行设计空间分析。
这里介绍一种称为QOC分析(Questions, Options, Criteria)的技术。即针对可用选项提出问题,并制定帮助选择最佳方案的标准。这是一种分析设计空间的绝佳方法。
如果你更偏向软件工程或系统思维,通常会考虑功能性需求和非功能性需求列表。
- 功能性需求:关于系统本身、可测量的指标,如系统性能、响应时间等。
- 非功能性需求:更多与用户特征或难以量化的“软性”要求相关。
深入探讨:场景分析
让我们更深入地看看场景分析。例如,在我们关于跨设备增强现实的研究中,曾使用过两个未来主义场景:
- 一个家庭希望协作布置客厅的家具。
- 一群朋友希望协作玩一款激光射击游戏。
我们将这些场景以视觉图像的形式展示给参与者(包括设计师、开发者和终端用户),请他们思考如何解决场景中的问题。这帮助我们驱动了许多需求,并最终构建了解决方案。
一个完整的场景应包含五个关键要素,以确保全面探索未来界面的使用情境:
以下是构成场景的五个关键要素:
- 情境:活动发生的物理环境与系统状态。
- 角色:执行活动的用户或代理。
- 目标:用户希望通过活动达成的目的。
- 行动:用户为达成目标所采取的具体步骤。
- 事件:在活动过程中,由系统或环境触发的、发生在用户身上的外部事件。
许多场景描述只聚焦于用户或情境,但充分描述目标和行动能帮助我们更早地构想出潜在的解决方案。
深入探讨:用户画像构建
接下来详细讨论用户画像。用户画像传统上用于向团队传达系统的目标用户,其核心是基于访谈、观察、调查等收集到的事实和知识,提炼出用户的典型特征。
一份用户画像通常包含以下元素:一个描述性的名字、一张展示用户或环境的照片、一段最能代表该用户观点的引语,以及列出的目标、挫折、需求和动机(如激励、恐惧、成就、成长、权力等)。
我们需要区分几种不同类型的用户画像:
以下是主要的用户画像类型:
- 主要画像:设计完全满足其目标和需求的用户。
- 次要画像:设计大部分满足但未完全满足其目标和需求的用户。
- 负面画像:明确标识出当前设计尚未针对其目标或需求的用户。这有助于向利益相关者澄清设计范围。
在构建XR体验的用户画像时,需要特别考虑:用户的XR经验水平(新手还是专家)、衡量经验的指标(如自评量表、使用时长、使用频率),以及他们使用过的设备和应用示例。这些信息能帮助你更好地框定主要和次要用户。
例如,在我的研究中,常以新手设计师为主要画像,目标是让他们无需编程也能创建XR体验。开发者可能是次要画像,因为他们也能从快速原型技术中受益。而使用设计师所创作产品的终端用户,在当前研究中则可能属于负面画像——这并非不喜欢他们,而是意味着当前解决方案主要服务于XR创造者。
构建用户画像的注意事项
在构建用户画像时,有一些重要的准则需要遵循。
以下是应该做的事情:
- 澄清构建依据:说明画像基于数据事实还是构想。
- 反映用户多样性:确保画像能代表多样化的目标用户群体。
- 包含负面画像:明确说明当前不为谁设计。
以下是应该避免的事情:
- 避免凭空假设:不要基于刻板印象创造画像(例如,“不会用电脑的老人”)。
- 避免歧视:谨慎处理性别、种族等属性,避免歧视。
- 正确理解负面画像:负面画像不代表“不希望使用你方案的人”,而是“当前未作为设计目标的人”。未来迭代可能会专门为他们服务。



本节课中我们一起学习了如何通过场景分析来全面定义设计问题,以及如何通过构建用户画像(包括主要、次要和负面画像)来清晰理解目标用户群体。掌握这些方法,能为你的XR设计项目奠定坚实的研究与规划基础。
048:竞品分析与设计空间研究


在本节课中,我们将学习如何通过竞品分析来理解市场格局,并探索设计空间以做出明智的设计决策。我们将介绍分析竞争对手的方法,并学习如何系统地思考设计选项。
竞品分析
上一节我们介绍了用户画像,本节中我们来看看如何分析竞争对手。竞品分析有助于我们理解现有解决方案,并找到我们产品的创新机会。
我经常使用一种模板,在一侧列出竞争对手,在另一侧列出所有功能特性,甚至包括非功能性的缺陷,我称它们为“因素”。你可以将因素作为列,将竞争对手作为行。这里的竞争对手实际上是指现有的解决方案,比如市面上的XR应用。我通常不会只标记这些因素是否被支持,而是会写下它们被支持的程度以及具体的实现方式,这在不同解决方案之间通常存在差异。但为了本次演示的简洁性,我们仅用“X”来标记是否支持该因素。
与用户画像类似,我将竞争对手分为几类:直接竞争对手、部分竞争对手、间接竞争对手、平行竞争对手和类比竞争对手。这里的分类看似细致,但每类之间确实存在显著差异。
以下是竞争对手的主要类型:
- 直接竞争对手:这类竞争对手提供的功能和服务与你高度重叠,并且面向相同的用户群体。
- 部分竞争对手:这类竞争对手只支持你功能的一个子集,或者只面向你通过用户画像识别出的部分用户群体。
- 间接竞争对手:这类竞争对手试图解决相同的问题,但采用了不同的方法。由于他们瞄准的是同一个问题,因此仍然是竞争对手。
- 平行竞争对手:这类竞争对手与你的想法类似,但不一定是直接竞争关系。
- 类比竞争对手:这类实际上并非竞争对手。他们的解决方案面向不同的用户、目标和需求,但其设计中有某些元素能给你带来灵感。
我通常鼓励学生重点思考直接和部分竞争对手,也可以考虑一些间接和平行竞争对手。但更重要的是,要找到那些类比竞争对手——那些解决不同问题但设计上非常有趣、能激发灵感的现有界面。你可以考虑将这些灵感元素调整并融入到你自己的解决方案中。
进行竞品分析时,我所说的通常是通过SWOT分析来完成的,即识别优势、劣势、机会和威胁。
这里有一个我很多学生常犯的错误。我们在做竞品分析时,描绘了整个市场格局,然后我们的解决方案就试图面面俱到,把所有事情都做得更好。我们觉得所有因素都很重要,因此试图打造一个“超级解决方案”。这绝不是正确的思路。
正确的做法应该是寻找“缺口”。在某些因素之间必定存在缺口,现有方案未能真正满足用户需求或达成其目标,而这正是你需要创新的地方。因此,不要试图做一个集成所有功能的仪表盘,而应寻找一个更聚焦的解决方案,真正建立新的因素,这就是你的利基市场,也是你的XR解决方案应该瞄准的方向。
设计概念与心智模型
至此,我们已经研究了场景、用户画像的新例子,并完成了竞品分析。关于故事板,我将有单独的视频和模块来讲解,因此这里不涉及。但这四种类型的输入共同构成了我们所谓的“概念模型”或你的“设计概念”。这实际上是你作为设计师对解决方案的思考方式。
请记住,你所创建系统的“心智模型”是关键挑战。真正的挑战在于,也要在你的用户心中唤起同样的心智模型。事实上,大多数系统失败是因为用户的心智模型常常与设计师心中的概念模型大相径庭。如果两者能够匹配,那么你的工作就做得非常出色。
想想你对ATM机工作原理的理解:你插入卡片,要求取钱,它退回卡片,然后你拿到钱。而ATM机的设计师可能以非常不同的、更精细、更具体的方式来思考它,包括各种错误场景。假设某台ATM机吞掉了你的卡,你甚至不知道这有可能发生。你的心智模型是ATM机很好用,总能给你钱,你从未经历过账户没钱的情况。但那些经历过吞卡、余额不足或银行系统错误等破坏性用户体验的人,他们对ATM机的心智模型可能与那些总是有足够余额、从未被吞卡、从未遇到过问题的人截然不同。
下次当你使用ATM机时,一旦这些破坏性的用户体验发生在你身上,你会变得非常担心。我还有很多类似的例子,比如自助结账通道,人们总是对那些机器和指令感到紧张。
这些都是很好的例子,说明设计概念从设计师的角度看可能原则上是合理的,但所有这些破坏性的用户体验导致了用户对这些系统形成非常不同的心智模型,从而产生了有趣的冲突。
因此,有一个很好的方法来进行设计综合并构建这个概念模型。这个概念模型或你的设计概念,在某种意义上,就是你想要交给开发人员的“规格说明书”。这就是我对系统的思考方式,这就是我们需要为我们的XR解决方案实现的内容。
设计空间分析
我非常喜欢通过提问来进行设计空间分析这个想法。我们需要考虑针对任何问题我们有哪些选项,例如如何显示某些内容,我们可以选择永久显示或适时出现。然后,我们需要列出标准:在什么情况下使用哪个选项,每个选项的实际含义是什么。接着,我们需要权衡这些选项,最后为其中一个选项做出具体的设计选择。
例如,对于“适时出现”这个选项,已有相关研究,我提供了关于设计空间分析的参考文献。这实际上经常在设计师之间隐性地发生,我们总是在提问,总是在考虑选项。
对于XR设计来说,困难的部分在于提出正确的问题:如何显示内容、如何追踪、如何在VR和AR中移动、如何操控物体以及如何协作。这些是我在创建新的XR体验时通常会遇到并需要解决的一些重大问题。
让我们看一个例子。关于“如何显示”,显然我们刚刚提到了“永久”或“适时出现”。但当我们思考“适时出现”时,在XR中不仅仅是某物是否出现在屏幕上。我们还可以将物体放置在环境中。在AR中,这可能意味着将其绑定到某个物理位置;在VR中,则可能绑定到某个虚拟位置。它可能并不总是对用户可见,只有当虚拟摄像机将其移入视野时才会出现。我们也可能有这种折中的解决方案:一旦我们看到它,它就会跟随你移动,因此当你移动摄像机时,它也会随之移动。这些仅仅是针对“适时出现”这个例子,在XR中如何显示物体时,你需要考虑的一些选项。
总结


本节课中,我们一起学习了如何进行竞品分析以理解市场并寻找创新机会,探讨了设计概念与用户心智模型匹配的重要性,并介绍了通过提问和权衡选项来进行系统化设计空间分析的方法。这些工具将帮助你在XR设计过程中做出更明智、更聚焦的决策。
049:设计指导原则 🧭


在本节课中,我们将学习四个核心的设计指导原则。这些原则旨在帮助你建立正确的设计思维,特别是在扩展现实(XR)领域,创造出有意义且以用户为中心的体验。
设计思维的核心在于一种心态:与用户建立共情,准确定义问题,并以有意义的方式进行创新。在XR领域,“有意义”这一点尤为重要。基于我在计算机科学、人机交互以及用户体验教学与研究中的经验,我提炼出了四个原则,希望能融入你的设计思考中。
原则一:用户不是你 👤
作为设计师,首要挑战是必须从用户视角思考问题,而非你自己的视角。你不能仅考虑什么对你来说容易实现、什么计算上更高效或什么手势识别更准确。设计的出发点必须是用户的需求、能力和局限。
原则二:知识难以“卸载” 🧠
这个原则提醒我们,一旦学会了某些知识,就很难再回到初学者的状态去理解问题。这就像看一个经典的“年轻女士与年老女士”双关图。在你被告知图中存在两种解读之前,你可能只能看到其中一种。但一旦你“学会”了同时看到两者,你就再也无法回到最初只能看到一种的状态了。
公式: 设计师的认知状态 ≠ 新手用户的认知状态
因此,当用户提出在你看来“简单”或“显而易见”的问题时,请记住,这只是因为你已经掌握了相关知识。这种“知识的诅咒”会让你难以真正站在新手用户的立场思考,这是设计过程中需要时刻警惕的。
原则三:探索多种路径,而非一条直线 🛤️
初级设计师与资深设计师的一个关键区别在于他们探索解决方案的方式。
以下是两者的典型路径对比:
- 初级设计师路径:倾向于认定一条从问题到解决方案的“直线”路径,并沿着这条路径进行有限的迭代,最终可能固守一个想法,得到次优的解决方案。
问题A -> 想法1 -> 迭代1 -> 迭代2 -> 解决方案A(可能欠佳) - 资深设计师路径:会主动探索多种不同的设计方案(分支路径),评估其潜力,推进有希望的方向,甚至可能回溯并探索“替代方案的替代方案”,最终找到一个更优的解决方案。
问题A -> 想法1 -> 迭代1.1 -> ... -> 想法2 -> 迭代2.1 -> 回溯 -> 想法2.1 -> 最终方案 -> 想法3(放弃)
你应该像资深设计师一样,在设计中积极探索多种可能性,而不是过早地锁定单一方向。
原则四:万物皆原型 📦
这是我的最后一条原则,尤其需要向学生强调:不要严格区分“原型”和“产品”。我认为,一切皆是原型。即使是你手中最新的、被广告宣传为成熟产品的XR设备,它依然是一个原型。我们距离将XR体验无缝融入日常生活、真正丰富我们活动的最终愿景还很遥远。

代码描述此心态:
# 不要这样做:
if is_prototype(thing):
process_prototype(thing)
else: # 是产品
process_product(thing)
# 应该这样做:
process_as_prototype(thing) # 始终以原型心态对待
“原型”与“产品”的界限更多在于投入:产品通常伴随着大量的服务、营销和广告投入,而原型则没有。原型应该是可以随时被抛弃的,一个“可抛弃的原型”仍然是好原型;但一个“失败的产品”则不是我们想要的。因此,请拥抱用于创造原型的各种方法与工具。


本节课中,我们一起学习了四个重要的设计指导原则:用户不是你、知识难以“卸载”、探索多种路径以及万物皆原型。希望这些原则能帮助你建立更强大的设计思维,在XR及其他设计领域,创造出真正有用、适用且有意义的设计方案。
050:XR设计伦理 🧭


在本节课中,我们将探讨扩展现实(XR)设计中的伦理问题。设计伦理在XR领域至关重要,设计师肩负着重大责任,必须确保用户在使用虚拟或增强现实应用时的安全与权益。我们将从核心伦理原则出发,分析设计过程中需要考虑的各个方面,并讨论如何在技术限制与数据需求之间做出平衡。
核心伦理原则
上一节我们概述了XR设计伦理的重要性,本节中我们来看看其核心原则。这些原则为负责任的XR设计提供了基础框架。
- 自主性:用户应始终掌控体验。
- 透明度:用户应清楚知晓如何保持及行使控制权。
- 安全性:用户应受到保护,远离危险、风险和伤害。
设计中的全面考量
理解了核心原则后,我们需要将其应用到具体的设计思考中。负责任的设计不仅关乎如何优化解决方案,更需预见其可能被滥用的方式。
以下是设计XR应用时需要全面考虑的要素:
- 情境与条件:考虑用户使用体验的具体环境、情境和条件。
- 任务与交互:明确你希望用户执行的任务,以及他们可以进行的操作与交互。
- 系统事件与用户响应:思考系统可能生成的事件类型,以及用户会如何响应这些事件。
- 设备与算法:考量设备摄像头、传感器及其背后算法的特性与局限。
- 数据处理流程:审慎思考数据收集、处理与管理的整个流程,评估是否真的需要全部数据。
- 开发工具与框架:对你所使用的应用开发框架、库和工具保持了解,并做出明智选择。
- 界面与交互设计:这是本课程的重点,需确保设计不会使用户陷入危险或鼓励不良交互。
- 数据所有权与治理:思考数据被收集后的归属、存储、处理方式以及未来的使用范围。
研究伦理的视角
从用户界面设计转向更宏观的视角,我们可以从学术研究领域汲取关于伦理的洞见。在科学研究中,尤其是我所熟悉的北美地区,已建立起完善的伦理审查流程。
该流程本质上是一种风险评估,旨在确保研究参与者的权利得到保护,使其面临的风险不高于日常生活。这一视角有助于我们,特别是设计师,更好地理解何为符合伦理的设计。

总结


本节课中,我们一起学习了XR设计伦理的核心原则,包括自主性、透明度和安全性。我们探讨了在设计过程中需要全面考量的多个要素,并从研究伦理的视角获得了启发。最终,负责任的XR设计要求设计师培养深刻的直觉,在充分理解技术与设计空间的基础上,始终以用户的最大利益为核心做出审慎抉择。
051:XR伦理审查机制 🧭


在本节课中,我们将学习如何进行XR项目的伦理审查。我们将探讨伦理审查的核心目标,并将其应用于XR设计的具体场景中,帮助你理解如何在设计过程中持续地、负责任地思考伦理问题。
伦理审查的核心目标
伦理审查旨在确保研究或设计项目以合乎道德的方式进行。其主要围绕三个核心方面展开。
明确研究目的、流程与时长
进行任何新用户研究时,必须明确定义其目的、流程和持续时间。这是关键信息。
- 研究目的:我们获取任何数据的目的是什么?
- 数据收集流程:你计划如何收集这些数据?需要仔细思考。
- 数据收集时长:我们需要收集数据多久?是单次会话还是多次会话?数据保留多久?是否有未来使用的意图?
确保知情同意
我们必须告知用户,并且不能仅仅隐藏在冗长的政策条款和使用协议中。我们需要思考如何在用户界面中更好地整合和体现这些信息。作为设计师,你可能了解这些选择的后果,但用户可能不了解。用户是否真的做出了知情决定?通常,用户只想运行你的应用,但这从伦理角度看是不够的。这必须是知情同意。
权衡收益与风险
伦理审查的另一个主要目标是真正理解项目是否能给用户带来直接收益。我们的目标是最大化收益并限制权衡。
- 用户预期收益:对用户的预期收益是什么?这些收益是直接的吗?用户能感知到吗?
- 可接受的权衡:在真实性、舒适度和安全性方面,哪些是可接受的权衡?这些权衡合理吗?
最小化参与者风险
伦理审查的第三个方面是切实努力最小化参与者的风险。
- 用户潜在风险:对用户的内容风险是什么?
- 数据与实体限制:如何限制数据以及收集、处理和管理数据的任何实体?这里的“实体”包括算法、流程中的所有步骤、以及涉及跟踪手势、理解语音命令等的各种不同解决方案和服务提供商。作为研究者,我通常会说,能访问研究数据的人只有作为调查者的我和我的研究团队。
赋予参与者自主权
最后,我认为这在伦理审查中可能有点独特或视角不同,即能动性与自主权的理念,旨在真正赋予参与者权力。
- 用户控制权:你如何让用户保持控制?例如,作为设计师,你可能追求高沉浸感,但可以想象让用户控制细节级别的方式,就像在任何电脑游戏中通常可以控制图形设置一样。
以上是我对XR进行伦理审查的版本。
设计伦理审查框架
现在,我想转换话题,谈谈进行设计伦理审查的理念,并提供一些思考和实施的方法。在我看来,主要有四个方面需要考虑。
情境与场合
首先要考虑的是情境与场合。XR设备在何处使用?用户周围有谁?
感官信息与数据
第二个重要方面是我们收集的感官信息和数据。XR设备“看到”什么?获取了何种类型的数据?这些都是你应该为你的设计回答的重要问题,并且答案可能因情境和场合的不同而有很大差异。这里的第一和第二象限之间存在有趣的依赖关系。
处理流程
接下来我们需要考虑处理流程。作为设计师,你可能会有些困扰,因为你使用的许多解决方案对你来说可能像个“黑箱”。这正是我鼓励你更多了解技术的地方。
- 设备端处理:在设备上发生了什么?这是一个非常重要的问题。什么类型的数据在设备上收集和处理?
- 非设备端处理:如果不在设备上处理,数据如何被处理?那么它必须在云端在线处理。这意味着数据将被传输给第三方。从用户的角度看,这就是第三方,因为他们可能不知道该方的参与。因此,这存在一定风险。云端发生了什么?谁管理云端?提供何种保护?服务级别协议是什么?这些都是你需要思考的问题。
数据所有权与治理
我们设计伦理审查的第四大主题必须是关于数据所有权与治理。
- 数据归属与管理:谁拥有和管理数据?
- 用户知情权:数据如何被使用?用户如何被告知?是明确告知还是隐含的?或者我们从不告诉他们?或者你还没考虑过?
这确实是我们应该思考的事情。非常重要的一点是,这种设计伦理审查应在整个设计过程中持续进行,而不仅仅是在所有决策都已做出的最后阶段。这是一种思维方式,你必须在做出设计决策并为这些决策形成理由时应用它。
设计伦理审查实例分析
让我们通过几个例子来应用我们刚刚学到的设计伦理审查框架。
实例一:家居装饰应用
第一个例子是家居装饰,灵感来自宜家的Place应用。假设一个家庭的所有成员都在使用他们的设备,共同决定购买什么家具以及摆放在哪里。本例中是客厅,但也可能是其他房间。
让我们根据所学进行一点设计伦理审查分析:
- 情境与场合:场景是客厅,涉及家庭成员。假设家庭每个成员都同意以这种有趣的方式一起使用设备。
- 感官信息与数据:用户和旁观者(家庭成员)都在场。应用会看到家具。我们可能从家具推断出一些信息(是否昂贵、数量、新旧等),这可能是敏感信息。应用还需要理解环境的几何结构,并进行基本的物体检测(主要是它已知的家具,例如宜家目录中的家具)。但这里可能出错,例如引入其他物体导致误分类等。
- 处理流程:在本例中,最初是基于标记的,但现在有无标记实现。基本上,设备自行扫描环境,目前在对场景的理解方面相对有限。
- 数据所有权与治理:显然,数据所有权可能属于应用开发者(可能是宜家)。关于用户如何被告知,显然是通过下载应用时的某种条款协议,以及通过一些可视化(例如,在检测到的表面上渲染一些图案,让你了解设备“看到”了什么)。但请注意,这只是设备相对确定的信息类型的可视化,它仍然可能看到许多未向用户可视化的东西。
这是我们针对第一个场景的小型设计伦理审查。
实例二:协作游戏场景
现在,让我们进入一个不同的场景,但仍在类似领域,例如人们一起在客厅里,现在他们正在玩一个协作游戏。这个场景的一个主要区别是,当你设计和装饰你的家时,你非常关注设备在看什么,你控制着设备;但当你玩游戏时,游戏可能会让物体出现在各处,甚至出现在你可能不希望摄像头看到的地方,但为了参与游戏,你不得不这样做。显然,你的移动速度更快,这使得设备感知和理解事物变得更加困难(但我们正在实现)。我想在这个场景中表达的另一点是,我们现在使用了非常不同的显示技术(例如头戴式显示器、投影和基于摄像头的系统、智能手机),每种技术都涉及非常不同的跟踪技术,这很有趣。
现在,我想引入另一个考虑因素:如果这些用户在不同的环境中,每个用户在自己家里参与这个协作游戏,这对数据意味着什么?现在无法在本地处理。这种信息收集、处理以及设备间的协调(使它们进入同一坐标系并确保它们可以协作)已经需要某种服务器端基础设施。但在远程设置中,情况不同:我们必须联网、处理数据并在用户之间传输数据,这引入了有趣的新问题。
对于这个场景,我不做完整的设计伦理审查,只想指出一些差异。我将对第二个场景的另外两个变体做同样处理。
实例三:课堂讲座与团队会议
第二个场景想象一个课堂讲座。这更像一个公共场合,例如你去演讲厅听讲座或参加会议,演讲者希望你能参与一个很酷的AR体验(例如观看太阳系)。用户使用各种不同的设备(手持式和头戴式),这是一个公共空间。
这个场景的一个不同变体是团队会议。你和团队成员进入一个较小的房间(可能是办公室、公共建筑甚至家中)。这会如何改变你使用这个AR应用的方式?需要考虑的因素包括:这可能是更私密或仍是公共的环境;你可能认识也可能不认识其他用户;你不知道这些设备上安装了哪些应用;还需要考虑这些不同的设备如何协同支持一个(例如)人体解剖学应用,以便我们学习人体解剖学。这里有许多有趣的事情需要考虑。
总结


在本节课中,我们一起学习了如何对XR项目进行伦理审查。我们首先探讨了伦理审查的核心目标,包括明确研究细节、确保知情同意、权衡收益与风险、最小化参与者风险以及赋予用户自主权。接着,我们介绍了一个实用的设计伦理审查框架,涵盖情境、数据、处理流程以及所有权四大方面。最后,我们通过家居装饰、协作游戏和公共教育等多个具体场景实例,应用并深化了对该框架的理解。记住,伦理审查不是一次性任务,而应作为贯穿整个设计过程的持续思维方式,以确保我们的XR设计既创新又负责任。
052:XR设计影响力评估


在本节课中,我们将探讨扩展现实(XR)设计中一个至关重要的方面:评估设计的影响力。我们将学习如何在用户体验的不同阶段考虑设计的影响,并通过实际案例来理解设计决策背后的伦理考量。
概述
设计XR体验不仅仅是创造沉浸感,更关乎对用户的责任。我们需要在用户体验前、中、后三个阶段,仔细考量设计的潜在影响,并做出符合伦理的决策。
设计影响力的三个阶段
上一节我们概述了设计影响力的重要性,本节中我们来看看评估设计影响力的三个具体阶段。
1. 体验开始前:设定预期
在用户接触你的XR应用之前,必须为他们设定明确的预期。无论你的应用是将用户带入一个奇幻或恐怖的虚拟世界,还是在增强现实中改变、操纵或削弱他们的现实世界,都需要提前告知用户。
核心任务:prepare_users_for_new_reality(application_context)
2. 体验过程中:平衡现实感、舒适度与安全
在用户体验过程中,设计者必须在现实感、舒适度和安全性之间取得平衡。这种权衡应围绕现实感展开,并以最大化安全和舒适为目标。
以下是设计时需要权衡的关键因素:
- 现实感:场景的真实程度。
- 舒适度:用户生理与心理的舒适度。
- 安全性:避免用户受到身心伤害。
3. 体验结束后:管理后续影响
用户结束体验后,你的设计产生的影响可能塑造他们后续的日常互动或下一次XR体验。设计者有责任帮助用户平稳过渡回现实。
以下是帮助用户过渡的方法:
- 设计体验后简报环节。
- 在体验过程中,提醒用户休息,让他们想起现实世界。
- 避免设计令人上瘾的体验,这从伦理设计角度看是不利的。
设计伦理决策案例
了解了评估影响力的框架后,我们通过三个具体的研究案例,来看看实践中如何做出困难的设计伦理决策。
案例一:混合现实危机模拟与伤员分诊训练应用
在这个项目中,我们需要决定模拟伤口的真实程度。我们与护理学教授合作,使用人体模型和模拟血液拍摄了非常真实的伤口照片。
我们面临的核心权衡是:是追求超级真实以训练学生的抗压能力,还是仅提供足够信息以遵循分诊协议?
最终,我们设计了两种伤情级别供用户选择,并考虑了医学学生不同学习阶段对真实内容的承受阈值。这个应用旨在引发适度的压力,以模拟真实的灾难场景,因为压力管理本身就是需要训练的技能。
案例二:记忆博物馆中的增强现实项目
这个硕士论文项目旨在利用AR讲述故事、建立共情,但同时要避免对用户造成“二次伤害”。我们与拥有丰富经验的博物馆工作人员紧密合作。
这个项目的关键启示是:技术应用不能想当然。 我们并未设计一个简单粗暴、到处播放图像的“沉浸式”应用,而是基于对技术的深刻理解,做出了极其谨慎的设计决策。这是一个复杂的项目,其研究成果仍在整理中。
案例三:未进行的“重现逝者”项目
一位学生曾提议一个项目:利用VR或AR技术“带回”已故的亲人。尽管从技术层面可以构思,但我们共同决定不推进这个项目。
我们思考的核心问题是:将逝者以数字形式“重现”在现实生活(AR)中,会带来怎样的心理和伦理后果?
虽然我们放弃了该项目,但意识到其他人可能正在尝试。这带来一个反思:如果我们以高度伦理敏感的方式探索了这个项目,或许能为此类尝试设立更好的参考标准。
XR设计伦理的核心原则
通过以上案例,我们看到了设计决策的复杂性。最后,我们来总结一下在XR设计中需要时刻牢记的伦理原则。
-
评估成本效益比
在每一个设计决策中,都要仔细权衡给用户带来的收益与成本(尤其是潜在风险)。 -
权衡而非独断
谨慎评估各种设计权衡,不要为用户做出关键决定。相反,应该赋能用户,让他们能够自己做出选择。设计挑战:
design_customization_interface(immersion_level, realism, blending_method, data_usage)
如何将沉浸度、现实感、信息融合方式、数据使用等选项清晰地传达给用户,并支持他们自定义,是一个极具挑战性的设计问题。 -
保持学习与演进
伦理考量必须随着XR技术的发展而演进。我们需要持续学习,保持开放心态,并愿意根据新的认知更新我们的设计框架。 -
将伦理嵌入工作流程
伦理不应是事后才考虑的问题,而应直接成为你设计流程的一部分,嵌入到每一个决策中。 -
了解技术,切勿过度承诺
作为技术开发者和设计者,你必须深入了解技术的能力与局限。在宣传中切勿夸大其词,误导用户。对于技术的局限性(如追踪范围、数据收集边界),需要主动探索并坦诚告知。

总结
本节课中,我们一起学习了如何评估XR设计的影响力。我们探讨了在用户体验前、中、后三个阶段需要考虑的设计伦理,并通过三个具体案例分析了实践中面临的权衡与决策。最后,我们总结了一系列XR设计伦理的核心原则,包括评估成本效益、赋能用户、持续学习、将伦理嵌入流程以及诚实面对技术局限。


XR设计伦理是一个正在不断发展的领域,没有简单的检查清单。希望本课提供的思考框架,能帮助你在未来做出更负责任、更符合伦理的XR设计决策。
053:XR设计规范 📚


在本节课中,我们将学习扩展现实(XR)设计规范的重要性、现有指南的类型与特点,以及如何在实际项目中应用和批判性地思考这些规范。XR设计是一个快速发展的领域,理解并灵活运用设计原则对于创造优秀的用户体验至关重要。
现有指南的类型与来源
上一节我们介绍了XR设计规范的重要性。本节中,我们来看看目前有哪些类型的指南可供参考。通过研究这些指南,我们可以了解哪些是必须遵守的硬性原则,哪些可以灵活变通以推动设计创新。
以下是四种主要的指南来源:
- 平台供应商指南:由设备制造商(如Oculus、Google、Apple)发布,通常与特定平台深度绑定。
- 设计师指南:从人机交互和用户体验角度出发,更侧重于用户导向的设计原则。
- 实践者指南:基于项目经验总结,可能缺乏严格的科学验证,但具有很高的实用价值。
- 研究者指南:通过实验室用户研究或受控实验得出,通常具有实证基础。
接下来,我们将深入分析几个具体的供应商指南示例。
供应商指南示例分析
了解不同类型的指南后,我们具体看看几个由主流平台供应商提供的设计规范。这些示例能帮助我们理解不同平台的设计哲学和最佳实践。
Oculus VR设计指南
Oculus的指南主要针对VR设计,提供了从渲染原理到具体交互的详细建议。
指南强调了几个核心设计原则,这些原则深受唐·诺曼理论的影响:
- 可供性:设计应提示其可能的用途。
- 意符:设计应提供清晰的操作线索。
- 反馈:系统应对用户操作给予即时、明确的回应。
在涉及手部追踪交互的部分,指南特别指出:
- 应通过限制输入自由度来提升可用性。
- 手不是控制器,针对手部交互的设计应与控制器交互有所不同。
Google ARCore 增强现实指南
Google的ARCore指南专注于基于智能手机的手持式AR体验,提供了非常直观的图解。
指南涵盖了以下关键设计考量:
- 环境限制:如何处理光照、反射等影响平面检测的因素。
- 体验尺度:设计是针对桌面、房间还是世界规模。
- 交互引导:如何通过可视化表面和视觉提示来引导用户交互与探索。
- 安全与舒适:避免让用户向后移动等可能引发不适的操作。
Mozilla WebXR 指南
Mozilla的指南围绕WebXR标准,旨在实现跨平台的AR/VR体验,内容上更偏技术性。
该指南的独特价值在于:
- 同时考虑AR和VR的设计共性,如虚拟摄像机的操控。
- 借鉴电影制作手法,通过视觉效果(如淡入淡出、边缘模糊)来减少晕动症。
- 为构建跨平台、基于Web的XR应用提供了重要参考。
XR设计指南面临的挑战
分析了具体示例后,我们需要认识到,当前XR设计指南领域仍面临诸多挑战。理解这些挑战有助于我们更批判性地使用现有规范。
目前存在的主要问题包括:
- 缺乏公认的最佳实践:XR设计仍是一个快速移动的目标,规范本身也在不断演变。
- 设计模式尚未成熟:通用的设计模式形成缓慢,且常随操作系统更新而改变。
- 平台间差异显著:不同供应商(如Oculus与Vive,ARKit与ARCore)的指南存在较大差异。
- 指南范围难以界定:有些指南过于技术性,有些则停留在“保证用户安全舒适”的原则层面,不够具体。
- 设备与厂商特异性强:许多指南与特定应用、设备或厂商绑定过紧。
核心建议与实践方法
面对现有指南的局限性,我们应该采取何种策略?本节将分享基于经验的核心建议,强调实践和用户测试的重要性。
在缺乏明确、通用指南的情况下,最有效的学习方式是在实践中学习。关键在于尽早并频繁地测试你的设计,从自己的错误和用户反馈中学习。
设计时应始终牢记VR与AR的核心差异:
- VR设计:构建完整的虚拟世界,但仍需关照用户在物理世界中的安全与舒适。
- AR设计:增强现实世界,需考虑虚拟内容与物理环境的无缝融合。
最终,我们需要超越具体设备和厂商的差异,聚焦于思考在VR和AR中分别应该做什么和避免什么。
实例分析:虚拟会议体验
理论需要结合实践来理解。让我们通过一个近期参加虚拟现实远程会议的实际体验,来观察研究人员和设计师如何应用当前的设计来构建虚拟世界。
这个实例展示了虚拟空间如何支持远程会议等活动。通过亲身体验和观察,我们可以直观地感受到哪些设计是有效的(如清晰的空间导航、自然的社交交互提示),哪些地方可能存在改进空间(如界面遮挡、交互反馈延迟)。这种基于真实体验的分析,是培养设计直觉和批判性思维的重要途径。


本节课中我们一起学习了XR设计规范的多方面知识。我们了解了现有指南的主要类型和来源,分析了几个主流平台的具体规范,也认识到了该领域目前面临的挑战。最重要的是,我们明确了实践、用户测试和聚焦于VR/AR核心体验差异是当前阶段掌握XR设计的关键。希望这些内容能为你开始自己的XR设计之旅提供一个坚实的起点和持续的参考框架。
XR设计实践教学:P54:通过实例学习设计

在本节课中,我们将通过两个具体的扩展现实(XR)设计实例,学习如何将设计指南转化为可交互的体验,以及如何利用现有的工具包和示例场景来深入理解交互设计。我们将重点关注增强现实(AR)的设计原则和混合现实(MR)中的手部交互实现。
上一节我们探讨了理论学习,本节中我们来看看如何通过实践案例来深化对XR设计的理解。第一个例子是将谷歌的AR设计指南转化为一个可探索的AR体验。
这个示例允许你在AR环境中,直观地理解抽象的设计原则。它特别擅长通过讲故事的方式来教育和启发设计师。
例如,它清晰地展示了桌面尺度、房间尺度和世界尺度之间的区别。同时,它还演示了如何在应用商店中传达体验的规模,以便用户在下载前有所了解。
以下是该示例阐释的几个关键设计点:
- 对象尺寸与用户探索:通过控制对象的大小,并利用对象部分被遮挡的特性,鼓励用户移动身体,从而探索更多的AR体验内容。
- 多人AR体验设计:展示了如何设计多人AR体验以及需要注意的事项。例如,示例中通过交换空间锚点作为校准方式,来协商一个共享的坐标系。
- 设计原则的可视化:这是一种非常有趣的方式,让你在学习设计指南的同时,能直接看到其应用效果。
总之,这是一个将平面设计指南转化为沉浸式世界学习体验的优秀案例。
接下来,我们将目光转向另一个学习XR设计的绝佳途径:研究现有的开源示例。这里我们以微软混合现实工具包中的“手部交互”示例为例。
这些示例非常实用,尤其在数字原型设计和实现阶段,比之前的理论示例更为具体。它们展示了各种交互控件以及如何设计并布局一个场景。
这个示例专注于手部交互,详细说明了多种利用手部交互支持操作的方式。
以下是该示例包含的一些典型交互场景:
- 缩放与滚动:通过手势控制内容的放大、缩小和滚动。
- 对象平移:用手直接抓取和移动三维物体。
- 手部追踪应用:例如弹奏虚拟钢琴(尽管缺乏实体触感和触觉反馈,体验会打折扣)。
- 传统UI控件:展示了按钮、滑块等相对常见的用户界面控件在MR环境中的实现。
看到如何配置手部交互,以及如何为像“地球与地核”这样的3D模型添加标注,是非常有帮助的。这个示例场景融合了传统UI和更沉浸式的交互方式,这本身也暗示了一个设计考量:虽然可以混合使用,但不同控件的体验感可能截然不同,需要谨慎设计。
无论是可以在智能手机上运行的谷歌AR Elements示例,还是在HoloLens 2上运行的微软混合现实工具包示例,这些预构建的场景和实例都是学习AR/VR设计的有效方法。

本节课中我们一起学习了如何通过实践案例来掌握XR设计。我们分析了两个实例:一个将AR设计指南转化为可交互的教学工具,另一个则展示了混合现实中丰富的手部交互实现。利用这些现有的、可运行的示例进行探索,是理解设计原则和交互模式的高效途径。
055:核心原则与注意事项 🎯


在本节课中,我们将学习扩展现实(XR)设计中的一系列核心原则与注意事项。这些指南旨在帮助你创建更直观、更易用且更舒适的XR体验,避免常见的设计陷阱。
概述
在过去的几年中,我参与了许多AR和VR项目。我一直在思考,有哪些通用的设计指南可以分享给大家。我的目标是让这些建议具体、实用,并尽量不局限于特定厂商或平台,而是聚焦于我在XR设计中观察到的普遍问题。我将这些指南分为“应该做”和“避免做”两类,接下来我们将逐一探讨。
应该做的设计原则 ✅
以下是设计XR体验时应遵循的一些核心原则。
提供多种移动方式
上一节我们介绍了设计指南的总体框架,本节中我们来看看关于用户移动的具体建议。你应该为用户提供多种在虚拟空间中移动的方式。例如,允许用户通过菜单、基于凝视的交互、点击世界中的地点和地标,或不同类型的瞬移来旅行。
善用界面隐喻
你应该尽可能使用界面隐喻,但也要注意使用现代的隐喻方式。非常重要的是,不要试图重新发明现实。虚拟现实的概念有时是将你传送到一个完全不同的空间,但如果那个空间不遵循我们从现实世界中已知的任何物理法则,那么称其为“虚拟现实”的意义何在?当然,你可以改变重力等属性,但基本的物理定律仍应适用,它应该让人感觉是一个我们熟悉的世界。
利用物理可供性
你应该尽可能利用物理可供性,向用户清晰地传达他们如何拾取物体,以及一个物体是否可以移动、旋转或缩放。在用户拾取后提供反馈固然重要,但这些初始的物理可供性对于让用户自信地探索你的AR或VR场景至关重要。
减少显式交互
你应该尽量减少或减少所需的显式交互数量。用户通常不希望必须说很多语音命令或反复执行一套非常特定的手势。例如,我之前展示的基于手部交互的示例就很好,因为它包含了许多基于摄像头的隐式交互,比如抓住一个滑块并移动它,然后可以松手离开,而操作会继续。这些都是减少用户操作负担的好例子。
将重要元素置于前景
这是一个相对独立但很重要的点:将重要元素放在前景中,避免放在边缘。这类似于基于2D屏幕的设计:你把所有重要的内容放在“首屏”,用户一旦需要滚动就容易失去兴趣。这个原则同样适用于AR和VR设计。
提供多感官引导
你应该提供视觉和音频线索来引导用户完成任务,不要只依赖一种感官。要利用这种混合方式。我见过很多VR体验只有视觉没有声音,而音频能带来巨大的差异。在AR方面,如果是在智能手机上工作,用户可能会选择静音,所以音频可能不那么重要。但总的来说,你应该追求这种混合,让两种类型的线索共同影响用户在界面中的导航和操作。
需要避免的设计陷阱 ❌
上一节我们探讨了应该遵循的原则,本节中我们来看看需要避免的常见错误。
以下是设计XR体验时应避免的一些做法。
避免未经同意的移动
你应该真正避免的是在未经用户输入的情况下移动用户。除非用户明确表示他们想要被移动,否则你不应该移动他们,否则会让人感觉非常别扭。另一件奇怪的事情是,如果虚拟角色在移动,而用户实际上是坐着的,这会与我们的本体感觉(即我们对神经和传感器实际活动的理解)产生冲突。
避免过度复制现实
我要提醒并建议不要将虚拟世界设计成现实世界的复制品。我稍后会分享一个关于楼梯的例子。我认真思考过为什么虚拟现实中要有楼梯。我的意思是,我们可以瞬移,可以使用菜单到达地点,为什么还需要楼梯?我认为这与物理可供性的概念有关,它向我们传达“这里有一个可以上下的层级”,帮助我们解读空间和理解环境。我理解这一点,但请认真思考我们需要导航的楼梯数量。楼梯在虚拟世界中实际上并不具备真正的可达性,在物理世界中也是如此。因此,你应该尽量减少或减少所需的显式交互。
避免单一交互模式
不要只依赖手势或语音。我见过很多用户界面,所有操作都基于手势,没有使用语音的途径;或者反过来,所有操作都基于语音命令,而一些你期望用于缩放、旋转等元素的更传统的手势却不起作用。真正的挑战在于找到显式交互和隐式交互之间的平衡,以及在显式交互空间中,手势、语音和多模态交互之间的平衡。我认为这仍然是一个相当大的挑战。
避免大量文本阅读
真的不要让用户阅读大量文本。我稍后会回到这一点,因为我认为这是根本性的问题,并且我会向你展示这在AR和VR中有多糟糕。
避免随意重映射控制器按键
最后一点,虽然应该相对明确,但仍然时有发生。我在很多界面中都见过这种情况:不要仅仅因为界面处于不同模式就重新映射控制器按钮。让用户重新学习功能并记住他们处于哪种模式是非常困难的。你应该尽量避免打破任何设计惯例或与主流背道而驰,除非你对自己的设计选择非常有信心。在那种情况下,我鼓励你去尝试,也许你能以此革新设计。但大多数时候,这实际上并不支持好的设计,反而会让用户感到非常困难。
总结


本节课中,我们一起学习了XR设计的核心最佳实践。我们探讨了应该遵循的原则,如提供多种移动方式、善用隐喻、利用物理可供性、减少显式交互、突出重要元素以及提供多感官引导。同时,我们也明确了需要避免的陷阱,包括未经同意的移动、过度复制现实、依赖单一交互模式、要求用户阅读大量文本以及随意重映射控制器按键。遵循这些指南将帮助你创造出更直观、舒适且高效的扩展现实体验。
056:基于规范的XR体验评审 🧐


在本节课中,我们将通过一个具体的XR会议案例,来回顾和审视之前讨论的设计准则。我们将分析一个虚拟现实会议环境的设计,并探讨其中哪些地方做得好,哪些地方可以改进,从而加深对设计准则的理解和应用。
上一节我们介绍了基于经验总结的一系列XR设计准则。本节中,我们来看看如何将这些准则应用到真实案例中进行评审。
案例背景:IAE虚拟现实会议
我选择以2020年IAE虚拟现实会议为例。该会议原定在亚特兰大举行,但因疫情转为线上。我和我的学生Schta一起探索了他们创建的虚拟环境,并在此过程中发现了一些值得讨论的设计点。
评审与分析
以下是我们在探索过程中发现的一些关键设计问题及其分析。
1. 空间导航与可访问性
我们首先遇到了舞台区域的楼梯设计问题。

舞台设计让用户从后方私密区域开始,这个想法很好。但用户必须攀爬这些楼梯才能到达舞台前方。这些楼梯无论对使用键鼠(如本例)还是VR头显的用户来说,都不具备可访问性。楼梯在虚拟环境中是一个值得深思并应尽量避免的设计元素。
2. 环境设计与现实主义
随后,我们探索了仿照佐治亚理工学院校园搭建的虚拟空间。

这个空间并未完全复制现实,而是进行了重新设计,加入了漂浮的虚拟屏幕等元素。这是一种有趣的真实与虚拟混合。然而,对于不熟悉真实校园的用户,很难通过这个环境获得准确的认知。
3. 移动与新手引导
在探索过程中,移动方式成为了一个问题。
我的学生Schta使用MacBook,由于没有右键,无法使用鼠标点击传送功能,只能全程步行移动。对于首次体验VR的新用户,在不明确提示的情况下,理解如何在一个空间中移动(尤其是传送功能是否可用)是非常困难的。虽然经验丰富的用户可以在不同体验间迁移操作知识,但新手引导仍然极具挑战性。
4. 信息呈现与文本设计
会议组织者将会议日程信息以文本形式贴在了虚拟世界的墙上。

这虽然解决了用户不想频繁跳出VR环境查看网页的需求,但导致了文本信息过载且难以浏览。我几乎要撞到墙上才能阅读,体验并不理想。这引出了XR中文本设计的普遍难题。
为了说明文本设计的问题,我准备了两个例子,一个在VR中,一个在AR中。
- VR中的文本:当我把一段标准文本(如
Lorem Ipsum...)放入VR场景时,在立体视觉下很难清晰阅读。虽然可以用VR控制器作为阅读辅助,但体验不佳。 - AR中的文本:在AR中插入相同文本时,环境光(如现实中的太阳或灯光)会产生眩光,严重影响文本的可读性。
核心问题:文本在XR中没有完美的解决方案。它需要具备自适应性,了解用户的视力、环境光照等。一个通用的准则是:尽量避免使用大量文本。如果必须使用,应将其放置在1-2米内,注意对比度和背景,并考虑动态调整。
5. 虚拟化身(Avatar)设计
虚拟化身的设计体现了抽象与真实之间的权衡。

- 左侧(抽象化身):来自Mozilla Hubs,更抽象但风格一致。
- 右侧(真实化身):来自Spatial软件,由朋友Jeremy的照片生成,更真实。
对比发现,更抽象的化身往往“足够好”。而更真实的化身一旦出现比例、位置或跟踪错误(如Jeremy的化身出现在我的桌子上,显得比我矮小),就会因为违背用户的高预期而严重破坏体验。有时,追求极致真实反而会放大技术局限带来的问题。
案例总结与准则回顾

这个会议案例让我们有机会回顾多项设计准则:
- 不要简单复制现实:楼梯带来了现实世界中的可访问性问题。
- 提供替代导航方式:移动方式(传送)对部分用户不可用。
- 利用已确立的界面隐喻:部分交互方式不够直观。
- 限制交互数量:环境中有过多可点击和观看的元素,信息过载。
- 谨慎处理文本:日程墙是反面教材。
- 权衡化身真实度:过于真实的化身可能因技术限制适得其反。
需要强调的是,我并非在批评会议组织者。在时间紧迫、技术新颖的条件下,他们完成的工作非常出色。这个案例的价值在于,它清晰地展示了在设计XR体验时,追求现实主义所带来的权衡:你越是让它像现实,当体验无法满足这种高期待(无论是设计缺陷还是技术限制)时,对用户体验的破坏就越大。
结语:培养批判性设计思维 🎯
本节课中,我们一起学习了如何运用设计准则来评审一个真实的XR体验案例。从楼梯、导航、文本到化身,我们分析了多个设计决策的得失。
这些准则并非金科玉律,它们需要不断演进。重要的是,我们获得了一种评估设计准则来源及其适用场景的思维方式。如果你开始对某些设计决策感到好奇,并质疑“为什么这个东西要这样设计?”,这标志着你正在批判性地思考设计,而这正是优秀设计师的起点。如果今天的课程能引导你走到这一步,那将是我最大的欣慰。
最后,请继续思考那个楼梯。它虽然简单,却浓缩了XR设计中的诸多挑战与哲学。



057:XR设计研讨会第一部分 🎨


在本节课中,我们将学习什么是XR设计研讨会,以及如何规划和运行一个有效的设计研讨会。我们将从组织者和参与者的不同视角,探讨设计研讨会的核心要素、准备工作和执行技巧。
概述
设计研讨会是一种协作式的设计活动,参与者通常在数小时内集中解决一个特定的设计任务。它类似于黑客松,但时间更短、更聚焦。这类活动能汇集利益相关者,包括目标用户和设计团队成员,共同创造和探索XR设计方案。接下来,我们将深入了解设计研讨会的关键组成部分。
设计研讨会的核心要素
要成功举办一个设计研讨会,需要考虑以下几个核心要素:
- 目标与任务:明确你希望参与者完成什么,以及你希望从活动中学习到什么。每个任务都应导向一个清晰的交付成果。
- 设备与工具:决定使用哪些AR/VR设备。提供的工具可以是物理材料(如纸张、透明胶片、纸板),也可以是特定的数字工具或软件模板。
- 时间安排:合理规划时间。即使是三小时的活动,如果安排得当,参与者也会感到高效和充实。
规划设计研讨会
上一节我们介绍了设计研讨会的基本要素,本节中我们来看看如何具体规划一个设计研讨会。规划是成功的关键。
首先,需要确定参与者的构成。是面向所有人开放,还是针对具有特定经验或技能的焦点小组?这会影响活动的进程和结果。
其次,考虑研讨会前后需要做的事情。例如,你可能会要求参与者在活动前填写背景问卷,或在活动后提供反馈。如果活动前进行,问卷还可以作为筛选参与者的工具。
在数据收集方面,如果你将设计研讨会作为研究项目的一部分,需要获得伦理审查委员会(IRB)的批准,并制定计划来保护参与者权利,例如对数据进行去标识化和匿名化处理。
为了确保所有参与者在活动开始时理解一致,通常可以以一个演示环节开场。例如,展示某种AR/VR技术或应用,甚至是一个创作工具。如果你们已经有一个初步设计,也可以将其作为研讨的起点。务必为参与者提供参考资料,以便他们在活动过程中随时查阅。
最后,高效的组织离不开充分的物料准备。提前准备好所有参与者可能需要的材料,能显著提升他们的参与效率和贡献度。
以下是成功规划的几个关键步骤:
- 明确问题陈述:直接向参与者阐明要解决的核心问题,避免他们将大量时间浪费在理解任务上。
- 提供清晰的设计提示:设计提示应简短、精确,在留有创新空间的同时,也要对参与者构成挑战。
- 设计一致的活动结构:为每个活动环节设定明确的目标和任务描述,并清楚说明期望的交付成果。
- 计划反馈收集:在研讨会结束时,安排汇报环节,并结合讨论和问卷来收集参与者的体验反馈和改进建议。
运行设计研讨会
规划完成后,接下来就是运行研讨会。本节我们将分享一些实际运行时的技巧。
从引导者的角度来看,独自运行整个研讨会是困难的。最好有一个小团队协助,负责计时、回答问题、记录观察笔记等。在正式活动前进行一次彩排也很有帮助,可以提前发现并解决一些问题。
在收集反馈时,可以设计一份简洁的问卷。开头部分可以聚焦于与研究最相关的问题,中间部分留出开放性问题空间,结尾可以收集人口统计信息。即使是开放性问题,也可以给出引导,例如:“请列出两个本次体验的优点和两个缺点。”
总结


本节课中我们一起学习了XR设计研讨会的基本概念、核心要素以及规划和运行的完整流程。设计研讨会是一个强大的工具,能够快速汇集创意、验证想法并吸引人才。通过精心的规划、清晰的引导和有效的反馈收集,你可以组织一场富有成效且令人愉悦的设计协作活动。
058:XR设计研讨会第二部分 🎨


在本节课中,我们将学习如何有效参与XR设计研讨会。我们将探讨一系列实用技巧,帮助你与团队协作,高效地产出有创意的设计概念。
概述
设计研讨会是一种限时、高强度的团队创意活动,在XR领域尤为常见,有时甚至被公司用作招聘工具。因此,表现出色至关重要。以下内容基于多年的教学与研究经验,总结了参与设计研讨会的核心原则与具体行动指南。
核心参与原则
上一节我们介绍了设计研讨会的概念,本节中我们来看看作为参与者应遵循哪些核心原则。
- 制定计划至关重要:合理分配时间,并让计划随着研讨进程灵活演变。
- 用草图进行头脑风暴:不要只停留在口头讨论。将想法画在纸上至关重要,草图是沟通创意的有效媒介。公式表示为:创意生成 = 草图 + 讨论。
- 充分利用空间:保持活跃,运用视觉化手段,发挥创造力。
- 合理分工:并非所有工作都需要并行完成。识别机会进行分工,并可以轮换任务以避免有人感到无聊。
- 善用协调者:指定一人推动团队进程。由于设计研讨会通常有时间限制并分为多个阶段,协调者有助于团队保持高效。
- 明确关键交付物:团队应尽早决定最终呈现形式。以下是一些常见选项:
- 用户场景
- 用户画像
- 竞品分析
- 故事板
- 实体原型
- 数字原型
- 演示视频(在许多研讨会中,最终产品是一个视频)
- 勇于实验:尝试不同的设计方案,可以通过并行制作多个原型来实现。不要急于评判,让每个想法都有展示的机会,再共同选择最佳方案。
- 记录设计演变过程:不要只在最后为成果拍照。记录从开始到结束的整个迭代过程,这非常有价值。
具体行动指南
理解了核心原则后,以下是你在研讨会中可以或应该采取的具体步骤。
在开始之前:
- 制定简要计划:思考可用时间,定义团队方法、角色和里程碑,并统一对目标及交付物的理解。
在研讨过程中:
- 明确场景与用户:思考使用场景,但不必花费过多时间书面撰写。与团队就用户、代理及其行为达成清晰的口头或默契共识。
- 将模糊性视为机会:设计主题通常有一定解释空间。不要因此沮丧,应将其视为做出设计决策(而非假设)的机会,并清晰阐述决策依据(例如,为某类用户或某种物理环境设计)。
- 善用用户画像:如果使用,将其作为沟通工具,明确为谁设计,以及不为谁设计。
- 聚焦故事板:故事板是关键。可以使用特定的AR/VR模板,但如果设计创意需要,也应勇于突破模板框架,推动创意边界。
- 发展并实现创意:充实最有前景的想法,并快速转向更具体的产出,如实体原型或数字原型。
- 实体原型:能快速演示预想的界面和交互。
- 数字原型:若工具熟练,可展示技术可行性。但在时间有限的研讨会上,通常更推荐实体原型,因其更快捷、更易于迭代。
设计研讨会的价值与总结
最后,我想强调设计研讨会作为一种方法的独特价值。它不同于实验室用户研究或受控实验,充满了创造性。这种创造性既体现在参与者的产出上,也体现在组织方式上。
从这些研讨会中,我们可以获得非常宝贵的数据和洞察,例如:
- 参与者创造了何种原型?
- 他们设想了哪些手势、交互和语音命令?
- 他们如何思考移动交互、VR或AR?
- 某个创意更适合用AR还是VR来实现?

因此,请将设计研讨会视为一种强大的工具,在项目设计的早期和整个过程中加以运用。我本人非常推崇设计研讨会,并希望这份热情也能传递给你。


本节课中,我们一起学习了如何有效参与XR设计研讨会,涵盖了从核心原则到具体执行的全面指南。记住,关键在于计划、可视化、协作、实验,并享受这个充满创意的过程。
059:XR设计评审第一部分 🎯


在本节课中,我们将学习如何进行XR设计评审。设计评审是一项至关重要的技能,它能帮助我们系统地评估和改进设计。我们将介绍一种名为“我喜欢、我希望、如果…会怎样”的结构化评审方法,并以Google Expeditions应用为例进行实践。
什么是设计评审? 🤔
设计评审,或称“设计评论”,是许多领域(包括建筑和设计)中广泛实践的一种活动。它本质上是一种建设性的批评,旨在进行彻底的审查。评审时,我们会参考设计准则以及自身创建体验的经验。
上一节我们介绍了设计评审的概念,本节中我们来看看评审的核心价值。我认为,最优秀的设计师都具备批判性眼光,能够发现设计中的问题。发现问题相对容易,而提出包含改进建议的建设性评审则更具挑战性。这不仅仅是说“不行”,而是要提出“或许可以换个思路”或“为什么不试试这个”的建议。同时,优秀的设计师也需要具备回应和处理反馈的能力。
实践工具:Google Expeditions 📱
为了进行实践,我们需要一个工具。如果你有一部兼容Google Cardboard或其衍生品的智能手机,就可以跟随操作。我将使用一个塑料版本的Cardboard。Google Expeditions应用同时支持iOS和Android系统,并能在VR和AR模式间切换,这为我们提供了绝佳的评审案例。
接下来,我将对Google Expeditions应用进行评审,重点关注其VR体验、360度视图切换功能以及AR展览示例。请注意,Expeditions作为一个平台,可以加载由不同供应商创建的各种“探险”内容,这为我们提供了丰富的评审素材。
初步探索与问题发现 🔍
现在,让我们启动Google Expeditions应用,并使用Cardboard进行初步探索。我将以“纽约市之旅”为例。
在探索过程中,我注意到了一些设计上的优点和问题。以下是我在“出声思考”过程中发现的一些关键点:
- 视觉引导出色:我喜欢应用使用箭头等视觉线索来引导用户找到地标,这非常有效。
- 场景切换菜单:主菜单允许用户切换不同场景,这个功能很好。
- 菜单交互问题:然而,菜单的可供性和视觉反馈不够清晰。有时我不清楚如何调出菜单,菜单出现的方式似乎与某种头部移动方式有关,但这并不直观。
- 意外触发:在尝试选择特定场景(如“哈德逊河日落”)时,我容易误触其他选项,需要格外小心。
- 视角不适:当视角需要大幅向下移动时,由于只有三自由度(仅头部旋转,无位置追踪),体验会有些不适。用户虽然可以身体前倾,但场景并不会做出相应反应。
- 音频提示缺失:尽管我开启了音频功能,但全程没有听到解说员的叙述。应用本应具备旁白功能,但在此次体验中未能生效。
- 菜单重叠:有时菜单会相互重叠,干扰视线,并且不清楚哪个菜单项会被触发。
结构化评审方法:“我喜欢、我希望、如果…会怎样” 📝
为了更系统、更建设性地组织我们的评审意见,我将介绍一个在斯坦福大学等设计思维课程中广泛使用的模板。这个模板能帮助我们从积极反馈过渡到建设性批评。
以下是该模板的结构与应用方法:

-
我喜欢:首先,指出设计中你最喜欢的两点。这不应是为了说好话而说好话,而是要真诚地指出那些让你觉得惊艳、给你灵感,甚至你想融入自己设计实践的优点。这为评审奠定了积极的基调。
- 示例:我喜欢视觉线索帮助我找到地标的方式。
-
我希望:接着,提出你认为最需要改进的两个方面。这是批评的部分。请专注于最重要的两点,不要罗列过多,以免让负面评价压倒之前的正面反馈。最好能引用设计准则或相关研究来支撑你的观点,增加说服力。
- 示例:我希望菜单的可供性和视觉反馈能更清晰一些。
-
如果…会怎样:最后,也是最重要的一步,针对“我希望”部分提出具体的改进建议。不要只指出问题,还要构思解决方案。可以尝试提出两个“如果…会怎样”的设想。这部分最能体现评审的建设性价值。
- 示例:如果我们在菜单项周围设置明确的热区标记,会怎样?如果主菜单能在点击时出现,并且确保菜单间不发生重叠碰撞,会怎样?
应用模板:评审Google Expeditions ✨
现在,让我们将“我喜欢、我希望、如果…会怎样”模板快速应用到刚才的Google Expeditions体验中。
- 我喜欢:
- 视觉线索能有效帮助我定位地标。
- 主菜单提供了便捷的场景切换功能。

-
我希望:
- 菜单的可供性和视觉反馈能更清晰。
- 能有更明确的方式来触发主菜单(而不是依赖不直观的头部动作)。
-
如果…会怎样:
- 如果我们在菜单项周围设计明确的热区或高亮标记,会怎样?这能显著提升点击的准确性和反馈感。我们可以通过简单的图像叠加来演示这个改进。
- 如果主菜单能在用户明确点击时出现,并且通过算法避免菜单间的重叠碰撞,会怎样?考虑到这是三自由度体验,我们无法依赖Z轴深度,因此必须在二维界面布局上精心设计,防止视觉干扰。
继续探索与总结 🚀
在初步评审后,我们可以继续探索应用的其他功能,例如其出色的360度视图切换,以及AR展览示例。你可以尝试用同样的“我喜欢、我希望、如果…会怎样”方法对这些部分进行独立评审。
通过观察他人如何探索界面并即时提出批评,你可以学习到宝贵的评审技巧。关键在于保持开放心态,既能看到设计的闪光点,也能精准定位问题并提供可行的解决方案。



本节课中我们一起学习了XR设计评审的重要性,并掌握了一种名为“我喜欢、我希望、如果…会怎样”的结构化评审方法。我们以Google Expeditions应用为案例,实践了如何发现设计问题、给出积极反馈以及提出建设性的改进建议。记住,优秀的评审是推动设计进步的关键。
060:XR设计评审第二部分 🧐


在本节课中,我们将学习如何对XR应用进行深入的设计评审。我们将以Google Expeditions应用为例,分析其在VR和AR模式下的设计、交互与体验,并学习一套结构化的评审方法。
上一节我们介绍了设计评审的基本概念,本节中我们来看看如何将理论应用于实际案例。
VR模式体验分析 🕶️
该应用支持一个我认为相当不错的功能:退出Cardboard VR模式。这就像暂时放下设备一样。我们有一个按钮,可以退出立体视图,进入360度全景视图。在这个模式下,我们可以环顾四周,欣赏日落景色。
有趣的是,它虽然不如完整的VR体验那样出色,但依然有效。它的一个优点是能记住状态。你仍然在同一个场景中,已激活的地标也保持不变,交互方式也基本相同。
不过,文字现在更难触及,因为所有东西都变小了。这种导航方式依然有效,但低头看Sophie这样的物体会显得别扭。这个过渡过程也值得思考:我该如何进行这个过渡?如果我转动幅度过大,可能会让人感到不适。因此,如何在场景间导航是一个有趣的设计点。
总的来说,这是一个很酷的体验。你可以探索许多不同的“探险”内容。我在这里以纽约的“世界奇观”为例。
练习任务与AR模式预览 📱
在练习中,我们也将查看它的AR版本,我认为这同样很酷。并非所有“探险”都同时支持AR和VR,我还没发现两者都支持的内容。但Expeditions作为一个工具或应用,其框架设计非常有趣,值得比较它在AR和VR下的表现。
如果你只有AR或VR设备可用(例如,VR可能通过Cardboard实现),那么AR可能对你更可行。我建议你探索一些“探险”内容,并进行设计评审。
以下是练习的核心步骤:
- 应用设计准则进行分析。
- 从伦理角度进行审视。
这些是我们希望在练习中完成的步骤,应该会很有趣,希望你也能学到很多。显然,除了Expeditions,还有其他应用可以探索,但仅就这个应用而言,就有许多值得我们探索和学习的地方。
切换到AR模式分析 🔄
以上就是对Google Expeditions VR版的评审,我们以纽约城市为例进行了分析。这仅仅是众多“探险”中的一个。现在,我将切换到AR模式,向你展示它是如何工作的,也许你的手机也支持此功能。请随时对AR或VR体验提出批评。
我认为我的反馈侧重点会有所不同,主要集中在环境以及物体如何放置在物理环境中(锚定)上。我注意到在旋转和缩放方面存在一些问题——它似乎不支持缩放,只支持沿Y轴进行某种平移,这让我有些困惑。让我们一起看看吧。
再次强调,这种评审可以重构为 “我喜欢/我希望/如果…会怎样” 方法。对于任何需要你试用的界面,你仍然应该先进行出声思维测试,然后用“我喜欢/我希望/如果…会怎样”的方法来总结你的反馈。
AR交互实例与限制 🦴
我们即将查看一个AR内容。这里我们会把它放在地板上。这是一个骨骼系统。
让我们看看这个家伙,它相当大。它看起来不太开心。再看看这个女孩。它的动画方式很有趣,基本上会散开。然后是脊柱,有点吓人,不是吗?在这种情况下,我们会把它抬高一点,但它应该可以缩放。
总的来说,AR交互功能相当有限。Expeditions的设计方式很有趣,它是为课堂使用而设计的。你可能真的会在课堂上和一群学生、学习者一起运行它。也许这就是没有音频的原因,以避免声音干扰,这可能是一个设计决策,只是没有明确传达出来。
所以请记住,并非所有的批评在这里都一定有效。这只是基于我在工作室或你在家等任何地方试用这一个用例的反馈。请考虑它是为课堂使用而设计的事实,并且它实际上有一种模式可以让教师与一组学生一起使用,这也值得体验。
结构化设计评审要点 📋
我想再次强调几个关键点:我们的批评应真正基于既定的设计准则,这会使批评更加客观。这显然是一种非常好的批评方式。
设计准则可以基于设计原则,例如诺曼的设计原则:反馈、示能、映射和约束。评估某物是否遵循自然映射,物体是否向你暗示了如何与它们互动,以及约束条件。
你还应该从可用性角度进行批评:可学习性、可记忆性、效率、错误率和满意度。这些是常见的可用性考量因素。
你还应从可访问性和公平性的角度进行批评。考虑那些可能只在最新一代头显上可用的高级功能,这些头显目前仍然非常昂贵。思考这是否真的必要,并考虑其有限的影响力,因为很多人可能负担不起这种体验。这也是我喜欢Google Expeditions的一点:它为低端设备设计,因此也可能在课堂上推广。
考虑受众,即用户及其背景。引入人物角色的概念,并可能从那个角度进行评审。在有限程度上,你也可以带入个人经验。
最后,你应该考虑关于体验及其可能对用户产生影响的更广泛关切。这里我仅列出一些常见的关切点:
以下是常见的伦理与社会关切点:
- 隐私是一个大问题。
- 心理健康与身体健康。
- 任何你认为与伦理问题相关的事情,例如真实感程度、沉浸感水平以及这是否可能具有潜在危险。
- 考虑社会影响。这种体验可以在课堂上使用吗?
- 考虑你在设计中看到的文化问题,或者是否冒犯了用户。(例如,如果我来自一个不玩棒球的国家,使用棒球隐喻我可能完全无法理解。这是我初到美国时遇到的问题之一,仅作为一个旁注。)
- 任何环境与可持续性方面的关切。
在你的评审中要广泛思考,提出这些问题,仅仅提出它们就能引发非常有趣的讨论。
总结 ✨



本节课中,我们一起学习了如何对XR应用进行深入的设计评审。我们以Google Expeditions为例,实际分析了其在VR和AR模式下的用户体验、交互设计以及存在的限制。我们重点介绍了基于诺曼设计原则和可用性标准的客观评审方法,并强调了从可访问性、公平性及更广泛的伦理与社会影响角度进行综合考量的重要性。通过结构化的“我喜欢/我希望/如果…会怎样”的反馈框架,我们可以更系统、更建设性地提出改进意见。希望你能将这些方法应用到自己的XR设计评审实践中。
061:动手实践之旅 🚀


在本节课中,我们将开启用户体验与交互设计课程的“荣誉课程”学习路径。本节将详细介绍该路径的目标、核心活动以及你将通过一系列实践练习完成的项目。我们将从设计角度出发,创建一个XR项目原型,重点在于掌握设计方法而非成为开发专家。
上一节我们介绍了设计思维的概念,本节中我们来看看如何将这些概念付诸实践。
课程路径概述
荣誉课程路径旨在让你亲自动手实践。我们将从现有项目(例如Google Expeditions)出发,通过一系列结构化的设计活动,最终完成一个数字原型。这为你后续深入学习开发(第三门课程)打下坚实基础。
考虑到在线学习的特点,本课程将项目范围适当缩小,以便你在有限时间内有效学习。
核心活动步骤
以下是荣誉课程包含的核心设计活动步骤,我将引导你完成每一步。
设计评论
首先,你需要选择一个现有的XR应用(如Google Expeditions)进行设计评论。这包括从设计准则和伦理角度进行评估,思考其在公共与私人场景下的使用差异以及数据收集等问题。
故事板与线框图
接下来,基于选定的应用,你将进行故事板绘制和线框图设计。目的是理解应用流程,并尝试为其构思一个新功能。我们将使用多种保真度的技术进行探索。
以下是故事板与线框图的制作方法:
- 纸上草图:从最基础的纸上草图开始。
- 360度模板:利用课程中提到的360度环境模板进行构思。
- 3D故事板:在Tilt Brush等工具中进行沉浸式3D故事板创作。
实体原型制作
在完成初步设计后,我们将开始制作实体原型。

以下是实体原型的制作阶段:
- 纸质模型:从纸质模型开始,快速验证想法。
- 场景模型:利用360度模板构建环境,规划布局。
- 3D模型:使用黏土等材料制作3D模型,我推荐使用可长期保存的黏土而非石膏。
- 立体布景:最终,你可以利用手边的材料(如纸箱)搭建一个展示用的立体布景。
数字原型与沉浸式创作
最后,我们将进入数字原型制作阶段,涵盖VR和AR两种形式。


以下是数字原型的实现方式:
- 数字原型设计:使用相关软件创建交互原型。
- 沉浸式创作:直接在VR或AR环境中进行设计和构建。我将为你展示不同工具(如A-Frame、Blocks)的示例。
请注意,在实际项目中,你无需完成上述所有类型的练习(例如做四种故事板)。应根据项目需求选择合适的工具和方法快速推进。我在此展示多种方式是为了提供全面的示例。



项目实践演示


为了让你更直观地理解整个过程,我将通过一个视频总结来演示我如何完成“太阳系”主题项目的部分练习。演示内容包括:
- 故事板与线框图:在纸上梳理应用流程并构思新想法(例如同时查看多个行星)。
- 360度故事板:在360度模板中绘制场景,考虑光影和布局。
- 沉浸式故事板:在Tilt Brush中创建3D故事板,规划不同场景和交互。
- 实体原型迭代:
- 制作纸质行星并固定在牙签上,在360模板上尝试不同构图。
- 使用黏土探索动态关系(如月球绕地球旋转)。
- 搭建立体布景,并混合使用实体物体与AR投影来理解空间关系。
- 数字原型制作:
- 在iPad上使用Apple Reality Composer和Adobe Aero进行AR沉浸式设计,专注于内容布局。
- 在VR中使用Blocks工具重建场景,并测试交互(如抓取和旋转行星)。
- 最终实现:展示一个使用A-Frame构建的、可在VR(如Oculus)和AR(通过ARCore)浏览器中运行的最终原型,并讨论了为性能优化所做的调整(如移除粒子系统)。同时也确保其兼容Google Cardboard等简易VR设备。
关键步骤回顾

以下是你将在荣誉课程中完成的关键步骤总结:



步骤1:设计评论
选择任意一个Google Expeditions旅程进行评论,我选择的是“太阳系”。


步骤2:故事板绘制
分析应用现有流程,并在此基础上构思和草图绘制新功能创意。
步骤3:进阶故事板
将想法发展为360度故事板或使用Tilt Brush等工具创建的3D沉浸式故事板。
步骤4:实体原型制作
制作纸质原型,并将其发展为可互动的实体模型(利用手机拍摄模拟交互),进而使用黏土等材料探索3D构图,最终可以搭建混合实体与AR元素的立体布景来激发创意。
步骤5:数字原型与沉浸式创作
使用免费或易得的工具(如Blocks)进行AR/VR沉浸式设计和资产创建,并最终集成到一个可运行的VR或AR场景中。

总结与鼓励

本节课中,我们一起学习了荣誉课程路径的完整框架。你将从设计评论开始,经历故事板、实体原型到数字原型的完整设计流程,最终基于一个现有应用创造出属于自己的XR功能原型。

这是一个实践性极强的学习过程,重点在于掌握设计方法、培养创造力,并为后续开发学习做好准备。我鼓励你尝试这些练习,如果在学习过程中有任何疑问,请随时在讨论区提出,我们可以互相帮助,共同学习。

享受这个动手创造的过程吧!
062:XR设计评审练习概述


在本节课中,我们将学习如何进行XR设计评审。这是一个重要的实践练习,旨在帮助我们以结构化的方式分析和评价现有的XR应用,从而提升我们的设计思维与批判性能力。
练习介绍
再次欢迎来到“诚实之路”轨道。本次练习是XR设计评审。这是“诚实之路”轨道的第一项练习,旨在让我们熟悉设计评审的流程。对于每一项练习,我都会提供一个简短的介绍视频,而具体的练习说明将通过课程阅读材料分享。本视频将概述练习的主要步骤及其存在的意义。
设计评审非常重要,我将在专门的讲座中详细讨论。事实上,在我的线下课程中,设计评审是一个固定环节,每位学生都需要评审一个现有的AR/VR应用。当所有学生聚集在一起评审这些应用时,每个人都能了解现有的应用,同时我们也能练习如何进行深思熟虑、富有成效且包含建设性批评的评审,从中学习。这正是我们在此要练习的内容。接下来,我将引导你完成这个练习的主要步骤。
练习任务
以下是本次练习的核心任务。
- 选择应用:你需要评审一个现有的、类似“探险”的XR应用,可以是360度视频、VR或AR应用。我这样说是为了提供最大的灵活性。你不一定需要VR或AR设备,用智能手机体验360度内容也可以。我说的“类似探险”的应用,主要指像“Google Expeditions”这样的应用,稍后我会详细介绍。它也可以是你最喜欢的博物馆应用、城市导览应用,或任何感觉像是一次虚拟导览的应用。我希望这个应用不要太复杂,因为本次活动的核心是评审。如果应用太复杂,这本身可能就会成为一个主要的批评点。
- 记录“出声思考”:任务要求你录制一段视频,描述你的XR体验过程,并使用“出声思考”法。这一点非常重要。你应该先体验应用,然后再体验一次并录制你的思考过程。通常,第一次体验的印象是最值得在“出声思考”中捕捉的。我们可能不习惯在使用某物时“出声思考”,这需要练习。稍后我会展示一个我自己使用“出声思考”法体验现有Google Expeditions(我选择了太阳系主题)的例子。
- 描述使用情境:我希望你描述你的XR体验情境。基本上,当你分享评审结果时,需要说明你是在360度、VR还是AR环境下操作这个应用的,以及你是在私人还是公共场合使用的。你不需要说得太具体,但使用情境可能会影响你对应用的评审。也许应用并非为你所使用的场景而设计,这也是我们可以讨论的一点。
- 使用模板进行评审:我希望你使用“我喜欢、我希望、如果…会怎样”这个模板来评审所选的应用。我在讲座中介绍过这个模板,并将在接下来的幻灯片中再次简要提及。
- 依据设计指南分析:你需要根据设计指南来分析这个“探险”应用。首先,我提供了一些设计指南的例子。正如你从我的讲座中所知,我对现有的指南并不完全满意——我们既没有足够多的指南,现有的指南也不够好。但无论如何,这是一个起点。
- 阐明伦理、社会或隐私问题:我还希望你阐明可能存在的伦理、社会或隐私问题。你可能没有遇到这些问题,但用户可能会遇到。因此,我们需要思考这一点。
预期成果
本次活动的预期成果如下。
- 提供平衡的评审:你现在能够提供一份平衡的评审,涵盖正面和负面的设计方面。请记住,要从正面评价开始。
- 形成初步改进想法:你已经对如何改变和改进设计形成了初步想法。这对于你继续学习并进入下一阶段(故事板绘制)非常有帮助。作为故事板绘制的一部分,我们会进行头脑风暴。
- 更好地理解设计指南:你对需要关注哪些设计指南有了更好的认识。
如果我们能实现所有这些成果,我会非常高兴。这就是我希望我们能从这次练习中获得的东西。如果你认真练习评审,并广泛思考一些相关问题,我认为这将非常有价值,并且与你的同伴学习者讨论也会很有趣。我们将提供论坛供大家交流。


应用示例:Google Expeditions
我之前提到的“探险”应用,具体指的是Google Expeditions。现在,Google Expeditions提供VR和AR版本,并且在课堂环境中很受欢迎,因为Google主要针对教育场景。我认为这对我们来说是一个很好的应用示例。但我说“类似探险”的应用,实际上可以是任何应用,只是希望它不要太复杂,最好是公开可用的,这样其他人也可以尝试。如果你选择的不是Google Expeditions,请清楚地说明你是如何获取该应用的。
“出声思考”示范
以下是我运行“世界奇观”探险应用的例子,我在讲座中已经介绍过。
现在,我将展示一段我在工作室里实际体验太阳系应用并进行设计评审的视频。
好的。我将对Google Expeditions的“探索太阳系”应用进行一次XR设计评审。我们将从AR模式开始。首先,我认为这个应用运行得相当不错。它成功检测到了平面,很好。
然后,问题是出现的行星真的非常大。任何尝试调整大小的操作似乎都不起作用。我只能把它举起来,但我还没找到缩放或旋转的方法。这实际上是我通常期望一个应用应该具备的功能。
然后,你可以了解更多关于太阳的信息。我们接下来要看看地球。显然,地球比太阳小,但它仍然绝对非常大。同样存在无法调整大小的问题。
但我确实喜欢……当它们出现在键盘上方时,这很酷。这就是地球。我们可以查看一些细节,也许甚至能找到你居住的地方,这可能很有趣。
追踪功能运行稳健,这很好。然后是月亮,同样,一个巨大的月亮。它非常庞大。我们还有外行星。这也很酷。如果能给这些行星加上标签就好了。我真的很喜欢行星的外观,但加上标签会非常有用。这样你才能真正学到东西。我的意思是,现在看起来只是很酷。
小行星带看起来也很酷、很好。还有矮行星。但你确实会想了解更多信息,而这里的交互相当有限。不过,我必须承认,它看起来确实很酷。
所以我会说,我喜欢行星的外观,这很酷。我尤其喜欢内行星。我也喜欢它们分解太阳系的方式。尽管对我来说,要理解不同行星、小行星带和卫星(显然通常围绕地球运行)的不同视图之间的关系比较困难。如果能展示出来就更好了。
我希望……我能够重新缩放、调整大小。这个……我只是不明白为什么我想把它举得那么高。当我把它放在某个位置时,这确实有意义,但我也不知道如何重新定位它。我不知道该怎么做。可以发送反馈。
那么,如果……允许我一次性缩放呢?然后,我认为另一个问题是距离。当我切换时,我确定它又会……它确实考虑了我想要的距离。哦,它没有。它不能旋转和缩放。所以,这真的是我最大的抱怨。
评审模板应用
你刚才看到的只是其中一部分,这些是所有屏幕的截图。显然,这是下载屏幕,你进入应用,放置它(我没有放置部分的截图),一旦放置好,你会在下方看到这个卡片式界面。这个边缘提示非常重要,它暗示还有更多内容。向左滑动,你会看到地球;向上滑动,你会看到一些关于地球的信息;再次向左滑动,你会调出这个屏幕,依此类推。这就是“探险”应用的工作方式。
我希望你使用“我喜欢、我希望、如果…会怎样”这个模板来评审你选择的“探险”类应用。
- 我喜欢:你喜欢它的哪些方面?重要的是从积极方面开始,并且应该有两个积极的方面。
- 我希望:哪些方面可以改进?这里要尽量具体、客观,而不是主观。
- 如果…会怎样:你会如何改进它?如何改进是一个问题,但你会如何改进它?这确实是困难的部分,也是我们在这里追求的目标。这将帮助我们在改进应用时产生一些新的想法。
以下是一些例子。
- 我喜欢:行星的外观很酷(我在视频中说过)。我喜欢它们分解太阳系的方式。
- 我希望:我希望能调整行星的大小和旋转。我希望能更好地理解行星之间的关系,因为比例真的很不清楚。
- 如果…会怎样:例如,使用捏合手势进行缩放,这是一个非常常见的手势。我如何调整与行星的距离?另一个想法是使用拖放来调整与平面的距离。这指的是,一旦“探险”被放置,我基本上必须重启应用,我不知道如何将它移动到不同的平面。也许应用里有这个功能,只是我没注意到,但那样我们就需要改进这个方面。如果人们无法发现应用能做什么,那就是糟糕的可用性,你就有问题了。
伦理评审
以上是基于设计指南、使用“我喜欢、我希望、如果…会怎样”模板进行的评审。接下来,我还希望你进行一次伦理评审。我在关于XR设计伦理的讲座中讨论过设计伦理评审,并描述了评审中的四个主要步骤或考虑因素。

- 情境与场合:你在什么情境下使用?
- 感官信息与数据:应用收集了哪些信息?
- 处理流程:就你的理解而言,应用背后进行了哪些处理?
- 数据所有权与治理:应用在条款中告知了你什么,你同意了哪些内容?这也是我们关注数据所有权和治理的关键。
在我的例子中,情况如下。
- 情境与场合:我在工作室里使用了AR版本。实际上,我是设备附近唯一的用户。
- 感官信息与数据:它主要看到我,看到家具,看到这里昂贵的设备(请记住,这些设备是密歇根大学借出的,不是我自己的设备)。还有桌子和地板表面的区域。显然,你可以从这些信息中理解一些东西,既用于追踪和注册,也可能用于负面用途,这更多地属于伦理部分。
- 处理流程:我认为这是一个相当简单的应用。它进行标准的表面检测,没有使用空间网格,实际上它没有空间网格,不进行场景理解。它可能会收集匿名的使用统计数据,我不确定。但它维护了一个资料库,记录了我下载的不同类型的“探险”。有一个教师模式,我认为更高级,支持多用户,这可能有更复杂的处理流程,并实际上会引发额外的担忧。
- 数据所有权与治理:Expeditions应用管理下载内容,正如我刚才谈到的,有“资料库”标签。这就是我知道的信息。我不知道他们收集了什么数据。而且,因为这些“探险”实际上是独立开发的,有些是Google的,有些是其他人开发的,所以更有趣的是更好地理解“探险”框架,并了解实际上收集了哪些数据并与这些第三方供应商共享。
总结
本节课中,我们一起学习了如何进行XR设计评审。通过实际思考,我们将学到很多关于伦理的知识。同时,我们也将进行更广泛的设计评审,显然要考虑社会和伦理问题,但也要大量思考设计和设计指南。
请注意你是在AR、VR还是360度环境下进行“探险”评审的,并与我们和同伴学习者分享,以便我们更好地理解你的评审。告诉我们你如何使用以及在何处使用它,以及你发现了哪些令人困惑的地方。

我们应该能初步了解你认为需要在哪些方面进行改进,以便在你继续学习“诚实之路”轨道的后续步骤(即故事板绘制和构思框架,实际上是头脑风暴新想法并将其具体化)时,能够有所依据。
063:创意构思与问题定义 🧠



在本节课中,我们将探讨在扩展现实(XR)领域进行创意构思与问题定义的方法。我们将学习如何发现真正有价值的问题,并介绍一系列实用的技巧来帮助你进行创新。
概述
在扩展现实(AR和VR)的背景下,创意构思与问题定义至关重要。目前,我们可能尚未完全掌握正确的方法,核心问题在于我们并非总能精准地定义和解决问题。本节课程将分享七种技巧,帮助你找到好问题、识别问题,并有效地进行创新。
创意构思与问题定义技巧
上一节我们概述了课程目标,本节中我们来看看具体的七种创新技巧。
1. 构思-实现-检验-迭代设计循环
第一种技巧是我称之为“构思-实现-检验-迭代”的设计循环。一切始于一个想法,你必须进行构思。构思的一部分实际上是实现这个想法,即创建一个原型。然后检验它——不仅仅是作为设计师自我检验,更重要的是与用户一起测试和验证。最后,基于反馈进行迭代。通过原型设计,我们可以深入了解实际问题本身,而不仅仅是我们的解决方案。我将构思用于问题定义,这是一个非常重要的认识。因此,构建原型以帮助你理解问题的本质,与用户一起测试,观察他们的反应,并通过迭代来深化你对问题的理解,同时完善你的解决方案。
2. 杀手级应用问题与局部创新
第二种技巧更多是关于如何思考问题。所谓的“杀手级应用问题”是指你试图寻找那个颠覆性的应用,但可能目标定得过高。与其试图发明一个全新的事物,你也可以着眼于现有事物,只需在其中某一个方面展现出创造性和新颖性即可。实际上,新颖性和创造性并非同一回事。在我看来,新颖性意味着成为第一个做某事的人,但这个主张本身并不总是强有力的,因为你可能是第一个提出或实现一个非常糟糕想法的人。而创造性则意味着你以不同的方式看待事物,或者通过提出一个小的新事物来进行创新。当我谈到“设计瑰宝”时,我已经讨论过这种思想:在你处理问题、执行方法、制作原型和实现方案的方式上力求创新。我认为这非常酷,这才是你应该发挥创造力的地方。但你不需要在整个想法上都追求新颖,这一点非常重要。所以,专注于做好一件事,并在那里实现突破。
3. 问题-承诺-前提方法
接下来我想讨论的是如何定义问题,以及如何验证你是否提出了正确的问题。我称之为“问题-承诺-前提”方法。关于你试图做的事情,我要问的第一个问题是:你的XR解决方案要解决什么问题?如果没有问题,那么你就没有解决方案。如果你很难告诉我问题是什么,那么你应该重新思考。此外,如果你认为自己知道问题是什么,那么它难在哪里?为什么它很重要?这里我有一个小的区分:为什么它对你很重要?因为泛泛而谈某事的重要性,我常常感到困难。但我可以告诉你,我所从事的一些研究至少对我很重要,因为我观察到人们(尤其是学生)在学习设计时遇到的困难。在我关于XR(特别是原型工具)的研究中,我观察到新手设计师在掌握XR概念和技术时确实很吃力,这至少是我关心的问题。实际上,事实证明这确实是一个问题,很多人正试图在这个领域进行创新(尽管并非总是有好主意)。因此,大家对这个问题的共识,实际上是一个信号,表明你找对了方向。接下来我要问你的问题是:你的XR解决方案的承诺是什么?即,你提供了什么?XR能在哪里提供帮助?这是你的价值主张。然后,我想更仔细地审视“为什么是XR”这个想法。你的XR解决方案的前提是什么?请批判性地、仔细地问自己:为什么XR能解决这个问题?当我说XR时,你应该更明确地说明增强现实(AR)还是虚拟现实(VR)是正确的方法。然后,你的假设是什么?就像每个解决方案都有一些假设一样,每个设计我们都会做出假设,请先把它们写下来。
4. 科学贡献的阐述
如果你考虑一篇论文的引言部分,现在我来谈谈其中应包含的内容。首先是问题,这是在更一般的层面上。然后是障碍,在这个大问题中,你试图解决的具体是什么。你应该把它说清楚。你在这个大问题中具体讨论什么?接着,你应该在本质上介绍解决方案,而不是全部细节(你可以在论文的其余部分描述)。本质上,从宏观视角看,这里的解决方案是什么?然后是最难的部分:科学地阐述你的贡献。很多人在这里遇到困难,包括一年级博士生和经验丰富的老教授,都很难精准地定义贡献。多年来我观察到一些让我很困扰的表述,也许你应该尽量避免,因为我认为它们并不是很好的论据。
以下是几种应避免的无效贡献表述:
- 我们是第一个做这个的:正如我所说,这并不意味着这是个好主意,而且这实际上不是一个强有力的论据。
- 机不可失:这就像在说“请现在就接受我的论文吧”。我经常看到这种说法。
- 时效性:科学界其实很清楚,如果你试图解决一个老问题,我可以说我们可能没有取得正确的进展。
- 我们评估了我们的解决方案:这最后一个可能只是针对科学界而言,评估你的解决方案并不是一种贡献,这只是预期要做的事情。我们是科学家,显然我们会评估自己的解决方案。所以不要把它当作贡献来宣称。
好了,我的“吐槽”结束了,我们可以继续看一些更偏向设计导向的技巧。
5. 以用户为中心的原型测试
通过构建原型并让真实用户进行测试,是验证问题定义和解决方案有效性的关键。观察用户如何与你的原型互动,倾听他们的反馈,这能揭示你最初可能忽略的问题本质或新的使用场景。
6. 跨学科视角借鉴
从其他领域寻找灵感。游戏设计、工业设计、心理学、建筑学等领域的方法和原则,常常能为XR的问题定义和解决方案带来全新的、富有创造性的视角。
7. 约束条件下的创意激发
有时,明确的限制(如技术限制、预算限制、时间限制)反而能激发更强的创造力。尝试在特定约束下进行构思,例如“如何只用手机AR解决这个问题?”或“如何在一天内做出一个可测试的原型?”,这能迫使你专注于核心问题并产生更务实的创意。

总结

本节课中,我们一起学习了在扩展现实领域进行有效创意构思与问题定义的七种核心技巧。我们从“构思-实现-检验-迭代”的设计循环开始,强调了通过原型理解问题的重要性。接着,我们探讨了避免好高骛远、专注于局部创新的价值,并介绍了用于厘清思路的“问题-承诺-前提”方法。我们还讨论了如何科学地阐述贡献,并指出了几种应避免的无效论据。最后,我们简要提及了以用户为中心、跨学科借鉴和在约束下激发创意等实用方法。掌握这些技巧,将帮助你更精准地定义XR领域中有价值的问题,并为其设计出创新且有效的解决方案。
064:六边形创意法 🧠



在本节课中,我们将学习一种名为“六边形创意法”的创新框架,并探讨如何将其应用于扩展现实领域,以激发新的设计思路。
概述
六边形创意法由Ramishreska提出,它提供了七种不同的思维路径,帮助我们从现有想法出发,系统地探索下一个优秀创意。我们将逐一解析这些方法,并结合XR领域的实际案例进行说明。
七种创新技巧
上一节我们介绍了六边形创意法的基本概念,本节中我们来看看其包含的七种具体技巧。
1. 拓展至下一个维度
这种方法的核心是思考:给定一个想法X,如何将其提升到更高的维度?例如,从静态图片(Flickr)发展到动态视频(YouTube)。
在XR领域的例子是HoloLens。在Oculus等设备主要专注于虚拟现实时,HoloLens将我们带入了增强现实的维度。其CEO在发布会上宣布这是一个“五年计划”,并邀请社区共同探索,这种开放创新的方式本身就是一个突破。
2. 融合不同事物
这种方法可以表示为公式:X + Y,即将两个看似不相关的事物结合起来。
以下是XR领域的一个例子:
- Oculus Link:它将Oculus Quest(独立的移动VR头显)与Oculus Rift S(需要连接高性能电脑的VR头显)的特性融合。通过一根USB-C数据线,Quest可以变身为类似Rift S的设备,既能享受移动端的便捷,又能体验PC端的高性能。这种融合对产品定位和市场产生了颠覆性影响。
3. 做完全相反的事
这种方法鼓励我们思考现有方案的“对立面”,从而找到创新点。
一个典型的例子是Google Cardboard。在VR设备追求高性能、高集成度、高价格的时代,Cardboard反其道而行之,采用廉价的纸板、利用用户已有的智能手机,以极低的成本提供了VR体验。这种“做减法”的思路开辟了一个全新的市场。
4. 给定锤子,寻找所有钉子
当你拥有一个新技术或新系统(锤子)时,主动去寻找它可以解决的所有问题(钉子)。这在技术、人机交互和设计研究社区中非常流行。
例如,拥有智能手机这个“锤子”后,我们可以探索它能实现哪些AR/VR应用。通过简单地为其增加一个Cardboard式的镜框,就能将其变成AR/VR的显示设备,这正是发掘新“钉子”的过程。
5. 给定钉子,寻找所有锤子
与上一种方法相反,当你明确了一个问题或需求(钉子)时,思考所有可能解决它的技术或方案(锤子)。
以AR和VR这个“钉子”为例,Web就是一个强大的“锤子”。将AR/VR引入Web平台,利用Web的广泛可达性,能够极大地扩展XR内容的传播和体验范围,这正是WebXR的意义所在。
6. 添加你最喜欢的形容词
这是最常见的一种产品迭代思路:让现有产品变得更快、更轻、更好。
Oculus Quest就是一个例子。在它之前,主流VR头显大多需要连接电脑(有线)。Quest的核心形容词就是 “移动” 和 “便携” 。它去掉了线缆,实现了独立的运算和追踪,让VR体验摆脱了空间的束缚。
7. 对象-控制设计矩阵
现在,让我们转换视角,看看在交互设计层面如何创新。对象-控制设计矩阵是一个有效的头脑风暴工具。
其操作步骤如下:
- 画一个10x10的矩阵。
- 确定一个主题(例如:冬季)。
- 在行中列出与该主题相关的所有对象(如:雪地靴、手套、帽子、冰铲)。
- 在列中列出你能想到的各种交互控制方式(如:滑动、语音、压力感应、挤压、摇晃、旋钮)。
- 在每个单元格中,快速勾勒出该行对象与该列控制方式结合后的产品创意草图。例如,一个可以“摇晃”的冰铲会是什么样子?
这个练习的关键在于快速和不加评判。它旨在通过大量组合(100个)来迫使思维跳出常规,非常适合用于课程或工作坊的热身环节,激发团队创造力。虽然它不一定能直接产生完美的XR交互方案,但作为打开思路的练习极具价值。
总结


本节课我们一起学习了六边形创意法的七种创新技巧:拓展维度、融合异质、逆向思维、技术寻题、问题寻技、属性优化以及矩阵组合。我们结合HoloLens、Oculus Link、Cardboard、WebXR和Oculus Quest等XR实例,具体分析了这些方法的应用。掌握这套框架,能帮助我们在构思XR产品、交互或体验时,更有条理、更多元地产生创新想法。
065:工具设计中的阈值与上限 🛠️



在本节课中,我们将学习一个评估XR(扩展现实)工具设计的重要概念:阈值与上限。这个概念源自Brad Myers及其同事在2000年发表的一篇论文,它为我们提供了一种清晰的方式来思考不同工具的学习成本与功能潜力。
核心概念:阈值与上限
上一节我们探讨了各种XR设计工具,本节中我们来看看如何从“学习成本”和“功能边界”两个维度来理解它们。
任何工具的设计都可以用两个关键属性来定义:
- 阈值:指使用该工具前必须克服的入门障碍。这包括你需要学习的所有知识、技能和概念。阈值越高,学习曲线越陡峭。
- 上限:指使用该工具所能实现功能的上限。它定义了该工具能力的边界,超出此边界的事情,该工具无法完成。
我们可以用一个简单的公式来理解工具的设计空间:
工具能力范围 = { 所有功能 | 阈值 ≤ 所需学习成本 ≤ 上限 }
其中,阈值是使用工具的最低学习成本,上限是工具所能提供的最大功能价值。
以Unity为例的分析
以下是使用阈值与上限模型分析流行XR开发引擎Unity的示例:
- 高阈值:Unity的学习曲线非常陡峭。对于初学者,尤其是没有编程或游戏引擎背景的人来说,第一次打开Unity可能会感到不知所措。
- 高上限:一旦你跨越了那个高阈值,你就进入了一个功能极其强大的领域。Unity的上限非常高,几乎可以实现XR领域的绝大部分复杂想法和交互。
不同工具的设计权衡
理解了Unity的例子后,我们来看看工具设计中的普遍权衡。在XR设计领域,存在许多不同类型的工具,尤其是各种原型设计工具。
我的研究目标与Unity这类工业级工具不同。我致力于设计低阈值的工具,以降低初学者的入门门槛,让更多设计师能够快速上手并参与到XR设计中来。这自然意味着一个妥协:我的工具无法达到像Unity那样高的功能上限。
但这完全没有问题,因为我们的目标不是取代Unity。Unity在专业XR开发中有着不可动摇的地位。我的工具更像是一座桥梁,帮助更多人平滑地过渡到使用Unity这类更强大的工具,从而赋能更多设计师。
工具能力的重叠与选择
那么,面对功能可能重叠的不同工具,我们该如何选择呢?这个模型提供了一个清晰的决策框架。
不同工具的能力范围可能存在重叠区域。这意味着某些设计问题,既可以用我的工具解决,也可以用Unity解决。
选择逻辑很简单:
- 如果你已经掌握了我的工具,并且要解决的问题在其能力范围内,继续使用即可。
- 如果你已经精通Unity,并且要解决的问题Unity也能处理,那就没有必要再学习我的工具。
关键在于评估:为了掌握某个工具所需投入的学习成本,是否值得它所能带来的功能收益?
总结与课程回顾
本节课中我们一起学习了评估XR工具设计的“阈值与上限”模型。

我们首先定义了阈值(入门学习成本)和上限(功能能力边界)这两个核心概念。接着,我们以Unity为例,分析了高阈值、高上限的工业级工具特点。然后,我们探讨了不同工具在设计上的权衡,例如研究型工具可能通过降低阈值来吸引更广泛的用户,尽管其上限也相应降低。最后,我们讨论了如何利用这个模型,根据自己已有的技能和项目需求,在功能有重叠的工具之间做出明智的选择。


理解这个概念,不仅能帮助你更好地选择适合当前阶段的工具,也能让你以更批判性的眼光看待工具厂商的宣传,并最终在广阔的XR设计空间中找到自己的定位。
066:有效创意评估方法 🧠


在本节课中,我们将学习如何评估你的创意点子,区分哪些是潜力巨大的好点子,哪些是可能陷入困境的坏点子。我们将通过一系列具体的标准来帮助你审视和优化你的项目构思。
概述
创意是创新的起点,但并非所有创意都具备成功的潜力。本节将介绍一套实用的评估框架,帮助你快速判断一个创意的优劣,并指导你如何将初步想法塑造成更具可行性和创新性的项目。
好点子的特征 ✅
上一节我们探讨了创意的重要性,本节中我们来看看哪些特征通常预示着这是一个好点子。以下是几个关键指标,如果你的点子符合这些描述,那么它很可能走在正确的轨道上。
- 为现有方案增加重要的新功能。 公式:
新方案 = 现有方案 + 显著新功能。这意味着你不是在重复造轮子,而是在一个已被验证的基础上进行有价值的增强。 - 对现有方案的某一部分进行重新设计。 代码示例:
redesign(part_of_existing_solution)。这避免了全盘推翻的陷阱,而是聚焦于局部优化,风险更低,目标更明确。 - 选取问题的某个特定方面,尝试不同的解决方案。 这要求你从一个大问题中剥离出一个核心痛点,并针对性地提出新颖的解决路径。
- 通过全新的视角审视一个现有问题。 公式:
新解决方案 = 老问题 × 新视角。这是许多研究取得突破的常用方法。关键在于这个“新视角”是否真的新颖,或者是否首次被应用于该问题领域。
坏点子的警示 🚨
了解了什么是好点子之后,我们再来看看哪些信号可能意味着你的想法需要重新思考或大幅调整。如果你的项目描述符合以下几点,就需要格外警惕。
- 仅为现有方案增加一个微小的新功能。 除非你是原方案的设计者,正在迭代新版本,否则这种改进通常意义有限,难以形成差异化优势。
- 试图让一个现有方案“变得更好”。 这是一个常见的模糊目标。关键在于你必须能具体说明“更好”体现在哪里,例如“学习成本降低50%”或“操作速度提升一倍”。无法量化的“更好”往往缺乏方向。
- 试图将多个现有方案的功能整合到一个新方案中。 代码示例:
new_solution = integrate(solution_A, solution_B, solution_C)。这通常会导致项目范围(Scope)过大,在有限的时间与资源下难以深入,最终每个功能都流于表面。应对策略是重新界定范围,缩小焦点。 - 试图做一件“前无古人”的事情。 这几乎总是一个误区。问题通常在于你尚未进行充分的背景调研,不了解已有的相关研究、工具或技术。在声称“独创”之前,务必做好功课。
优化与重塑创意

即使你的点子落在了“好”或“坏”的范畴,也仍有改进空间。好点子可能在执行过程中因忽略用户反馈而失败,坏点子则可以通过调整获得新生。
最关键的一步是与他人交流你的想法。这些人可以是教授、其他设计师、你的团队成员,也可以是未来的用户或任何利益相关者。他们的反馈能帮助你塑造和重新表述创意。
对于范围过大的点子(如上述的“功能整合”型),最有效的优化方法就是缩小范围。在一个约束更强、更具体的小问题上进行创新,往往比在一个庞大而模糊的问题上更容易产生突破。当然,范围也不宜过小到失去探索和创造的空间。
总结


本节课我们一起学习了评估XR项目创意的有效方法。我们区分了“好点子”的特征(如增加重要功能、局部重新设计、聚焦特定问题、转换新视角)和“坏点子”的警示信号(如微小改进、目标模糊、范围过大、臆想独创)。记住,创意评估不是一次性的判决,而是一个持续的优化过程。通过与他人交流、重新界定问题范围,你可以将任何初步想法打磨成更具创新性和可行性的优秀项目。希望这些技巧能帮助你在构思下一个XR解决方案时,找到真正有价值的创新方向。
067:故事板与线框图设计第一部分 🎬


在本节课中,我们将学习扩展现实(XR)设计流程中两个至关重要的早期设计步骤:故事板与线框图设计。我们将探讨它们的重要性,并介绍几种从低保真到高保真的具体设计技术。
上一节我们介绍了XR原型设计的宏观流程,本节中我们将聚焦于流程的第一步:故事板与线框图。
故事板与线框图是指将你的界面构思草图化,并将这些草图组织成我们称之为故事板和线框图的形式。当这些草图比通常的草图更为精确时,我们通常称之为线框图。它们实际上是后续我们将看到的AR/VR界面中屏幕和潜在3D场景的蓝图。
接下来,我将通过一个设计案例来具体说明。这个案例来自我们的一次设计工作坊,学生们向我展示了一款AR家具摆放应用的原型构思。这款应用灵感来源于宜家和Wayfair等现有产品。
以下是该应用的工作流程:
- 用户可以在不同类型家具中进行选择。
- 例如,可以旋转图中的椅子。
- 可以通过菜单调整颜色等选项,获得所选家具在特定颜色和尺寸下的真实预览。
这个故事板的有趣之处在于,它包含了大量细节。你可以清晰地看到AR界面如何与左侧和底部的2D菜单融合。学生们在构思上做得非常出色。
我们刚刚看到的只是众多故事板技术中的一个例子。接下来,我将按照从低保真到高保真、从易到难的顺序,为你介绍四种具体的技术。
以下是我们将要涵盖的四种技术:
- 传统故事板:适用于将草图组织成一个连贯的故事序列。
- 360度照片故事:使用360度相机捕捉你周围的物理空间,并将这些捕捉到的环境作为虚拟现实环境的原型或模型。
- 360度故事板:这是一种更深入的技术,特别有助于围绕用户进行空间思考,这对于AR/VR界面设计至关重要。
- 3D故事板:在VR头显内部,直接在你周围的3D世界中绘制草图。这是可视化3D世界的绝佳方式,但也需要较多练习。
现在,让我们更详细地了解每一种技术。
首先来看360度照片故事。记住,我们需要使用360度相机来捕捉环境,例如示例中我的实验室。初始图像看起来可能非常扭曲,这是不同的投影格式(如等距柱状投影)。但你可以将其映射到一个3D球体上,这个球体本质上环绕着用户。你在社交媒体上看到的360度照片和视频就是这样工作的。
例如,这里是我的实验室。这张照片是在特定位置拍摄的,由我的前博士后Max拍摄。它展示了实验室早期的样子。我们可以利用这张360度照片,为实验室原型化一个虚拟现实应用。我们对该房间的空间布局有较好的了解,甚至可以将此作为环境的占位符,来原型化AR体验,而无需亲临实际地点。

如果你将多张这样的360度照片组合起来,就可以构建一个故事。通过这种方式,你可以原型化诸如在密歇根大学校园中行走、寻找我的实验室或办公室等体验。
这是一种思考照片故事的传统方式,但我希望我们将其视为一种为交互体验制作故事板的方法。其中一些可能涉及传统意义上的导航,也可以是交互技术中不同步骤的序列。我们将在后续为你设计的活动中花更多时间探讨这些技术。
这就是360度照片故事板。
接下来,让我们回到360度故事板的概念。你在这里看到的是一个模板。其工作原理是:如果我遵循这些网格线,我所描绘的内容将对应出现在用户前方的视野中。同样,其他部分对应出现在用户左侧90度、右侧90度或底部等位置。这是一个非常强大的模板。

我想展示几个使用这个模板能做什么的例子。
例如,我们曾创建一个场景:在中间放置蝴蝶,用户会看到这些蝴蝶,同时还有一只小狗和一辆汽车。然后我们添加第二层,开始绘制树木。我们仍然在纸上进行故事板原型设计,描绘你突然置身于这个环境中的场景。
现在我们有了三层:背景中的山脉、前景中的小狗和蝴蝶、以及中景中的树木。
那么如何实现呢?正如我刚才解释的这些层次,如果我们结合之前提到的360度照片技术,可以将它们映射到一个球体上。当用户戴上VR头显后,他们将在这个球体内部“导航”。其工作方式是,用户实际上看到的是这个被“扁平化”呈现的体验原型。用户将体验到小狗、蝴蝶、树木和山脉。

现在我已经组合好了场景,你可以看到一点视差效果。我们基本上是将前景、中景和背景的这些层次分离开来。这产生了这样的效果:我们现在可以走向这些蝴蝶,可以转身看到小狗、汽车和树木。我们仅仅通过360度故事板的三层就组合出了这个场景。这非常酷。你可以调整这些参数,比如你希望每层之间相距多远,以创造更真实的体验和预览。

本节课中,我们一起学习了扩展现实设计中的故事板与线框图。我们了解了它们作为早期设计步骤的重要性,并通过案例看到了传统故事板的应用。接着,我们系统性地介绍了四种故事板技术:传统故事板、360度照片故事、360度故事板以及3D故事板,并着重讲解了360度照片故事和360度故事板的具体原理与强大之处。掌握这些技术将帮助你更有效地在早期构思和可视化你的XR创意。
068:故事板与线框图设计第二部分


概述
在本节课中,我们将继续深入学习扩展现实(XR)设计中的故事板与线框图技术。我们将重点探讨360度故事板设计、三维草图绘制,并了解如何利用这些技术为虚拟现实(VR)和增强现实(AR)体验进行原型设计。
360度故事板设计 🎨
上一节我们介绍了传统故事板,本节中我们来看看专门为沉浸式环境设计的360度故事板。
360度故事板允许我们围绕用户规划360度范围内的布局。我展示了三个例子来说明如何创建这种故事板。
以下是创建360度故事板的一个关键步骤:
- 使用360度网格:我们通过一个360度网格来创建场景。例如,一个包含小狗、蝴蝶、树木和远山的场景。这些元素位于不同图层,我们可以移除白色背景并将图层叠加,从而创造出有趣的体验。
- 规划用户视野:在网格中,中心区域代表用户正前方。蝴蝶可以放在中心,而其他元素则根据其相对于用户的方向(左、右、上、下)进行绘制。
原型设计现有体验 🚀
接下来,我们简要讨论如何为现有体验制作原型。
以《星际迷航》为例,我们创建了舰桥和观察室的体验。在VR中,我们可以移动映射这些360度故事板的球体,使它们相交,从而让用户能够“走”进另一个房间。
在设计此类体验时,我们需要考虑两个关键因素:
- 用户运动范围:用户(尤其是坐姿时)在VR中探索场景所需的移动范围。
- 用户初始视野:用户刚开始体验时能看到多少内容。这有助于我们确定关键信息应放置的位置。
为了在纸上有效进行原型设计,我分享一些有用的模板和工具。
以下是使用模板进行原型设计的方法:
- 使用透视模板:将空白纸放在模板上,透过纸张看到模板的网格图案。
- 围绕中心绘制:以模板中心为参考,开始绘制会出现在用户正前方的内容。
- 标注方向:用户左侧的内容画在模板左侧对应区域,右侧的内容画在右侧区域。你还可以绘制顶部和底部的内容,从而实现围绕用户的360度设计。
最后,我们经常使用的一种方法是,如果你想为特定空间(例如实验室)设计体验,可以制作该空间的360度草图模板。虽然在平面图上看起来有变形,但当在VR头显中以360度观看时,这些形状会恢复正常,矩形会变成窗户和墙壁。这是利用VR技术为AR体验制作原型的有效方法。
快速预览与AR原型设计 📱
一旦创建了这些纸质原型,我们通常希望快速预览它们。
我们经常使用Cardboard等工具在VR中快速预览。只需将手机放入Cardboard,对故事板拍照,即可在VR中预览体验。
对于AR原型设计,我们使用标记(Markers)。
以下是进行AR预览的步骤:
- 使用印有特定图案的纸质标记。
- 将手机放入类似Cardboard的AR设备(如Hololens的Cardboard版本)中,确保摄像头露出。
- 运行特定软件,将设备戴在头上。
- 使用标记来告诉手机我们原型的坐标系,从而快速预览我们设计的任何AR内容。
三维草图绘制 ✏️
我之前讨论的故事板技术都不是真正的三维设计。因此,最后一种技术是三维故事板,即三维草图绘制。
我想向你展示三维草图,并解释我们如何创建这种体验。我现在做的是勾勒出我所在的房间。这已经是一个三维空间,但里面还没有有趣的东西。
那么,Michael(讲师)在这个房间的哪里?这很简单。我大概站在这里向你挥手。而你们在房间的另一边。显然,摄像机大概在这里,指向我。
我们如何实现这种效果,让你也能成为体验的一部分?我们录制的方式是使用绿幕(Green Screen)。
以下是创建此类三维合成体验的过程:
- 我身后有一块绿幕。
- 我们使用软件通过色度键控(Chroma Key) 技术移除绿幕。
- 移除后,我们可以在背景中填充任何酷炫的内容,比如使用Tilt Brush绘制的背景,甚至是彩虹。
- 这创造了身临其境的体验,模糊了电影制作、虚拟制片和AR/VR内容创作之间的界限。
这种三维草图在设计初期非常有用,也可以成为你的第一个资产。你可以将其导出到其他AR/VR软件中进行进一步处理,使其最终出现在AR或VR体验中。

技巧总结与对比 💡
我已经介绍了四种强大的故事板技术。融入这些技术中的线框图详细程度,取决于你创建的故事板类型。
- 传统故事板:通常包含丰富的二维线框图细节,但对于三维的AR/VR场景表现力有限。
- 360度故事板:允许你在360度范围内围绕用户规划布局,但没有深度信息,并非真正的三维。
- 三维草图:允许你详细规划用户周围的三维空间内容,绘制三维图形,并创建可用于最终AR/VR体验的资产。
最后,我想分享一些设计技巧:
首先进行高层级草图,逐渐添加更多细节,但只关注对体验重要的部分。例如,不要过分关注周围的物理世界,只关注决定AR或VR体验的特定元素。
建立一致的视觉标注。我注意到学生们经常使用一种隐含的标注来区分物理元素和虚拟叠加元素。例如,一致地使用红色代表虚拟,绿色代表物理。这成为一种良好的标注系统,便于在与开发人员协作时传达设计意图。
明确支持的设备类型。时刻记住你构思的是哪种体验。AR/VR设备种类繁多,可能是手持式也可能是头戴式。即使在故事板阶段,也应将此考虑在内。
然而,在故事板阶段,我们仍处于大量头脑风暴的时期。故事板是为你想要创造的AR/VR新体验进行头脑风暴的强力工具。



总结
本节课中,我们一起深入学习了360度故事板设计、利用模板进行原型设计、快速VR/AR预览方法以及三维草图绘制技术。我们了解了不同故事板技术的适用场景,并掌握了一些实用的设计技巧。这些技术是构思和规划沉浸式体验的基础,能帮助你将创意快速转化为可视化的设计方案。
069:实体原型设计Ⅰ


🎯 概述
在本节课中,我们将学习实体原型设计。实体原型设计是整体原型设计流程中至关重要的一环,它位于故事板设计和数字原型设计之间。我们将探讨几种不同的实体原型技术,包括纸面原型、360度纸面原型、立体模型以及粘土建模。掌握这些技术能帮助你更高效地构思和验证设计,从而在后续的数字开发阶段节省大量时间。
📄 实体原型设计的重要性
实体原型设计是整个原型设计流程中非常关键的一步。我个人认为它极其强大,值得投入相当多的时间。因为如果你能把实体原型做对,就能深入了解数字原型,从而在后续工作中少走弯路,更快地进行迭代。这就是为什么我认为它在整体原型流程中如此重要。
接下来,我将展示一些在我的课程和研究中创建的实体原型例子。
🛠️ 实体原型技术概览
在这一部分,我将介绍几种不同的技术。我会沿用之前使用的分析框架:如何从低保真度向高保真度过渡,以及这些技术在从易到难的谱系中处于什么位置。
我们刚刚看到了一个纸面原型的例子,这对于思考基本交互方式来说是一个非常好的方法。但对于某些需要原型的特定AR/VR交互技术来说,它可能有些局限。因此,我还会向你介绍360度纸面原型。
此外,我将讨论立体模型。立体模型是你想要创建的AR/VR场景的微型3D实体原型。我认为这是思考空间关系的绝佳方式。这里所说的空间关系,指的是我们AR/VR体验中的用户(可能不止一个)、他们使用的设备,以及体验中任何物理和虚拟对象之间的空间布局。你可以在不使用任何数字工具的情况下,实体化地原型设计所有这些内容。
最后,我们将讨论通过实际使用建模粘土进行实体原型设计。我认为这是在3D空间中快速建模的一种非常快捷的方式。就我个人而言,我不太擅长使用3D建模工具。如果你有建筑背景,或许可以跳过这一步。但总的来说,在更大的实体原型设计工作流中,使用粘土进行3D建模对于创建主要的3D角色和在物理上演绎故事,然后再进行数字实现,是非常有益的。
📝 纸面原型设计
让我们从纸面原型开始。1994年有一篇著名的论文《为小巧手指设计的纸面原型》,引入了使用纸面原型进行测试的想法。
以下是纸面原型测试的基本角色设置:
- 用户:尝试体验原型的人。
- 协调者:引导测试流程的人。
- “计算机”:一个真人,负责根据设计师预先制作好的素材,选择和展示不同的屏幕。
- 记录员:记录测试过程的人。
那么,这个想法如何转化到AR/VR原型设计中呢?在我们的研究项目“360 Proto”中,我们进一步发展了这些想法。
现在,我们的用户在VR或AR中。我们仍然有一个协调者,但这个协调者还有一个额外的任务:实际拍摄我们在纸上制作的这些模型。我们仍然有“计算机”角色,他仍在生成素材,但我们使用了特定的模板——即我之前提到的360度故事板模板——来真正创建360度纸面原型。在整个过程中,我会展示一些例子。你可以让这些原型“活”起来,让测试用户实际上在VR或AR中体验纸面原型,这非常强大。
纸面原型的类型与优势
我们可以将纸面原型区分为两种:
- 传统纸面原型:不使用任何特定模板。
- 360度纸面原型:使用专门的360度网格模板,这使得原型制作过程和最终用户体验都不同。
那么,纸面原型(特别是传统纸面原型)到底好在哪呢?
它们能让故事板变得生动。这正是我们所做的:我们拿着一个故事板,向其他设计师或用户解释它。你可以向用户演示交互。用户可以通过一些想象力来感知这个原型,从而理解这些设计如何转化为AR/VR交互。
在图像中,你可以看到我们如何使用纸板、小棍或牙签。在后面的例子中,你会看到我们如何将平面人物图贴在牙签上,从而在用户面前相对流畅地让物体动起来,让他们感觉这确实是一个交互式原型,尽管它仍然在纸上。
以下是一个具体例子:
在一个VR体验原型中,用户用VR控制器指向森林动物,周围的设计师则根据用户的交互来让这些动物做出反应。这是一个非常交互式的故事板,你可以让新元素出现,比如一只青蛙,由用户与VR控制器的交互触发。这极大地帮助用户理解,当他们与森林动物等不同元素互动时,这个VR体验将如何展开。
360度纸面原型
现在,如果你用360度模板来原型设计同样的体验,情况会有些不同。你必须注意模板,并相应地移动这些动物等元素。
这样,你就可以在用户周围360度地布置内容,但要注意网格线意味着什么。你不能太快地移动物体,必须遵循这些网格线,这需要一点练习,但确实是原型设计360度体验的强大方法。
正如我所说,你可以沿着这些网格线演示交互,例如,让某个东西绕着用户飞。你还可以使用不同大小的物体来模拟深度。
请记住,360度照片故事和360度照片,正如我之前提到的,实际上没有深度,并非真正的3D。因此,模拟深度的一种方法就是使用不同大小的物体。
其工作方式是:
设计师正在原型设计一只鸟飞下来。现在,这只猫头鹰已经落在了树上,我们基本上只是替换了模型。这个想法正在实现。这是我们与学生一起原型设计的一个体验。在这个阶段,我们并没有特别注意网格线,我们还在熟悉模板。但我会展示我们如何能将这个故事板提升到下一个层次。
因为核心思想是,你实际上可以拍摄这个视频,并在360度环境中回放。记住,它遵循360度格式,我们实际上可以为VR用户可视化这个纸面原型。
将纸面原型带入VR

接下来我将快速展示这一点。我们可以组合一个场景:将360度网格模板放在上面,然后添加我们想让用户看到的元素。你可以将它们间隔开,可以剪下来,可以画出来,可以与故事板关联。但对于纸面原型,我通常使用剪纸,这样可以更容易地制作动画,可以重复使用或替换模型,非常强大。
然后,你可以像这样组合一个场景。因为这里仍然遵循360度模板,我们现在可以做的就是:给模板拍一张特写照片,将照片包裹在纸板中,然后在VR中体验它。我来快速说明一下。
这是一张纸面原型的特写照片。我们拍下照片,进入VR,然后通过立体视图看到它。我会在视频中展示同样的效果。
这是我正在拍摄一个先前原型设计的体验。我点击按钮,手机已经在纸板里了,我可以开始预览,在某种意义上预可视化这个3D场景。你可以看到网格线。如果你使用透明层或其他方法,可以移除这层网格线。这样你就有了一个非常快速的可视化纸面原型的方法。
现在,你可以让协调者或“计算机”对这个场景构图进行调整。我们可以看到,猫头鹰移动得更近了。如果你将此与实时流媒体结合,你实际上可以模拟交互式的360度故事板。这是我的“360 Proto”研究工作中的一部分。

创建AR预览
稍微有点棘手的是用这种方式创建AR预览。我现在要展示的是我在“360 Proto”研究项目中开发的一个想法。
我们将使用360度模板,对其进行映射。我们给它拍张照片,将其映射到一个3D球体中。我们的目标是让一只蝴蝶围绕用户动画,或者至少让一只蝴蝶停留在空中,这样AR用户就可以四处走动,实际体验那只蝴蝶。
在这个例子中,我没有移动蝴蝶,但你仍然能看到一个很酷的效果。那么我们如何原型设计这个呢?我们可以使用额外的AR技术,比如标记。这里使用了一个物理标记。我们可以用手机捕捉并实时流传输,然后我们可以拍下那张照片,移除背景(白色变成绿色,然后变成透明),提取出蝴蝶,并在确切的位置显示它。

我们这样做的方法是:再次使用360度网格来注意物体在用户周围的位置,并用我们的虚拟叠加层(本例中是蝴蝶)替换那个标记。
让我们体验一下:
这实际上是我和我的学生凯蒂一起工作。我们现在让这只蝴蝶在我们的摄像头前移动,并将此实时流传输到你在背景中看到的另一部手机上。下一步我将向你展示如何操作。

我拿起手机,然后蝴蝶就在那里了。因为我们使用的是带有摄像头的AR技术,智能手机摄像头需要暴露出来才能工作,我们实际上可以绕着这只蝴蝶走。在这个阶段,如果我们将其实时流传输给VR或AR用户,他们就能获得非常酷的体验。

📚 总结
本节课我们一起学习了实体原型设计的第一部分。我们探讨了实体原型在整体设计流程中的关键作用,并重点介绍了纸面原型和360度纸面原型这两种技术。我们看到了如何将简单的纸张和模板转化为可交互、甚至可在VR/AR中预览的生动原型。这些方法能帮助你在投入数字开发之前,快速、低成本地验证空间布局、交互逻辑和用户体验。

这只是实体原型设计的第一部分,但我希望已经向你阐明了如何用纸张创造出数字化的体验。这些内容在我的研究中都有更详细的描述,我和其他研究者也一直在致力于此。希望未来能有更好的工具支持。同时,我会提供我在研究中创建的一些工具的访问权限。
070:实体原型设计Ⅱ 🧱


在本节课中,我们将继续深入学习实体原型设计。上一节我们介绍了纸面原型和360度纸面原型,本节中我们将探讨在物理空间中工作以及使用物理建模工具的方法,特别是立体布景模型和粘土3D建模。
在物理空间中工作:立体布景模型 🏗️
立体布景模型本质上是一个三维的、通常是微缩版的场景模型,用于模拟AR/VR场景。它允许你在物理世界中构建并演示那个三维场景。
以下是使用立体布景模型的几个关键优势:
- 团队协作:你可以与多位设计师合作,共同构建场景。
- 用户演示:你可以向用户演示交互,设计师可以扮演场景中的角色来响应用户操作。
- 空间评估:你可以有效评估空间需求,并理解构成AR/VR体验原型的不同物理对象之间的关系。
我将展示一个我们实验室曾制作的原型示例。这仍然是我们喜欢的森林场景。我们有一只猫头鹰飞入,然后有人与之互动,现在这个物体被另一个物体替换了。虽然从某些角度看可能有点奇怪,但关键在于,它是一个非常好的物理呈现,填补了之前仅在2D纸面上或使用360度模板思考时的空白。
实际上,在物理空间中工作会让事情变得简单得多。我的学生和我本人都深有体会,尤其是将一些纸面原型转化为立体模型时。
显然,我很乐意分享我和学生在课堂及研究中的许多工作。这里有一个快速展示:我们曾使用立体布景模型原型化VR园艺体验;我们也讨论过公开演讲体验(这常引发焦虑),你可以用这种方式原型化一次演讲;我的一些学生还原型化了沉浸式剧院,你在这里可以看到舞台的3D版本,之后它将进入VR。立体布景模型非常强大,通常只需45分钟就能原型化这些场景。你可以在课堂上与任何背景的设计师一起完成,并且不需要很多技术技能或任何数字工具。我认为这是目前最便宜、最快速的3D工具,物理空间和立体布景模型可能是实现这一点的绝佳方式。
物理建模工具:粘土3D建模 🎨
我想添加到我们工具箱中的最后一个技巧是粘土3D建模,你在之前的视频中已经看到过一些。我们经常用它来塑造场景中的主要角色。
以下是粘土建模的应用方式:
- 聚焦角色:我们专注于场景中的主要角色(或物体)。
- 故事板实体化:之前使用的故事板现在变得实体化,你可以很好地捕捉这些3D角色的动作。
- 评估复杂度:角色在3D中活了过来,可以被移动、旋转,这让你能感受到后期需要创建的3D模型的复杂度,并再次在真实的3D空间中演示交互,这让很多事情变得更容易。

然而,对于一些交互,设计师和用户之间需要更好的协调,这需要一点练习。正如我即将展示的一个视频例子:用户正在执行一个旋转手势,而设计师(此时作为“人肉计算机”)则在移动椅子。
学生们快速原型化了这个体验,并对他们想在AR家具摆放应用中支持的交互有了感觉。这是感受物理空间并以此方式创建3D资源的一种非常酷的方法。
实体原型实例解析 🔍
我带来了几个实体原型,想说明如何仅用实体原型来为虚拟现实和增强现实原型化有趣的概念。
我准备了三个场景,每个场景背后有不同的想法。我将从这个开始:这个原型源于我的一门课程项目,学生们有兴趣使用虚拟现实来原型化标准化考试场景。许多学生实际上害怕标准化考试,通常是在大房间、面对大量观众进行。这个原型让他们能够思考基本的交互、角色是谁以及哪些视角会很有趣。例如,坐在前排总是能看到门的体验,可能与坐在一群人后面在这种标准化考试场景中的体验非常不同,后者可能引发更多焦虑。VR是建立共情的强大工具,这是我在课堂上最喜欢的学生项目之一。
这也是一个非常酷的想法:其理念是将语言和文化更贴近观众。实际上,这是关于中国食物和各种看起来非常美味的食物。事实上,它看起来太好吃了,我真的很想吃,但它实际上是粘土做的,所以你不应该吃。还有一些额外的元素我现在没有展示(只聚焦于粘土和物理方面),但周围有写着中文的纸。其理念是真正原型化一种体验,让学习者可以了解不同的语言和文化。
以上是两个原型示例,在某种意义上它们是允许我们思考交互的新想法,也是我们在实体原型活动中练习的一些内容。
现在这是最后一个场景:显然,如果你熟悉一些电影,这应该会让你想起《狮子王》。我们在许多研究和学生项目中也尝试过,即取现有的场景并重新创造它们。在这里你看到了拉飞奇(我们实际上不得不制作两个拉飞奇模型)。在这个MOOC专项课程的其他部分,你可能看到我们实际上动画化了拉飞奇,尤其是那个他将辛巴举起分开的困难场景,这是预告片中一个非常好的元素。这让我们能够思考角色移动和3D模型的复杂度。
这就是通过实体操作所学到的东西。当你开始分析这些实体原型时,我相信你能获得大量关于需求的知识:我们有什么样的用户需求?需要什么样的显示和追踪要求?这对我们的3D模型意味着什么?素材能有多复杂?我们可以下载现有的吗?还是必须自己创建?用粘土在一小时内完成这些,你可以在课堂环境中进行,让学生们快速思考。我是实体原型设计的坚定支持者。
总结与核心区别 📝

在最后两节“实体原型设计Ⅰ”和“实体原型设计Ⅱ”中,我向你介绍了多种实体原型方法,例如使用纸张、添加360度网格到纸上、使用粘土和立体布景模型。最让我着迷的是,这些实体原型方法在很大程度上是与AR/VR技术无关的,不像数字工具通常只擅长AR或VR(如果擅长的话)。实体原型设计真的非常快速和廉价,能让你快速迭代设计。
然而,请记住:
- 为VR进行实体原型设计时,核心是关于沉浸式体验和创造临场感。因此,在你的原型中应特别注意创造这种环绕环境,例如使用360度网格,因为这是让你围绕用户进行空间思考的最佳方法。
- 为AR进行实体原型设计时,核心是关于增强体验和上下文。这里的“上下文”真正指的是用户所处的物理环境。你的AR设备会读取这个环境,然后向你的界面发送信号。因此,你需要注意的原型化重点是:用户周围物理环境中那些可能触发你体验中某些方面的微小事物。



本节课中我们一起学习了利用立体布景模型进行空间关系推演,以及使用粘土进行快速3D角色与物体建模的方法。我们分析了多个实例,并总结了为VR和AR进行实体原型设计时的核心关注点差异。掌握这些快速、低成本的实体原型技巧,将为你的扩展现实设计打下坚实的基础。
071:XR故事板实践 🎬


在本节课中,我们将学习如何为XR设计项目创建故事板。我们将专注于理解现有应用流程,并在此基础上构思和设计一个新功能。通过实践不同类型的草图,你将更好地把握应用的整体感觉和交互设计。
上一节我们介绍了故事板在设计中的重要性,本节中我们来看看具体的实践练习。
练习任务说明
你的任务是为一款类似“Google Expeditions”的XR应用创建一个故事板。请遵循以下步骤:
- 理解现有流程:首先,在不考虑新功能的情况下,理解并描绘出所选应用的现有操作流程。
- 构思一个新功能:基于你的理解,为这款应用构思并设计一个你认为很酷的新功能。
- 创建故事板:围绕这个新功能,创建故事板来展示其使用场景和交互流程。
重要提示:请基于现有应用进行改进,而不是从头设计一个全新的应用。这样其他学习者能更容易理解你的设计意图并提供有效反馈。
故事板与线框图绘制要点
当我们进行故事板和线框图绘制时,需要关注核心的设计要素。


以下是绘制时需要注意的几个关键点:
- 从高层级草图开始:首先绘制2-3张高层级草图,捕捉应用的核心流程、状态转换和交互方式。
- 区分虚实对象:在草图中,使用颜色编码等方式清晰地区分物理对象和虚拟对象。
- 添加标注:使用箭头和简短标签对草图进行注解,帮助他人理解你的设计意图和关键元素。
- 注重传达而非美观:草图的核心是传达想法,而非追求艺术美感。只绘制必要的细节,将注意力集中在核心创意上。
练习步骤详解
以下是完成本次练习的具体步骤指南。
步骤一:创建故事板
你可以选择创建一种或多种类型的故事板。理想情况下,可以尝试几种不同的类型。如果只做一种,请从2-3张高层级流程图开始,然后逐步添加细节,描绘现有界面或场景,并清晰区分虚实对象。
步骤二:绘制新功能线框图
基于你的新功能创意,绘制2-3个包含具体内容的替代性线框图。这能帮助我们理解新功能的界面布局、内容呈现以及用户如何通过交互到达这些新界面。
步骤三(可选但推荐):尝试360度或3D故事板
在真实项目中,你可能不会尝试所有类型的故事板,但本次练习鼓励你尝试360度或3D故事板。这能让你对应用在AR/VR中的空间感和体验有更具体的认识。
练习成果与工具演示
完成本练习后,你将能更深入地理解应用的整体流程,并对如何改进设计(包括添加新功能)有更具体的想法。如果你使用了360度或3D故事板,还能更好地感知应用在AR/VR环境中的体验。
为了帮助你更好地完成练习,我将分享一些我在实践中的过程和工具。
传统故事板实践
首先,我以“太阳系”Expedition应用为例,进行了传统故事板的绘制。我首先勾勒了应用的基本流程,然后在构思新功能(例如,展示行星间关系、地球的昼夜变化、地月系统等)时,不断参考原应用以完善想法。这个过程通过延时视频记录了下来。
360度故事板实践
接下来,我尝试了360度故事板。这种方法使用特殊的等距柱状投影模板,能将2D草图转换为沉浸式的360度预览。

核心工具与概念:
我使用了一个研究原型应用,它可以将你拍摄的、绘制在特定模板上的草图,在手机上预览成VR场景。其原理是将平面草图通过 等距柱状投影 -> 球面投影 的转换,包裹在用户头部周围。

在绘制时,我使用了颜色编码来区分元素:红色用于标注(非显示内容),蓝色代表虚拟内容,黑色代表现实环境。绘制完成后,我通过手机和Cardboard眼镜进行了VR预览,这能有效评估用户在VR中的视野和所需头部运动范围。


3D故事板实践



最后,我演示了在VR内部使用Tilt Brush等工具进行3D故事板创作。我在VR空间中直接绘制了不同场景(如放置太阳、添加地球和月亮),并思考了状态间的转换和用户可能的交互。虽然Tilt Brush并非免费工具,但市面上存在许多其他VR素描工具(如Quill, Gravity Sketch)可供选择。


核心建议:
3D故事板能带来非常直观的空间理解。每次尝试360度故事板,即使挑战性较高,也能让我对项目和自己有限的绘画技能有新的认识,而这正是练习的价值所在。




本节课中我们一起学习了如何为XR应用设计故事板。我们明确了练习的核心是理解现有流程并构思一个新功能,掌握了绘制故事板和线框图的要点(如区分虚实、添加标注),并了解了传统、360度和3D等不同故事板类型的实践方法与价值。请记住,草图的目标是清晰传达想法,大胆尝试,享受这个创意过程。
072:XR实体原型实践 🛠️


在本节课中,我们将学习如何为XR应用创建实体原型。实体原型是设计过程中的关键步骤,它允许我们在投入数字开发之前,以低成本、快速的方式探索和验证交互、故事和空间关系。
上一节我们讨论了故事板和设计构思,本节中我们将把这些想法转化为更具体、可触摸的实体形式。
概述:实体原型的目标
实体原型的目标是聚焦于关键交互。虽然内容也很重要,但现阶段我们需要在交互设计上取得更多进展。我们将通过以下方式实现:
- 创建应用的纸质原型。
- 使用黏土制作3D角色模型。
- 构建一个立体布景来定义故事。
立体布景不必非常复杂,可以像立体书一样,让元素从纸面上“弹出”,进入物理空间。我们不只是做平面纸质原型,而是要更实体化。
任务说明
你的任务是创建一个类似“探险”应用的XR实体原型。规则如下:
- 应用类型:类似“Google探险”,但不限于此。它可以是VR、AR或360度视频体验。
- 核心活动:创建关键交互的纸质原型。
- 扩展活动:
- 用黏土制作2-3个主要3D角色。
- 用这些角色创建一个立体布景来讲述故事。
- 录制一段视频,并解说其中的交互。这能让你的原型生动起来,也便于分享。
- 可选活动:创建一个360度纸质原型来定义环境上下文。如果你之前做过360度故事板,这尤其有意义,可以将其细化为原型。
以下是不同类型原型的预期产出价值:
- 更好地理解问题、环境和故事:这些是XR(乃至所有用户界面)的关键要素,故事在XR中尤为重要。
- 识别关键元素:明确环境和3D角色,这有助于为后续的数字原型和开发确定资源需求。
- 探索交互:实体原型允许你摆弄材料,尝试不同的构图、场景转换和动画效果。许多需要在数字世界中编程实现的动作,现在可以在物理世界中直接模拟。
- 感受技术和数字原型需求:这是进行实体原型制作的主要原因。
实体原型实践指南与心得


我将分享自己在准备课程时进行原型制作的经验和技巧。
从纸质原型开始

我通常从在纸上勾勒屏幕开始。即使设计一个AR体验,也可以先画出智能手机上的不同界面状态。这不仅仅是线框图,可以上色,做成更像屏幕的样子。
一个有用的技巧是:将这些草图拍照,然后用手机在不同屏幕和状态间切换预览。你还可以在纸上标出交互区域(例如,用蓝色高亮),思考用户点击后的反馈。
探索360度纸质原型
接下来,我使用了360度模板。这个模板本身没有深度,但你可以通过使用不同尺寸的物体来模拟深度感,并尝试各种转场和“轨道运行”效果。
关键在于预览:这个模板采用等距角格式,可以转换为球形并放入3D场景,从而在VR或AR中预览。我会在不同阶段拍照并预览,这常常能带来关于比例的意外发现。
为了提高保真度,你完全可以打印出图片素材(如地球、太阳的图片)贴在模板上使用,而不必手绘一切。模板非常灵活,只需注意物体的比例和位置。
制作3D黏土模型
使用黏土制作3D模型是迈向更高保真度的一步。在物理世界中制作模型会面临分辨率和物体尺寸的限制,但这恰恰能引发有趣的思考:这些限制如何转化为VR/AR中的尺度问题?尺度是我们最容易出错的地方之一。
你可以制作不同尺寸的同一物体,用于特写或远景。使用纹理板可以为模型增加表面细节,使其在视频中更突出。用牙签或其他方式固定物体,可以方便你摆弄它们,尝试不同的构图和“动画”效果。
构建立体布景
立体布景是前期实体原型步骤的集大成者。我将所有材料整合在一起,搭建了一个场景。更有趣的是,我再次使用工具进行了AR预览。
一个很酷的环节是混合物理与数字:我让数字AR物体漂浮在实体桌面上,然后尝试加入一个实体月亮模型。这时会发现遮挡关系无法正确实现,因为摄像头难以识别离镜头太近的物体,当前AR框架也尚未实现肢体分割。这些都是在实体原型阶段就能发现的技术问题。
总结与回顾
本节课中,我们一起学习了XR实体原型制作的完整流程。我们从简单的纸质原型和360度模板入手,逐步进阶到使用黏土制作3D模型,并最终构建了混合物理与数字预览的立体布景。

实体原型的力量在于,它让你摆脱技术限制,专注于核心的交互、故事和空间设计。通过动手摆弄这些物理材料,你能获得对尺度、构图和用户体验的直接洞察,这些都是在直接进行数字编程前极其宝贵的发现。
请尝试完成这个练习的至少一部分,录制并分享你的视频。更重要的是,反思这个过程:你学到了什么?这种方法有什么局限性?例如,在做VR设计时仅使用纸张有何困难?360度体验如何转化为AR?提出这些问题,将促使更深入的思考和讨论。

记住,现阶段请坚持使用实体材料。我们将在接下来的课程中,再进入数字原型和开发的世界。
073:数字原型设计Ⅰ


概述
在本节课中,我们将学习如何将纸上故事板或实体原型转化为更高保真度的数字原型。我们将探讨数字原型设计的几种技术,包括使用增强现实和虚拟现实设备进行沉浸式创作。
从实体到数字:提升保真度
上一节我们讨论了实体原型设计,本节中我们来看看如何将设计提升到数字领域。数字原型设计的目标是让体验更接近我们最终设想的成品。
数字原型设计的方法从易到难,保真度从低到高。数字创作工具允许我们通过可视化编辑来创建内容,而沉浸式创作则意味着直接在AR或VR环境中进行设计。
扩展现实工具概览
在深入数字原型设计之前,我们先回顾一下扩展现实的整体工具生态。这有助于我们理解不同工具的定位。
以下是主要的工具类别:
- 数字与沉浸式创作工具:例如一些可视化编辑器,允许点击和拖拽操作。
- 基于Web的开发:基于WebXR规范,使用如A-Frame等工具进行开发。
- 跨平台开发:使用Unity或Unreal等游戏引擎,结合特定厂商的AR/VR SDK。
- 原生开发:针对特定设备或平台,使用如Cardboard、Oculus或Vive的SDK进行开发。
不同工具路径的适用场景
每种工具路径都有其最适合的应用场景和优缺点。
以下是各类工具的适用性分析:
- 数字与沉浸式创作工具:适用于故事板和初步原型设计,但对复杂交互的支持有限。
- 基于Web的开发:适用于具有基本交互的XR应用,但当前体验有时不如Unity或Unreal成熟。
- 跨平台开发(如Unity/Unreal):适用于功能完整的XR应用,能创建视觉效果出色的体验,但学习曲线通常较高。
- 原生开发:适用于充分利用特定平台或设备特性的完整XR应用,能提供最佳体验,但会限制用户覆盖范围。

聚焦数字与沉浸式创作
现在,让我们聚焦于数字原型设计的核心领域:数字创作与沉浸式创作。我们将沿用从低保真度到高保真度的思路。
数字创作指的是一类特定的工具,允许你通过可视化编辑(如在编辑器中进行点击和操作)来创建内容,并通常可以直接在AR设备上运行体验。
沉浸式创作意味着你在AR或VR环境中工作。你完全沉浸在虚拟或增强现实中,交互方式也因此改变。这是一种边设计边测试的有趣原型设计方式。
这两种方式都受限于工具本身能实现的原型复杂度。当你转向基于Web的开发、使用Unity/Unreal的跨平台开发或针对特定SDK的原生开发时,虽然能创建更丰富的体验(迈向高保真度),但难度也会显著增加。
数字创作工具详解
让我们深入探讨数字创作工具。首先从VR的数字创作工具开始。
以下是VR数字创作工具的特点:
- 支持可视化创作:使用鼠标、键盘,以第一人称视角(如WASD键控制移动)的方式在3D场景图中导航和编辑。
- 支持VR预览:通常可以快速连接VR设备或通过部署方式,在头显中预览刚刚创建的内容。
- 可实现基础交互:通常无需编程即可实现用户注视、使用VR控制器点击或在手机上触摸等基础交互。
- 高级交互需借助工具包或编程:要实现更高级的交互,通常需要添加特定工具包(如Unity的XR Interaction Toolkit)或编写代码。
AR数字创作工具
AR的数字创作工具有其独特之处。
以下是AR数字创作工具的特点:
- 支持基于标记或无标记AR应用的可视化创作:在基于标记的场景中,你可以使用默认或自定义的标记进行跟踪和原型设计。
- 支持增强现实预览:通过电脑上的模拟器软件,或将应用快速部署到连接的智能手机等AR设备上进行测试。
沉浸式创作工具的优势
正如之前提到的,数字创作工具在测试时通常需要部署到设备上,因为现有的模拟器或预览效果往往不够好。这正是沉浸式创作工具的优势所在。
沉浸式创作工具允许你在设计的同时就在AR/VR环境中预览,无需反复切换和部署,大大提升了原型设计的效率和真实感。


VR沉浸式创作工具

让我们看看VR沉浸式创作工具的例子,如Google Blocks和Oculus Quill。
以下是VR沉浸式创作工具的特点:
- 在VR中进行可视化3D创作:你佩戴VR头显,在三维空间中进行建模或绘制,这与在桌面上的数字创作截然不同。
- 编辑与预览同步:整个创作过程都在VR中完成,实现了即时的编辑和预览。
- 侧重于3D建模与预览:现有工具的支持主要集中在3D建模、动画和某种程度的脚本编写上,非常适合为最终体验创建和预览3D模型或环境。
- 支持导出通用3D模型格式:创建的作品可以导出为常见格式,或直接分享到Google Poly、Sketchfab等在线平台。
AR沉浸式创作工具
AR的沉浸式创作工具也在不断发展,例如Apple的Reality Composer和Adobe Aero。

以下是AR沉浸式创作工具的特点:
- 在增强现实中可视化创作3D内容:通常使用具有AR功能的平板电脑作为取景器,在物理空间中进行编辑。
- 边创建边预览:直接在AR设备上工作,无需先在电脑上设计再部署。
- 为特定环境设计:通常在设计目标环境中进行创作,使原型更具上下文相关性。
- 提供基础交互行为支持:通常无需编程即可支持基于位置的触发器(如接近物体、点击虚拟物体、识别标记等)。
- 部分工具支持导出至WebXR:允许你将原型导入像A-Frame这样的工具中进行进一步编辑。
总结


本节课中,我们一起学习了数字原型设计的基础。我们了解了如何从实体原型过渡到数字原型,并概览了XR工具生态。我们重点探讨了数字创作工具和沉浸式创作工具,分析了它们对于VR和AR原型设计的不同特点、优势与限制。这些工具使我们能够以更高的保真度和更直观的方式,将初步构想转化为可交互、可体验的数字原型。在接下来的课程中,我们将更详细地了解像A-Frame和Unity这样的具体工具。
074:数字原型设计工具 🛠️


在本节课中,我们将学习两种用于扩展现实(XR)应用开发的数字原型设计工具:A-Frame 和 Unity。我们将了解它们的基本概念、核心功能以及如何利用它们快速创建和迭代 XR 原型。
A-Frame:基于Web的XR开发 🌐
上一节我们介绍了数字原型设计工具的概念。本节中,我们来看看一个基于Web标准的工具——A-Frame。
A-Frame 基于 HTML5、Three.js 和 WebGL 技术栈。这意味着在遵循HTML5标准的网页中,我们可以使用 <canvas> 元素来渲染2D或3D内容。WebGL 通常特指在网页中渲染3D内容。
A-Frame 提供了一套新的HTML标签,所有标签均以 a- 开头,例如 <a-scene>、<a-box>、<a-cylinder>。这些标签会被转换为3D场景中的特定实体。因此,你可以通过编写HTML代码来创建3D场景。
以下是A-Frame的一些核心特性:
- 检查器:A-Frame 提供一个检查器(Inspector),用于查看场景内部结构,例如光源位置或动画问题。
- 资源管理:支持引入典型的网络资源,如图像、视频、声音,以及通过3D模型加载器引入常见的3D模型文件格式。
- 实体组件系统(ECS)架构:这是A-Frame的核心编程架构。网上有大量开源组件可供使用,你可以将它们轻松集成到你的A-Frame代码中,以添加VR控制器支持、特定3D模型或行为,实现“即插即用”。
- 跨平台支持:A-Frame 支持跨平台的AR和VR体验开发。
实践示例:使用360度照片创建场景
我们将使用一张之前拍摄的实验室360度照片来创建一个简单的VR场景原型。
- 场景设置:在A-Frame中,我们将这张360度照片映射到天空(
<a-sky>)和场景中的一个球体(<a-sphere>)上作为纹理。 - 代码结构:在类似CodePen的环境中,HTML主体代码大致如下:
<a-scene> <a-assets> <img id="lab-photo" src="path/to/360-photo.jpg"> </a-assets> <a-sky src="#lab-photo"></a-sky> <a-sphere src="#lab-photo" position="0 1.5 -3"></a-sphere> </a-scene> - 材质调整:通过调整球体的材质属性,如金属度(metalness)和粗糙度(roughness),可以改变物体表面的反光特性,使其看起来更逼真。
- 迭代与预览:我们可以直接在网页中预览,或使用VR头显(如Oculus Rift)进行沉浸式预览。利用检查器实时调整参数(如球体位置、材质属性),满意后再将数值复制回代码中。这个过程结合了数字原型设计和沉浸式原型设计。
Unity:强大的跨平台XR引擎 🎮
了解了基于Web的A-Frame后,我们转向一个功能更全面的专业工具——Unity。
Unity 起源于游戏开发社区,现已成长为一个对AR和VR提供强大支持的平台。它集成了许多XR平台的官方支持,例如,基于标记的AR库 Vuforia 现已内置在Unity中。此外,你也可以轻松集成其他厂商的SDK。
以下是Unity作为原型设计工具的优势:
- 强大的3D场景编辑器:Unity编辑器允许你在桌面电脑上直接创建和编辑3D体验,并能即时预览,帮助你感知最终在AR/VR中的效果。
- 资源管理与资源商店:Unity拥有一个庞大的资源商店(Asset Store),你可以从中下载各种资源包、库和3D模型,极大地提高了开发效率。
- 广泛的设备支持:几乎所有主流的AR/VR硬件厂商都提供Unity SDK,方便你针对特定平台和设备进行开发。
- 模拟器支持:Unity提供了日益完善的模拟器支持,方便在没有实体设备时进行测试。
实践示例:在Unity中重建场景

我们同样使用那张360度实验室照片在Unity中创建场景。
- 导入与设置:将360度照片导入Unity,创建一个球体,并将照片作为材质赋予球体。
- 材质调整:在Unity的材质面板中,我们可以调整平滑度(Smoothness)等参数。平滑度控制光线的反射强度,调整它并结合旋转场景中的光源方向,可以创造出更丰富的光影效果。
- 场景布局:通过编辑器轻松调整摄像机或球体的位置(例如,将球体向左移动),直到在3D视图中获得满意的构图。
- 环境设置:为了创建完整的VR环境,我们将360度照片设置为场景的天空盒(Skybox),替换掉默认的天空背景。
- VR预览与迭代:通过Unity的XR插件设置好XR设备(如Oculus Rift)后,按下播放键即可在VR头显中实时预览场景。我们可以反复调整球体材质、环境旋转或亮度,并在VR中即时查看效果,进行快速迭代。
这种方法的强大之处在于,你可以基于一张事先拍摄的360度环境照片,在任何地方快速原型化一个XR应用场景。你既可以在实际环境中进行设计,也可以在任何地方基于照片“重建”环境并进行设计。
总结 📝
本节课中,我们一起学习了两种重要的数字原型设计工具:A-Frame 和 Unity。

- A-Frame 是一个基于Web技术的工具,通过扩展HTML标签让开发者能够用熟悉的网页开发方式构建XR场景,适合有Web背景的初学者快速上手和进行轻量级原型设计。
- Unity 是一个功能强大的专业引擎,提供可视化的3D编辑器和丰富的资源生态,虽然学习曲线较陡,但能支持创建更复杂、高性能的XR应用,是进行深入开发和高质量原型设计的首选。


两者都支持跨平台的AR/VR开发,并允许开发者结合数字编辑和沉浸式预览进行快速迭代。掌握这些工具,将为你设计和开发扩展现实应用打下坚实的基础。
075:评估方法概述与核心概念


在本节课中,我们将学习如何评估扩展现实(XR)体验。评估是设计过程中的关键环节,它能帮助我们了解用户体验的好坏,并指导我们进行改进。我们将探讨评估的不同类型、核心标准以及几种具体的评估方法。
XR体验评估方法:P75-1:评估的三大类型
当我们谈论“评估”时,主要涉及三大类活动。根据您的角色,您可能只关注其中一种。以下是评估可能包含的内容:
- 可用性测试:关注效率、有效性、满意度等可用性指标。
- 用户研究:旨在验证某种效果或假设。例如,通过临场感与沉浸感问卷来测量用户是否感到身临其境,或者测试某个原型中蕴含的假设是否成立。也可能涉及性能基准测试。
- 游戏试玩测试:游戏设计师和开发者更关心游戏性和趣味性。他们关注玩家是否觉得好玩、游戏是否存在弱点、是否会随时间推移变得无聊等问题。
在本视频中,我们将更详细地讨论可用性测试和用户研究。
此外,从市场营销角度看,评估还可能关注用户留存率,即用户是否愿意继续使用您的体验、产品或应用。这通常取决于用户是否能从中看到价值,以及它是否具有吸引力和趣味性。这种价值可以是生产性的,也可以是娱乐性的。
我们的目标是,通过各种指标和标准来衡量我们在这些方面的表现。
XR体验评估方法:P75-2:四大评估标准
在最高层面上,我们可以区分四组不同的评估标准及其相关问题:
- 可用性:用户能否很好地使用该界面?这通常涉及效率、有效性和满意度。
- 有用性:用户是否觉得它有帮助?某物是否“可用”与它是否“有用”是两个不同的问题。一个工具可能非常有用但难以使用(可用性差),反之亦然。
- 效用:用户是否看到了真实价值?它是否真正解决了他们的问题?这个问题无法仅通过可用性测试来回答,通常需要更长期的纵向研究。
- 用户接受度:用户是否会持续使用该产品?他们会回头吗?他们会看到价值吗?使用频率如何?这尤其需要注意“新奇效应”——用户第一次接触XR时可能会感到兴奋,但长期使用取决于产品是否同时具备效用、有用性和可用性。因此,用户接受度实质上是上述所有标准的综合体现。

XR体验评估方法:P75-3:四种精选评估方法
接下来,我们将介绍四种与用户研究和可用性测试密切相关的评估方法。这些方法的选择在一定程度上取决于设计阶段。
- 系统走查:可以在设计早期基于故事板进行,也可以在拥有数字原型后进行。它帮助用户(或其他专家)思考系统流程,获取反馈,而无需进行完整的可用性测试。
- 纸质原型测试:介于故事板和数字原型之间的阶段进行。需要一名协调员和一名扮演“计算机”角色的人员(即“绿野仙踪”法),来模拟尚未实现的功能。
- 启发式评估:通常由专家根据既定的设计原则、指南以及自身的设计和测试经验来进行。
- 可用性测试:当您拥有数字或沉浸式原型(AR/VR)时进行的方法,用于评估其在XR环境中的真实可用性。
这些方法从系统走查到可用性测试,取决于我们拥有多少设计成果。系统走查几乎可以在任何阶段进行。

XR体验评估方法:P75-4:系统走查实例分析
上一节我们介绍了系统走查的概念,本节我们通过一个具体实例来看看它是如何操作的。
系统走查可以基于故事板或已实现的系统进行,目的是帮助用户(或专家)思考系统,获取批评意见,而无需进行实际测试。它通常以“认知走查”的形式进行,即思考用户可能想要完成的任务,以及他们将如何使用您的系统。
以下以“ProtoAR”研究项目为例进行走查。该项目发表于2018年ACM CHI会议。
走查步骤概述:
- 在纸上创建屏幕模型并添加注释。
- 使用手机拍摄这些纸质屏幕,将其数字化。
- 使用“360度捕捉技术”捕获物理对象,将其转换为3D模型。
- 在增强现实中预览捕获的物体。
这个30秒的视频摘要围绕三个关键交互构建了系统走查:
- 捕捉纸质界面并带入系统。
- 捕捉物理对象。
- 在AR中预览捕获的对象。


该走查的核心贡献在于展示了如何快速地从物理原型(纸质2D屏幕、柏拉图3D模型)过渡到数字化的AR体验。在项目早期评估中,我们邀请了人机交互专业的学生进行此类走查,他们从可用性角度提供了宝贵的批评反馈,尽管项目的主要目标可能在其他方面。
系统走查有助于在设计早期获得初步反馈,后期也可使用。
XR体验评估方法:P75-5:纸质原型测试详解
在拥有最终成品之前,另一种有效的评估方法是纸质原型测试。本节我们将深入探讨这种方法。



我们之前讨论过纸质原型制作。这里展示的“360 Proto”项目使用了一种特殊的360度网格模板,上面嵌有标记,手机扫描后可将内容实时流式传输给VR或AR用户。
测试实例:
- 《星际迷航》桥景原型:在密歇根大学的学术创新工作室中,通过平板电脑观看360度纸质原型,实现了在虚拟舰桥中行走并观察外太空的效果。测试者可以边体验边进行“有声思维”评估,思考界面行为是否符合预期,从而在投入大量开发资源前获得早期反馈。
- 亚马逊购物AR视图原型:将纸质家具放置在用户面前,通过摄像头显示,模拟AR购物体验。
- VR网球游戏原型:这是一个更复杂的“绿野仙踪”法示例。学生(VR用户)使用VR头盔和控制器控制球拍,而教师则用牙签和一个小球(如橘子)在360度网格纸上模拟网球的物理运动(上下弹跳)。这使得VR用户能够感受到游戏玩法,并且可以灵活地模拟各种物理效果(例如,使用一个超大的“网球”),而无需事先实现复杂的游戏物理引擎。
角色分工:
以下是进行纸质原型测试时的关键角色:
- 协调员:引导整个过程,介绍任务,在用户遇到困难时进行提示(通过提问而非直接告知答案)。
- “计算机”:模拟系统的输入和输出对话(如上述例子中模拟网球的人)。
- 观察员:记录测试过程,包括用户行为和协调员提供的帮助,这对于后续分析至关重要。
纸质原型测试是一种强大的方法,允许我们在实现功能之前进行模拟和评估。
总结



本节课中,我们一起学习了XR体验评估的核心概念与方法。我们首先了解了评估的三大类型:可用性测试、用户研究和游戏试玩测试,并区分了四大评估标准:可用性、有用性、效用和用户接受度。接着,我们深入探讨了四种具体的评估方法:系统走查、纸质原型测试、启发式评估和可用性测试,并通过实例详细说明了系统走查和纸质原型测试的操作过程与价值。这些方法贯穿于设计的不同阶段,能帮助我们在资源投入前及早发现问题,持续优化XR体验。
076:可用性评估 🧪



在本节课中,我们将学习不同类型的可用性评估方法。我们将探讨专家主导的可用性检查、涉及真实用户的可用性测试,以及新兴的自动化可用性测试。理解这些方法将帮助你在设计XR(扩展现实)应用时,更有效地识别和解决可用性问题。
可用性评估的三大类别
上一节我们介绍了可用性评估的重要性,本节中我们来看看其主要的三种方法。
可用性评估主要分为三个类别:
- 专家可用性检查:由专家设计师执行。
- 用户可用性测试:由目标用户参与。
- 自动化可用性测试:由计算机算法执行。
在实践中,你可能会组合使用这些方法。例如,在项目早期进行用户测试,中期引入专家检查,并可能在整个过程中利用自动化工具。没有一种方法是完美的,每种方法都能提供独特的见解。
选择评估方法时需考虑多种因素:
- 设计阶段:项目处于早期、中期还是末期。
- 项目新颖性:技术是否成熟,以及能否找到合适的用户(例如,为特定环境设计的AR应用可能难以招募测试者)。
- 预期用户规模:应用预计会有多少用户。
- 预算与时间:虽然资源有限,但应始终为获取用户反馈预留空间。
- 团队经验:团队已有的工作流程或专业知识。
需要强调的是,任何方法都不能完全替代真实的用户测试。对于XR设计,我们更应关注如何有效地进行可用性测试。
专家可用性检查
在了解了评估方法的整体框架后,我们首先深入探讨专家可用性检查。这种方法不直接涉及用户,而是依靠专家的知识和经验来发现问题。
以下是几种常见的专家检查方法:
- 启发式评估:这是一种非正式、整体性的评估方法。专家根据既定的设计原则和指南(例如本课程中学到的XR设计准则)来检查界面。我们可以基于课程知识和自身用户体验设计经验,对彼此的界面提供专家意见。
- 认知走查:这是一种程序性的、以任务为导向的走查方法。评估者需模拟用户执行特定任务,并检查在用户当前的知识和记忆状态下,其目标是否能引导他们做出正确的操作。核心是“像用户一样思考”。
- 正式可用性检查:这是我在课堂上常采用的一种结合性方法。具体流程如下:
- 召集利益相关者(如设计师、用户、产品负责人),并分配角色。
- 将设计产物(如用户画像、故事板、场景描述、界面原型)分发给评审团队。
- 评审团队根据优秀的XR设计原则检查设计,本质上是对界面进行设计评审。
- 召开“法庭式”会议:由独立主持人协调,设计团队和评审团队进行讨论。评审团队提出批评,设计团队进行辩护和反驳。这旨在引发关于设计权衡的、富有建设性的讨论。
完成检查并获得反馈后,关键在于如何确定修复缺陷的优先级。你需要倾听所有反馈,进行反思,然后根据项目实际情况决定修复哪些问题。重要的是,要向反馈者展示你认真考虑并反思了他们的意见。
用户可用性测试
上一节我们介绍了由专家主导的检查方法,本节中我们来看看最核心的评估方式——用户可用性测试。这种方法直接让目标用户与产品交互,以获取最真实的反馈。
以下是常见的可用性衡量指标:
- 有效性:用户能否准确完成任务。
- 效率:用户能否快速、轻松地执行任务。通常通过任务完成时间来衡量。
- 满意度:用户是否认为界面令人愉悦。通常通过主观反馈(如李克特量表)来衡量。
- 可学习性:用户首次接触界面时能否学会完成任务。
- 可记忆性:用户在间隔一段时间未使用后,能否轻松恢复熟练度。这需要专门设计的实验来评估。
- 可预测性:界面的响应是否符合用户预期。
对于XR体验,我们还需要关注一些特有的维度:
- 真实感:界面(尤其是VR)是否能引发“临场感”。虽然有专门的问卷(如临场感问卷)来衡量,但这与可用性存在有趣的权衡——并非所有逼真的设计都是易用的。
- 安全性:必须尽可能降低造成身体或心理伤害的风险。任何安全风险都会严重损害可用性。
- 灵活性:XR界面应支持多种输入方式(如手势、语音、多模态组合)。提供这种灵活性很重要,但也可能增加界面复杂性。
- 舒适度:长时间使用头戴设备(VR/AR)的舒适性。如果要求用户做出复杂手势或冗长语音命令,舒适度就会降低。
进行可用性测试时,我们需要将这些指标转化为具体的测量工具(如问卷、量表),并将测试结构化为一系列任务。通过对比用户执行路径与理想任务模型,可以评估其效率。
自动化可用性测试
在探讨了专家检查和用户测试后,我们最后来了解一下自动化可用性测试这一新兴领域。它主要通过技术手段收集和分析数据。
自动化测试主要有三种形式:
- 自定义日志与日志分析:在编程时为界面添加跟踪代码,记录用户行为并生成事件日志。通过分析这些日志,可以了解用户的常见操作路径、步骤数量等,从而优化界面流程。
- 平台内置分析工具:例如Unity自带的Analytics工具。这些工具更侧重于用户留存、使用频率、地理位置等宏观数据,而非界面内部使用的具体细节。
- 专用XR分析工具:例如Cognitive 3D或我们研究的MiReality Analytics Toolkit等。这类工具擅长收集和可视化数据(如生成美观的热力图),但真正的挑战在于如何解读数据,并自动评估XR用户体验。

目前,自动化工具在可访问性检查方面更有优势。例如,可以自动检测AR界面中元素与背景的对比度,确保在强光下可见。然而,尚不存在能自动判定界面是否“可用”的完美工具。
专家的直觉判断基于丰富的经验和设计准则知识。你可以通过不断学习、实践和积累项目经验来培养这种直觉。但请记住,无论专家多么资深,都无法完全替代真实的用户测试。应将自动化工具视为辅助手段,结合项目的时间、预算和团队经验,选择最合适的评估方法组合。
总结


本节课中,我们一起学习了三种主要的可用性评估方法:专家可用性检查、用户可用性测试和自动化可用性测试。每种方法各有侧重和优势,在实际项目中应结合使用。选择方法时需综合考虑设计阶段、项目特性、资源限制等因素。最重要的是,要认识到用户测试的核心地位,并善于利用专家经验和自动化工具作为重要补充,以全面优化XR产品的用户体验。
077:用户研究设计 🧪


在本节课中,我们将学习如何为XR体验设计和执行用户研究或可用性测试。我们将探讨研究者和实践者在评估视角上的差异,并详细介绍任务设计、度量指标选择以及数据分析等核心环节。课程最后,我们将介绍一个用于混合现实分析的实用工具包。
课程概述
这是关于评估XR体验讲座的最后一部分。本节内容将保持较强的实践性。我们将共同设计一个用户研究或可用性测试,简要讨论研究者和实践者视角的差异,并深入探讨任务设计、度量指标,最后再次介绍一个混合现实分析工具包。该工具包基于一篇研究如何评估XR界面的论文,建议大家课后阅读。
研究与实践视角的差异
在深入设计细节之前,我们首先需要区分“可用性测试”和“用户研究”这两个常被混用的术语。在本课程中,我们对其理解如下:
- 实践者视角(可用性测试):目标是改进产品、发现问题并快速优化用户界面。其理念源于Jakob Nielsen的启发式评估和“折扣可用性”方法,旨在让可用性评估变得廉价高效。通常,5名参与者就能发现大部分严重问题。
- 研究者视角(用户研究):目标是指导未来设计,验证假设,并为设计改进的主张提供支持。这需要更多的参与者以确保统计效力,并采用严谨的研究设计(如组内/组间设计、任务顺序随机化与平衡),以使结论更具普适性。
对于本课程的项目而言,采用实践者视角是完全合适的。我们的主要目标是获得反馈。即使只向一位朋友或家人展示你的作品,也可能发现三分之一的问题。但请注意,如果测试者是首次体验XR或你的界面,其反馈可能会被新奇效应干扰。因此,最好选择有XR经验的用户进行测试。
如何准备可用性测试或用户研究
无论是进行可用性测试还是用户研究,准备工作都遵循相似的步骤。以下是关键环节:
- 选择场景:向测试者口头描述测试场景(作为测试脚本的一部分),或结合物理对象与虚拟对象进行演示。利用XR技术,我们可以将实验室转变为任何环境。
- 确定任务集:围绕一系列定义明确、描述清晰的任务来构建测试。需要考虑任务的停止标准、正确路径以及可能遇到的问题。
- 执行预测试:在正式测试前,对初步设计进行走查测试,这被称为“试点测试”。
- 修订研究计划:根据预测试结果修订计划,但应保持指令的简洁。避免通过增加复杂指令来“修复”测试设计。
- 运行正式测试:准备所有材料,包括用于记录观察笔记和用户反馈的表格。虽然可以使用在线表单,但在XR测试中,让用户摘下头显,在纸上反思并填写反馈,通常效果更好。
设计优秀的任务
任务是可用性测试或用户研究的核心单元。一个设计良好的任务应具备以下特点:
- 目标相关:任务应基于对你和用户都重要的目标,关乎产品或研究的成功。
- 范围适中:任务既不能太宽泛,也不能太狭窄;既不能太短,也不能太长。
- 可解决且有明确终点:任务应是可完成的,并且用户能够清晰识别并到达任务的终点。
- 寻求可操作的反馈:任务应引导用户实际操作界面,而不仅仅是表达观点,从而获得关于体验过程的具体反馈。
避免设计糟糕的任务
同时,我们也要警惕一些常见的任务设计陷阱:
- 没有真实任务:目标不明确,完成方式未指定。
- 旨在确认而非测试:任务只测试你认为“完美”的设计部分,而不是你尚不确定的部分。
- 过于模糊、微小或简单:只涉及琐碎的交互,无法提供有价值的见解。
- 使用界面标签直述步骤:例如,直接说“打开设置屏幕,进入沉浸感标签页,将等级设为2”,这等于告诉了用户操作方法。更好的方式是给出目标,如“请降低沉浸感等级”。
选择度量指标
在XR评估中,我们可以收集多种度量指标。以下是一个相对完整的概览:
- 设备相关指标:如跟踪精度、定位、帧率、视场角等,这些会直接影响用户体验。
- 用户相关指标:如人口统计学信息(性别、年龄)、XR使用经验等。
- 时间相关指标:如任务完成时间、学习曲线时间等。
- 计数相关指标:如错误次数、修正步骤数、重复尝试次数等。
- 交互相关指标:如手势使用情况、语音命令调用、对不同交互方式的偏好等。
- 主观评分:通过后续讨论或问卷收集的用户评分和书面/口头反馈。
数据分析与伦理考量
在XR领域,数据分析仍面临许多未知。例如,在我们之前提到的混合现实分析工具包中,我们将各种事件绘制在时间线上,并支持按时间、类型、位置进行筛选和查询,以理解用户行为。
进行数据收集时,请牢记以下两点:
- 最小化“仪器化”:尽量精简附加在用户身上或环境中的传感器和设备,避免给用户带来额外负担和压力。
- 伦理与责任:认真思考所收集数据的用途、必要性以及收集行为是否合乎伦理。特别是涉及沉浸感、存在感研究或使用欺骗手段时,可能需要进行用户事后说明,甚至注册研究方案。
课程总结
最后,请记住,评估方法的选择取决于多种因素:
- 你的角色:是实践者、研究者还是开发者?
- 设计阶段:应尽早开始测试,并在项目后期增加测试的规模和频率。
- 预算:测试需要时间和金钱,但后期修复未及早发现的问题可能成本更高。
- 评估目标:核心是发现问题和改进机会,征求用户反馈。
对待用户反馈应像对待设计评审一样,寻找那些“如果……会怎样”的改进建议。同时,你需要对反馈进行审阅和分析:
- 如果某个问题被反复提及,它很可能是一个需要优先解决的真问题。
- 如果某个建议只有一人提出,则需要权衡其重要性。



保持开放心态,积极接纳反馈,但最终你仍是设计师,需要基于专业判断做出决策。
078:核心组件与构建指南 🎨


在本节课中,我们将学习如何构建一个出色的XR设计作品集。通过本课程的学习和实践,你已经逐步完成了一个项目。这个项目不仅是学习方法和工具的成果,更是你简历中一个重要的亮点。本节课将为你提供构建作品集的关键技巧。
概述
一个优秀的XR设计作品集始于对问题的清晰定义,贯穿于方法的应用与结果的展示,并以一个连贯的故事将所有部分串联起来。在项目进行过程中,持续、细致地记录每一步至关重要,这能确保在作品集构建阶段拥有完整、高质量的材料。
作品集的核心结构
一个完整的XR设计作品集应包含以下五个关键组成部分。以下是每个部分的详细介绍:
1. 问题陈述
问题陈述必须简洁、清晰,并且感觉重要。它应该聚焦于一个重要的设计问题,而非信息问题。例如,问题不应是“找到并编译信息的最佳方式是什么”,而应是“设计这种交互的最佳方式是什么”。你需要明确说明为何选择AR或VR来解决这个问题,并解释你的选择理由。
2. 实体原型
实体原型至关重要,它能展示你在不受技术限制下的创造性思维。在实体原型中,你可以尽情发挥创意。你需要清晰地展示你是为AR还是VR环境进行设计,例如通过颜色编码来区分物理世界(如黑色)和增强内容(如蓝绿色或红色)。扎实地运用本课程教授的方法(如故事板、纸质原型)本身就是一项重要的成就。
3. 数字原型
在展示数字原型时,最佳方式是围绕你选择实现的关键交互进行分解说明。你需要解释为何选择这些交互进行原型制作(通常是针对未知领域进行探索),并说明为每个部分选择了何种工具及其原因。同时,坦诚地讨论所用工具的局限性以及你如何创造性地应对这些限制,这能很好地体现你的技能。
4. 经验教训
在项目结束时,总结你学到的经验教训。重点阐述那些对你而言困难、容易或令人惊讶的部分,尤其是“令人惊讶”的发现,只要它对你个人是独特的。如果以团队形式工作,讨论团队协作中哪些方面运作良好,哪些方面存在挑战。最后,思考如果重来一次,你会做出哪些不同的选择。
5. 经验与技能
这部分强调你通过项目获得的成长。你可以展示对课程中实体原型技术的高级运用,或者描述如何将你在交互设计、平面设计中熟悉的工具(如Photoshop、Figma)进行转化和适配,以支持XR原型设计。此外,务必强调你在使用XR特定工具(如Proto.io、Spark AR Studio、Unity、WebXR)过程中所增长的具体技能。
总结


本节课我们一起学习了构建XR设计作品集的五个核心组件:问题陈述、实体原型、数字原型、经验教训以及经验与技能。记住,这些组件需要用一个清晰的、有主线贯穿的故事连接起来。在下一节中,我们将探讨如何组织并讲述这个作品集故事。
079:优化你的XR设计演示 🎬


在本节课中,我们将学习如何构建一个出色的XR设计演示。我们将首先分析常见的演示弱点,然后学习一个优化的演示结构,帮助你清晰、有力地展示你的设计作品。

常见的XR设计演示弱点
作为一名教授,我经常看到许多设计演示。以下是五个常见的、可以改进的弱点。
幻灯片为演讲者服务:幻灯片通常被设计成演讲者的提词器,帮助演讲者记住内容,但这往往忽略了观众的理解需求。
未清晰界定问题:演示常常没有在一开始就清晰地说明项目要解决的核心问题是什么,缺乏一个简洁的问题陈述。
演示放在最后:很多演示将最精彩的原型演示部分放在最后,让观众等待过久。
实现部分聚焦技术:在讲解实现时,只罗列使用了哪些技术(如WebXR、Unity),而没有解释背后的设计挑战和权衡。
“未来工作”定义不清:“未来工作”部分常常被写成“我未来需要修复的问题列表”,而不是基于当前成果、可供他人继续探索的研究方向。
优化演示结构:从“标准”到“高效”
上一节我们指出了常见弱点,本节中我们来看看如何优化一个标准的演示结构。一个常见的初稿结构是:介绍 -> 实体原型 -> 数字原型 -> 演示 -> 总结。我们可以对此进行改进。
1. 介绍部分:以动机和问题陈述为核心
不要只是泛泛而谈。用一个人人都能理解的、简单的例子来引出并激发听众对问题的兴趣。然后,清晰地给出你的问题陈述。
- 公式:
问题陈述 = 清晰 + 简洁 - 例如:“我们的问题是:如何在虚拟博物馆中,让用户无需控制器也能自然地拿起并观察文物?”
2. 演示部分:优先展示,而非压轴
在简要说明问题后,立即展示你的解决方案(演示)。这能立刻抓住观众的注意力,让他们带着对成品的好奇心去听后面的过程。
- 技巧:尝试进行混合现实捕捉直播演示,让观众能同时看到你和虚拟内容,理解更直观。
- 重要提示:务必准备一个录制好的演示视频作为备份,以防现场技术故障。
3. 设计演化部分:取代简单的原型罗列
不要只是按顺序展示所有原型。围绕设计演化来组织这部分内容,只选择几个关键迭代进行说明。
以下是组织这部分内容的三个核心要素:
- 展示精选原型:只展示最能体现设计转折点的几个原型。
- 阐明设计决策:说明在每个关键节点你做出了什么选择。
- 提供设计理由:解释你为什么做出这些选择,背后的考量是什么。
4. 总结部分:聚焦收获与展望
将传统的“总结”替换为更有深度的内容。
- 经验教训:总结你从整个项目中学到了什么,你的设计能力如何成长。
- 项目局限:坦诚说明你做出的妥协、假设以及由此带来的局限性。
- 未来工作(重新定义):这不是你的待办清单。而是基于本项目成果,指出他人可以在此基础上进行哪些未来的研究或设计探索。例如:“基于我们发现的手势识别延迟问题,未来的工作可以探索更高效的机器学习算法来优化交互体验。”

问答环节与心态调整
在演示后的问答环节,展现你的批判性思维。深入细节讨论设计理由,同时也能跳出来思考他人的建议。不要为项目的“不完美”而过度道歉,应自信地展示你的工作和思考过程。


本节课中我们一起学习了如何优化XR设计演示。关键在于以观众为中心:一开始就用例子和演示抓住他们,用清晰的设计演化故事引导他们,最后用深刻的见解启发他们。希望这些指南能帮助你更好地展示你的优秀设计作品。
080:设计作品集访谈与经验分享


在本节课中,我们将通过密歇根大学Michael Nebeling教授与校友Katy Lewis的访谈,学习如何构建一个出色的设计作品集,并了解如何将学术经验成功转化为职场优势。Katy将分享她作为设计师的独特背景、作品集构建策略以及求职面试经验。
访谈背景介绍
Michael教授邀请了他实验室的前成员Katy Lewis进行对话。Katy曾与Michael共事两年,是一名优秀的学生,现已毕业并在IBM担任用户体验设计师。本次访谈将聚焦于设计作品集以及在扩展现实领域工作的经验。
Katy的背景与职业路径

上一节我们介绍了访谈的背景,本节中我们来看看Katy独特的职业发展路径。她的背景并非传统的计算机科学路线。
Katy拥有美术学士学位,主修绘画和版画。毕业后,她以纯艺术家的身份开始职业生涯,并逐渐转向数字创作领域,涉及界面和网站设计。在这个过程中,她偶然发现了人机交互领域,并爱上了运用心理学通过技术创造有趣体验的理念。尽管已拥有十年实践经验,她仍决定重返研究生院,系统学习人机交互的原理,以夯实理论基础。
在密歇根大学期间,Katy与Michael教授合作完成了多个研究项目和一篇硕士论文,并选修了以开发为导向的课程。她将自己定义为一名设计师,但认为开发技能对于构思概念和创建功能性原型来展示想法非常有帮助。她形容自己是“一个会使用所有能接触到的工具的设计师”。
作品集的设计策略与项目选择
了解了Katy的背景后,我们来看看她如何构建自己的作品集。作品集是设计师展示技能和经验的关键工具。
Katy在构建作品集时,主要目标是展示她在三个核心领域的技能:扩展现实、用户体验设计和开发。她特意选择了能体现这些不同学科能力的项目。
以下是Katy选择项目时的核心考量:
- 聚焦目标领域:在求职期间,她希望进入XR领域工作,因此作品集重点展示了她在AR和VR方面的构思经验。
- 展示核心技能:她同时希望展示扎实的UX设计技能,并说明如何将这些技能转化应用到XR空间。
- 代表性:她主要选取了研究生期间的项目,因为这些项目所使用的研究方法、设计语言和开发能力与求职市场的标准更为契合,能更好地“讲述故事”。
深度解析:AR厨房展厅项目
在众多项目中,Katy重点介绍了她的“AR厨房展厅”项目。这个项目完美地体现了从构思到原型开发的完整设计流程。
该项目源于一家厨房制造商的需求,他们希望创建一个利用AR和VR技术的展厅体验。Katy的团队针对这个需求空间构思了多个概念。
以下是该项目的关键步骤:
- 初期构思与草图:团队从大量草图开始,探索各种可能性。
- 纸质原型与快速迭代:他们利用纸板等材料在实验室模拟厨房展厅,并运用纸质原型技能快速迭代了大量想法,以确定理想的交互界面。
- 数字原型开发:团队最终确定了方向:为展厅主持人开发一个控制器,用于为客户操作和定制厨房橱柜的投影。他们为此开发了四个不同的原型:
- VR版本:提供橱柜的360度视图。
- AR版本:在真实空间中展示橱柜。
- 投影AR体验:探索投影式增强现实。
- 定制显示原型:一个实验性的全息显示概念。
在作品集中,Katy通过醒目的截图、照片和简洁的文字描述了项目背景、团队角色、所用工具以及获得的技能。这个项目综合展示了创造性思维、从低保真到高保真的原型制作、开发能力以及向高层利益相关者展示成果的经验,因此在面试中经常被提及。
另一个案例:Together Chicago 地图界面项目
除了XR项目,展示扎实的传统UX技能也同样重要。Katy的作品集中包含了“Together Chicago”项目。
这是一个与密歇根大学工程学院团队合作的传统用户体验研究与开发项目。非营利组织“Together Chicago”希望开发一个地图界面,帮助连接芝加哥居民与各类非营利资源。
以下是该项目的工作流程:
- 从低保真开始:团队从低保真原型入手,进行了多轮设计。
- 迭代与测试:他们开发了不同保真度的原型,并持续进行用户测试,收集了大量数据。
- 基于反馈优化:团队根据测试结果和用户反馈,对界面进行反复迭代和改进。
通过这个项目,Katy不仅展示了开发能力,更重要的是体现了在已开发界面上进行迭代、测试和优化的核心用户体验研究能力。

作品集在求职面试中的作用
拥有一个结构清晰的作品集后,如何将其有效用于求职面试呢?Katy分享了她的经验。
她认为,作品集是个人故事的视觉化呈现。精心准备作品集的过程,能帮助自己梳理和定义这些“故事”。当进入面试环节时,就能更从容、深入地讨论项目细节,包括成功之处和遇到的挑战。作品集让面试官有一个直观的参考,也让自己在面试压力下能更流畅地表达。
从学校到职场:XR技能的持续发展
成功入职后,如何保持并发展对XR的兴趣呢?Katy在IBM的实践提供了一个很好的范例。
虽然她目前的UX设计师职位并非专门从事XR工作,但她通过共同创立“IBM Reality Lab”找到了平衡点。这是一个内部的兴趣小组,类似于俱乐部,成员们定期交流XR话题、进行开发演示。通过这种方式,她不仅在工作之余延续了热情,还为自己创造了参与公司内其他XR项目的机会。
总结与给学习者的建议
本节课中,我们一起学习了Katy Lewis关于构建设计作品集和职业发展的宝贵经验。

回顾整个访谈,Katy的作品集策略核心在于:有目的地选择能讲述完整故事、展示多元技能的项目,并注重视觉化呈现。她的经历表明,坚实的UX基础与前沿的XR探索可以相辅相成。
最后,Katy给所有学习者的建议是:充分利用当前丰富的在线资源(例如本课程),尽可能多地学习。自主学习新技能的能力对于任何雇主来说都是极具吸引力的特质。积极探索并深入钻研你感兴趣的新技术,这是迈向成功的第一步。


内容来源:密歇根大学《面向所有人的扩展现实》专项课程,访谈章节:Katy Lewis。
081:课程总结


在本课程中,我们学习了扩展现实(XR)设计的核心概念、流程与方法。从理解XR设计的内涵,到掌握设计思维、原型制作和可用性测试,我们构建了一套完整的设计工具箱。现在,让我们回顾一下课程的核心内容。
课程内容回顾
本课程是XR专项课程的第二部分,专注于XR的设计环节。我们覆盖了广泛的主题,旨在为你提供坚实的设计基础。
以下是本课程涵盖的主要模块:
- XR设计入门:探讨了从事XR设计涉及的内容、如何起步以及如何找到适合自己的XR设计流程。
- 设计思维:从经典的设计思维方法入手,探讨如何将其适配于XR领域,并深入研究了设计伦理、设计准则和设计评审。
- 设计共创:介绍了设计马拉松(Design Jams)作为一种与多方利益相关者协作、通过参与式设计共同解决问题的方法。
- 原型制作:课程后半部分聚焦于物理与数字原型制作。我们从故事板开始,逐步创建纸质原型、物理原型,并深入学习了用于AR和VR的数字原型工具。
- 沉浸式原型:探讨了直接使用AR和VR技术进行原型设计的“沉浸式原型”方法。
掌握了这些方法和工具,你应该已经为进行XR设计做好了准备。虽然我们没有深入讨论具体的开发或编程,但我们已经建立了坚实的设计思维基础,能够通过原型进行构思、测试和迭代。
核心概念与要点
上一节我们回顾了课程的整体结构,本节中我们来提炼几个贯穿始终的核心要点。
1. XR设计角色与路径
课程开始时,我以电影制作类比XR设计,介绍了不同的设计角色。一个关键点是,XR用户如同电影的“摄影指导”,是与虚拟世界交互的核心。
对于成为XR创作者,存在不同的路径,取决于你的背景:
- 游戏开发背景:可以相对直接地使用Unity或Unreal等跨平台引擎。
- 移动开发背景:可以继续使用原生Android/iOS SDK,或转向专门的AR框架,如Apple的ARKit和Google的ARCore。
- 网页开发背景:WebXR技术正在快速发展,为在浏览器中创建XR体验提供了可能,尤其在VR方面已较为成熟。
2. XR设计流程
设计流程是本课程最重要的收获之一。我们探讨的标准流程源自交互设计,但为适应XR特性进行了调整。
核心流程包括:需求发现、头脑风暴、故事板绘制和原型制作。后续的开发、测试、部署与分析环节将在专项课程的第三部分深入讲解。
传统需求发现方法在XR中面临挑战,因为目前XR用户基数有限,且问题往往不是直接存在于XR中。我们需要思考的是:现实世界中的哪些问题可以通过XR方案更好地解决?这要求我们采用略有不同的方法。
3. 设计思维与伦理
我们详细介绍了设计思维的六步法:共情、定义、构思、原型、测试、实施。重要的是,由于XR体验的特殊性,我们需要调整这些步骤以适配XR设计。
设计伦理是课程强调的重点。我们通过基于场景的方法,审视了XR应用的伦理问题,主要关注:
- 情境与环境:应用的使用场景。
- 感官信息与数据:收集和处理了哪些数据。
- 数据处理流程:数据如何被处理,这非常关键。
- 知情同意与数据管理:如何获取用户同意,以及如何存储和未来使用这些数据。
伦理议题仍在发展中,将其融入设计过程至关重要,而非事后补救。
4. 构思与创新方法
XR是一个充满实验性的领域。我介绍了七种帮助创新的构思技巧:
- 构思-实施-检查-迭代的设计循环。
- 区分“新奇”与“创造力”。
- 问题-承诺-前提方法,强调XR技术的潜力和我们的假设。
- 先写引言:像写论文一样,先明确项目核心与贡献,以更好地理解和定义问题。
- 创意六边形:来自Ramesh Raskar,思考如何将现有想法推向更远。
- 对象控制设计矩阵:围绕物体及其控制方式快速头脑风暴。
- 门槛与天花板工具设计:为所设计的工具设定易用性(门槛)和功能上限(天花板)。
5. 故事板与原型制作
故事板和原型制作是课程的重中之重。我们探讨了如何通过不同方法提升设计的保真度。
对于故事板,我们介绍了:
- 传统纸质故事板。
- 360度故事板(使用360度照片)。
- 3D故事板(本质上是沉浸式原型技术)。
对于原型制作,我们分为:
- 物理原型:从纸质原型出发,结合黏土、塑料等材料构建场景模型,特别是360度纸质原型技术。
- 数字原型:
- 数字创作:在桌面电脑上进行(如桌面出版)。
- 沉浸式创作:在AR(手机/平板)或VR(头显)设备中直接进行。
- 高保真开发:需要编程技能,包括网页开发、跨平台开发和原生开发。这将是第三门课程的重点。
6. 可用性测试与评估
最后,我们探讨了如何为XR设计可用性测试或用户研究。内容包括:
- 确定评估目标。
- 设计测试任务。
- 招募参与者。
- 选择测试设备与度量指标。
- 进行分析。
课程衔接与展望
本节课中我们一起学习了XR设计的完整知识体系。现在,让我们看看本课程在XR专项课程中的位置。
你已完成专注于XR设计的第二门课程。
- 第一门课程(XR导论)奠定了术语、概念、技术和伦理问题的基础,包含诸如对应用进行分类、技术选择等练习。
- 即将到来的第三门课程将专注于XR开发。你将学习开发方法与工具,创建第一个3D场景,深入VR环境设计、物理与交互,并学习基于标记和无标记的AR开发。

每门课程都包含实践项目,并以同伴评审结束。这是一个向其他学习者学习并获取反馈的宝贵机会。

XR是一个快速发展的领域,本课程的内容也会持续更新。感谢你学习本课程,祝你未来在XR领域的探索一切顺利!期待在后续课程或其他XR旅程中再次相遇。
082:XR数字原型实践 🛠️


欢迎回到“诚实之路”课程。现在,你已接近课程尾声。恭喜你坚持到这里。希望你一直在认真完成这些练习,而不仅仅是观看视频。我理解你可能非常想了解数字原型设计的内容。数字原型设计确实非常令人兴奋,但也可能充满挑战。这部分内容会变得有些棘手,因为它取决于许多因素,例如你拥有什么样的设备:你的智能手机是否兼容?能否用它进行AR体验?你是否有任何VR设备?因此,我将以宽泛的方式处理这个练习,只要我们能以某种数字化的方式推进即可。理想情况下,你的原型能在AR或VR设备(即XR设备)上运行,那就太完美了。这正是我们的目标。
我们为什么要这样做?我们即将完成课程,正朝着“最小可行产品”(MVP)——我们的最终原型——迈进。就像生活中的许多事情一样,项目有截止日期,你必须按时完成。当然,之后你可以继续迭代和扩展。但此处的重点是真正学习这些方法,并在此过程中尝试一些工具。如果你遵循这些方法,最终的结果不会太差。
在这个阶段,我想强调一点:我们正在进入“诚实之路”课程及其项目的最后阶段。接下来将进行同伴互评,你将有机会评审他人的项目。在之前的活动中,你可能已经在画廊中看过一些示例。但现在,我们将正式地互相评审彼此的原型。不过,那是之后的事情。现在,我们先来完成数字原型设计。请记住这一点,为我们“诚实之路”课程的最后阶段做好准备。
练习任务概述
在本练习中,任务是创建一个类似“探险”应用的XR应用的数字原型。规则如下:我们仍然沿用之前的应用概念。通常,在课程中会有学员问是否可以更改项目主题。我的建议是,根据项目进展阶段,现在更改并非好主意。考虑到你在故事板、线框图、实体原型方面取得的进展,最好还是坚持完成。也许你在这里会想出一些很酷的点子,并重新喜欢上你的想法。当然,整个课程的核心是围绕一个现有应用来构思新想法。这有助于我们进行数字原型设计,或多或少地重新创建我们作为参考模型的那个“探险”式XR应用。
你的目标是使用一个3D、AR或VR数字工具,来原型化该现有应用的一个关键交互。这里有几个关键点:
- 它应该是数字化的。我们终于要告别纸张了。
- 我们将使用工具。有些工具专注于360度原型设计,你甚至可以使用带360度模板的Photoshop,这也是可以接受的。
- 还有3D建模和创作工具。但请注意,不要只做纯粹的3D建模。如果你想学习并使用像Model Viewer或Sketchfab这样能将模型带入AR/VR的工具,这仍然符合规则。
接下来,我将展示我构思的内容。我使用了A-Frame(这需要一点开发知识),同时也尝试了用于VR和AR的沉浸式创作工具。我会向你展示我的成果。
分步任务指南
以下是本次练习的具体步骤:
步骤一:选择数字工具
首先,选择一个3D、AR或VR数字工具来创建你的原型。工具的选择范围很广,可以是专注于360度原型设计的工具,也可以是3D建模软件,甚至是能导入AR/VR的模型查看器。
步骤二:创建数字角色
使用你所选工具的语言(如绘制、雕塑或建模),创建两到三个主要角色的数字版本。这将使我们的故事更接近其数字形态。
步骤三:构建虚拟环境
思考我们为之设计的环境。这个物理环境应该在多大程度上体现在我们的数字原型中?我建议制作目标物理环境的虚拟副本,真正捕捉上下文信息。不要只是在空中随意勾画,只关注虚拟内容。即使是在数字原型中,也要明确这应该是一种什么样的体验。例如,在我做的AR原型中,我画了一张桌子来定义AR体验的尺度。
步骤四:录制交互视频
尽可能录制你的原型演示视频,并解说其中的交互。不同工具有不同的录制方式。由于我们关注交互,仅截图通常不够,视频更好。你可以学习如何在你的操作系统或移动设备上进行屏幕录制。我曾在本课程中使用过多种不同工具。我们的目标就是录制视频,并在沉浸式工具中解说交互。
步骤五:尝试不同工具(可选)
我将其设为可选主要是出于工作量考虑,但我确实认为你应该尝试几种不同的数字工具。与其深入钻研一个工具,不如快速尝试两三个,然后选择你喜欢的一个。在这第五步中,也许可以再回头试试之前没有重点使用的某个工具。
预期成果与价值

完成这些步骤后,我们应该拥有很多成果。如果操作得当,我们将得到一个作为MVP的最终原型,它尽可能接近真实产品,甚至可能能够在VR或AR头显中与用户进行测试。
通过广泛尝试,你将真正理解环境、3D角色和交互。你使用不同的保真度多次原型化了它们。现在,是最后一次使用数字工具进行原型设计。通过深入探索,在此阶段你将真正发现AR/VR的特定要求和开发需求。这一点非常重要。
如果做得好,这些数字原型实际上可以发挥很大作用。它们可以作为规范交给AR/VR开发者。如果你具备相应技能或想学习开发,我邀请你参加面向开发的XR课程。即使你不自己开发,数字原型也可以作为交给开发者的模板。
我的实践示例
我仍然以太阳系为例。我玩得很开心。回顾一下时间线:开始时我进行了设计批判,你可能选择了不同的“探险”应用。无论如何,我坚持我的太阳系主题。
我之前制作了各种原型,包括纸质原型。然后我使用Plato或粘土创建了3D模型,并进行了实体把玩。这非常重要,在物理世界中摆弄这些3D模型,同时也以数字方式捕捉它们,感受它们在AR/VR体验中可能的样子。这很酷。
我还制作了立体模型,摆弄更多物体并将它们组合在一起,甚至使用我的小型AR相机进行AR捕捉,然后再次引入一些实体物体。这灵活地结合了物理材料、虚拟捕捉材料,并再次引入物理元素。是的,我再次为实体原型部分做了宣传,但现在我们进行的是数字原型设计。看到实体原型我总是很兴奋,但如果数字原型做得好,我也会同样兴奋。
问题是,你可能花费大量时间,但最终成果看起来却不尽如人意。这是我们所有人都应该意识到的。特别是当你评审他人的方案时,不要仅仅因为它看起来不够“惊艳”或投入不多就妄下判断。不,也许我们遇到了困难,也许有技术问题,也许只是时间不够,或者我们只想概览这个过程而不想深入。这都完全可以接受。
工具类型与策略
我们将进行数字创作,也可能进行沉浸式创作。正如讲座中解释的,“数字”创作更多指在桌面使用3D工具,然后预览或部署到设备;“沉浸式”创作则意味着直接在AR或VR设备上进行。如果可能,我希望你尝试一下。
我们可以考虑一些更偏向开发的平台和方法,也可以考虑一些用于数字原型设计的工具。例如,A-Frame有一个检查器,我使用HTML、CSS和JavaScript比较快,所以我会想到A-Frame。Unity和Unreal是跨平台工具,它们实际上是传统的游戏引擎,对AR/VR有很好的支持。我在这里的目标是选择一些不像Unity和Unreal那么“重”的工具,因为在专注于开发的第三门课程中,你可以花更多时间在这些工具上。

接下来,我分享一下我的尝试:我在iPad上使用Adobe Aero进行沉浸式AR创作。这个工具在表现我的行星方面有些限制,我只能从预定义的3D对象中选择。这是工具的局限性。使用这些更抽象的表现形式是可以的,只要它能帮助你学习一些东西,比如体验的构图、尺度,或者仅仅是进行沉浸式创作会话这一事实本身就很酷。主要目的是尝试。
后来我还使用了Reality Composer。显然,在苹果iPad上,我至少可以放入一些基本形状,这对于行星来说已经足够了。我很高兴我选择了太阳系这个不太复杂的主题。这已经够难了,所以不要让自己太困难。你只是想学习方法和工具。你可以在以后处理你一直想解决的复杂项目,不一定非要在本课程中完成。完成本课程,一路积累你的工具箱,然后应用到自己的项目中。
我还尝试了沉浸式VR创作工具,比如使用Blocks。有趣的是,因为我做的是太阳系,而大多数工具实际上都有这些相对基本的形状。我可以在这里玩颜色,这很酷。在视频中,我还会展示抓取物体、尝试不同构图等操作。沉浸式创作的魅力在于,我可以用我的小方块手(我觉得它很可爱)来摆弄和实验。


当然,你不能说这是一个最终的体验。我只是在进行沉浸式创作。之后,我会稍微提高保真度。例如,我展示了一个基于A-Frame(WebXR)的太阳系。这不是太复杂,里面有几个球体,贴图很漂亮(我们使用了公共领域的行星图片),然后添加了一点交互和一些文本。在AR或VR中,文本效果可能不是很好,但这没关系,这就是原型的目的——让你意识到在行星上方写很多文字可能不是最佳体验。
后来我还在AR中运行了它,并在工作室里直接讨论。我还谈到了追踪问题,有时追踪效果不佳,但这很酷。最后,如果你愿意,我还会展示Cardboard版本,虽然感觉像是一种倒退,但这是我的目标设备之一。我没有为Oculus Rift做太多,在太空中瞬移似乎是个有趣的概念,但在《星际迷航》里他们是传送,在太空中瞬移感觉不太对劲。但我想思考不同的移动技术。这仅仅是我们的数字原型。
原型策略提醒

关于数字原型,请记住我们也可以创建多个版本。你不必涵盖你想到的所有内容。我希望你有所选择,我说的是一个关键交互,它应该对你的项目很重要,而不仅仅是登录界面之类。你可以做两个版本,也许添加更多内容,但不必面面俱到。理想情况下,我们最终会得到MVP,但这不一定是你完成本练习的范围。你可以使用一个工具,如果它太有限或者你想添加第二个工具,你不必用两个工具原型化同一个东西。
以下是讲座中提到的数字原型策略:
- 并行原型设计:尤其是在团队合作时非常有效。即使是你一个人,也可以用不同工具原型化同一功能。
- 迭代原型设计:用同一工具原型化不同功能,最终在该工具中创建整套功能,这可能就是你的原型。
- 分而治之:用不同工具原型化不同功能。
对于本次活动,我推荐策略一或二。可能先进行迭代,只使用一个工具。然后在可选的第五步中,尝试一个不同的工具。你不必再次原型化同一个东西。所以,在完成当前任务的第五步时,你可能是并行原型设计,也可能是分而治之。
课程总结与展望

这意味着,如果你跟进了“诚实之路”课程,你已经完成了设计批判、故事板、实体原型,现在是一个使用沉浸式工具(数字或沉浸式工具)的数字原型。你拥有所有这些交付成果的一个子集。我称之为“交付成果”,是因为在本课程最后,我们将进行同伴互评。在这个活动中,你将获得反馈,同时也为他人提供反馈。
这个同伴互评活动需要更多解释,我会以书面形式为你提供更深入的信息。不必太担心评分,我们仍然是为了学习。但我们需要建立一些基本规则,以便公平和尊重地对待彼此,这对我来说非常重要。我会在适当的时候讨论这一点,为那部分做好准备。现阶段,不要过多考虑同伴互评,我只是提一下。我们在课程大纲中看到过它,但它不是主要目的。我们这样做不是为了评分,而是为了学习。
在“诚实之路”课程的最后一步——数字原型设计中,我认为你会学到很多。不要在其他步骤上花太短时间,然后在数字原型上花费永远的时间;或者在前期的低保真原型上花费太多时间,导致最后几乎没精力做数字原型。所有这些步骤都很重要,它们不能互相替代。它们都是为了学习。我不会跳过太多步骤,也不会在项目中做每一种故事板或实体原型。在数字原型阶段,我通常已经凭直觉知道该使用哪个工具,或者只是因为我觉得用A-Frame或Unity更快而坚持使用它们(但这并不总是对的)。
本课程的要点是,我们正在开发一种“图画书”风格的XR原型设计方法,按部就班地打好基础。之后你可以走捷径,但不要在还不理解整体的情况下就贸然走捷径,那样无法提供正确的基础。这就是我们这样做的原因。

我希望你在我们原型设计活动的最后一周能有所收获,并享受其中。我期待看到本课程中涌现出许多原型。我们将在同伴互评环节再见。
083:XR原型同行评审指南 🧑🏫


在本节课中,我们将学习如何对同伴的XR原型设计进行有效的同行评审。我们将重点讨论评审时应持有的正确态度、需要关注的核心内容以及具体的评审步骤,以确保评审过程富有建设性且对双方都有益。
概述
我们已经完成了“诚实之路”的一系列原型设计练习,包括故事板、线框图、纸质原型和数字原型。现在,我们将进入同行评审环节。本次评审的核心目标不是评判最终设计的“好坏”或“创意”,而是学习并评估设计方法和工具的应用过程。我们将通过评审他人的作品,反思自己的设计流程,共同成长。
建立正确的评审态度
在开始具体评审之前,确立正确的态度至关重要。上一节我们回顾了设计过程,本节中我们来看看评审时应秉持的核心原则。
- 关注过程,而非结果:评审的重点应是设计者如何运用课程教授的方法和工具(如故事板、360度原型等),而不是最终应用或体验本身是否“有趣”或“有用”。
- 学习而非教导:我们处于共同学习的阶段。评审的目的是相互学习,了解不同的设计策略和原型制作方法,而不是去“纠正”或“教育”对方。
- 保持同理心:理解每位学习者投入的时间和精力可能不同。评审时应基于提交的材料本身,设身处地理解对方的设计思路和决策过程。
评审流程与核心关注点
现在,我们来看看具体的评审步骤以及每一步需要关注什么。以下是进行同行评审时需要遵循的步骤:
- 全面审阅材料:仔细阅读设计描述、查看所有截图和视频。就像审阅学术论文需要通读全文一样,你需要全面了解同伴的整个设计过程和成果。
- 理解设计与背景:明确原型是为AR还是VR设计的,并理解其应用场景(如博物馆导览、解剖学学习)。注意设计者是否尝试了某些特定场景,未尝试的部分也可能带来有趣的讨论点。
- 应用“我喜欢,我希望,如果…会怎样”模板:使用这个结构化的反馈模板来组织你的评审意见,并可以将重点放在设计者所开发的新功能上。公式如下:
- 我喜欢:指出设计中你认为成功或出色的部分。
- 我希望:提出建设性的改进建议。
- 如果…会怎样:提出一个开放性的、探索其他可能性的问题。
- 分享你的收获:告诉你的同伴,通过评审他的作品,你为自己的项目学到了什么。这是一种积极且富有建设性的反馈方式。
- 评审2-3个原型:建议评审多个原型,以便了解不同学习者的策略和方法,获得更全面的视角。
评审内容指南
在撰写具体评审意见时,请参考以下指南来确定评述的重点:
- 方法与工具的应用:观察并学习他人是如何使用课程中介绍的方法(如纸质原型)和工具(如沉浸式创作软件)的。可以从“是否适用”和“如何使用”的角度思考,而非简单评判对错。
- 工具选择:可以确认对方的工具选择是否合适,或基于自己的经验建议替代工具,但出发点应是“这个工具可能让某个功能的实现更简单”,而非武断地评判工具优劣。
- 识别开放性问题:留意设计者明确写出或隐含的未解难题。如果你有相关的见解或建议,可以友好地提供反馈。
- 聚焦功能实现过程:核心是关注新功能是如何通过一系列原型被探索和实现的。例如,纸质原型是否有效地测试了该功能?360度原型是否是理解该功能的好选择?避免评判该功能本身“是否有人会用”。
请勿评论努力程度或成品质量。我们鼓励对出色的工作给予积极肯定,但不应因认为对方投入不足或质量未达预期而给出负面评价。同样,如果你的作品未收到关于“努力”的表扬,也请勿气馁,因为这并非本次评审的焦点。
总结与展望

本节课中,我们一起学习了如何进行XR原型的同行评审。关键在于将评审视为一个共同学习、相互启发的成长机会。我们应秉持公平、尊重和建设性的原则,专注于设计方法与工具的应用过程,并通过结构化的反馈促进彼此进步。
通过评审他人的工作,我们不仅能更深入地理解设计流程,还能发现自身知识的盲点,找到新的成长机会。即使课程结束,也鼓励你将原型分享给朋友或家人进行测试,并将本次评审中建立的框架应用于更广泛的反馈收集过程中。

恭喜你即将完成“诚实之路”的所有练习!希望你在整个原型设计过程中,不仅熟练了工具,更深刻体会了以用户为中心、迭代前进的设计思维。
084:认识你的导师 👨🏫


在本节课中,我们将认识本专项课程的导师,了解他的背景、教学理念以及对扩展现实(XR)领域的热情。这有助于我们理解课程内容的来源和视角。
大家好,我是Mike Ebelling,我是你们的导师。我是密歇根大学的一名教授,更准确地说是一名助理教授,我在信息学院工作。
在我们正式开始这个XR专项课程之前,我认为我应该介绍一下自己,并告诉你们一些关于我的事情。我在这个领域工作了大约五年。我一直在人机交互领域进行相关研究。同时,我在密歇根大学的在校项目中已经教授了三年课程,包括两门AR/VR课程:一门侧重于设计,另一门侧重于开发。
这门课程在多个方面是我几年前与几位同事共同开设的“Teachout”课程的升级版。那个课程是密歇根大学的“增强现实、虚拟现实和混合现实”短期课程。也许你们在那里见过我。很高兴在那个MOOC中遇到一些学习者,你们中的许多人实际上表示希望学习更多关于设计和开发的内容。我们听到了你们的声音,并在这两个领域都增加了大量内容。
我关心XR技术。对我来说,我们所有人都理解这些技术非常重要。它们正在融入我们的日常生活,它们已经存在,并且不会消失。我们仍然可以影响如何塑造这些技术,从而更好地控制它们如何融入我们的日常生活。
无论如何,现在是我回馈和传递知识的时候了。我希望你们今天在这里学到的东西,是我自己必须学习的,不仅仅是今天,而是在接下来的几周里。这个过程不会那么快。我希望你们分享这些知识,并邀请其他人也来了解这些内容。
不是每个人都关心开发,也许我们中的一些人关心设计,希望关心的人更多。然后,我们中的许多人应该真正关心这个领域和这些技术的发展方向。我们应该就此进行一些批判性的讨论。
感谢你们让我认识你们,并加入我传播XR知识的努力。我真的很期待在课程中见到你们,希望我们能相互交流,也许有一天甚至能亲自见面,那将非常令人兴奋。欢迎来到XR专项课程。
本节课总结


在本节课中,我们一起认识了本专项课程的导师Mike Ebelling教授。我们了解到他作为密歇根大学研究者和教育者的背景,他开设XR课程的经历,以及他希望通过本课程分享知识、引导大家思考XR技术未来的热情。这为我们后续的学习奠定了良好的基础。
085:课程概述


在本课程中,我们将学习如何为增强现实(AR)、虚拟现实(VR)和混合现实(MR)开发应用程序。我们将使用 WebXR、Unity 和 Unreal 等工具,从技术角度深入探索这些激动人心的新技术。
本课程是“面向所有人的扩展现实”专项课程的一部分,是其中的第三门课。它假设你已经通过第一门课程,掌握了VR和AR的基本概念、技术以及关键问题。在本课程中,我们将专注于学习开发应用程序的原则和主要组成部分。
🗺️ 课程结构与主要内容
本课程分为四个主要模块。
首先,我们将探讨不同的开发方法,了解成为XR内容创作者的可能路径,并对WebXR、Unity和Unreal进行介绍和概述。我们还将学习从2D到3D的思维转换,为后续内容打下基础。
上一节我们介绍了课程的整体结构,本节中我们来看看VR开发部分的具体内容。
在VR开发模块,我们将从设计开始学习。以下是本模块的核心内容:
- 导航与菜单:学习如何在VR环境中设计导航系统和用户界面菜单。
- 对象选择与操作:掌握在VR中如何让用户选择并操控虚拟物体。
- 体验创建:学习创建基础的VR体验,以及需要更多技术和努力的沉浸式VR体验。
接下来,我们将进入AR开发的学习。

在AR开发模块,我们将重点研究两种主要方法。以下是两种核心的AR实现方式:
- 基于标记的AR:使用如Vuforia、ARToolkit和AR.js(WebXR的一部分)等流行标记库。
- 无标记AR:不依赖特定图像标记的AR体验实现。
最后,课程将涵盖一些高级专题。

在专题模块,我们将接触更前沿的技术。以下是本模块将探讨的几个方向:
- 高级技术:如程序化生成,用于创建更开放的VR应用。
- XR研究:探讨XR领域的研究话题与所需技能。
- 课程制作揭秘:展示本慕课制作中使用的一些技术,以帮助远程学习者更好地理解这些技术。
🎯 学习评估与实践项目
为了评估学习成果,每个主要模块结束后都设有测验,帮助你确保学习进度。
课程包含丰富的实践内容,特别是在“荣誉课程”路径中,有一系列练习帮助你系统性地学习开发3D、VR和AR场景。贯穿课程有一个主要案例研究,专注于虚拟现实设计。
该项目最初模仿底特律动物园,由我的学生Kara Daily进一步开发,成为一个包含夜间狩猎、宠物喂养区等元素的VR场景。在荣誉课程中,你将创建自己的3D场景,并进一步将其发展为VR场景。我们将学习如何处理VR中的交互与导航,并学习如何将VR场景转化为AR体验。例如,你可以将一个等比例的长颈鹿模型通过无标记AR的方式带入你的客厅,我们也会展示其基于标记的版本。通过对比,你将理解基于标记和无标记AR在追踪、设计和交互方面的差异。
🔧 技术栈与开发工具
考虑到学生可能有不同的背景,本课程力求让内容更具可及性。
对于不同背景的学习者,课程提供了相应的技术路径。以下是课程涵盖的主要工具和平台:
- Web开发者:课程包含大量WebXR空间的示例。
- 游戏开发者:熟悉Unity和Unreal将是很好的选择。
- 移动应用开发者:课程将探讨如何将现有知识迁移到XR开发。
本课程主要覆盖WebXR、Unity和Unreal。对于每个平台,我们都会讨论流行的开发框架,例如A-Frame、AR.js、SteamVR、MRTK、AR Foundation和XR Interaction Toolkit。我们也将学习流行的AR和VR设备,并学习如何评估这些技术,以及如何将工具包映射到具体的平台和设备上。
📐 核心3D开发概念
在第一模块,我们将花相当多的时间完成从2D到3D的思维跳跃。

我们将学习坐标系、渲染原理、透视相机、光照的必要性以及三维空间(X, Y, Z)等概念。我们将以与工具无关的方式学习物体变换等所有核心概念和原理,然后你将有机会在你选择的工具中实践。我们将学习透视相机的工作原理,了解3D场景如何渲染,以及这些知识如何应用于VR和AR。
🕹️ VR与AR关键技术点
在VR部分,我们将从关键技术开始。
我们将学习射线投射和命中检测,这是确定用户指向位置、实现物体选择和操控的基础。我们将学习不同类型的菜单设计,例如在Oculus Quest浏览器中用WebXR实现的“手部菜单”。我们还将简要了解视频透视以及正在成为VR设备标准功能的手部追踪。
在AR部分,我们主要关注手持设备AR,但也会学习头戴式AR及其带来的额外能力,例如微软HoloLens 2。我们将学习空间网格的实时识别,及其在遮挡和物理模拟中的应用,例如让虚拟立方体真实地落在桌面上。
设备方面,虽然无法覆盖所有设备,但我们会以HoloLens 2和Oculus Rift S为主要演示设备。同时,我们也会大量使用Cardboard,它只需要一部手机,经过改装后也能用于AR体验。我们还有关于AR的完整案例研究,例如由学生Shawn贡献的“开普勒行星运动定律”示例,它巧妙地利用了纸质标记。
🧠 深入原理与前沿话题
本课程有时会深入底层原理,以理解技术背后的工作机制。

例如,我们将剖析基于标记的追踪是如何工作的,并讲解其处理流程。我们也会学习最新的工具包,如Unity中的AR Foundation,了解无标记AR如何感知环境。我们将探讨AR技术的可供性、与真实环境融合的挑战(如遮挡渲染),以及最新的场景理解功能,这些功能允许设备理解其所见的内容,从而实现更真实的交互。
课程最后,我将展示一个很酷的AR体验——为HoloLens 2开发的Unreal项目“Mission AR”,它展示了AR也能达到很高的沉浸感。
🔬 XR研究与重要议题
最后,我将探讨XR研究。
我将探索一些我认为未来几年从人机交互角度看会很有趣的热门话题。我会讨论学生参与XR研究所需的技能,包括用户体验设计、人机交互研究技能、AR/VR技术技能和编程能力,以及进行研究的能力。由于XR技术的前沿性,采用研究性的方法来对待整个XR领域是一个非常有效的途径。我们还将讨论在XR研究中提出好问题与坏问题的标准。
贯穿本课程及我的所有慕课,我们将强调一些至关重要但常被忽视的设计议题。
以下是几个关键的社会与伦理关切点:
- 社会与伦理问题:随着这些技术日益主流化并渗透日常生活,其社会影响和伦理考量至关重要。
- 可及性与公平性:这是一个重大问题。在本课程中,你可能因为无法获取HoloLens 2、ARKit/ARCore设备或VR头显等实际原因而有所体会。目前,可及性问题尚未得到很好解决。
- 隐私与安全:当设备能够感知我们及周围环境的一切时,隐私和安全问题便不容忽视。虽然本课程重点在于技术实现,但思考这些议题同样重要。

📚 总结与展望
本节课中,我们一起学习了“扩展现实开发”课程的总体概述、结构、技术栈、核心概念以及所涵盖的关键技术与伦理议题。
本课程的核心是动手实践,专注于技术实现,让你能真正“弄脏双手”去开发XR应用。然而,技术实现只是起点。虽然本课程范围在于此,但强烈建议你通过学习专项课程中的其他课程,来完善你的知识体系,它们专注于设计思维、设计实践以及诸多重要议题的深入探讨。


现在,让我们正式开始这段有趣的XR开发学习之旅吧。
086:开发流程与工具概述 🚀


在本节课中,我们将探讨XR开发的基础,包括开发流程、核心方法以及三种主要的开发工具。我们将从宏观的“X流程”入手,了解从构思到部署的完整周期,并重点介绍开发阶段应遵循的原则。最后,我们将概览WebXR、Unity和Unreal这三种主流开发平台。
开发流程:X流程回顾
上一节我们介绍了课程的整体目标。本节中,我们来看看XR项目从构思到上线的完整流程,即“X流程”。这个流程不仅适用于开发,也贯穿了设计和测试。
在专注于设计的第二门课程中,我们深入探讨了需求发现和头脑风暴,这是X流程的首要步骤。我们也重点强调了故事板和原型设计。
现在,在这第三门课程中,作为XMOOC的一部分,我们的重点是开发和测试。这是本课程的核心目标,因此内容将更具技术性。
作为X流程的一部分,当开发完成后,我们需要弄清楚如何将产品交付给用户,这个阶段可称为部署。你可能会认为到此就结束了,但实际上,许多工作才刚刚开始,其形式是数据分析。你需要了解你的产品是否真正符合用户需求。
请注意,数据分析并非你第一次进行用户测试。事实上,我们在整个流程的每一步都应尽可能让用户参与,包括早期的纸质原型测试,以及开发和测试阶段。
数据分析部分,我将在本课程末尾,作为一些更高级技术的一部分进行讨论。但就本课程而言,我们的核心焦点就是开发和测试。
开发前的准备工作
在深入开发之前,你需要完成一些关键的准备工作。以下是开发前应完成的事项列表:
- 制定项目计划:你需要有一个清晰的计划。
- 明确开发方法:定义你的开发路径,本讲座将详细讨论开发方法。
- 设定里程碑:定义项目的重要节点。
- 分配角色:通常一个XR项目需要多人协作。如果只有你一人,也完全可行,但需要妥善规划。
- 完成草图绘制:包括高保真和详细的草图,以完善你的想法。
- 明确用户角色:清楚我们为谁设计,以及不为谁设计。
- 创建用户故事地图:在更偏向用户体验和交互设计的过程中,我们通过故事地图来识别想要支持的用户目标与任务。这比单纯思考“要开发什么功能”更能指导开发。用户的目标和任务会决定需要哪些功能。
- 进行原型设计:通常进行多轮,包括实体原型和数字原型。这在第二门课程是重点,本课程会有所回顾但不会深入。
我坚信,在开始任何重大开发之前,亲手进行这些“快速而粗糙”的实体和数字原型设计至关重要。它们有助于探索交互方式、获取早期用户反馈,并帮助你思考AR/VR是否是必要的解决方案,从而避免过早地锁定技术路线。
同时,如果XR确实是正确的方向,这些原型也能帮助你明确技术需求。
从低保真到高保真的开发阶段
我们应该理解,开发也应遵循从低保真到高保真的渐进过程。
我们会先使用占位内容进行开发。你可以使用额外工具,并利用3D基本几何体(如球体、立方体、圆柱体)来搭建场景。
然后,通常会引入精美的3D模型来打磨内容。最后,我们才增加对隐式交互和显式交互的支持。
我之前介绍过这些术语。隐式交互主要是基于摄像头的,例如在3自由度头显(如Cardboard)中环顾四周。用户注视某物或聚焦于某物,我称之为显式交互。
这里有一个例子:假设用户注视这个物体并停留,我们称之为“聚焦”,这实际上会触发一个点击事件,从而改变3D模型的外观或对其进行操作。
我建议你从低保真开始,用占位内容规划场景,然后引入更精美的3D模型和所需内容(包括音频等)。只有在此之后,我们才真正开始实现交互。
虽然我在这里的描述听起来是顺序进行的,但实际上很多过程是迭代式的,即“开发与测试”循环进行。
三大开发平台概览
以下是三种主要的XR开发途径:
- WebXR:有时特指即将推出的WebXR标准规范,有时也泛指在网页上实现AR/VR。在本课程中,我将使用A-Frame作为进行WebXR开发的主要工具。
- Unity:许多XR开发者推崇的工具。它可以用于:
- SteamVR:跨平台VR开发,支持Oculus、Vive、Valve Index等多种头显。
- AR Foundation:一个建立在ARKit和ARCore之上的跨平台AR开发框架。
- MRTK:混合现实工具包,我非常喜欢用它来进行移动端AR和HoloLens开发。
- Unreal:由Epic Games开发,是许多大型游戏背后的强大工具。在本课程中我们也会涉及。
我的大部分经验集中在Unity和A-Frame上,但我也一直在学习,这也是本课程的意义所在——我们将共同学习更多XR开发知识。
每种平台都配有特定的测试工具。例如,A-Frame有检查器,Unity和Unreal拥有控制台和大量通知及附加工具。如果你选择原生开发路线(如使用Android Studio或Xcode进行AR开发),那里也有大量的开发工具支持。
总结


本节课中,我们一起学习了XR开发的全流程(X流程),明确了开发前需完成的准备工作,理解了从低保真原型到高保真交互的渐进开发阶段,并概览了WebXR(以A-Frame为代表)、Unity和Unreal这三大主流开发平台及其特点。记住,成功的开发始于周密的计划、快速的原型验证和迭代式的“开发-测试”循环。
087:XR开发路径与Web XR技术栈详解 🚀


在本节课中,我们将学习成为一名XR内容创作者的不同技术路径,并深入探讨基于Web的XR开发方法及其核心技术栈。我们将了解不同技术背景的开发者应如何选择适合自己的入门路径,并解析Web XR、A-Frame、Three.js等关键技术的层次关系与工作流程。
技术背景与开发路径选择 🧭
上一节我们介绍了XR开发的几种主要方法,本节中我们来看看不同技术背景的开发者应如何选择最适合自己的入门路径。
以下是三种主要的XR开发路径及其对应的开发者背景:
- 基于Web的开发:适合具有Web开发背景的开发者。如果你熟悉HTML、CSS和JavaScript,那么学习A-Frame或Three.js将是可行的。其中,A-Frame相对非常简单。
- 跨平台开发:适合具有游戏开发背景的开发者。如果你已经对Unity或Unreal引擎很有经验,那么学习路径将非常直接,你只需要掌握它们内置的XR工具即可。Unity的XR交互工具包(XR Interaction Toolkit)是一个较新的重要组件。
- 原生开发:适合具有移动开发背景的开发者。如果你熟悉Android Studio或Xcode,那么直接使用Oculus、Vive等平台的原生SDK对你来说可能不是问题。不过,即便如此,通过Unity进行开发仍然是常见的选择。
总而言之,对于有移动开发背景的人来说,选择任何一条路径都不会有太大困难。但我更推荐基于Web的路径,因为它能让你接触到围绕XR形成的、非常健康且活跃的生态系统。
Web XR与游戏引擎的现状对比 ⚖️
我们已经讨论了不少关于Web XR、Unity和Unreal引擎的内容,以及它们之间的差异。目前,Unity不仅在游戏市场,在XR领域也仍然占据主导地位。然而,Web XR和Unreal也是极其出色的工具。
Web技术的发展让人联想到原生应用与移动Web应用之争。问题是:我应该开发一个原生的Android或iOS应用,还是应该使用Web技术来创建一个运行在浏览器中的移动应用?我们看到过各种各样的解决方案。对于Web XR,情况将是类似的。我们将看到大量基于Web的解决方案涌现,这将同时推动浏览器支持能力的提升和XR功能边界的拓展。
至于Unreal引擎,它为XR提供了一种非常精美的实现方式。虽然现阶段在XR生态上略落后于Unity,但其团队实力雄厚,我认为未来两者之间的竞争将非常激烈。
从传统Web开发到A-Frame的范式转变 🔄
让我们回过头来,比较一下传统Web开发与A-Frame开发。在传统Web开发中,我们使用HTML来定义页面的结构和内容层次,它就像一个树状结构。我们通过CSS来控制内容的呈现样式,而页面的交互行为则通常由JavaScript来定义。
那么,A-Frame与这一切相比有何不同?它是如何改变开发范式的?
首先,在A-Frame中,我们讨论的是实体(Entities)、组件(Components)和系统(Systems),当然还有脚本。实体组件系统(ECS)是一种非常有趣且数据驱动的应用开发方法。这意味着,我们通过实体来定义场景的结构(在Unity中称为“层级视图”)。场景中的每个物体,如一个盒子、球体、平面、灯光或摄像机,都是一个实体。
这些实体具有不同的行为、内容和呈现方式,因为它们关联了各种不同的组件。这些组件共同定义了3D场景的内容、呈现方式、实体类型及其功能。在这些实体和组件背后,通常有一些脚本功能被触发,它们指定了交互行为。此外,像粒子系统和物理系统这样的完整系统,也可以加载到A-Frame或Three.js场景中。
Web XR技术栈可视化与核心概念 🏗️
我刚才提到了A-Frame、Three.js、Web XR等许多术语,现在让我将它们可视化地呈现出来。
以下是Web XR技术栈的层次结构:
- Web层:这是基础。
- WebGL:这是用于在Web上渲染图形(包括3D图形)的Web扩展。一个A-Frame场景包含一个画布(Canvas),该画布具有3D上下文,并通过WebGL函数进行渲染和操作。
- Three.js:因为没人想直接用JavaScript处理底层的WebGL,所以Three.js作为最流行、应用最广泛的3D图形库之一出现了。它是一个JavaScript库,本质上是在WebGL之上提供了一个JavaScript抽象层。
- A-Frame:A-Frame在此基础上,提供了一个声明式的、基于Web的框架。它不再是使用原始的
<div>等HTML标签,而是引入了一系列新的标记标签。例如,<a-entity>是最通用的标签类型(类似于HTML中的<div>),但你也可以使用更具体的快捷标签,如<a-box>、<a-sphere>或<a-cylinder>,它们会直接创建带有特定几何体和材质的实体。 - WebXR:这是一个正在发展的标准。它通过允许网页(即HTML文档)调用JavaScript函数来实现Web上的XR应用。具体功能包括:
- 检测XR能力。
- 查询XR设备能力(例如,是3自由度还是6自由度的头显?是否有运动控制器?是否支持AR?)。
- 轮询XR设备及关联输入设备的状态。
- 以适当的帧率在XR设备上显示图像和音频。
Web XR应用的标准工作流程 🔄
Web XR应用通常遵循一个标准的工作流程。
以下是其核心步骤:
- 检测支持:当文档加载时,首先询问浏览器是否支持XR模式。根据设备能力,可能只支持VR或只支持AR。在支持ARKit和ARCore的设备上,你通常会看到一个“进入AR”按钮。
- 请求会话:当用户决定点击按钮进入XR模式时(这必须由用户主动触发),你的代码会请求一个特定模式的会话。你可以进行更精细的控制,请求不同类型的模式,例如是AR、透视(See-Through)还是“魔法窗口”风格。
- 建立渲染循环:会话建立后,应用会进入一个持续的渲染循环,不断绘制图像,这就是我们在AR和VR中看到的流畅体验。
- 结束会话:直到用户决定退出,然后我们结束会话。



本节课中,我们一起学习了成为XR开发者的不同技术路径,深入剖析了基于Web的XR开发技术栈,包括WebGL、Three.js、A-Frame和WebXR标准各自的角色与关系,并了解了Web XR应用从检测到渲染的标准工作流程。理解这些核心概念和工具链,是开始你的Web XR开发之旅的重要第一步。
088:WebXR、Unity与Unreal引擎对比分析 🎮


在本节课中,我们将对三种主要的XR开发工具——WebXR(以A-Frame为代表)、Unity和Unreal引擎——进行全面的对比分析。我们将探讨它们各自的定位、特点、适用场景以及如何根据你的背景和目标选择合适的工具。
概述
上一节我们介绍了WebXR及其相关技术栈。本节中,我们将深入比较Unity、Unreal引擎和A-Frame这三种主流的XR开发平台。通过分析它们的特点和适用性,帮助你为未来的项目选择最合适的工具。
Unity:主流的XR开发平台
Unity最初是一个游戏引擎,但现已发展成为一个成熟的XR开发平台。可以说,它是XR应用开发的事实标准。许多你体验过的AR和VR应用很可能都是用Unity开发的。
Unity对XR的支持日益完善,其生态系统包括:
- XR插件:提供跨设备的XR功能支持。
- XR交互工具包:简化XR交互的开发。
- AR Foundation:统一AR开发框架。
在当前的招聘市场中,XR相关职位通常会考察你的Unity技能。
A-Frame:声明式的WebXR框架
A-Frame是一个声明式的WebXR框架,基本遵循WebXR规范。它最初仅支持VR,后来通过AR.js库增加了对AR的支持,这大大提升了A-Frame的普及度和易用性。
A-Frame构建于Three.js之上。许多初学者发现A-Frame入门相对容易,但在构建复杂项目时可能会变得繁琐,除非你熟练掌握相关工具。
在设备支持方面,A-Frame对主流XR设备提供了良好的WebXR支持,但需要注意浏览器兼容性:
- 桌面端VR:使用Firefox。
- 移动端AR:在支持ARCore的安卓设备上使用Chrome。
- Oculus Quest:使用其内置的Oculus浏览器。
- HoloLens:使用其内置的Edge浏览器(未来将基于Chromium统一)。
Unity与Unreal引擎如何选择?
Unity与Unreal引擎之间的选择并非易事,这很大程度上取决于你的具体情况。我个人有更多的Unity经验,主要是因为在我起步时,Unreal对XR的支持不如Unity完善。
你可以通过回答以下四个问题来帮助自己做出选择:
1. 你对视觉效果的追求是什么级别?
如果你追求电影级的高质量视觉效果,Unreal引擎通常是更好的选择。Unity虽然通过可编程渲染管线(SRP)和HDRP等技术在不断进步,但目前业界仍普遍认为Unreal在视觉质量上更胜一筹。
2. 你是开发者还是设计师?
如果你是开发者,可能会更倾向于Unity,因为它对编程非常友好。如果你是设计师,可能会更青睐Unreal引擎,因为它提供了强大的蓝图(Blueprints) 视觉脚本系统,初期看起来更直观易用。当然,这只是普遍观察,并非绝对。
3. 你的开发环境如何?
这是基于我的经验提出的问题。Unity允许你在性能较低的设备(如普通笔记本电脑)上开发复杂的项目。而Unreal引擎需要一台性能强大的PC和高速网络环境,因为它经常需要下载数GB的内容。如果你的设备配置不像专业工作室那么高,使用Unreal会比较困难。
4. 你的项目目标设备是什么?
Unreal引擎支持XR,但存在一定的性能开销,它并非为XR原生设计的平台,更侧重于高端游戏和视觉效果。Unity近年来则发展出了对XR的原生支持,在这方面已经发生了显著变化和进化。
课程总结与学习路径
本节课我们进行了初步概述,并提到了许多术语(如SDK、API)。本课程面向那些对技术有更多思考的学习者。如果你不熟悉某些术语,可以在空闲时搜索了解,它们并非本课程的核心障碍。
请记住以下几点作为本节的总结:
存在多种成为XR创作者的可行路径。 本课程将重点聚焦于以下三种:
- WebXR(A-Frame):一个声明式的WebXR框架,构建于Three.js之上。我们将大量使用A-Frame来介绍关键概念,因为它能快速创建示例。
- Unity
- Unreal引擎
学习曲线取决于你的背景。 我个人的学习路径是:先A-Frame,然后Unity,最后是Unreal引擎。我发现即使拥有计算机科学博士学位,Unity初期也令人望而生畏。A-Frame帮助我平滑地过渡到这些更复杂的工具中。因此,我坚信从A-Frame到Unity,再到Unreal是一个合理的进阶路径。
每个工具都有其门槛和上限。 市场上还有许多其他XR开发工具。我选择的这三种工具拥有相当大的开发者社区和影响力。需要注意的是,每个工具都有其入门门槛(阈值) 和能力上限(天花板)。通常,能力上限高的工具,其入门门槛也高。不存在一个门槛极低同时又能实现一切的“万能工具”,这是开发领域的现实。
下一步实践
在接下来的课程中,我们将开始动手实践,深入WebXR、Unity和Unreal引擎的世界。我们将既开发VR项目,也开发AR项目,这将会非常有趣!


本节课中,我们一起学习了WebXR(A-Frame)、Unity和Unreal引擎的核心特点与对比,并为你提供了根据自身情况选择工具的决策框架。理解这些平台的差异是成为一名XR开发者的重要第一步。
089:构建XR开发工具箱 🧰


在本节课中,我们将开始构建我们的XR开发工具箱。本课程的核心目标是,通过直接基于这些技术进行构建,帮助你更好地学习VR和AR技术。我们无需从零开始,市面上已有许多工具和工具包可以简化我们的工作。因此,我们首先要完成的重要任务之一,就是更好地概览整个XR开发领域。
本节课,我将简要介绍可用的平台和工具包,展示一些示例,并详细阐述拥有一个“工具箱”意味着什么。我会说明工具箱的主要构成要素,我们应该在其中放入哪些东西,以及在本MOOC后续课程中我们将详细学习哪些内容。
平台概览 🖥️
我认为我们主要覆盖三个平台:WebXR、Unity 和 Unreal。
- WebXR 是一个正在发展、并有望被广泛采纳的标准,它将网页AR和VR带入了浏览器。它使用网络作为AR/VR应用的实现和交付平台,非常酷。我们将花相当多的时间在WebXR上,并使用 A-Frame 作为编程工具之一。
- Unity 是一个非常流行的选择,市场份额很大,值得学习。请注意,这不是一门Unity课程,我们学习Unity是为了学习AR/VR。如果你想深入学习Unity,应该访问其官方网站获取更多资源。
- Unreal 对AR/VR的支持正在不断增强,在某些方面,尤其是在沉浸式创作方面,我认为它甚至比Unity更有优势。其编辑器中的VR支持集成得很好,使用直观。
接下来,我们将更详细地了解这些平台和工具包。
工具包与平台映射 🗺️
首先,我们需要区分VR和AR。以下是主要工具包及其对应平台的初步映射。
上一节我们介绍了三个主要平台,本节中我们来看看具体的开发工具包如何与这些平台配合。
以下是当前XR领域的主要工具包分类:
- VR侧工具包:包括 A-Frame、SteamVR、Unity XR Interaction Toolkit、Oculus/Meta SDKs 以及 Mixed Reality Toolkit (MRTK)。
- AR侧工具包:需要区分基于标记(Marker-based)和无标记(Marker-less)AR。
- 基于标记AR:例如 AR.js(网页端)和 Vuforia(Unity端)。
- 无标记AR:例如 ARKit(苹果)、ARCore(谷歌)、A-Frame的AR模块、Unity的AR Foundation以及Mixed Reality Toolkit。
现在,我们将逐一查看这些工具包,更详细地了解它们支持的平台和设备。
A-Frame 🌐
A-Frame 是一个基于Three.js和Web的平台工具包,并与WebXR集成。它最初主要是一个Web VR工具包,支持列表中的所有VR头显。
在AR方面,A-Frame本身不直接支持通过摄像头进行基于标记的AR,但你可以使用AR.js来实现。对于无标记AR,目前支持最好的是通过Chrome浏览器使用ARCore。在iOS上,可以通过Firefox或WebXR Viewer应用使其在ARKit上工作,但无法在标准Safari浏览器中运行。在HoloLens上,通过配置浏览器标志也能工作,但支持并不完善。
示例:这是一个标准的A-Frame场景,包含一些基本形状、光影效果。我添加了传送控制组件,你可以看到每个控制器的模型和发出的射线,通过指向物体可以与之交互。
AR.js 🎯
AR.js 基于JSARToolkit(即ARToolkit),主要针对基于标记的网页AR。以下是一个示例:我将之前的A-Frame场景缩小并附着到一个标记上。
我们将在专门讲解标记的课程中学习更多内容。请不要低估基于标记的AR,不要认为它过时了。它对于原型设计非常强大且灵活。例如,我可以快速用它来测试用户界面元素的合适朝向或尺寸,这是一种利用标记进行沉浸式创作的有效方式。
SteamVR 🎮
SteamVR 是一个非常流行的虚拟现实平台/工具包,它很好地抽象了各种VR设备(如Oculus、Vive),并与Unity配合工作,可以支持多种VR头显。
示例:这是一个更复杂的示例场景,展示了各种交互行为。工具包的核心价值之一就是提供开箱即用的控制器交互支持。例如,我可以捡起一个虚拟遥控器来控制一辆小车,或者使用弓箭进行交互。虽然其文档可能有所欠缺,但这样的示例场景能帮助你快速学习和适应。
Mixed Reality Toolkit (MRTK) 👓
现在,我们进入增强现实领域。Mixed Reality Toolkit 与Unity配合良好,最初专注于HoloLens,现已扩展支持Windows Mixed Reality VR,并逐渐增加对ARKit和ARCore的支持,成为一个相对通用的平台。
示例:这是MRTK的手部交互示例场景,非常酷。它将各种交互控件并排展示,让你可以直观地比较不同工具包的感觉和支持程度。例如,你可以在这里弹奏一下虚拟钢琴。
Vuforia 📱

如果你已经是Unity的爱好者,Vuforia 可能是一个不错的选择。它主要用于基于标记的AR,也提供一些对ARCore、ARKit和HoloLens的支持,可以实现从基于标记到无标记AR的无缝切换。
示例:这是Vuforia的图像目标示例。每个图像标记都关联了一个3D物体。当摄像头识别到标记时,相应的物体(如宇航员或动画无人机)就会出现在标记上方。
AR Foundation & XR Interaction Toolkit 🛠️
AR Foundation 是Unity内置的平台,它很好地抽象了ARCore和ARKit,同时也支持HoloLens。XR Interaction Toolkit 是Unity的最新交互框架,同时支持AR和VR。
AR示例:这是XR Interaction Toolkit与AR Foundation结合的示例。你可以在检测到的平面上放置物体,点击后可以拖动和缩放它们。
VR示例:这是XR Interaction Toolkit的VR示例,展示了传送功能(允许你在有限的物理空间内探索更大的虚拟空间)以及复杂的抓取交互(例如捡起一个虚拟的羊驼模型)。
构建你的XR工具箱:学习路径 🧭
以上是对一些主要工具包的初步概览,帮助我们理解平台、工具包以及它们如何协同工作。这个映射关系会不断演变,但它是我们一个很好的起点。
接下来,我们将专注于如何学习和构建我们的AR/VR工具箱。以下是本课程后续的学习路径规划。
VR部分学习路径
首先,我们将学习如何从2D思维跳跃到3D世界。
- 3D基础:学习3D物体、变换、使用3D模型和基础的3D交互。这是我们进入VR世界的基础。
- VR设计:学习如何为VR设计环境、构建世界。在此过程中,我们需要考虑光照、阴影、动画和空间音效(不仅仅是视觉)。
- 基础VR交互:学习在VR中的移动(如传送)、物体选择(拾取物品)、以及凝视、手势和语音输入。
- 高级VR交互:深入学习菜单设计、物体摆放、操作(涉及碰撞检测和根据控制器/手部运动进行变换)、物理系统和粒子效果。
掌握以上内容,你将具备坚实的VR开发基础。我们还将通过一个案例研究——夜间动物园导览体验,来综合应用这些知识。这个案例基于底特律动物园设计,允许用户在虚拟世界中完成一些现实中无法进行的互动(如虚拟投喂)。
AR部分学习路径
AR部分的学习建立在VR部分的基础之上。我们将主要关注智能手机(手持式AR),也会简要介绍头戴式AR。

- AR显示类型与核心概念:了解不同类型的AR显示设备,并学习注册、跟踪和校准等核心概念(这些通常由工具包处理)。
- 映射与跟踪:学习如何将虚拟物体映射到物理世界,包括物体识别与跟踪。
- AR设计:学习运动跟踪、环境理解(空间映射)、语义场景理解和光照估计。光照估计能调整虚拟物体的光照以更好地融入真实环境。
- 基于标记的AR:学习基于标记的AR设计、交互,以及如何从基于标记过渡到无标记AR。
- 无标记AR:深入学习无标记AR的设计与交互。
- 从手持到头戴:学习如何将应用从智能手机AR扩展到HoloLens等头戴设备。
我们将通过第二个案例研究——一个用于教育的AR课堂应用,来实践这些概念。这个项目最初构建的是无标记AR版本,展示了如何将AR技术有意义地融入教育场景。
总结 📝
本节课中,我们一起学习了构建XR开发工具箱的初步框架。我们概述了三大平台(WebXR、Unity、Unreal),并详细浏览了多个核心工具包(如A-Frame、SteamVR、MRTK、Vuforia、AR Foundation等),了解了它们的功能、支持平台和设备。我们还规划了本课程后续的VR和AR学习路径。


本课程的目标是,让你在结束时能够从容地概览整个XR开发领域,就像我刚才所做的那样,清楚地知道哪个工具包能做什么、支持什么平台、当前的浏览器兼容性如何。希望这节课为你提供了一个良好且有用的开端。
090:从2D到3D的跨越(第一部分)🎮


在本节课中,我们将深入学习3D世界。具体来说,我们将完成从2D到3D的思维跨越。本课程假设你可能有一些网页或移动应用开发经验,但即便没有,3D世界也截然不同,颇具挑战性,需要我们花些时间来熟悉其运作方式、设计布局以及交互逻辑。这为后续几周学习虚拟现实和增强现实(它们本质上是3D的)奠定了重要基础。
如果你回顾课程2,我们讨论了创建AR/VR体验和原型设计的步骤,从纸上草图开始,逐步提升保真度,直至AR。然而,要真正进入3D,这是一个相当大的跨越。当然,我们可以使用360度视频等其他媒介进行原型设计,但本课的重点正是完成向3D的跨越。
坐标系:从平面到立体 📐
上一节我们介绍了课程概述,本节中我们来看看3D与2D最根本的区别之一:坐标系。
如果你熟悉2D坐标系,它通常以屏幕左上角为原点(0,0)。X轴向右,Y轴向下。如果你想定位一个盒子(例如HTML中的<div>),在CSS中你会设置left和top属性,单位可以是像素等。
而在3D中,坐标系的原点(0,0,0)通常位于中心。在AR中,原点的位置取决于AR的类型:如果是基于标记的AR,原点通常在标记上;在ARKit等框架中,原点通常是启动应用时的位置。在纯粹的3D场景中,原点就在中心。将一个盒子放置在原点附近时,它不仅具有位置,还需要光照才能被看见,并且会呈现出立体感和阴影,这是3D渲染的基本特点。
2D与3D对象:从图形到几何体 🧊
理解了坐标系后,我们来看看构成场景的基本元素:对象。
在2D中,我们处理的是平面图形。在3D中,我们处理的是几何体。以下是几种基本的3D几何图元(Primitive Shapes):
- 立方体 (Cube)
- 球体 (Sphere)
- 圆柱体 (Cylinder)
这些是构建复杂3D模型的基础形状。
布局与属性:新增的维度 🎨
我们了解了基本形状,接下来看看如何控制和修饰它们。
在2D布局中,我们主要控制位置(X, Y)、大小(宽度、高度),以及通过z-index控制层叠顺序。我们还可以使用transform进行旋转。在设计属性方面,我们控制显示方式(display)、透明度(opacity)、颜色和背景图像。
在3D中,布局增加了深度维度:
- 位置:包含 X, Y, Z 三个坐标。
- 尺寸:包含宽度、高度和深度。
- 旋转:可以围绕 X轴、Y轴、Z轴 进行旋转,单位是度或弧度。
- 材质:控制可见性、是否以线框模式渲染、透明度、颜色以及纹理贴图。一个需要注意的点是默认只渲染几何体的“正面”,从内部看会是空的,这是出于性能考虑。
变换详解:移动、旋转与缩放 🔄
上一节提到了3D变换,本节我们深入探讨一下。
我们已经建立了2D和3D坐标系。变换主要包括平移、旋转和缩放。
- 平移 (Translate):改变物体在X, Y, Z轴上的位置。
- 旋转 (Rotate):物体可以围绕X, Y, Z轴旋转。例如,围绕Y轴旋转45度。
- 缩放 (Scale):改变物体在三个轴向上的大小。
这里需要理解右手坐标系(如A-Frame使用)和左手坐标系(如Unity使用)的区别。最大的不同在于Z轴的方向:在右手坐标系中,面向屏幕时,Z轴正向指向屏幕内(负向朝外);而在左手坐标系中则相反。这会影响移动和旋转的方向。
交互方式:从点击到射线投射 🎯
对象布局好后,我们如何与它们交互呢?交互是VR/AR沉浸感的关键,其方式与2D不同。

在2D中,交互基于鼠标事件:mouseenter, mouseleave, mousedown, click (mouseup)。点击事件发生在屏幕的二维坐标点上。

在3D中,交互通过射线投射 (Raycasting) 实现。你可以想象从摄像机或控制器位置发射出一条射线(一条无限长的线)到场景中。以下是射线检测的步骤:
- 定义射线的起点(如摄像机位置)和方向。
- 检测射线与场景中哪些物体相交。
- 返回所有被相交的物体列表,然后就可以处理这些“被点击”的3D物体。
例如在A-Frame中,你可以设置射线原点为鼠标位置,从而实现用鼠标与3D物体交互。在VR中,射线通常从运动控制器发出,指向你瞄准的方向。
摄像机:3D世界的窗口 📷
最后,为了看到3D场景中的一切,我们需要一个摄像机。
我们使用的是透视摄像机 (Perspective Camera),它模拟人眼的视觉效果。摄像机有几个关键概念:
- 视场角 (Field of View, FOV):摄像机可见的视野范围。FOV越大,看到的场景越广,但物体显得越小;FOV越小,就像望远镜放大,看到的范围越窄,物体显得越大。VR头显通常有较大的FOV(约120度)以增强沉浸感。
- 近裁剪面 (Near Clipping Plane):比这个平面更靠近摄像机的物体不会被渲染。
- 远裁剪面 (Far Clipping Plane):比这个平面更远离摄像机的物体不会被渲染。
这两个裁剪面之间的区域构成了摄像机的可视范围,它们对于优化性能(不渲染看不见的物体)和避免视觉错误至关重要。例如,调整近裁剪面可以切掉离眼睛太近的物体,防止它们以错误的方式显示。
总结 📝



本节课中,我们一起学习了从2D思维转向3D开发的核心基础。我们探讨了3D坐标系、基本的几何图元、包含深度信息的布局与材质属性、物体在三维空间中的变换(平移、旋转、缩放)、通过射线投射实现的3D交互原理,以及作为观察3D世界窗口的摄像机及其关键参数(视场角、裁剪面)。掌握这些概念是后续构建虚拟现实和增强现实体验的基石。
091:从2D到3D的跨越(第二部分)


在本节课中,我们将深入学习3D模型的核心概念、获取与创建方法,并比较3D模型与360度照片的差异,为后续的VR和AR开发打下基础。
3D模型基础
上一节我们介绍了从2D到3D的基本概念,本节中我们来看看3D模型的具体构成和工作原理。
3D模型由几何体、网格和蒙皮组成。这包括顶点位置、法线(用于确定方向)、面片和纹理坐标。我们可以将其理解为模型的“布局”。
而模型的“设计”则通过材质来实现。材质使用着色器进行渲染,并能应用不同的视觉效果,也可用于后期处理。此外,我们还可以使用凹凸贴图、法线贴图或其他类型的环境贴图来为3D模型增加细节,而无需增加过多的顶点数量。这是一种模拟细节的技术。
纹理是另一个重要组成部分,它们是附着或包裹在3D模型上的图像精灵。
你可以在网上找到已绑定骨骼的3D模型,这意味着模型内部有骨架并可以播放动画。为此,骨骼绑定包含骨骼,而动画则由姿势和关键帧构成。
3D文件格式

在处理3D模型时,你将需要处理不同的文件格式。
以下是常见的3D文件格式:
- GLTF:在Web领域,GLTF已成为一种标准格式。
- FBX:在Unity引擎中,FBX是常用的格式。
- DAE:数字资产交换格式仍然很流行,你会经常看到导出为DAE的选项。
- OBJ和MTL:这是一种较早但仍然流行的文件格式。大多数工具都能导出OBJ格式,但材质需要单独导出为MTL文件,纹理通常以JPG或PNG格式提供。这意味着你需要同时管理三种文件。


GLTF文件可以打包成GLB文件,这在我制作A-Frame示例时经常使用,非常方便。
寻找与创建3D模型
除非你是一名熟练的3D美术师,否则在创建3D内容时,寻找现有资源通常是第一步。
以下是一些可以找到3D模型的平台:
- Sketchfab
- Google Poly
- SketchUp 3D Warehouse
- Clara.io
- Adobe Mixamo
创建3D模型的软件(如Blender、Tinkercad、Maya、3ds Max、Cinema 4D等)超出了本课程的范围,但了解它们的存在是有益的。
理解3D模型:以仓鼠为例
让我们通过一个具体的例子来深入理解3D模型。这里有一个仓鼠模型,它来自Sketchfab平台,由用户Laina创建并以知识共享协议分享。
这个模型内部包含一套骨骼绑定,这些骨骼使得仓鼠能够行走和动画。当我们将这个模型导出并嵌入到A-Frame场景中后,可以为其添加路径,让它四处走动。
使用Adobe Mixamo为角色添加动画
Adobe Mixamo是一个强大的工具,它可以为一系列现成角色应用各种动画。
在Mixamo中,你可以预览多种动画,例如不同的舞蹈动作。你还可以为每个动画调整和控制各种参数。例如,你可以改变角色的“警觉度”,让它更多地环顾四周。Mixamo是一个值得尝试的工具,我的许多学生用它创建了非常酷的场景。
使用Model Viewer查看3D模型


如果你的主要目标只是查看3D模型,而不想经历A-Frame或Unity等复杂流程,那么Model Viewer是一个很好的选择。
它是一个高度可定制的JavaScript库。其中一个我想重点介绍的示例是结合WebXR功能的演示。Model Viewer可以在手机上运行,并提供了一个WebXR演示,允许你将家具(如椅子)预览并放置到3D空间中。通过移动手机进行初始追踪和平面检测,物体就能出现在房间内,你还可以调整其大小或更换其他模型。


从360度照片到3D模型
从2D跨越到3D的过程中,360度内容是一个强大的工具,尤其适用于原型设计和VR场景的快速构建。


如果你有一台360度相机,你可以拍摄一张360度全景照片。这种等距柱状投影格式的图像经过拼接,可以包裹在一个球体内部进行渲染,从而创造出一种沉浸式的“小行星”视图效果。
然而,360度照片并非真正的3D。它通过投影函数从2D角度映射到球形格式,营造出深度错觉,但实际上并没有深度信息。这意味着你无法真正在其中行走。尽管如此,360度照片和视频仍然非常具有沉浸感,并且可以通过定义图像内的可交互区域来实现一定的交互性。
相比之下,基于3D模型构建的场景则允许你自由调整视角,在场景中行走,这是360度照片无法做到的。
核心概念对比总结

本节课我们一起学习了3D模型的核心知识。最后,让我们总结一下几个关键对比:
- 2D布局 vs 3D几何:这是我们应该使用的术语。
- 变换:这个术语用于控制2D和3D对象的位置、旋转和缩放。
- 左手 vs 右手坐标系:理解两者的差异对3D开发很重要。
- 2D设计 vs 3D材质:在语言上,材质是纹理映射的增强。关于材质(例如基于物理的渲染)还有很多深入的知识可以学习。
- 3D模型 vs 360度照片:谁更胜一筹?在深度和细节方面,3D模型获胜。但360度照片能帮助你快速构建原型,无需成为3D美术师。在开始像我们建模实验室那样进行精细建模之前,拍摄一张360度照片是快速近似可用3D空间的好方法。但请记住,360度照片本质上是2D表示,没有真正的深度。

我希望这是一节有用的课程。希望我们共同完成了从2D到3D的跨越,并让你开始感到更有信心。请加入实践环节,尝试我为你准备的一些练习,在那里你可以基于自己喜欢的电影场景或想象中的画面来构建一个3D场景。你可以在WebXR、A-Frame、Unity甚至Unreal Engine中尝试3D创作。我相信这将是一个很好的起点,让我们能在接下来的几周里学习更多关于VR和AR的知识。希望这节课为我们探索AR和VR这些有趣的世界铺平了道路。
092:WebXR平台入门实践 🚀


在本节课中,我们将学习如何使用A-Frame作为主要工具来开发WebXR场景。我们将涵盖A-Frame的基础知识、开发环境设置,并实际操作创建和运行VR与AR场景。
A-Frame概述 🧱
上一节我们介绍了WebXR的概念,本节中我们来看看A-Frame这个具体的开发工具。
A-Frame是一个基于Three.js和WebGL的Web框架。Three.js是一个流行的图形库,它构建在WebGL之上,允许A-Frame渲染3D场景。A-Frame通过引入一系列以a-为前缀的HTML标签(如<a-scene>、<a-box>、<a-cylinder>)来简化3D场景的创建。


A-Frame遵循实体-组件系统(ECS)架构,拥有丰富的开源组件库。它内置了资源管理系统,支持图像、视频、音频以及3D模型(首选GLTF格式,也支持OBJ/MTL等格式)。

开发环境与工具 🛠️




要开始使用A-Frame,你需要一个合适的开发环境。以下是几种推荐的选择:
- Glitch:一个在线代码编辑器,可以即时预览场景,非常适合快速原型设计和学习。
- CodePen:另一个流行的在线前端开发环境,你可以创建“笔”来编写和展示A-Frame代码。
- GitHub:适合更专业的开发工作流,你可以托管代码并使用本地服务器进行开发。
A-Frame还附带一个非常实用的检查器(Inspector)。在A-Frame场景中按下 Ctrl + I(Windows)或 Cmd + Option + I(Mac)即可打开。它虽然不是像Unity那样的完整编辑器,但允许你:
- 使用3D控件(Gizmos)直观地移动、旋转和缩放场景中的物体。
- 查看和修改实体的组件属性。
- 将调整后的值复制到你的代码中。


创建你的第一个A-Frame场景 🌍
现在,让我们动手创建一个基础的A-Frame场景。我们将从经典的“Hello WebVR”示例开始。
核心的A-Frame场景结构如下:
<a-scene>
<a-box position="-1 0.5 -3" rotation="0 45 0" color="#4CC3D9"></a-box>
<a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
<a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
<a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
<a-sky color="#ECECEC"></a-sky>
</a-scene>

在这个场景中:
<a-scene>是根容器,所有3D对象都包含在其中。<a-box>、<a-sphere>、<a-cylinder>、<a-plane>是基本的几何图形实体。position、rotation、color等是这些实体的属性。<a-sky>用于设置场景的背景。



在浏览器中打开这个HTML文件,你可以用鼠标拖拽来环视场景,并使用 W/A/S/D 键在场景中“行走”。


在VR设备中运行场景 🥽
要让场景在VR头显(如Oculus Rift S)中运行,你需要:
- 使用支持WebXR的浏览器,例如 Firefox 或 Chrome(需开启标志)。
- 确保你的VR头显已正确连接电脑。
- 在A-Frame场景中,点击出现的 “Enter VR” 按钮。




成功进入后,你将沉浸在这个3D世界中。A-Frame会自动处理立体渲染和头部追踪。
将场景转换为AR体验 📱

将VR场景转换为AR体验主要涉及两个关键变化:


- 背景替换:将固定的背景(如
<a-sky>)替换为设备的实时摄像头画面。 - 比例调整:AR中的物体需要以符合现实世界感知的比例出现(通常较小且靠近用户)。
以下是一个简单的AR场景框架示例:
<a-scene embedded arjs>
<!-- 使用摄像头作为背景 -->
<a-camera gps-camera rotation-reader> </a-camera>
<!-- 将原有物体组合到一个实体中,方便整体缩放和定位 -->
<a-entity position="0 1.2 -1" scale="0.15 0.15 0.15">
<a-box position="-1 0.5 -3" color="#4CC3D9"></a-box>
<a-sphere position="0 1.25 -5" color="#EF2D5E"></a-sphere>
<!-- ... 其他几何体 -->
</a-entity>
</a-scene>
- 我们添加了
arjs组件(需要引入AR.js库)来启用AR功能。 - 将物体包裹在
<a-entity>中,并通过scale属性将其整体缩小,使其在手机屏幕上看起来大小合适。 - 调整
position使物体悬浮在摄像头前方一个舒适的位置。
在手机上通过支持WebXR的浏览器(如iOS的WebARonARKit或安卓的ARCore兼容浏览器)访问该页面,即可看到3D物体叠加在现实世界画面上。
实时编辑与工作流 🔄


使用Glitch或CodePen等在线编辑器的一个巨大优势是实时预览。你可以:
- 在代码编辑器一侧修改代码(例如颜色、位置)。
- 另一侧的预览窗口会几乎即时更新。
- 如果你正戴着VR头显,也能立刻看到场景的变化。
这种即时反馈循环极大地加快了学习和开发调试的速度。


本节课中我们一起学习了WebXR开发的核心工具A-Frame。我们从其基础架构讲起,介绍了开发环境与检查器工具,并逐步实践了如何创建基础3D场景、在VR设备中运行它,以及如何将其转换为移动AR体验。A-Frame以其基于Web技术的亲和力,为有一定网页开发基础的学习者提供了一个接触XR开发的绝佳入口。在接下来的课程中,我们将继续探索更复杂的交互和组件。
093:Unity引擎基础入门 🎮


在本节课中,我们将学习Unity引擎的基础操作,并创建一个简单的3D场景。我们将把这个场景分别适配到VR(虚拟现实)和AR(增强现实)环境中,体验从3D建模到跨平台部署的完整流程。


概述

我们将从创建一个基础的3D场景开始,然后学习如何将其转换为VR体验,最后再将其适配到基于标记(Marker-based)和无标记(Marker-less)的AR应用中。整个过程将涉及场景搭建、对象操作、光照调整以及不同XR(扩展现实)插件的配置。
创建基础3D场景 🏗️
首先,我们需要在Unity中创建一个新的3D场景。场景初始包含一个主摄像机和一个方向光。
上一节我们介绍了课程目标,本节中我们来看看如何搭建一个简单的3D场景。
- 插入一个平面:这个平面将作为我们场景的地面。将其放置在原点
(0, 0, 0)。 - 导入参考图片:为了更精确地建模,我们可以导入一张参考图片。将图片作为资产导入项目,然后将其添加到一个新的平面对象上,作为建模的视觉参考。
- 创建主要物体:根据参考图,使用Unity的基本3D物体(如立方体)来搭建主要结构。例如,我们可以创建一个名为“Tower”的立方体来代表一座塔楼。
- 调整物体位置与缩放:使用变换工具(移动、旋转、缩放)将塔楼放置在平面上,并调整其大小以匹配参考图的比例。可以通过在检视器中输入精确的数值来调整,例如将位置设为
(0, 3.5, 0)使其站立在地面上。
调整摄像机与光照 🌞
创建好基本物体后,我们需要调整视角和光照来让场景看起来更生动。
上一节我们放置了基础物体,本节中我们来看看如何优化场景的视觉效果。


- 移动摄像机:使用移动工具将摄像机从默认位置移开,以获得更好的观察角度。例如,可以将其向左移动并向后拉远。
- 旋转摄像机:使用旋转工具调整摄像机的朝向,使其对准我们创建的塔楼。
- 操作光源:选中场景中的方向光(代表太阳),通过旋转来模拟一天中不同时间的光照效果,如日出或日落。这会在物体上产生动态的阴影变化。

完成这些步骤后,我们就拥有了一个包含物体、摄像机和动态光照的基础3D场景。按下播放按钮,可以在游戏视图中预览场景。
适配到虚拟现实(VR) 👓

接下来,我们将把这个3D场景转换为VR体验。
上一节我们完成了基础3D场景,本节中我们来看看如何为VR头显进行适配。


- 调整场景比例:在VR中,比例感非常重要。为了获得更真实的沉浸感,可能需要增大塔楼等物体的缩放比例,让用户在VR中感觉物体尺寸合理。
- 调整摄像机(XR Rig)位置:VR中的摄像机通常由XR Rig管理。需要调整XR Rig的位置,让用户站在一个理想的观察点,例如塔楼的正前方。
- 配置XR插件:通过Unity的Package Manager安装并配置Oculus XR Plugin等VR插件,将场景与VR头显(如Oculus Rift)连接起来。
核心概念是使用 XR Interaction Toolkit 来管理VR中的交互,但本教程主要关注场景的初始设置和显示。
适配到增强现实(AR) 📱
最后,我们将把同一个场景部署到AR环境中。AR主要有两种方式:基于标记的和无标记的。


上一节我们设置了VR场景,本节中我们来看看如何为AR设备进行适配。
基于标记的AR(使用Vuforia)
以下是使用Vuforia引擎创建基于标记的AR应用的步骤:
- 准备新场景:从VR场景另存一个新场景,并移除XR Rig。
- 导入Vuforia:通过Package Manager将Vuforia Engine包导入项目。
- 添加AR摄像机:在场景中添加Vuforia的“AR Camera”来代替原有摄像机。
- 设置图像目标:从Vuforia预置数据库(或自行创建)选择一个标记图(例如宇航员图片),将其作为“Image Target”添加到场景中。
- 重新调整物体比例:AR中物体相对于真实世界的标记显示,因此需要将塔楼和平面等物体显著缩小,使其能适配到标记图上方。例如,将缩放值设置为
(0.1, 0.1, 0.1)或更小。 - 将物体关联到标记:将塔楼等物体设置为图像目标的子物体,或将其位置精确放置在标记上方(如
Y=0.75),这样当摄像头识别到标记时,物体就会出现在标记之上。
无标记的AR(使用AR Foundation)
以下是使用AR Foundation创建无标记(地面检测)AR应用的步骤:
- 准备新场景:再次从原始场景另存一个新场景。
- 配置AR Foundation:通过Package Manager安装AR Foundation以及对应平台(如ARCore for Android, ARKit for iOS)的插件包。
- 添加AR Session和AR Session Origin:在场景中添加这两个核心组件。AR Session Origin包含AR摄像机,并管理AR内容的坐标系。
- 大幅缩小场景物体:在无标记AR中,物体将锚定在检测到的真实世界平面上。需要将整个场景(包括塔楼、平面)的整体比例缩小,使其看起来像桌面模型,而不是真实大小的建筑。可以将所有物体放入一个空的父级GameObject中,然后统一缩放该父对象(例如缩放为
(0.25, 0.25, 0.25))。 - 切换构建平台与部署:在
File -> Build Settings中,将平台切换为Android或iOS。确保在Player Settings中启用了ARCore/ARKit支持。通过USB连接手机,点击“Build and Run”即可将应用安装到手机上进行测试。
总结



本节课中我们一起学习了Unity引擎的入门操作。我们从创建一个简单的3D场景开始,学习了如何操作物体、调整摄像机和光照。接着,我们探索了如何将这个场景扩展到VR和AR领域:通过调整比例和配置XR插件来适配VR头显;通过使用Vuforia和AR Foundation分别实现了基于标记和无标记的AR体验。整个流程的关键在于根据不同的XR环境灵活调整场景的比例,并正确配置相应的开发工具包。这为后续深入开发VR/AR应用打下了坚实的基础。
094:Unreal引擎基础入门 🎮


在本节课中,我们将学习Unreal引擎的基础入门知识。我们将了解如何创建简单的3D场景,体验其内置的VR编辑功能,并探索一个基础的AR项目示例。通过本教程,你将能够迈出使用Unreal引擎进行XR开发的第一步。
引擎概述与优势
上一节我们介绍了课程目标,本节中我们来看看Unreal引擎的概况及其主要优势。
我首先需要说明,我本人并非Unreal引擎的专家。我过去完成的项目大多基于WebXR和Unity,对这两者更为熟悉。今年夏天,我的实验室组织了一个学习小组,我才开始更多地学习Unreal引擎。幸运的是,Unity的技能可以相对快速地迁移到Unreal引擎,尽管一些术语和名称有所不同。
你会立即注意到,Unreal引擎的视觉效果非常出色。当我向你展示VR演示时,你会发现的另一个优势是:引擎内置了一个VR按钮,你只需按下它,VR模式就能运行。我将使用连接到电脑的Oculus Rift S头显,按下VR按钮即可预览任何3D内容。这个功能非常酷,可能会为你带来优势。
如果你选择“诚实路径”并完成下周的任务(实际上,本周的任务是创建3D内容,下周的任务是将其转化为VR体验),你可能会问:“Michael,我真的只需要按下那个按钮吗?”答案是否定的。你还需要为VR进行一些调整,例如适配VR尺度、调整物体比例和摄像机角度,并思考如何使其更具沉浸感。
另外,如果你的目标是Cardboard这类移动端VR设备,我个人建议使用WebXR。你可以跟随我的WebXR入门教程,即使我在演示中使用的是Rift S,我认为将其适配到Cardboard也相对直接。我在基础VR体验课程中有更多相关示例,你可以参考。
在本教程中,我们将使用Oculus Rift S进入VR模式。Unreal引擎不仅有一个VR按钮,其编辑器本身也支持在VR环境中运行。你可以进行沉浸式创作。我将向你展示如何在VR中移动物体。如果时间允许,我可以无缝地在桌面编辑器和VR预览之间切换,进行沉浸式创作。我认为这个功能非常强大和酷炫,值得你去探索。
我还将展示一个AR项目。同样,你需要通过USB连接手机并进行一些设置。我遇到了一些小麻烦,但最终解决了。我将展示如何在这个AR示例场景中放置一些基本的几何体。这个例子还不错。我将展示如何在Android手机上使用ARCore运行这个AR示例。Unreal引擎也有ARKit插件,为AR开发时,你只需启用正确的设置即可。
这就像是一个预告或广告。在第三周,当我们花更多时间讨论AR时,我会展示Unreal引擎的“Mission AR”项目。那个项目将运行在HoloLens 2上,非常酷。如果你决定全面投入Unreal引擎,并且拥有HoloLens或Magic Leap等设备,你可以下载那个13GB的“Mission AR”项目并将其部署到设备上,那将是一次很棒的体验。但现在请不要直接跳到那里,请先跟随本视频完成你的第一步。
如果你打算选择Unreal引擎来完成“诚实路径”中的练习,这个视频将帮助你。如果我在讲解“诚实路径”时,同时演示WebXR、Unity和Unreal三种实现方式,那将过于复杂,视频也会变得冗长。因此,这个视频是你的参考资料。
我们现在时间充裕,让我们开始吧。我将打开Unreal引擎,它可能需要一点时间加载。然后,我将展示如何使用Rift S进行VR体验。之后,我会演示他们提供的AR项目版本,这非常酷。
编辑器界面与基础操作
上一节我们了解了引擎的优势,本节中我们来看看Unreal编辑器的界面并进行一些基础操作。
欢迎来到Unreal引擎。我现在展示的是编辑器界面。我创建了一个包含初始内容的新场景,它附带了一些资源。场景提供了一个完整的房间,他们称之为“地图”。
我们有一些物体,在Unity中称为“游戏对象”,在这里称为“Actor”。在右侧的“世界大纲视图”中,我们可以看到椅子、另一把椅子、部分地板和桌子。这相当于Unity中的“层级”视图。
我们还有工具,包括典型的变换 gizmo 和工具。我们从Unity中熟悉的快捷键在这里同样适用,这很酷。
我将添加一个立方体来演示基本操作。我们将把它放入场景,旋转大约30度,并缩小一点,直到我们满意为止。
接着,我们来改变它的材质。我们选择一个砖块材质。这看起来很酷。
沉浸式VR编辑体验
上一节我们操作了基础物体,本节中我们来体验Unreal引擎强大的沉浸式VR编辑功能。
现在我想展示一个更酷的功能:我们可以直接进入VR模式。你可能一直在关注这个按钮。我要点击它。我们进入了VR模式。我们出现在一个有趣的位置。
我拥有一些操作工具,实际上工具相当丰富。我现在要做的是调出场景菜单。

现在我可以进一步编辑物体。例如,如果我愿意,我可以改变整个场景的尺度。我可以用VR控制器直接缩放任何物体。我的目标是将立方体放到桌子上。所以我调出菜单。
然后我们进入工具选项。我想向你展示一个手电筒工具,这在黑暗场景中工作时非常酷。
我们关闭手电筒,进入变换工具。实际上,我想使用的是旋转工具。我点击这个物体。好吧,我其实不想旋转,但没关系,我们稍微旋转一下。我们把它变得更像……现在我们来移动它。
我不常使用缩放工具。下面这个是移动工具。我们选中它,把它移到我们正前方,然后向后退一点。我也可以移动整个场景,这样更舒适。这就是我想向你展示的功能。当然,你可以做更多事情,我们可以真正编辑这个物体。
我只是想展示一下会发生什么。你可以调出不同的菜单。你可以选中一个物体来查看其详情。
然后你可以在VR视图中看到关于该物体的所有编辑器选项。
你可以选择另一个物体,类似地,你会在这里看到“检查器”面板,这非常酷。

我不会退出VR模式。实际上,我不会详细演示所有操作。但这就是我们编辑后的新场景。如果我不喜欢某些改动,我可以撤销很多操作,恢复原始内容。

无论你是在VR中编辑还是在桌面编辑器中编辑,都没有区别。事实上,在Unreal引擎中,数字创作和沉浸式创作之间是无缝衔接的。我认为这非常出色,它能为你提供快速的预览,非常适合原型设计。

以上就是使用Unreal引擎和Rift S进行VR编辑的演示,非常酷。
AR项目演示与解析
上一节我们体验了VR编辑,本节中我们转向AR,演示并解析一个基础的Unreal AR项目。
接下来,如我所说,我将展示一个AR体验。使用Unreal引擎和ARCore在Android手机上运行。为了清晰起见,我将从运行体验开始。我们先在手机上运行它,然后我会引导你了解这个体验是如何创建的。我会保持较高层次的解释,直观地说明,这不是一个非常详细的逐步演示,但这是第一步。如果你决心学习更多关于Unreal引擎的知识,请务必查看他们的大量优质文档和内容。
让我们集中注意力,先看演示,然后你再判断Unreal引擎是否适合你在这门课程中探索。
演示开始。现在我可以点击屏幕,它会放置物体,或者随机选择一个几何形状放入房间。它也能正常工作。当它检测到平面时,会进行一些基本的平面检测。这个很有趣,所以我将显示调试信息。我们可以在这里显示检测到的平面。
它的渲染效果不如我们在其他一些软件中看到的那么花哨,但总体上是可行的。跟踪效果显然……这个看起来有点……但总体还不错。
这个很可爱,不清楚它落在了哪里。我们还可以做其他几件事。其中一件事是显示原点。这是我们启动应用时的初始位置,我们当时大致面向这个方向。这几乎就是我们启动应用时的确切位置。我们可以查看这个,也可以隐藏调试信息。这就是这个应用的全部功能,但它是一个很好的入门项目。
现在,让我们简单了解一下这在Unreal引擎中是如何实现的。
好的,现在我们回到了Unreal引擎中的移动AR项目。它看起来实际上是空的。它并不完全是空的,它有一个地图,但地图是空的。它有一些配置内容,不太有趣。它有一些蓝图,这些蓝图真正提供了信息。
你会看到,当你启动这个项目时,它首先显示的不是很多内容,而是一个菜单,你可以按下“开始AR”按钮。一旦启动场景,它会把场景放进去,然后你会看到这个菜单,你可以根据是否点击它来显示或隐藏。就是这样。
我们可以查看的另一个东西实际上在“可放置物体”中。当你生成物体时,你会看到这是一个蓝图。这个蓝图基本上会在确定的位置创建一个新的网格体。我们将使用另一个蓝图来确定那个位置。


这实际上是在游戏框架中,当我们进行任何类型的物体生成时。所以当用户触摸屏幕时,我们正在将屏幕坐标转换为世界坐标。我们通过某种管线计算出那个2D坐标在3D场景中对应的位置,然后我们将在那个位置生成一个新物体。这将是我们将要生成的物体,它创建了在这个例子中被称为“Pin”的东西。
我想展示的最后一件事是,在经过一些设置后,Unreal引擎实现了无缝集成。我现在已经连接了我的手机,我的支持ARCore的Pixel 3。我按下这个按钮,它将启动一个进程,将内容部署到手机上。


这将需要一段时间,因为它正在构建可执行文件,为Android打包,然后实际上会在我的手机上启动它。但我已经向你介绍了这个项目的基础知识。
还有最后一件事是AR配置,这类似于Unity中AR Foundation的会话配置。它设置了AR的一些基本元素。现在它正在部署到我的手机上,这意味着很快我们就可以实际启动它了。
以上基本上就是我对这个Unreal引擎项目概况的概述。
课程总结

在本节课中,我们一起学习了Unreal引擎的基础入门。我们从引擎概述和优势开始,了解了其出色的视觉效果和便捷的VR一键启动功能。接着,我们熟悉了编辑器界面,并进行了添加、旋转、缩放物体以及更改材质的基础操作。

然后,我们深入体验了Unreal引擎强大的沉浸式VR编辑功能,演示了如何在VR环境中直接操作场景和物体,实现了数字创作与沉浸式创作的无缝衔接。最后,我们演示并解析了一个基础的移动AR项目,从用户体验回溯到项目内的蓝图和配置,了解了在Unreal中创建AR应用的基本流程。



通过本教程,你应该对使用Unreal引擎进行XR开发有了初步的认识,并能够开始创建自己的简单3D场景,探索VR编辑,甚至着手尝试基础的AR项目。
095:荣誉课程框架与学习指南 🎯


在本节课中,我们将一起了解荣誉课程的整体框架、学习目标以及如何利用课程资源完成实践项目。课程旨在提供一个灵活的系统性学习方法,让你能够根据自己的设备和兴趣选择平台与工具包,共同学习扩展现实(XR)开发。
课程概述与目标
上一节我们了解了课程的基本结构,本节中我们将深入探讨荣誉课程的具体学习路径。我的核心目标是建立一个框架,让我们能够共同学习。你可以选择平台,也可以选择工具包。市面上可能存在比我介绍的更新的工具包,这完全没问题,你完全可以自由选择。
我希望我们能以一种更实际的方式接触这些技术。因此,本视频的目的是引导你了解我为荣誉课程设计的心智模型,并解释我做出某些课程设计决策的理由。这个框架在校内项目中运行良好,我也希望它同样适用于在线学习的你。
接下来,我将为你介绍荣誉课程的结构,以及我们如何共同学习和互动。
荣誉课程核心结构 🏗️
如你所知,本课程分为四个模块。首先,我们学习通用的开发方法,并构建我们的XR开发工具箱。然后,我们实际完成从2D到3D的跨越。
接着,我们专注于VR开发,学习基础及更高级的沉浸式VR体验的设计与开发。我们也会学习AR,包括基于标记(Marker-based)和无标记(Marker-less)的AR,了解它们的一些区别,以及如何从移动端(手持式)AR过渡到头戴式AR。我涵盖了所有这些主题。
此外,还有一些特殊主题,这些内容超出了荣誉课程的核心要求。因此,在荣誉课程中,我们会有额外的内容和练习。
以下是荣誉课程的核心实践项目,我们将按顺序完成:
- 3D场景练习:我们将基于一个草图来构建3D场景。我建议你先在纸上画出构思的草图,并以此作为模板。在后续的练习指南中,我会详细说明如何着手。
- VR场景练习:接着,我们将基于已创建的3D场景,制作一个VR版本。你不应从头开始,而应在3D练习成果的基础上构建,并可能添加一些元素使其更具沉浸感。
- AR场景练习:最后,你将把同一个3D场景带入AR。我认为最好从3D场景开始,利用一些工具将其放入AR。对于Unity和Unreal,从3D到VR再到AR的转换可能更复杂,因为需要移除某些内容和插件。因此,3D场景是我们的起点。
这三个场景之间存在关联。在3D场景中,你从草图开始,适当挑战自己但不必过于困难。可以是一个简单的电影场景。我提供了一些指导方法,例如在Unity的第一步中,我展示的示例灵感来自Burt纪念塔。我所做的就是用那张照片进行创作,这某种意义上就是我的“草图”。我主要使用3D基本体创建了这个塔。这是第一步,下一步可能是用更高保真度的3D模型替换它,但第一步中我不要求这样做。我为你提供了进一步探索的资源。
然后,你将自己创建的3D场景,制作成一个基础的虚拟现实版本。这意味着你需要添加相机、相机装置,可能还需要启用传送等功能,使其更具沉浸感。交互部分是难点,但如果你不进行复杂交互,或者遵循Unity等工具包提供的示例(如XR Interaction Toolkit),可以避免大量编码。
接下来是AR场景。你将学习基于标记或无标记的AR。这部分更具可选性,因为我不确定你拥有什么设备。你可能有一个网络摄像头,那么你应该能够完成基于标记的AR版本。如果你拥有支持ARKit和ARCore的最新款智能手机,你也可以尝试无标记AR。你不需要每次都完成所有类型。
项目最后是同伴互评。你们将互相提供反馈。你需要提交自己感到自豪和已完成的作品。我会提供更多关于如何提交的指导。然后,你将收到一份或多份评价。同时,我也会要求你评价其他学习者的作品。这个同伴互评过程对我们非常重要,我相信它将丰富你的学习体验。
如何利用课程资源 📚
上一节我们明确了项目流程,本节中我们来看看如何有效利用课程资源。我的想法不是由我坐下来制作无数个不同的原型(虽然我有很多,但它们都在合适的位置),而是在这里引导你如何使用本课程中提供的资源。课程中还有一些指向第二门课程的链接。
第二门课程更侧重于设计,但它首先建立了一个关于如何进行XR设计与开发的更大框架。其中“XR涉及什么”的讲座非常有用。我会将那个讲座的一些关键元素融入这里,但本文档主要是荣誉课程的指南。
你还会在“构建你的XR开发工具箱”讲座中找到额外的信息和材料。你可能已经看到,它就在本周内容里。你可能已经在考虑从2D跳转到3D,那里有很多示例和步骤。实际上,我为设计VR和AR体验,特别是WebXR,提供了更深入的示例。我的很多示例基于A-Frame,我认为它是一个在线学习(如在CodePen或Glitch上)的绝佳工具。
我理解,也许你来这里是因为你觉得已经了解AR/VR,并且想学习Unity或Unreal。当我说“构建你的XR工具箱”时,我指的正是这些。我在讲座中讨论了所有这些内容。所以,请将荣誉课程视为真正实践这条路径:从2D到3D(即3D场景),然后设计一点VR(即带有基础交互的基础VR场景,但其中一些交互是可选的,如移动和选择),再到AR。
在AR工具箱方面,我们真正实现从VR到AR的跨越。如果你选择基于标记的方法,例如使用AR.js或Vuforia,就可以实现。如果你的智能手机支持无标记AR(ARCore和ARKit),你可以使用WebXR实现。否则,我建议只做基于标记的AR。交互部分同样是难点,我鼓励你尝试,但为了顺利完成课程,这些更多是可选的。
你的选择与系统性方法 ⚙️
在最高层面,你有几个选择需要做出:
- 选择平台:WebXR、Unity或Unreal是我们主要的工作平台。
- 选择工具包:因为我不想让你从零开始。在本周的讲座中,你已经了解了一些可选的工具包。我将左侧的每个工具包映射到了相应的平台和所支持的设备。
- 选择设备:本质上需要选择两个设备,一个用于VR,一个用于AR。
如果你不确定能否实现某个基于标记AR的酷炫想法,或者如何使用Unity或WebXR来实现,可以参考这些映射,或者在论坛中咨询,看看其他人是如何做的。我们有一些作品集,你应该能从中获得很多灵感和课程之外的信息。
贯穿始终的是系统性过程。在荣誉课程中学习实践,正是聚焦于此。显然,我希望你完成整个XR specialization,涵盖所有内容,这样你就能从纸上原型快速跃升。但从这里(草图)跳转到3D是我们的第一个重要阶段和目标。
从低保真到高保真:项目演进 🚀
将你的项目(包含3D、VR和AR三个场景)视为从低保真度向高保真度演进。我建议你从使用占位符内容开始,然后逐步将其打磨得更精细。这可能意味着仅为基本体应用颜色和材质,或者实际使用3D模型。网上有很多免费的3D模型可供使用。
接着,我们将尝试添加隐式和显式交互。例如,用户应该至少能够注视一个物体(例如,如果你有Cardboard这类设备,注视交互是可行的)。然后,我们考虑点击后改变视觉外观,思考反馈以及“可供性”这个概念(即界面中的一些视觉线索),以引导用户进行交互。
在本课程中,我们主要将其转化为具体的内容列表、显式交互列表和隐式交互列表。你将在3D、VR和AR场景中实际完成这些,就像核对清单一样:必须处理环境,可能涉及物理效果(也可能跳过),以及声音(我鼓励你加入声音,不仅仅是视觉)。菜单和手部交互等内容,我留给你决定,不会做硬性要求。
显式交互方面,你可以进行一些探索。很多隐式交互与相机、AR中的标记,或者在无标记AR中将某些物体或环境特征带入视野有关。我们将探索这些,但不会过多涉及GPS定位,除非你可能是为家中或工作场所的特定区域进行设计。
给学习者的关键建议 💡
在你进行这些荣誉课程练习时,请记住:保持简单。不要给自己太大压力。评判的标准不是复杂度。保持简单是学习的最佳方式。当一切运作起来后,你可以再逐步增加难度。
你应该专注于学习系统性方法,这正是我教学的重点。如果你遵循这个方法——先使用占位符、先在纸上画草图——并展示出你理解我所讲的系统性方法,你就会取得好的成果。
你通过使用某个平台和工具包来实现,从而学习AR/VR。本课程的重点不是学习某个特定工具,而是使用工具来学习这些技术,这正是本课程的独特之处。
此外,你应该学习接下来的AR/VR案例研究。你将看到由我的两位学生贡献的案例研究,请将它们视为指导和灵感来源,但仍然要努力保持简单。同时,将我提供的针对每个平台的“第一步”指南作为参考进行查阅。
我为WebXR(A-Frame)提供了更多步骤,因为我推测我们中的大多数人会选择这条路径。这些工具日新月异,WebXR规范也在不断演进。对于Unity和Unreal,它们本身提供了大量优秀的资源,并且频繁更新,它们的文档和示例可能更及时。你应该参考平台和工具包特定的文档及其示例,从中学习并改编代码用于你自己的项目。
最后,从其他学生的方法、工具和成果中学习,这正是同伴互评如此重要的原因。
总结与展望 🌟
本节课中,我们一起学习了荣誉课程的整体框架和学习指南。我们明确了课程将通过三个关联的练习项目(3D、VR、AR场景)来引导你系统性地学习XR开发。关键在于选择适合自己的平台与工具,从简单的草图开始,利用占位符内容,逐步迭代,并积极参与同伴互评。

我真心希望我们都能乐在其中。我希望我设计的方式和所做的决定,能为我们提供足够的灵活性和自由度,让你能够利用现有的设备,选择你想学习的工具包和平台。我期待在关于荣誉课程的更多讲座中见到你,届时我将更详细地指导你完成每一个步骤。


感谢观看。
096:三维场景构建 🏗️


在本节课中,我们将学习如何构建一个三维场景。这是后续所有虚拟现实和增强现实项目的基础。我们将遵循一个系统化的方法,从草图开始,逐步增加场景的细节和真实感。
概述
三维场景构建是扩展现实开发的核心基础。本节将引导你完成创建第一个三维场景的完整流程,涵盖从规划到实现的关键步骤。
规划你的场景 📝
首先,你需要规划你想要创建的三维场景。这应该基于一个模板或灵感来源,例如电影场景、书籍描述或一张照片。
以下是规划步骤:
- 在纸上画出场景的草图。
- 明确场景的构成、物体布局和整体构图。
- 设定清晰的目标,以便在后续制作中对照检查。
用基本体进行原型设计 🔲
上一节我们介绍了如何规划场景,本节中我们来看看如何开始构建。首先,使用2到3个三维基本体来搭建场景原型。

以下是原型设计要点:
- 保持简单,仅使用立方体、球体、圆柱体等基本几何形状。
- 专注于物体的位置、旋转和缩放(即三维变换)。
- 在此阶段,暂时不需要考虑材质、灯光或阴影。
在代码中,放置一个立方体基本体可能类似于:
<!-- 在A-Frame中的示例 -->
<a-box position="0 1 -3" rotation="0 45 0" scale="1 2 1" color="#4CC3D9"></a-box>

增加细节与真实感 ✨

原型搭建好后,下一步是提升场景的保真度。我们可以为基本体添加材质,或者用更精细的模型替换它们。

以下是提升细节的方法:
- 为基本体添加颜色、纹理等材质属性。
- 理想情况下,使用下载或自己创建的高精度三维模型替换基本体。
- 你也可以通过组合多个小型基本体来构建复杂模型。
设置摄像机视角与构图 🎥
场景内容构建完毕后,我们需要思考如何展示它。尝试从两到三个不同的角度观察你的场景。
以下是关于摄像机视角的建议:
- 在Unity、Unreal或A-Frame中移动摄像机位置。
- 找到能最佳展示场景构图的起始位置和角度。
- 根据摄像机视角,你可能需要回头调整场景中物体的布局。
- 从不同角度截取屏幕截图。


添加特效与动态元素(可选) 🌌
为了让场景更生动,你可以考虑添加一些动态元素。请注意,这并非所有场景的必需步骤。
以下是可选的增强内容:
- 粒子系统:用于表现烟雾、灰尘、火焰等效果。
- 动画:让场景中的物体运动起来。
- 灯光:布置光源以营造氛围。
- 声音:添加环境音效或背景音乐。

案例学习:星际迷航场景 🚀
为了加深理解,我们来看一个《星际迷航》场景的构建案例。构建者首先根据剧集片头绘制了详细的草图作为蓝图。
在原型阶段,仅使用了A-Frame中的基本几何体和粒子系统来搭建整个场景。最困难的部分是灯光设置,需要反复调试以达到原片中的效果。通过查阅文档和创造性解决问题(例如使用一个近乎透明的球体来反射光线),最终成功实现了目标效果。
这个案例表明,即使只用基本体,通过系统化的方法和对灯光、动画的细致调整,也能创造出富有表现力的三维场景。

总结


本节课中我们一起学习了构建三维场景的系统化方法。我们从规划草图开始,然后用基本体搭建原型,接着提升细节和真实感,并设置摄像机视角,最后可以可选地添加特效。这个过程帮助你建立了对三维空间、物体变换和场景构图的理解。你所创建的这个场景,将成为后续进入虚拟现实和增强现实模块开发的坚实基础。记住,在论坛中与同学互相帮助,可以解决许多实践中遇到的问题。现在,你已经为接下来的VR与AR之旅做好了准备!
097:AR-VR框架应用答疑会 🎓




在本节答疑会中,我们将聚焦于专项课程的第三门课程——开发课程,特别是使用A-Frame框架进行WebXR开发。我们将回顾课程作业要求,并通过一个太阳系示例项目,演示如何从构思到实现一个完整的3D、VR及AR场景。本节内容旨在为初学者提供清晰的指引和实用的技巧。
课程概述与答疑会目标
大家好。这是本学期计划的三次答疑会之一。本次答疑会主要针对扩展现实专项课程的第三门开发课程。

这门课程专注于开发,涵盖了多种平台,包括Unity、Unreal Engine以及WebXR(使用A-Frame)。课程旨在教授如何在不同平台上进行XR开发,而不仅仅是学习某个特定工具。今天的答疑会将重点讨论A-Frame,并展示如何完成课程中的作业。

课程作业主要包含三个部分:
- 构建3D场景:创建一个基础的3D环境。
- 构建VR场景:将3D场景扩展为更具沉浸感的虚拟现实体验。
- 构建AR场景:创建基于标记或无标记的增强现实体验。


接下来,我们将深入了解A-Frame,并逐步构建一个太阳系示例项目。








A-Frame简介与核心工具


A-Frame是一个基于HTML的WebXR框架,它让构建3D和XR体验变得像编写网页一样简单。其核心思想是使用HTML标签(称为“实体”)来描述3D世界中的对象。


关键工具:场景检查器与代码控制台


在开始开发前,掌握两个关键工具至关重要:场景检查器和浏览器开发者控制台。


场景检查器是一个内置的调试工具,允许你实时查看和修改场景中的元素。激活它的键盘快捷键是:
- Windows系统:
Ctrl + Alt + I - Mac系统:
Ctrl + Option + I


激活后,你可以选择场景中的物体,查看其属性(如位置、旋转、材质),甚至直接修改这些属性。虽然修改不会永久保存,但这是一个极佳的学习和调试方式。
浏览器开发者控制台(通常按F12打开)对于查看JavaScript错误、日志输出和网络请求至关重要。推荐使用Chrome浏览器以获得最佳的WebXR支持。

A-Frame基础模板




一个最基本的A-Frame场景模板如下所示:
<html>
<head>
<script src="https://aframe.io/releases/1.4.0/aframe.min.js"></script>
</head>
<body>
<a-scene>
<!-- 3D物体将在这里添加 -->
<a-box position="-1 0.5 -3" rotation="0 45 0" color="#4CC3D9"></a-box>
<a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
<a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
<a-sky color="#ECECEC"></a-sky>
</a-scene>
</body>
</html>





这个模板包含了A-Frame库,并定义了一个简单的场景,其中有一个立方体、一个球体、一个平面和天空背景。




项目实战:构建太阳系3D场景 🌞
上一节我们介绍了A-Frame的基础工具和模板,本节中我们来看看如何应用这些知识来构建课程要求的3D场景。我们将以创建一个互动的太阳系为例。
第一步:设计与规划

在编码之前,进行设计规划非常重要。这符合第二门课程(设计课程)中强调的设计思维流程。




- 灵感来源:参考NASA的太阳系模拟器等现有体验。
- 绘制草图:简单勾勒出场景布局,例如太阳在中心,地球绕太阳公转,月球绕地球公转。
- 定义目标:明确场景中需要包含的元素,例如3D模型、光照、动画和交互。




第二步:搭建基础场景


我们从A-Frame基础模板开始,逐步添加元素。

- 创建天体和轨道:使用
<a-sphere>标签创建太阳、地球和月球,并通过设置position和animation属性让它们动起来。 - 添加材质与纹理:为球体应用从NASA等合法来源获取的纹理贴图,使它们看起来更真实。例如,为地球应用昼夜两种纹理。
- 设置光照与环境:添加点光源(模拟太阳光),并设置雾效和背景颜色来营造空间感。
以下是让地球绕太阳旋转的动画代码示例:




<a-sphere id="earth" radius="0.5" src="assets/earth-day.jpg">
<a-animation attribute="rotation"
dur="20000"
fill="forwards"
to="0 360 0"
repeat="indefinite">
</a-animation>
</a-sphere>
第三步:实现交互与多视角

为了增加场景的趣味性和完成作业要求,我们可以添加一些交互功能。


以下是实现的一些关键交互:
- 切换昼夜:通过按下‘N’键,切换地球的纹理(从白天地图切换到黑夜地图),并改变场景光照颜色。
- 显示/隐藏轨道:通过按下‘V’键,控制是否显示行星的运行轨迹线。
- 多相机视角:实现按‘C’键在不同预置相机间切换的功能,例如一个跟随地球的相机,一个跟随月球的相机,以及一个自由飞行相机。



这些交互主要通过编写JavaScript函数,监听键盘事件并修改相应实体的属性来实现。


进阶:将3D场景转换为VR与AR体验 🥽



我们已经完成了一个功能丰富的3D太阳系场景,接下来看看如何将其升级为VR和AR体验。




创建VR版本


将现有3D场景转换为VR体验,核心是添加对VR设备的支持和自然的交互方式。




以下是需要添加的关键组件:




- 相机设备:使用
<a-entity camera="active: true”>和<a-entity oculus-go-controls>等组件来配置VR相机和控制器。 - 移动机制:集成
teleport-controls组件,允许用户通过瞬移在场景中自由移动。 - 手部交互:使用
super-hands等组件,让用户可以用虚拟手抓取、移动场景中的物体(例如行星)。这通常还需要添加物理引擎组件来处理碰撞。





你可以从一个VR项目模板开始,然后将你的太阳系内容移植进去,这样可以快速获得基础的VR交互功能。




创建AR版本



A-Frame支持两种主要的WebAR方式:基于标记的AR(使用AR.js)和无标记的AR(使用8th Wall或A-Frame的AR模块)。


以下是两种方式的简要说明:
- 基于标记的AR:
- 需要定义一个特定的图像作为标记(Marker)。
- 当设备摄像头识别到该标记时,太阳系场景就会在标记上方渲染出来。
- 优点是实现相对简单,跟踪稳定。


- 无标记的AR:
- 使用SLAM(即时定位与地图构建)技术,将虚拟物体锚定在真实世界的平面上。
- 用户打开网页,授予摄像头权限后,就可以直接将太阳系放置在桌面、地板等现实表面上。
- 体验更自然,但受浏览器和设备支持限制较大(例如iOS支持有限)。


在AR版本中,你同样可以保留3D场景中的交互功能(如切换昼夜),并通过触摸屏手势或屏幕按钮来触发。





常见问题与趋势探讨 ❓


在答疑会最后,我们探讨了一些学习者提出的常见问题和对未来的展望。
关于VR体验中的新手引导
有学习者询问,在VR叙事体验中,应该先弹出2D说明还是让用户直接进入场景。最佳实践是将引导直接融入3D环境本身,避免使用破坏沉浸感的2D弹窗。例如,可以将操作提示作为跟随控制器的浮动工具提示,或者在用户首次拿起关键物品时给出上下文提示。
关于AR技术趋势与挑战
当前AR技术正变得更加普及。一个显著趋势是VR头显(如Meta Quest 2)开始具备“视频透视”功能,未来随着摄像头升级,可能演变为真正的混合现实设备,这将极大推动AR的普及。
然而,挑战依然存在。一个主要障碍是WebXR标准的跨平台支持。目前苹果设备对WebXR的支持较弱,这限制了基于网页的XR体验的广泛传播。一旦标准得到所有主流平台的全力支持,基于Web的XR内容创作和分发将迎来爆发式增长,就像当年Web的普及一样。
总结与资源
本节课中我们一起学习了如何使用A-Frame框架来逐步完成扩展现实开发课程的作业。我们从创建一个基础的3D太阳系场景开始,为其添加了材质、光照、动画和交互。接着,我们探讨了如何将这个3D场景升级为支持设备追踪和自然交互的VR体验,以及如何通过不同技术将其部署为AR应用。
记住,开发XR体验是一个迭代过程,从简单原型开始,逐步增加复杂性。充分利用A-Frame社区提供的丰富组件和模板,可以大大提高开发效率。
附加学习资源:
- A-Frame官方文档:获取最全面的API参考和教程。
- Glitch平台:一个优秀的在线代码编辑和托管平台,非常适合快速原型设计和分享A-Frame项目。
- 专项课程荣誉作业:查看其他学习者在课程中完成的优秀项目,获取灵感和学习思路。
希望本次答疑会能帮助你更好地进行XR开发探索。祝你学习愉快!
098:虚拟现实设计原理第一部分 🎮


在本节课中,我们将学习虚拟现实设计的基础知识,包括环境设计、内容构成、交互方式以及对象放置的核心概念。我们将通过一个虚拟动物园的案例研究,来具体探讨这些原理的实际应用。
课程概述
欢迎来到虚拟现实设计课程。本周我们将学习虚拟现实设计的基础知识。我将分享一些设计技巧,并通过一个由学生贡献的虚拟动物园案例来具体说明。这个案例最初源于一次在线办公时间,后来发展成一个用于教学的完整项目。
上一节我们介绍了课程的整体安排,本节中我们来看看虚拟现实设计的具体内容。
虚拟现实内容构成
设计一个虚拟现实体验,其内容构成包含多个关键要素。


以下是创建虚拟现实内容的核心组成部分:
- 3D模型与动画:虚拟世界中的角色和物体,它们是构成体验的主要成分,可以处于前景或背景中。
- 光影与渲染:环境需要光源才能被看见。这包括环境光、定向光以及像手电筒这样的聚光灯。光影能为用户提供重要的视觉线索。
- 环境与地形:指用户行走其上或所见的场景,如地形、树木、岩石等。Unity和A-Frame等工具都提供了强大的环境组件来构建这个世界。
- 物理系统:模拟现实世界的物理规则(如重力、碰撞)对于营造可信的VR体验至关重要。如果用户预期存在的物理效果缺失,会破坏沉浸感。
- 空间音频:超越立体声的3D音频。声音会根据物体位置、障碍物和空间大小(如产生回声)发生变化,这对于营造沉浸感非常关键。
- 用户界面与菜单:VR中的菜单设计有其特殊性,例如抬头显示空间菜单。它们允许用户触发功能、导航和自定义VR体验。
虚拟现实交互方式
虚拟现实中的交互主要可以分为几个大类。
以下是主要的VR交互方式:
- 选择:常见方式包括显示虚拟手部模型、控制器模型,或直接使用手部追踪技术。激光指针也是一种常用的选择工具。
- 操纵:指抓取并改变虚拟世界中物体的状态,例如移动、旋转物体,这比选择更具挑战性但也更令人兴奋。
- 导航与移动:实现用户在虚拟空间中的移动。方式包括:
- 凝视移动:用户看向哪里,就走向哪里。
- 传送:使用控制器指定目标位置进行瞬间移动。
- 即使只有3自由度(3DoF)的设备也能实现基础的移动体验。
- 菜单设计:菜单可以固定在场景中的某个位置(世界锚定),也可以附着在相机上跟随用户视线移动(通常带有延迟),后者更为常见。
一些设计模式在AR和VR之间可以很好地通用,而另一些则是各自独有的。
案例研究:虚拟动物园设计流程
我们将通过虚拟动物园案例,一步步了解设计流程。最初,我放置了一个基础环境并启用了传送功能,开始规划区域地图。随后,学生Kara加入,美化了场景,添加了动物并优化了光照。
我们添加了菜单系统(将在下一讲详细讨论),它允许用户在世界中导航。此外,我们还构建了一个“喂养动物”区域(纯属虚构,现实中不可行)。最终,我们将所有元素整合,形成了一个完整的体验。

虚拟世界中的对象放置
在虚拟世界中放置物体时,有几种关键方式,尤其是在使用WebXR时。

以下是对象放置的几种主要类型:
- 叙事层内:物体存在于3D世界内部,是故事的一部分。它们可以固定在某个位置,或在世界中浮动、跟随用户。
- 叙事层外:物体以2D形式悬浮在3D场景之上,通常附着在用户的头戴显示器或虚拟相机上。它不参与故事,仅对用户可见。
- 页面/DOM内:物体放置在渲染3D场景的画布之外,例如网页的DOM中。在VR模式下,这些物体不可见。
- 附着式:以上方式的结合,物体可以锚定在用户的视线、控制器或手上。
对象的位置、旋转与缩放
从普通3D设计过渡到VR设计时,对象的定位和尺寸是需要重点考虑的问题。
以下是关于对象变换的三个核心属性:
- 位置:物体在3D空间中的绝对坐标,通常以米为单位,相对于相机或世界的初始校准位置。
- 旋转:物体围绕其轴心的角度。通常用度数或弧度表示。旋转中心(轴心点)的设置至关重要,它决定了物体如何旋转。
- 缩放:物体的尺寸比例。需要注意的是,不同3D模型自带的原始缩放比例可能不一致,这会导致将它们导入同一场景时尺寸失调,需要手动调整。
分层设计技巧
设计虚拟现实体验时,采用分层思维会很有帮助。
以下是按层次构建VR体验的建议:

- 前景层:放置用户近距离交互的3D模型(如案例中的动物)和需要精确定位的空间音效。
- 中景层:用于营造氛围,包括地形、环境装饰物(如树木、岩石)以及一些背景声效。
- 背景层:构成世界的边界和基础氛围,通常是天空盒(一个360度的球体或立方体贴图),并搭配循环播放的环境音乐。

在我们的案例中,前景是动物,中景是带有树木的地形,背景则是我们调整后的天空盒和全局光照。通过分层设计和不断调整,我们最终整合出了一个令人满意的虚拟动物园体验。

课程总结

本节课我们一起学习了虚拟现实设计的基础原理。我们探讨了VR内容的构成要素,包括模型、光影、物理和音频。我们分析了VR中的主要交互方式:选择、操纵和导航。通过虚拟动物园的案例,我们了解了从规划、环境搭建、交互添加到最终整合的设计流程。我们还学习了在VR中放置对象的几种不同方式,以及控制对象位置、旋转和缩放的重要性。最后,我们介绍了通过前景、中景和背景分层来构建沉浸式VR世界的实用技巧。这些基础知识将为后续更深入的学习和实践打下坚实的基础。
099:虚拟现实设计原理第二部分



在本节课中,我们将继续探讨虚拟现实的设计原理,重点关注迭代式环境设计方法、交互设计类型以及作为VR设计师需要考虑的更高层面的社会与伦理问题。我们将通过一个动物园项目的具体实例,展示如何从零开始构建一个VR场景。

上一节我们介绍了VR设计的一些基础概念,本节中我们来看看如何通过迭代和分层的方法来具体构建一个VR环境。

迭代式环境设计方法
设计VR场景时,应采用迭代式方法,类似于网页或移动应用设计。我们推荐一种分层设计法,主要包含以下三个构建步骤:
以下是构建VR场景的三个主要阶段:
- 从360度内容开始:使用360度图像或视频作为场景的环境天空盒。这可以作为视觉和空间规划的占位符,帮助你构思用户周围的整体布局。
- 引入3D基本体:在360度背景的基础上,使用立方体、球体等简单的3D几何体来定义场景中的功能区域、物体的大致位置和尺寸。这类似于网页设计中用带颜色的
<div>区块来规划布局。 - 集成最终3D模型:最后,用精细的3D模型替换掉之前的基本体占位符,完成场景的最终视觉呈现。
这种方法的重点在于先规划场景的视觉与空间结构。360度内容有助于从用户视角进行环绕式思考,而3D基本体则能帮助快速搭建空间框架。



设计实例:从草图到成品的动物园

我将通过我们设计的“动物园”项目,分五个阶段展示这一迭代过程。
第一阶段:基础场景
最初,我用了约20分钟创建了一个基础的飞行穿越场景,作为雏形。
第二阶段:添加世界与动物
随后,卡拉加入了项目。我们置入了更多的虚拟环境元素,并引入了动物模型,使场景初具规模。
第三阶段:环境设计与交互
接下来,我们专注于环境设计。我们在集成到最终版本前,于单独的场景中开发了菜单系统。此外,我们还引入了宠物园和投喂区等交互区域。
第四阶段:整合中性实验室场景
我们将两个在中性实验室环境中测试过的场景功能整合起来。
第五阶段:最终体验
将所有元素组合在一起,便形成了最终的沉浸式动物园体验。这个完整的项目很好地展示了从简单起点到复杂成品的迭代设计过程。
快速原型演示:工作室360照片
为了更直观地说明,我将以工作室为例进行一个快速原型演示。
首先,我拍摄了一张工作室的360度照片,并将其上传至一个Glitch项目作为天空盒。在VR中查看时,它提供了一个立体的环境背景。



接着,在拥有360度背景的基础上,我可以快速添加一个由3D基本体(如方块)构成的简易菜单。每个方块可以代表一个入口,用于加载不同的场景或选择不同的功能(例如选择虚拟形象)。
以下是这个原型演示的核心步骤:
- 将360度照片设置为场景背景。
- 使用3D基本体(方块)在场景中创建交互元素(如菜单选项)。
- 在VR中预览,感受从360度环境到3D交互元素的过渡。

这种方法能让我们快速地进行原型设计,混合使用360度内容和3D基本体,在投入大量资源制作精细模型前,验证想法的可行性和沉浸感。
VR中的交互设计类型
在构建交互时,我们可以从高层次上区分三种主要类型,它们同样适用于VR:
以下是三种主要的XR交互类型:
- 隐性交互:由系统自动触发。
- 基于摄像头/注视:例如通过头部移动(头部注视)或眼球运动(眼动注视)来触发。
- 基于系统:由位置、时间、计数器、事件或物理引擎等条件触发。例如,基于GPS定位、一天中的不同时间(如昼夜切换)来改变体验。
- 显性交互:需要用户或环境明确的输入。
- 基于用户:用户通过VR控制器、手指指点、特定手势或姿势、语音命令等方式主动发起交互。
- 基于环境:通常涉及将物理对象或标记带入摄像头视野来触发交互,在增强现实(AR)中更常见,但在VR中也有应用潜力(例如追踪一个定制的实体遥控器)。
- 混合型交互:结合以上多种方式。
- 系统+用户:例如“凝视驻留”交互,用户注视一个目标一段时间(系统计时)后触发动作。
- 多模态用户交互:用户同时使用多种方式交互,如结合手势和语音命令。
我们将在后续课程中更深入地学习VR中的交互设计实现。
设计师的责任:社会与伦理考量
作为专注于开发的课程,我们很容易忽略一些更高层次的设计责任。VR设计师和开发者拥有巨大的影响力,几乎完全掌控着用户所见所感,因此必须审慎负责。
以下是设计时必须时刻牢记的几个关键议题:

- 社会与伦理问题:VR体验虽然是个人化的,但也可能是协作式的。需要注意内容对用户可能造成的心理影响。此外,设备的外部传感器和摄像头可能涉及他人隐私,并非所有人都愿意被其拍摄。
- 可及性与公平性:目前VR设备成本较高。作为设计师,在追求高端6自由度设备体验的同时,也应考虑如何让体验在更廉价、普及的3自由度设备(如Cardboard)上运行,以触及更广泛的用户群体,促进技术公平。
- 隐私与安全:开发XR应用必然涉及隐私和数据安全问题。即使你使用的是现成的开发框架,也有责任审慎选择工具,了解其隐私政策,并为自己的技术选择负责。

本节课中,我们一起学习了如何通过迭代和分层的方法设计VR环境,了解了VR中主要的交互设计类型,并深刻认识到作为一名VR设计师所肩负的社会与伦理责任。记住,好的设计不仅是技术的实现,更是对用户体验和社会影响的深思熟虑。
100:VR动物园设计案例


在本节课中,我们将通过一个具体的虚拟现实动物园项目案例,学习VR设计中的核心概念,包括导航、物体选择与操作等。我们将跟随开发者的视角,探索这个项目的设计思路与实现细节。
概述
本节课我们将分析一个名为“夜间动物园”的虚拟现实项目。该项目由密歇根大学的一位教授与学生共同开发,旨在作为学习VR设计的实践案例。我们将通过这个案例,理解如何在VR环境中实现用户导航、与虚拟物体交互,并探讨虚拟体验与现实约束之间的平衡。
项目介绍与导航
首先,我们来看看这个VR动物园的起点。项目模拟了一个夜间动物园的场景,用户可以从起点开始探索。
在VR中,移动是一个基础且重要的功能。用户主要有两种移动方式:行走和传送。
- 行走:用户可以在虚拟空间内自由走动,靠近远处的动物或其他物体。
- 传送:用户可以通过指定目标点,瞬间移动到该位置。这是一种避免晕动症并快速穿越大型空间的常用方式。
以下是导航功能的一个简单代码示意:
// 伪代码:传送功能的基本逻辑
if (用户确认了传送目标点) {
将用户摄像机的位置 = 目标点位置;
}
上一节我们介绍了基本的移动方式,本节中我们来看看如何通过菜单进行快速区域跳转。
项目设置了一个菜单系统,允许用户直接传送到不同的主题区域。例如,点击“非洲草原”按钮,用户便会立即切换到相应的场景。这种设计极大地提升了探索的效率和便捷性。
物体选择与操作
除了移动,与虚拟世界中的物体互动是沉浸感的关键。在这个动物园项目中,设计了一个“喂食与抚摸动物园”区域,以展示物体选择与操作。
核心机制是:用户可以使用VR控制器“拾取”物体(如香蕉),然后将其移动、旋转,甚至“喂”给动物。
这个过程涉及几个关键技术概念:
- 碰撞体(Collider):每个可交互的物体都有一个不可见的边界框(碰撞体)。当控制器的碰撞体与物体的碰撞体接触时,系统便知道用户“碰到”了该物体。
- 拾取(Pickup):在碰撞发生后,通过抓取动作(如按下扳机键),物体就可以被“吸附”到控制器上,随控制器移动。
- 物理系统(Physics):被拾取的物体遵循物理规则。当用户“抛出”香蕉时,它会以抛物线运动,落地后停留在具有“静态碰撞体”的地面上。
这个功能基于一个名为 Super Hands 的组件开发,它简化了复杂的交互逻辑。物体操作的核心公式可以概括为:
交互触发 = 碰撞检测 + 输入捕获
内容创建与整合
一个丰富的VR场景离不开大量的3D模型。本项目中的所有动物和植物模型均来自免费的资源库(如Google Poly)。
然而,直接使用免费模型会带来挑战:模型的尺寸、比例和动画可能不统一。开发者需要投入大量工作进行调整,例如,将过大的长颈鹿模型按比例缩小,以确保所有动物在场景中的大小关系合理。
此外,为了提升体验,开发者还为鸟类等模型添加了动画,并考虑了群体动画的同步问题(例如,让企鹅的舞蹈动作略有延迟,以显得更自然)。
设计考量与虚拟优势
这个案例特别有趣的一点是,它揭示了VR体验的独特优势。项目最初灵感来源于真实的底特律动物园,但最终并未与动物园合作。
通过与真实动物园的交流,团队意识到,出于动物福利和安全的现实约束,许多体验(如近距离喂食、抚摸动物)在现实中是无法实现的。而这恰恰是VR可以发挥优势的地方:在虚拟世界中,我们可以安全地创造这些沉浸式互动,不受物理限制。
其他设计考量还包括:
- 性能优化:为确保在Oculus Quest等移动VR设备上流畅运行,项目可能简化了光影效果(如去掉了复杂的实时阴影)。
- 用户体验:设置了安全边界(如无法进入危险的“亚洲森林”深处),并利用手电筒效果营造夜间氛围,增强了沉浸感。
总结
本节课我们一起学习了一个VR动物园的设计案例。我们回顾了:
- 导航设计:包括行走、传送和菜单快速跳转。
- 物体交互:通过碰撞检测、拾取和物理系统实现选择与操作。
- 内容整合:如何利用免费资源并处理比例、动画等统一性问题。
- 虚拟优势:认识到VR可以突破现实约束,创造独特、安全的体验。

这个项目作为一个综合案例,生动地展示了将VR设计核心概念应用于具体项目的过程。希望这次“夜间动物园”之旅能帮助你更好地理解如何设计和构建一个引人入胜的虚拟现实体验。
101:Kara Dailey 🎙️


在本节课中,我们将与卡拉·戴利进行一次对话。卡拉曾参与多个项目,并为本MOOC课程提供了支持。她最重要的贡献是帮助我们开发了一个VR项目,用于学习如何设计虚拟现实、如何在VR中导航(移动),以及如何进行对象选择和操作。这个项目基于虚拟现实中的底特律动物园。我们邀请卡拉来谈谈这个项目,并进行回顾。
项目概述与背景 🦁
上一节我们介绍了本次访谈的目的。本节中,我们将了解卡拉本人以及项目的起源。
卡拉是密歇根大学信息学院的应届硕士毕业生,主攻用户体验设计与研究,并在XR领域有实践经验。她参与了本课程相关项目。
我们今天要讨论的动物园VR项目始于一次课程答疑。当时,我希望向学生讲解几何学以及在虚拟现实中重建现实世界元素的概念,因此创建了底特律动物园的粗略布局,并收集了一些动物3D模型。卡拉接手了这个项目,并将其完善成了一个精美的作品。
设计理念:真实与虚拟的平衡 🗺️
在了解了项目背景后,我们来看看其设计理念。卡拉首先谈到了如何在保持真实感和创造独特VR体验之间取得平衡。
她希望项目与当前底特律动物园的实际情况保持一致。因此,她研究了动物园各区域的样貌和名称,并确保使用的动物模型与底特律动物园现有的动物种类一致,例如长颈鹿、大猩猩和美洲草原区的野牛。
同时,VR也提供了创造独特体验的机会。项目中加入了“夜间动物园”和“投喂区”等现实中底特律动物园没有的特色内容。“投喂区”的灵感来源于卡拉儿时在圣地亚哥动物园喂长颈鹿的经历。在VR中,可以轻松实现这种互动体验。
虚拟现实中的导航设计 🚶♂️
设计好场景后,下一个关键问题是如何在其中移动。在真实的动物园中需要大量步行,而在虚拟现实中,我们提供了不同的导航方式。
以下是项目中实现的两种主要导航方法:
- 传送:使用带控制器的头显时,用户可以通过传送快速跨越长距离,直接到达目的地。
- 菜单导航:项目包含一个菜单界面,用户可以在其中选择并快速跳转到动物园的不同区域。这个设计最初是为了方便在没有头显时,通过网页浏览器或Google Cardboard进行调试和体验,同时也确保了没有高端头显的用户也能顺畅游览。
开发挑战与模型处理 🛠️
导航设计解决了“如何移动”的问题。接下来,我们深入探讨开发过程中遇到的具体挑战,尤其是在使用A-Frame和处理3D模型时。
卡拉提到,处理来自Google Poly的模型是一大挑战。这些模型在尺寸和构建方式上并不一致,有时模型过大,放置到场景中时,用户视角甚至会位于模型内部。
为了解决这个问题,她建立了一个CodePen场景作为“实验室”,将所有模型的初始位置归零并统一尺寸比例,然后再复制到主场景中。这种方法确保了场景中所有元素的一致性,避免了后续调整尺寸或寻找被错误放置的模型的麻烦。
项目中使用了Google Poly的静态模型和SketchFab的免费动画模型。对于光照和材质不一致的问题,她利用A-Frame Inspector工具进行调整。例如,为了营造动物园稀疏的树林感,她通过Inspector编辑了森林环境的变量。
项目规划与时间投入 📅
面对复杂的开发工作,良好的规划至关重要。卡拉分享了她的项目组织经验。
在开始编码前,她先用草图规划了整个场景的布局和动物摆放。实际开发时,她采取了分阶段、分场景的策略,而非一次性构建整个地图。这种模块化的方法让复杂的项目变得易于管理。
关于时间投入,整个项目(包括规划和实施)大约花费了20到40个小时,历时一个月左右。这提醒学习者,即使是看起来简单的VR项目,也需要仔细规划时间。
交互实现:对象操控的挑战与解决 🍌
规划好场景后,最具挑战性的部分是实现交互,尤其是对象操控。卡拉详细讲述了实现“投喂动物”功能时遇到的困难。
最初,她尝试为所有用户(包括使用Cardboard或网页浏览器的用户)实现“点击投掷”香蕉的功能,但这涉及到复杂的物理模拟,尝试集成多个库后效果并不理想。
最终,解决方案转向了专门为头显和控制器设计的交互。项目使用了super-hands等库,支持用户用手柄“抓起”香蕉,然后将其“扔”向动物。释放物体时还需要计算并保持速度,这引入了物理效果,是技术上最具挑战性的部分之一。为了让交互更易进行,虚拟香蕉的尺寸被有意放大,使其更容易被抓取和观察运动轨迹。
未来改进与扩展方向 🔮
项目已经具备了导航、游览、投喂等交互功能。如果时间允许,还可以从哪些方面提升沉浸感呢?卡拉提出了几点设想。
她认为可以增加动态元素,例如让鸟类在温室中沿固定轨迹飞行动画。此外,添加环境音效(如美洲草原上的牛叫声)或交互音效(如抚摸猴子时发出的声音),都能显著增强体验的沉浸感。
给学习者的建议 💡

在访谈的最后,卡拉基于自身经验,为想要学习XR开发的学习者提供了宝贵的建议。
她认为最大的困难往往源于缺乏前期规划。她建议,在开始任何项目时,先完成所有困难的准备工作,例如统一所有模型的尺寸和初始位置。预先搭建好基础框架,后续调整场景、移动模型等就会变得轻松许多。先苦后甜,做好规划是成功的关键。
总结 🎯


本节课中,我们一起学习了卡拉·戴利开发的底特律动物园VR项目。我们探讨了其设计理念如何在真实与虚拟间取得平衡,了解了项目中实现的两种导航方式,并深入分析了开发过程中在处理3D模型、规划项目、实现复杂对象操控交互时遇到的挑战及解决方案。最后,我们还探讨了项目可能的扩展方向,并收获了关于XR开发前期规划的重要建议。这个项目将成为我们学习VR设计、导航和交互的绝佳案例。
102:VR界面导航设计第一部分 🎮


在本节课中,我们将学习虚拟现实中的菜单设计与导航。如果你有设计或开发移动端、网页应用的经验,那么你对这类应用中的菜单和导航一定很熟悉。它们有特定的设计模式,尤其是在移动端,例如 Material Design。对于菜单,也有具体的指导原则。然而,在虚拟现实中,情况则更为复杂。这是一个三维世界,我们如何在这个世界中导航?如何放置菜单这类对象?如何与菜单交互并触发其功能?这些都是我们将要探讨的问题。此外,我们还将讨论导航,特别是关于移动视点(即“旅行”)的技术。虚拟现实世界的大小通常与我们体验时所处的物理空间大小不匹配。事实上,虚拟世界通常比可用的物理空间大得多。因此,在导航方面有一些常用技术,例如传送,这就是我们本节课要学习的内容。

上一节我们概述了VR导航的挑战,本节中我们来看看一个具体的案例研究。

我们将回到动物园案例中继续学习。我们进入动物园场景,降落下来,然后会看到一个菜单。这个菜单的功能是改变视点,实际上是将我们传送到虚拟世界中的不同位置。目前我并非在VR中操作,只是通过点击演示。这个动物园是用WebXR和A-Frame实现的,我们定义了一些组件来实现传送功能。每个菜单选项都嵌入了一些代码,这些代码会触发将视点移动到不同3D位置的动作。我们从不改变Y轴坐标,只改变X和Z轴坐标。Y轴坐标显然由你身体的高度和头显在Y轴上的实际位置决定。

这里我稍微展示一下我们是如何在幕后实现这一点的。每个菜单选项都关联了一个位置。你还可以看到,在这些不同的位置,我们总是有一个“返回”按钮,这个按钮会将你带回起始的圆环位置。在这个演示中,我移除了所有动物,以便我们能专注于虚拟世界本身及其导航。
为了让菜单和导航能像我们演示的那样工作,这实际上已经涉及了一种对象选择的形式。我们将在单独的课程中讨论光线投射和命中测试。在这里,我只想专注于我们如何在这个世界中导航。接下来我将展示这个案例的VR版本。正如你所料,我拿起控制器,虽然没有手电筒,但我们有激光指针。用这个激光指针,我可以选择这些选项,然后它就会将我传送到那里。传送会保持方向不变,我们不会调整任何方向。如果你在传送时看向另一个方向,那么传送后你将继续看向那个方向。当然,也有其他方法来处理这个问题,例如在SteamVR或Unity的混合现实工具包中,在定义传送区域和热点时,你有各种配置选项,包括着陆区域是否应进一步调整你的视点。
上一节我们通过案例了解了导航,本节中我们来看看VR中菜单设计的四种主要放置方式。
在设计VR菜单并放置它们时,你有四个主要选项。可能还有更多,但这是常见的几种。你可以将其固定放置在虚拟世界中的某个位置,它始终在那里。这类似于我们在增强现实中称为“锚定”的方式。其次,它可以附着在头部,也就是你的虚拟摄像机上,这本质上是一种平视显示器。我将为你展示一个例子。第三,它可以附着在你的控制器上。当我们追踪你的控制器时,就可以将菜单附着在VR运动控制器上。第四,我们可以将其附着在手上,就像最新的VR头显那样,甚至在WebXR中,我也将展示一个手部追踪的例子。我很高兴能将这个例子放进来,为了展示它我疯狂地编写了一些代码,虽然最终看起来不那么惊艳,但我为此感到自豪。让我们开始吧。
以下是四种主要的VR菜单放置方式及其特点:


- 固定菜单:菜单被放置在虚拟世界中的一个固定位置。如果你看向别处,它就会从你的视野中消失,但它仍然在那个位置。在这个小例子中,当我点击任何选项时,就会生成一个新的立方体。功能上没有区别。在这个系列示例中,我希望我们关注的是菜单的放置位置,以及这如何稍微改变交互方式,尽管从技术上讲,交互是相同的:你使用光线投射,指向菜单,获得一些视觉反馈,然后触发它。
- 平视显示器菜单:这种方式将菜单附着在你的虚拟摄像机上。在我这里的实现中,我仍然可以触发它来隐藏或显示。但当它可见时,它实际上是附着在我的摄像机上的。这不是一种非常常见的方式,如我所示,它可以实现得更优雅,但这是一种选择。好处是它总是在视野中,当然,这也可能是缺点,具体取决于我们谈论的是哪种体验。例如,在选择关卡时,这可能很有用。在这个具体例子中,我不太喜欢它,因为我在操作世界,所以实际上希望看到更多世界。但如我所说,它的好处是它随着摄像机移动。是的,它不是很流行。
- 控制器菜单:这种方式实际上相当流行。例如在Tiltbrush或许多VR绘画应用中,你总有一些调色板附着在左手控制器上。如果你是右撇子,你用惯用手(右手)来绘画,非惯用手(左手)则作为调色板,握着你正在使用的一些工具来操作世界。这里我展示这个例子,它是同一个菜单,我把它缩小了一点,然后附着在左手控制器上。交互实际上相当流畅:我用左手触发菜单,用右手的激光指针指向选项。只有当菜单可见时,命中测试和光线投射才会工作。这是一个非常简洁的设计,你也可以通过“穿透”或使用激光指针等方式来实现。我们正在不断地堆叠这些立方体,我认为这很酷。
- 手部菜单:我特别自豪能用最新的WebXR实现这个。我这是在Oculus的Oculus浏览器上做的,它目前是唯一支持实验性手部追踪的浏览器。我稍微改变了一下世界,使用了这些手部模型,并将菜单附着在左手上。我实际上用了一点技巧:这是一个单面平面,只有当我像这样举起手时才可见。你可以看到我的手被实时追踪。当我转动手时,菜单会消失,这只是因为我设计了菜单材质的方式。有更优雅的方法可以实现,例如,你可以查看手的方向,然后只在手像这样时才显示菜单。但这只是一个非常简单的原型,看起来已经相当酷了。因为是手部交互,我可以开始“玩”这些立方体。这种手部交互很有趣,但我们无法获得力反馈。虚拟现实控制器的优势在于它有振动电机,我们可以利用这一点。当然,我们中的研究人员可能会说,你可以进行肌肉刺激,即使你只用手,我们也能给你反馈,这是真的,但这还处于实验阶段。据我所知,还没有成熟的产品可以让你简单地附着在身上来实现这种肌肉刺激。如果你对此感兴趣,显然我只是在介绍一些基础知识,但我脑子里总是在想一些更高级的东西,因为我真的很喜欢做这些。但打好基础很重要,如果你对这些领域感兴趣,我也可以分享更多这方面的研究论文,我有一些优秀的同事和朋友正在这个领域工作。




本节课中我们一起学习了虚拟现实中菜单设计的四种主要放置方式:固定菜单、平视显示器菜单、控制器菜单和手部菜单。每种方式都有其适用场景和交互特点。我们还通过动物园案例,了解了如何使用传送作为在广阔虚拟世界中进行导航的一种有效技术。理解这些基础概念是设计流畅、直观的VR用户体验的关键。
103:VR界面导航设计第二部分


概述
在本节课中,我们将学习虚拟现实中的导航设计,特别是“移动”这一核心概念。我们将探讨不同的移动技术,并通过实际演示和代码示例来理解其实现原理。
导航的核心概念:移动与寻路
上一节我们介绍了菜单设计,本节中我们来看看导航。在最高层面上,导航可以分为两个部分:
- 移动:这是视点运动的运动组件,例如传送功能。
- 寻路:这是用户考虑所有选项后决定去哪里的认知组件。

本节课我们将专注于移动部分。

虚拟现实中的移动技术
以下是几种主要的VR移动方式:
- 菜单触发移动:通过菜单选择目的地进行移动,我们在动物园示例中广泛使用了这种方法。
- 传送:通过控制器发射射线来指示着陆点,然后瞬间移动到该位置。这可以是控制器触发,也可以通过菜单触发。
- 真实行走:在六自由度头显中,如果使用Inside-Out追踪或设置了定位基站,用户可以在一定物理空间内真实行走。
- 重定向行走:这是一种高级技术,通过应用一个增益函数来扭曲用户的行走感知。例如,在物理空间中直线行走,但在虚拟世界中可能走的是曲线,从而允许用户在较小的物理空间内探索较大的虚拟环境。这属于研究性内容,我们将在课程最后一周的高级技巧部分详细讨论。
接下来,让我们重点看看传送和行走这两种最常用的技术,并通过一个详细的演示来学习。


A-Frame VR移动演示

我将通过一个A-Frame示例来演示VR中的移动。在这个场景中,摄像机的位置变化遵循右手坐标系规则:


- 向前移动会减少Z值。
- 向后移动会增加Z值。
- 向左移动会减少X值。
- 向右移动会增加X值。
我还可以飞行,例如上升到3米的高度。在演示中,我会实时打印出世界坐标位置,这对于理解传送功能很有帮助。

当我进入VR模式后,可以通过身体动作进行移动:
- 身体前倾会减少Z值。
- 身体后移会增加Z值。
- 身体左右倾斜会改变X值。
- 蹲下会显著降低Y值(大约1米)。
传送功能允许我通过控制器指向目标位置并瞬间移动过去。当我传送到一个对角线方向的位置时,X和Z坐标都会发生显著变化。
摄像机“装备”的重要性
实现流畅移动的一个关键概念是摄像机“装备”。这个“装备”是一个包含以下实体的父级容器:
- 头部(摄像机)
- 左手控制器
- 右手控制器
代码示例:A-Frame中的摄像机装备结构
<a-entity id="rig">
<a-entity id="head" camera></a-entity>
<a-entity id="leftHand" hand-controls="hand: left"></a-entity>
<a-entity id="rightHand" hand-controls="hand: right"></a-entity>
</a-entity>
当我们移动或传送时,需要移动整个“装备”,而不仅仅是摄像机。如果只移动摄像机,控制器会停留在原来的世界位置,导致用户“身首分离”的错乱体验。通过移动“装备”,我们可以确保头部和控制器作为一个整体被带到新的位置。

《半衰期:爱莉克斯》中的移动设计实例
《半衰期:爱莉克斯》是一款优秀的VR游戏,它巧妙地集成了多种移动技术。它主要展示了四种移动方式:
以下是游戏中四种移动方式的简要说明:
- 闪烁移动:传送到目的地,伴有短暂的屏幕淡入淡出效果。这是最舒适的移动方式。
- 平移移动:传送到目的地,伴随快速的线性移动动画(没有黑屏过渡)。
- 头部导向连续移动:按住控制器摇杆,朝你头部注视的方向持续移动。
- 手部导向连续移动:按住控制器摇杆,朝你手持控制器指向的方向持续移动。
在游戏中,传送功能设计得非常出色。它会计算目的地是否合法(例如,是否可站立、是否在跳跃范围内),并可视化着陆效果。如果目的地太远,可能需要多次传送才能到达。
对于连续移动的两种方式,体验因人而异:
- 头部导向移动可能更容易引起晕动症,因为身体静止而视觉在移动,感官产生冲突。
- 手部导向移动提供了一些本体感觉(因为手在动),但这种方式不符合直觉,感觉像在“超人式”飞行,可能也不是主流选择。
总结
本节课我们一起学习了VR界面设计中的导航部分,重点是移动技术。我们了解了传送、真实行走和连续移动等基本方法,并通过A-Frame演示理解了摄像机“装备” 对于统一移动的重要性。最后,我们以《半衰期:爱莉克斯》为例,观察了多种移动技术在实际游戏中的混合应用与用户体验差异。


关于菜单设计,虽然具体形态会快速演变,但总体上仍可归类于固定、注视、手持和身体附着这四大概念范畴。掌握这些核心概念,将有助于你理解和设计未来的VR交互界面。
104:VR对象选择与操作第一部分


概述
在本节课中,我们将学习虚拟现实(VR)中对象选择与操作的基本概念。我们将探讨如何让用户在VR环境中与虚拟内容进行交互,包括如何选择远处的物体以及如何抓取和操纵近处的物体。理解这些交互技术对于创建沉浸式VR体验至关重要。
对象选择与操作的重要性
在虚拟现实中,我们希望能够选择物体并操纵虚拟世界。这两项功能都能显著增强沉浸感。让用户能够与内容互动,可以提升用户的“在场感”和沉浸体验。
案例研究:虚拟动物园
我们将以一个虚拟动物园作为案例进行研究。这个场景类似于之前专注于菜单和导航的课程,但本次我们将重点放在选择物体这一核心概念上。
在场景中,当我指向这些物体时,我为它们添加了碰撞体,并通过物理系统的调试功能使其可视化。这有助于说明哪些区域是活动的交互区域。
从我的控制器射出的激光(射线投射器)会检测与这些碰撞体的接触,这个过程称为命中测试。
目前,交互效果还比较简单(例如仅使用手电筒效果)。但我们可以在此基础上进行扩展,例如让每个被指向的动物播放声音、改变外观、看向用户或触发模型动画。虽然实现更高级的功能需要时间,但我们已经展示了射线投射的基本工作原理。
你可以看到射线如何与某些物体交互(射线似乎不会穿过它们),而与其他物体则无交互(射线直接穿过)。这取决于物体是否设置了碰撞体。
我们需要告诉VR系统(或其背后的引擎)应该对哪些物体进行命中测试。如果对场景中的所有物体都进行测试,计算成本可能会很高。因此,这是一个需要注意的优化点。你可以选择让某些物体有反应,而另一些则没有。
如果你想基于我们的动物园项目构建自己的示例,该项目资源是可用的。我们有一个包含所有步骤的案例研究,作为荣誉课程的一部分,我们将更深入地探讨它。
互动喂食区示例

现在,我们来看一个互动喂食区的例子。需要说明的是,这个动物园是以底特律动物园为原型建模的,但完全是虚构的。在现实中,底特律动物园有很高的动物福利标准,不允许喂食。这正是VR的酷炫之处——我们可以安全地模拟这类体验。
从技术案例的角度,我们关注的是碰撞体。你可以看到香蕉周围现在有可见的碰撞体(一个很大的盒子形状碰撞体)。我可以拾起它,并且系统可以检测到它们之间的碰撞。
这些碰撞体是盒子形状的,对香蕉的几何形状拟合得并不完美。在Unity等引擎中,我们可以使用网格碰撞体来做得更好。在WebXR中,虽然也有配置方法,但相对复杂一些。
当我们把物体扔出去时,物理系统开始起作用。系统会根据控制器在前几帧中的移动来计算物体的速度,并在控制器释放物体后继续模拟其运动,从而产生“投掷”的感觉。
由于物理系统的存在,物体需要落在某个表面上。因此,我们在下方放置了一个虚拟平面,防止物体无限下坠。将物理与物体操作相结合,可以创造出非常逼真的VR体验。
我认为为这样的体验添加物理系统总是值得考虑的。否则,物体就会漂浮在空中。当然,在原型设计或草图绘制阶段,让物体悬浮在空中可能更合适。但对于我们的动物园,我们希望它更真实一些。
VR交互的分类
我已经介绍了大部分内容。现在,我想继续讨论VR交互。从最高层面来看,VR交互可以分为几大类:
- 移动:这是在VR中的一种交互形式,可以是显式的或隐式的。
- 对象选择:在虚拟世界中选择物体。
- 对象操作:在虚拟世界中修改和操纵物体。
本课程将重点讨论后两者,因为之前的课程已经重点讨论过导航和移动。
对象选择:远距离选择与近距离选择
在对象选择方面,我们可以区分为远距离选择和近距离选择。实际上,这两种分类也适用于后续的操作,但我们现在先关注选择物体这一步。
以下是两种选择方式的核心区别:
- 远距离选择/操作:我们使用射线投射和命中测试来进行对象选择。我将在视频中演示这一点。
- 近距离选择/操作:我们需要采用不同的方法。我们会在虚拟现实控制器(或基于手部追踪示例中的手部模型)周围定义碰撞体。当你的手或控制器与虚拟物体发生碰撞(即相交)时,我们进行碰撞检测并触发选择。
射线投射与命中测试示例
这是一个典型的从控制器射出射线投射器的例子。当射线与那个立方体相交时,我们可以改变立方体的外观以提供视觉反馈。
基本上,我们可以进行连续的命中测试。例如,我指向这个平面上的某个位置,系统会持续计算交点。当用户触发控制器或点击屏幕(在AR中)时,我们就可以在那个交点上放置一个物体。这个灰色的表面可以是环境中检测到的平面。
这就是射线投射和命中测试。简单来说,就像用控制器向世界发射一条射线,然后确定它击中了哪个物体,并精确获取交点位置(我在那里生成了一个球体)。这项技术对各类应用都非常有用,包括移动,当然也适用于选择菜单项等。
碰撞检测示例
接下来,我们看看碰撞检测。射线投射和命中测试用于远距离选择或操作,而近距离选择和操作则需要不同的方法——即碰撞检测。
在这个例子中,我为手部模型、下方的平面以及盒子都设置了碰撞体。现在,我将传送到盒子旁边进行演示。
当我把手伸进盒子里时,你可以看到我们检测到了碰撞。手部周围有一个球形碰撞体(并非精确到指尖,这样灵敏度更高)。当这些碰撞体发生碰撞时,我们检测到了一种“悬停”状态。
这样,我就可以开始与物体交互了。我已经“悬停”选择了它。这个功能可以用于单手或双手。同时,我会提供一些视觉反馈(例如盒子碰撞体的轮廓)。显然,这个盒子现在是放在一个表面上的,所以我们也为它应用了物理效果。
核心构建模块总结

两个主要的构建模块是:


- 射线投射:用于远距离选择。
- 碰撞检测:用于近距离选择。我们需要为手部或控制器(本例中使用了VR控制器,但展示的是手部模型)定义碰撞体。当它进入虚拟物体时,我们就可以检测到碰撞。
碰撞体的概念在实现中至关重要。在基于A-Frame(即基于Three.js)的WebXR中,所有的交互默认都需要定义碰撞体。通常有盒状和球状碰撞体,还有一种AABB(轴向包围盒)碰撞体,本例中使用的就是这种。A-Frame中可以使用这些碰撞体。
此外,还有一个名为“Super Hands”的库,它定义了所有这些碰撞检测功能。我在碰撞检测示例中使用的就是Super Hands库,它是专门用于VR碰撞检测的,功能很强大。使用它,你可以真正地操纵场景。
总结

本节课中,我们一起学习了VR中对象选择与操作的基础知识。我们探讨了通过射线投射和命中测试实现远距离选择,以及通过碰撞检测实现近距离选择。我们还通过虚拟动物园和互动喂食区的案例,看到了这些技术在实际中的应用。理解这些核心交互技术是创建引人入胜且沉浸感强的VR体验的关键第一步。
105:VR对象选择与操作(第二部分)


在本节课中,我们将学习虚拟现实中对象操作的核心概念与具体实现方式。我们将通过多个实际示例,了解如何使用控制器和手部追踪来抓取、移动、旋转和拉伸虚拟对象。
概述
对象操作是指在虚拟世界中修改物体的属性。我们将探讨四种主要操作方式:悬停、抓取、旋转和拉伸,并分别通过远距离操作、近距离操作和手部追踪操作来演示这些概念。
远距离操作示例
上一节我们介绍了对象选择,本节中我们来看看如何进行对象操作。首先,让我们通过“超级手”系统来了解远距离操作。
在远距离操作中,用户使用激光指针与远处的物体交互。以下是其工作流程:


- 选择:使用激光指针指向并选中目标物体。
- 抓取:通过控制器上的“抓握”按钮锁定物体。
- 移动:移动控制器来拖动物体。
- 释放:松开抓握按钮,物体将根据物理引擎规则落下或被抛出。
这种模式适用于用户无需靠近即可与物体交互的场景。
近距离操作示例
接下来,我们看看当用户靠近物体时,如何进行更直接的操作。
在近距离操作中,系统通过碰撞检测来感知用户的手部或控制器是否进入物体范围。以下是可执行的操作列表:

- 悬停:当手部进入物体范围时,物体外观可发生变化作为反馈。
- 抓取与移动:使用抓握动作抬起并移动物体。
- 单手旋转:使用单个控制器改变物体的方向。
- 双手拉伸:使用两个控制器同时抓取物体,并通过移动控制器的相对距离来调整物体的大小。

完成操作后,释放物体,它将遵循虚拟世界的物理规则。
手部追踪操作
随着技术进步,我们现在可以摆脱控制器,直接使用双手进行交互。这通常依赖于如Oculus Quest等设备的计算机视觉手部追踪功能。
在手部追踪操作中,用户通过真实的手势与虚拟物体交互。其核心交互逻辑如下:
- 手势触发:例如,通过捏合手势可以调出手部菜单。
- 直接抓取:虚拟手部与物体发生碰撞时,可执行抓取动作。
- 物理交互:被抓取的物体受物理引擎驱动,可以被移动、堆叠或抛出。
这种交互方式非常直观,代表了VR交互的未来方向之一,尤其在基于WebXR的内容中具有巨大潜力。
高级操作应用:创意工具
对象操作不仅是移动物体,也是创造内容的基础。让我们看看它在专业创意工具中的应用。
在Tilt Brush这样的VR绘画应用中,操作的核心是高效生成和修改3D网格数据。用户选择画笔和颜色后,在空中移动控制器的轨迹会实时生成发光的、动态的3D笔触。这并非简单地放置大量小球体,而是对复杂几何体进行实时操作与渲染,展示了高性能VR应用的实现方式。

高级操作应用:沉浸式界面
最后,我们考察一个将操作与界面完美结合的范例。
在游戏《半衰期:爱莉克斯》中,有一个早期的白板场景。用户可以直接从环境中抓起一支虚拟笔,然后在白板上自由绘画。其交互设计非常精妙:
拿起笔即开始绘画,无需额外按钮。- 提供橡皮擦等工具,操作直观。
- 营造了高度沉浸和自然的叙事或规划体验。
这个例子展示了优秀的对象操作如何让虚拟界面感觉真实且易于使用。
总结
本节课中我们一起学习了VR中对象操作的多种方法。我们从基础的远距离抓取开始,了解了近距离的抓取、旋转和拉伸,探索了前沿的手部追踪技术,并见识了操作在创意绘画和沉浸式游戏界面中的高级应用。


这些示例奠定了VR交互的基础。如果您对如何编码实现这些功能感兴趣,可以深入查看相关的开发教程,那里将有更详细的技术实现和代码分享。在下一个模块中,我们将把焦点转向增强现实(AR)。
106:基础虚拟现实体验 🦒




在本节课中,我们将学习如何使用A-Frame框架创建一个基础的虚拟现实场景。我们将从一个简单的3D模型开始,逐步添加动画、灯光、阴影和基础的交互功能,最终构建一个兼容Cardboard和PC VR头显的VR体验。


概述



我们将创建一个包含旋转长颈鹿模型的VR场景。场景将设置夜晚的灯光效果,并添加一个聚光灯来照亮模型。我们还会实现基础的交互功能,例如通过凝视(Cardboard)或控制器射线来与场景互动。课程将涵盖如何将普通3D场景转换为VR场景,并确保其在不同设备上的兼容性。


从3D场景到VR场景 🎮


上一节我们介绍了课程目标。本节中,我们来看看如何将一个基础的3D场景转换为一个功能完整的VR场景。



我们的起点是一个简单的A-Frame HTML文件,它包含一个从Google Poly导入的长颈鹿模型和一个平面。

<!DOCTYPE html>
<html>
<head>
<script src="https://aframe.io/releases/1.2.0/aframe.min.js"></script>
<script src="https://unpkg.com/aframe-google-poly-component@1.1.0/dist/aframe-google-poly-component.min.js"></script>
</head>
<body>
<a-scene>
<a-entity google-poly="assetId:5vbJ5vildOq" position="0 0 -5" rotation="-90 0 0" scale="0.5 0.5 0.5" id="giraffe"></a-entity>
<a-plane position="0 -1 -6" rotation="-90 0 0" width="10" height="10" color="#7BC8A4" shadow="receive: true"></a-plane>
<a-sky color="green"></a-sky>
</a-scene>
</body>
</html>







目前,这只是一个3D网页。为了使其支持VR,我们需要添加VR模式所需的组件,例如控制器和相机装置。



以下是添加基础VR控制器支持的关键代码块。我们将一个包含相机和手柄控制器的“相机装置”实体添加到场景中。






<a-entity id="cameraRig" position="0 1.6 0">
<!-- 相机 -->
<a-entity camera look-controls wasd-controls position="0 0 0">
</a-entity>
<!-- 左手控制器 -->
<a-entity hand-controls="hand: left" laser-controls="hand: left"></a-entity>
<!-- 右手控制器 -->
<a-entity hand-controls="hand: right" laser-controls="hand: right"></a-entity>
</a-entity>




添加这段代码后,在支持WebXR的浏览器中,场景将提供进入VR模式的按钮。使用PC VR头显时,用户可以看到虚拟的手柄和射线。






为模型添加动画 🔄





现在我们的场景已经支持VR,接下来让场景中的元素动起来。我们将为长颈鹿模型添加一个简单的旋转动画。

A-Frame提供了内置的动画组件。我们可以通过animation属性来定义动画。以下是让长颈鹿在Y轴上轻微摇摆的动画代码:
<a-entity google-poly="assetId:5vbJ5vildOq"
position="0 0 -5"
rotation="-90 0 0"
scale="0.5 0.5 0.5"
id="giraffe"
animation="property: rotation.y;
from: -88;
to: -95;
dur: 3500;
easing: easeOutElastic;
loop: true;
dir: alternate">
</a-entity>





代码解释:
property: rotation.y: 指定动画作用于Y轴旋转。from和to: 定义动画的起始和结束值。dur: 动画持续时间(毫秒)。easing: 缓动函数,这里使用easeOutElastic产生弹性效果。loop: true: 动画循环播放。dir: alternate: 动画方向交替,形成来回摇摆的效果。











设置灯光与阴影 💡



灯光对于营造场景氛围至关重要。我们将把默认的绿色天空改为暗色,并添加一个聚光灯来突出长颈鹿模型,同时启用阴影。

首先,我们移除绿色天空,并添加一个环境光和一个聚光灯。



<!-- 环境光,为整个场景提供基础照明 -->
<a-light type="ambient" color="#333"></a-light>


<!-- 聚光灯,聚焦照亮长颈鹿 -->
<a-entity light="type: spot;
angle: 20;
intensity: 0.75;
color: #FFF;
castShadow: true;
target: #giraffe"
position="3 3 -3">
</a-entity>




代码解释:
- 环境光 (
type="ambient"):均匀地照亮所有物体,没有方向,用于防止阴影区域完全黑暗。 - 聚光灯 (
type="spot"):从一个点朝特定方向发射锥形光。angle: 光束的角度。intensity: 光的强度。castShadow: true: 允许此光源产生阴影。target: #giraffe: 将光指向ID为giraffe的实体。


为了让阴影正确显示,我们还需要确保接收阴影的平面(a-plane)和投射阴影的模型(长颈鹿)设置了正确的属性。
<!-- 平面接收阴影 -->
<a-plane ...
shadow="receive: true">
</a-plane>


<!-- 模型投射阴影(需模型本身支持) -->
<a-entity google-poly="..."
shadow="cast: true">
</a-entity>










实现Cardboard兼容与基础交互 👁️




为了让使用Cardboard等3DoF头显的用户也能进行交互,我们需要添加一个凝视光标。同时,我们为基础交互添加一个事件系统。



以下是添加凝视光标和VR大按钮的代码:

<a-scene>
<!-- 在相机内添加凝视光标 -->
<a-entity camera look-controls>
<a-cursor fuse="true" fuse-timeout="2000"
animation__click="property: scale; startEvents: click; from: 0.1 0.1 0.1; to: 1 1 1; dur: 150"
animation__fusing="property: scale; startEvents: fusing; from: 1 1 1; to: 0.1 0.1 0.1; dur: 1500"
animation__mouseleave="property: scale; startEvents: mouseleave; to: 1 1 1; dur: 500">
</a-cursor>
</a-entity>
<!-- 大的VR入口按钮(CSS样式) -->
<style>
.a-enter-vr-button {
width: 200px !important;
height: 100px !important;
font-size: 24px !important;
}
</style>
</a-scene>




现在,我们使用event-set组件来实现一个简单的交互:当用户凝视并触发光标(或点击)长颈鹿时,切换聚光灯的开关。





首先引入event-set组件库:
<script src="https://unpkg.com/aframe-event-set-component@5.0.0/dist/aframe-event-set-component.min.js"></script>




然后为聚光灯实体添加交互事件:
<a-entity id="spotlight"
light="type: spot; ..."
position="3 3 -3"
event-set__click="_target: #spotlight; _event: click; light.intensity: 0"
event-set__click-again="_target: #spotlight; _event: click; light.intensity: 0.75; delay: 300">
</a-entity>



代码解释:
- 第一个
event-set__click: 当#spotlight实体被点击时,将其光强设置为0(关灯)。 - 第二个
event-set__click-again: 再次被点击时,延迟300毫秒后将光强恢复为0.75(开灯)。通过不同的事件名区分两次点击。







总结





本节课中我们一起学习了构建一个基础WebXR VR体验的完整流程。


- 搭建VR场景: 我们从一个基础的3D A-Frame场景开始,通过添加相机装置和控制器支持,将其转换为一个可进入的VR环境。
- 添加动态效果: 我们使用
animation组件为长颈鹿模型添加了旋转动画,使场景更加生动。 - 营造氛围: 通过设置环境光和聚光灯,我们改变了场景的整体色调,并利用阴影增强了三维空间的真实感。
- 实现跨设备交互: 我们添加了凝视光标以适应Cardboard等设备,并利用
event-set组件实现了点击模型控制灯光开关的基础交互。


现在,你拥有了一个包含动画、光影和基础交互的VR场景,它既能在PC VR头显中通过控制器操作,也能在Cardboard中通过凝视进行交互。在接下来的课程中,我们将探索更沉浸式的功能,如传送机制和更复杂的控制器交互。
107:构建沉浸式VR体验 🦒





在本节课中,我们将学习如何将一个基础的WebXR场景扩展为一个功能丰富的沉浸式虚拟现实体验。我们将从之前创建的Cardboard兼容场景出发,逐步添加环境、物理效果、声音、粒子系统、传送和交互功能,最终构建一个支持高端VR头显(如Oculus Rift S)的完整应用。


环境与光照设置 🌲




上一节我们完成了基础的交互场景。本节中,我们来看看如何为场景添加一个逼真的环境。


首先,我们需要引入A-Frame的环境组件来替换简单的平面地面。这个组件提供了预设的森林、山脉等环境,并自带光照和雾效。




以下是添加环境组件的代码:


<!-- 在<a-scene>标签内添加 -->
<a-entity environment="preset: forest; shadow: true; skyType: atmosphere;"></a-entity>

添加后,原有的平面地面可能会与环境产生视觉冲突(如闪烁)。解决方法有两种:
- 将原有平面的
position的Y轴值略微提高(例如position="0 0.01 0"),使其渲染在环境地面之上。 - 直接移除原有平面,因为环境组件已经提供了地面。
我们选择移除原有平面,并使用环境组件自带的点光源。可以通过lightPosition属性调整光源方向,从而控制阴影的位置。

<a-entity environment="preset: forest;
shadow: true;
skyType: atmosphere;
lightPosition: -1 2 4;">
</a-entity>

添加背景音效与交互声音 🔊


声音是营造沉浸感的关键元素。我们可以为场景添加循环播放的环境背景音。
在A-Frame中,使用<a-sound>组件添加声音。由于浏览器的自动播放策略,背景音通常不会自动播放,需要用户交互来触发。
以下是实现代码:


<!-- 定义一个自动播放但可能被浏览器阻止的背景音 -->
<a-sound src="assets/background.mp3" autoplay="true" loop="true" rolloffFactor="0"></a-sound>
<!-- 更可靠的方法:通过点击场景来播放声音 -->
<a-entity id="soundTrigger" sound="src: assets/background.mp3; on: click;"></a-entity>
rolloffFactor: 0意味着声音音量不会随距离衰减,在整个场景中都能听到。
引入物理系统 🏀
为了让物体具有真实的坠落和碰撞效果,我们需要为场景添加物理系统。A-Frame社区提供了aframe-physics-system组件。
首先,在HTML头部引入物理系统库:

<script src="https://cdn.jsdelivr.net/gh/n5ro/aframe-physics-system@v4.0.1/dist/aframe-physics-system.min.js"></script>




然后,在场景中启用物理系统,并为需要受物理影响的物体添加dynamic-body属性,为静态物体(如地面)添加static-body属性。


以下是添加一个可掉落小球的示例:





<a-scene physics="debug: false;">
<!-- 静态地面 -->
<a-plane static-body position="0 -1 0" rotation="-90 0 0" width="100" height="100" color="#000" shadow></a-plane>
<!-- 动态小球(食物) -->
<a-sphere class="interactable" dynamic-body position="0 2 -4" radius="0.3" color="green" shadow></a-sphere>






</a-scene>
创建粒子系统(雨雪效果) 🌧️
粒子系统可以用来模拟雨、雪、火焰等效果,极大地增强场景的动态感和沉浸感。我们将使用aframe-particle-system-component组件。


引入组件库后,可以轻松添加一个下雨效果:


<script src="https://cdn.jsdelivr.net/gh/idewine/aframe-particle-system-component@v1.1.3/dist/aframe-particle-system-component.min.js"></script>
<a-entity particle-system="preset: rain;
color: #AAAAFF;
velocityValue: 0 0 -5;
particleCount: 5000;">
</a-entity>
请注意,某些环境组件可能与粒子系统存在兼容性问题,可能导致渲染异常。如果遇到问题,可以尝试调整环境组件的fog属性或粒子系统的参数。




实现传送与控制器交互 🎮
在沉浸式VR中,移动和交互主要依靠手柄控制器。我们将实现两个核心功能:传送移动和物体抓取。
传送控制
A-Frame的teleport-controls组件允许用户通过手柄指定传送点进行移动。通常将其绑定到非惯用手(如左手)控制器上。

<a-entity laser-controls="hand: left" teleport-controls></a-entity>

超级手部交互(抓取物体)
super-hands组件提供了强大的抓取、触摸、拖放等交互能力。我们需要引入一系列相关库。





首先,引入必要的组件:




<script src="https://cdn.jsdelivr.net/gh/wmurphyrd/aframe-super-hands-component@v3.1.0/dist/super-hands.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/wmurphyrd/aframe-physics-extras@v0.2.1/dist/aframe-physics-extras.min.js"></script>



然后,为可抓取的物体添加grabbable属性,并为手柄控制器添加super-hands和collider等混入属性(mixins)。


<!-- 可抓取的食物 -->
<a-sphere class="interactable" grabbable dynamic-body ... ></a-sphere>


<!-- 右手控制器,具备抓取能力 -->
<a-entity hand-controls="hand: right"
super-hands
mixin="collider">
</a-entity>




这样,用户就可以用手柄抓住“食物”小球,并投掷给长颈鹿了。





添加用户界面(UI)与菜单 📱
在VR中,用户界面需要以三维形式融入环境。常见的做法有“抬头显示器”(HUD)和“控制器附着菜单”。



抬头显示器(HUD)
HUD将UI元素(如分数、状态)固定在摄像机前方,始终处于用户视野内。




<a-entity camera look-controls>
<a-entity position="0 0 -1" text="value: Score: 0; align: center;" geometry="primitive: plane; width: 0.5; height: 0.1" material="color: black; opacity: 0.7"></a-entity>
</a-entity>


控制器菜单
将菜单附着在控制器上,用户可以通过按钮呼出菜单并进行选择,这是一种更符合VR直觉的交互方式。实现此功能需要编写自定义组件来处理菜单的显示、隐藏以及与控制器按钮的交互。








适配Cardboard设备 📱


虽然本节主要针对高端VR头显,但许多功能经过简化也能在Cardboard上运行。最关键的区别是Cardboard没有手柄,交互主要依靠凝视和点击。



例如,可以实现“凝视传送”:用户注视场景中的特定传送点一段时间后,自动传送到该位置。
<a-entity cursor="fuse: true; fuseTimeout: 1500;"
animation__click="property: scale; startEvents: click; from: 0.1 0.1 0.1; to: 1 1 1; dur: 150">
<a-entity position="0 0 -1" geometry="primitive: ring; radiusInner: 0.02; radiusOuter: 0.03" material="color: white; shader: flat"></a-entity>
</a-entity>


<!-- 传送点 -->
<a-ring class="teleport-spot" radius-inner="0.5" radius-outer="0.6" color="blue" position="2 0 -3"
event-set__enter="_event: mouseenter; scale: 1.2 1.2 1.2"
event-set__leave="_event: mouseleave; scale: 1 1 1"
set-pos-on-click="_event: click; target: #cameraRig; x: 2; z: -3">
</a-ring>



总结 🎯


本节课中,我们一起学习了如何构建一个完整的沉浸式WebXR VR体验。我们从添加环境与光照开始,逐步引入了背景音效、物理系统、粒子效果,并实现了通过手柄进行传送和抓取物体等高级交互。我们还探讨了为Cardboard设备适配的关键点。通过组合使用这些组件和技术,你可以创造出丰富、互动且引人入胜的虚拟现实世界。



下一步,我们将进入增强现实(AR)部分,探索如何利用WebXR和A-Frame在真实世界中叠加数字内容。
108:VR场景构建实践 🏗️


在本节课中,我们将学习如何将一个基础的3D场景转化为一个完整的虚拟现实体验。我们将从添加VR核心组件开始,逐步增加沉浸感、交互功能,并最终创建一个支持漫游和物体操作的VR场景。
概述
我们将基于之前模块中创建的3D场景,通过一系列步骤将其升级为VR场景。这个过程包括添加VR摄像机、调整场景比例与布局、增强环境与音效,并最终实现交互功能。无论你使用的是A-Frame、Unity还是Unreal引擎,本教程都将为你提供核心的构建思路。
从3D场景到VR场景
上一节我们完成了3D场景的构建,本节中我们来看看如何将其转化为VR场景。起点是上一个模块中的3D场景。这个基础非常重要。
显然,当你进入VR空间时,可能会对该3D场景进行优化和调整。但我建议你先按照我的方法完成3D练习,然后再进行VR转换。尽管你可能迫不及待地想进入VR世界——我理解这是一个迷人的领域。
设备要求与可选步骤
进行本练习需要一些设备。你可以使用Cardboard和手机(将手机放入其中)来完成。这是为了让绝大多数学习者至少能够尝试。因此,练习中的某些步骤我标记为可选。如果你只有三自由度(3DoF) 设备,这些步骤可能无法实现。
如果你拥有像Oculus Rift S或Quest这样的六自由度(6DoF) 设备,则可以体验更多功能。对于这类设备的用户,可以考虑使用Unity或Unreal引擎进行开发。
我的许多在校学生都使用Cardboard,我们也能用它创造出很酷的作品。请注意,我们甚至可以用Cardboard进行增强现实开发,这将在AR练习部分讨论。
即使没有其他设备,你也应该努力体验立体视觉,这能带来质的改变。理想情况是将设备佩戴在头上。如果完全没有VR设备,你可以在360度模式下模拟场景,但这并非真正的虚拟现实,不要混淆两者。
核心任务:构建VR场景
以下是你的VR场景构建任务:在A-Frame、Unity或Unreal中创建一个虚拟现实场景。请参考我在这些平台上的入门指南以更好地理解操作步骤。此时,你应该已经完成了3D场景,并做出了平台选择。
第一步:添加摄像机装置
从你的3D场景出发,第一步是添加一个摄像机装置。
- 在A-Frame中,是添加一个XR摄像机。
- 在Unity中(使用XR插件时),是添加一个摄像机装置。
目标是能够在VR中查看场景,这显然需要VR头显。在VR中查看时,你很可能会发现需要调整场景。
第二步:为VR调整场景
你需要为虚拟现实调整3D场景。重点考虑比例,很可能需要放大物体而非缩小,以获得正确的比例感,尤其是当你站立时。如果你使用的是6DoF头显,能够完全在3D空间中追踪移动,那么获得正确的比例和布局就更为关键。
同时思考场景布局是否需要调整:你希望用户有多少移动空间?虚拟世界应该有多大?即使只是看着智能手机屏幕,一旦放入Cardboard,你也会感觉空间变大了。这种环绕头部的体验会极大地改变你对比例的感知。
考虑添加一些视觉提示来引导用户视线。
第三步:增强沉浸感
接下来,请添加环境或地形以增强沉浸感。
- 在Unity和Unreal中,你可以添加岩石、树木等,效果会很出色,但这需要一些时间。
- 在A-Frame中,最简单的方法是使用环境组件并进行配置。你也可以使用模板来快速创建森林区域等。
灯光和声音对于沉浸感至关重要。请考虑添加额外的灯光,并务必添加声音。
第四步:实现交互功能(可选)
这是一个虚拟现实世界,你应该支持移动。这可以通过菜单实现,但需要一些深入研究。
- 在Unity中,可以使用Canvas或SteamVR、Mixed Reality Toolkit、XR Interaction Toolkit等组件库中的示例。
- 在A-Frame中,有传送组件,相对容易实现,但这需要控制器和VR头显支持,因此我将其标记为可选。
物体操作也是一个高级功能。你可以考虑近处和远处的物体操作。我展示过的每个工具包都有相关示例。在A-Frame中,这通常需要光线投射,可以使用激光控制器并响应点击事件。

练习目标与设计原则
本练习的核心目标是,引导你探索一种系统性的方法来创建一个包含所有基础要素的VR场景:沉浸感、移动支持和物体操作。如果实现了菜单或操作,也就包含了选择功能。这涵盖了我在讲座中谈到的所有基本要素。
通过这个过程,你将更好地理解VR中的比例和透视。你需要从3D场景进行调整,我确信你会学会如何分层构建VR体验。
为了让场景更沉浸,你应该考虑视差效果。让事情发生在远景、背景、中景和前景,而不仅仅是设计前景。像迪士尼电影一样分层设计会带来巨大不同。至少设置一个天空盒,在远处添加一些元素,在中景到背景中添加一些东西(比如几只鸟),再加上前景。
支持移动、物体选择和操作的交互,意味着你拥有了一个真正的虚拟现实世界:你可以在其中行走、探索、拾取和操纵物体。

学生案例与期望管理
在这个阶段,我的学生们通常非常兴奋,想创造一个超级酷的游戏。但这会非常困难。游戏的问题在于,你通常需要花费大量时间研究游戏机制等。如果你有游戏想法,请专注于一两个交互即可,不需要在这里制作完整的游戏。
让我们回顾一下我们的案例研究。这是一个非常复杂的虚拟现实场景的优秀例子。我的学生Kara花费了数小时来构建它。请不要被误导,虽然这可能看起来不像迪士尼的作品,但对于A-Frame来说,这已经是相对高质量的了。这是一个动物园场景,支持移动到不同区域,并实现了物体选择和操作(例如在宠物区喂食动物)。这是一个相当高级的场景,是完成了我的课程的学生花费数小时辛勤工作的成果。
XR体验层次概述
这让我想到了XR体验的概述。我们应该区分显式交互和隐式交互。
一个基础的VR体验(也是本课的目标)包含:3D模型(可能多个)、动画、灯光和阴影(初始免费获得,但应考虑添加额外灯光并调整阴影)。在Cardboard上,常见的交互方式是屏幕中央有一个光标,用于指向和导航。
当我们过渡到沉浸式VR体验时,会包含更多内容:环境、物理效果、空间音效、菜单和抬头显示器。随着环境变得更复杂,沉浸式体验通常包含这些。交互方式也更多样:控制器或VR中的手部交互、语音交互。在A-Frame中,有使用特征识别的语音组件。
大多数交互仍然是基于控制器的,支持不同的按钮(扳机键、握柄键)。这取决于你使用的VR硬件类型。

即使在Cardboard上,你也可以进行交互(有一个按钮),并且可以实现隐式交互,例如驻留(凝视触发)。因此,不要认为基础就等于Cardboard,沉浸式就等于高级头显。通过投入精力,你同样可以用Cardboard创建沉浸式VR体验,尽管在硬件性能上可能有些限制。
工具选择与后续安排
你可以选择工具:WebXR(A-Frame)、Unity或Unreal。你可能在制作3D场景时已经做出了选择。但如果你想想尝试不同的工具,可以先试试。不过,如果你想快速完成,我不建议尝试不同的主题或不同的3D场景。
在我的在校课程中,学生们通常同时使用Unity和A-Frame完成所有内容。虽然这可能有些重复,但我看到了很多很酷的多样性。当相同的场景用相同的工具制作时,观察其中的差异非常有趣。
无论如何,我希望你能坚持下去,挑战自己,学习更多关于VR的知识,而不仅仅是快速完成练习。如果你希望在本周完成,请保持简单,将其视为一个起点,之后可以在此基础上迭代。
下一个模块的荣誉课程将专注于增强现实(AR)。在VR部分我不会再进一步推进,但我们将探讨AR,这将会很有趣且富有挑战性。这将帮助你形成一个完整的概览。
总结
在本节课中,我们一起学习了如何系统地将一个3D场景构建成功能完整的VR体验。我们从添加XR摄像机开始,逐步调整场景比例、增强环境与音效的沉浸感,并探讨了实现移动与物体操作等交互功能的方法。无论你使用A-Frame、Unity还是Unreal,核心原则都是分层设计、注重比例与交互,以创造出身临其境的虚拟世界。
祝你好运。我期待在论坛的作品展示区看到大家的提交。如果有问题,请随时联系。另外,不要忘记最后会有同行评审,请准备好你的材料,思考你将提交什么。评审基调将是公平、建设性和友好的。希望大家互相给予良好、有帮助的反馈。


我们将在接下来的课程以及荣誉课程的下一个模块中再见。
109:Unity引擎VR开发答疑会








在本节课中,我们将学习如何在Unity引擎中设置和开发虚拟现实(VR)场景。我们将从创建一个基础的3D场景开始,逐步添加VR功能,包括设置相机、部署到头戴式设备以及实现交互。课程内容旨在帮助初学者理解VR开发的核心流程。





概述与准备工作



大家好,欢迎来到我们的第二次答疑会。我是Mike,是这门课程的讲师,也是密歇根大学的教授。本次答疑会将专注于Unity引擎中的VR开发。






在上一节中,我们介绍了A-Frame框架。本节中,我们来看看如何在Unity中构建VR体验。

首先,我们需要准备好Unity开发环境。以下是关键步骤:





- 安装Unity Hub:用于管理不同版本的Unity编辑器。
- 选择Unity版本:建议使用最新的长期支持(LTS)版本,例如2020.3 LTS,以确保与常用工具包的兼容性。
- 安装必要的模块:如果计划部署到Quest 2等基于Android的头戴式设备,在安装编辑器时,务必勾选 Android Build Support,并包含Android SDK、NDK和OpenJDK。


创建一个新项目时,对于VR开发,通常可以从 3D模板 开始。虽然Unity也提供了VR模板,但3D模板为我们提供了更干净的起点,方便后续按需添加VR功能包。

创建基础3D场景

在进入VR部分之前,我们先创建一个基础的3D场景。这是VR作业的第一步。



上一节我们介绍了A-Frame中的太阳系示例。本节中,我们将在Unity中重建类似的场景。


以下是创建基础场景的步骤:

- 搭建场景结构:在场景中创建基本的3D形状(如球体)来代表太阳、地球和月球。
- 应用材质与纹理:为这些物体添加颜色或从NASA等来源获取的纹理贴图,以提升视觉保真度。
- 设置动画:通过编写简单的旋转脚本,让行星围绕自身旋转。核心逻辑是在
Update函数中,使用Transform.Rotate方法和Time.deltaTime来实现平滑的每帧旋转。// 简单的旋转脚本示例 void Update() { // 每帧绕Y轴旋转1度 transform.Rotate(0, 1 * Time.deltaTime, 0); } - 实现公转:通过将子物体(如地球)嵌套在父物体(如太阳)下,当父物体旋转时,子物体会随之运动,从而模拟出公转效果。
- 尝试不同视角:在场景中放置多个摄像机,或直接在编辑器场景视图中飞行浏览,为你的场景寻找有趣和富有表现力的观看角度。



完成后的基础场景应包含自转和公转的行星,为下一步转换为VR体验做好准备。


为场景添加VR功能
现在,我们将把这个3D场景转换为一个可沉浸体验的VR应用。

上一节我们完成了静态3D场景的构建。本节中,我们来看看如何为其注入VR的生命力——添加一个可以让用户“进入”的摄像机系统。


以下是实现VR功能的核心步骤:

- 启用XR插件管理:在Unity的 Project Settings > XR Plugin Management 中,启用所需的XR平台(如Oculus)。
- 安装Oculus集成包:从Unity Asset Store获取并导入 Oculus Integration 资源包。这是连接Oculus设备(如Quest 2, Rift S)的关键。
- 添加摄像机设备:在场景中引入一个XR Origin(或类似的摄像机设备)。这个设备预制体通常包含了头戴式显示器和控制器的表示,是用户在VR世界中的化身。
- 部署与测试:有两种主要方式在头戴式设备中测试:
- Oculus Link/Air Link:通过USB线或无线方式将Quest系列头戴式设备连接到电脑,在Unity编辑器中点击播放,画面会直接串流到头戴式设备中。这类似于使用Rift S等PC VR头显。
- 直接构建到设备:通过 Build Settings,将应用构建为Android APK文件,并直接安装到Quest设备上运行。这需要先在Oculus开发者设置中启用设备调试模式。




完成这些步骤后,你的场景就应该能在VR头戴式设备中运行了。用户可以通过头显看到3D场景,并通过控制器进行基础的观察。





提升VR沉浸感与交互性



让场景能在VR中运行只是第一步。接下来,我们需要优化体验,使其真正具有沉浸感并允许用户交互。




上一节我们让用户能够“看到”VR世界。本节中,我们来看看如何让他们能够“触摸”和“改变”这个世界。



以下是提升沉浸感与交互性的方法:


- 调整场景比例与布局:在VR头显中亲身体验你的场景,感受物体的尺寸和空间关系。你很可能需要回到Unity中调整物体的缩放比例和摄像机起始位置,使其在VR中感觉更自然、更舒适。
- 创建环境地形:使用Unity的 Terrain Tools(地形工具)可以为你的场景添加山脉、平原等地形。你可以通过“抬高/降低地形”工具塑造地形,使用“绘制纹理”工具为其添加草地、岩石等材质,最后用“绘制树木”工具点缀植被,快速构建一个丰富的自然环境。
- 添加交互功能:为了实现物体交互,推荐使用 Mixed Reality Toolkit (MRTK)。这是一个功能强大的工具包,提供了手部交互、UI菜单、物体操控等组件。
- 物体操控:为你希望交互的物体(如一个立方体)添加 Object Manipulator 组件。配置好后,在VR中用户就可以用手或控制器抓取、移动、旋转和缩放该物体。
- 移动与传送:MRTK也内置了传送系统,允许用户在较大的场景中通过指向目标位置进行快速移动。


通过添加地形和交互,你的VR场景将从静态的观赏品,变为一个用户可以自由探索和互动的动态世界。








其他工具包与问题排查

除了MRTK,还有其他工具包可供选择,例如Unity官方的 XR Interaction Toolkit,它同样提供了传送、抓取等标准交互行为。对于HTC Vive等设备,SteamVR 插件是常用的开发选择。
在开发过程中,可能会遇到各种问题,例如头戴式设备连接失败、控制器无法追踪或构建错误。请确保:
- 已正确安装所有必要的SDK和驱动。
- 在Oculus PC应用中已启用“未知来源”并正确设置了开发者模式。
- 仔细查阅相关工具包(如Oculus Integration, MRTK)的官方文档和社区论坛。








总结


本节课中,我们一起学习了在Unity中进行VR开发的核心流程。我们从创建一个基础的3D太阳系场景开始,然后通过启用XR插件、添加Oculus集成包和摄像机设备,将其转换为VR体验。最后,我们探讨了如何使用地形工具和Mixed Reality Toolkit来提升场景的沉浸感和交互性。

记住,VR开发是一个迭代的过程。多在你的头戴式设备中进行测试,根据实际体验反复调整场景和交互设计,是创造优秀VR应用的关键。祝大家在VR开发之旅中探索愉快!
110:增强现实设计原理 🚀


在本节课中,我们将学习如何为增强现实(AR)进行设计。我们将探讨AR与虚拟现实(VR)设计的异同,并通过一个具体的案例研究来理解基于标记(Marker-based)和无标记(Markerless)AR的设计与实现。课程将涵盖核心概念、交互设计考量以及重要的社会与伦理问题。
案例研究:开普勒行星运动定律AR模拟 🌌
上一节我们介绍了AR设计的基本概念,本节中我们来看看一个具体的教育应用案例。
我们与博士生Schar Rajara共同开发了一个基于AR的开普勒行星运动定律模拟。该项目有两个版本:一个使用纸质标记,另一个使用无标记技术。
基于标记的AR版本
以下是该版本的核心交互方式:
- 标记作为门户:用户将智能手机摄像头对准印有定律信息的纸质标记。
- 交互控制:用户可以通过手机屏幕上的界面与模拟内容互动,例如点击以暂停或继续行星运动模拟。
- 尺度控制:AR体验的尺度由打印的标记大小决定,这为设计提供了直观的尺度控制。
其核心流程可概括为:检测到标记 -> 显示虚拟内容 -> 标记丢失 -> 隐藏虚拟内容。部分工具包支持“扩展跟踪”,可在标记移出视野后仍维持虚拟内容的稳定。
无标记的AR版本
以下是该版本的主要特点:
- 环境理解:系统使用摄像头扫描环境,自动检测水平与垂直平面(如桌面、地板、墙壁)。
- 自由放置:用户可以将虚拟行星模型放置在检测到的任何平面上,无需依赖物理标记。
- 界面调整:由于失去了纸质标记作为切换不同定律的媒介,我们设计了一个标签页界面来进行切换。
无标记AR的核心依赖于平面检测和空间映射技术,以实现虚拟物体在真实环境中的放置与遮挡。
增强现实的核心技术原理 🔧
了解了案例研究后,我们来看看支撑这些体验的底层技术原理。
基于标记的AR工作原理
基于标记的AR依赖于对特定图案(标记)的识别与跟踪。
- 标记设计:标记通常具有高对比度和独特图案,例如带有黑色边框的“英雄”标记。公式可表示为:
检测到(标记图案) == True。 - 跟踪与渲染:当摄像头识别到标记后,系统会计算其在3D空间中的位置和方向,并据此渲染关联的虚拟内容。
无标记的AR工作原理
无标记AR通过设备自身的传感器和理解能力来感知环境。
- 平面检测:系统通过计算机视觉算法识别环境中的平面。代码逻辑类似于:
if (检测到平面(水平|垂直)) { 允许放置虚拟物体(); }。 - 空间映射:更高级的环境理解,通过深度传感器或软件算法构建环境的3D网格模型。这使得遮挡渲染成为可能,即虚拟物体可以被真实物体遮挡。
- 光照估计:系统分析环境光线的强度和色温,并调整虚拟物体的光照与颜色,使其更好地融入真实环境。例如:
调整虚拟物体材质(环境光强度, 色温)。
AR体验的设计维度对比 ⚖️
从技术原理回到设计层面,基于标记和无标记的AR在多个维度上存在差异。
以下是两种AR体验的关键设计考量对比:
-
环境
- 基于标记:环境理解有限,体验围绕标记展开。
- 无标记:需要并利用环境理解,支持更大范围的体验(从桌面到房间尺度)。
-
内容
- 基于标记:内容尺度与标记大小强相关,通常用于桌面级体验。
- 无标记:内容尺度更自由,可适应房间级布局,能展示的信息量可能更大。
-
交互
- 基于标记:交互可能更显式,例如要求用户将特定标记带入视野以触发内容。
- 无标记:交互方式多样,在移动设备上多为触控,在头戴设备上可能结合手势与语音。
头戴式AR与手持式AR 🥽📱
除了上述分类,AR设备形态也深刻影响着设计。

我们将以HoloLens 2为例,看看头戴式AR带来的独特可能性。在我的演示中,虚拟立方体被赋予了物理属性(刚体、重力),它们可以掉落在真实桌面上并被真实物体遮挡。用户可以通过“近处操作”和“远处操作”手势与这些物体进行自然交互。这种持续的环境感知和沉浸的交互方式是头戴式AR的显著优势。
重要的社会与伦理设计议题 🤔
在深入技术开发之前,我们必须关注AR设计带来的广泛影响。

- 隐私与安全:AR应用通常需要持续的摄像头访问权限,这可能无意中记录下他人或敏感环境,引发严重的隐私关切。
- 公平性与可及性:目前,高性能的AR头戴设备价格昂贵,而基于智能手机的AR则更为普及。在设计时应考虑目标用户的技术可及性。
- 社会接受度:在公共场合使用AR,尤其是涉及录制功能时,需要考虑对他人的影响和社会规范。
这些议题不应是事后才考虑的问题,而应融入设计和开发每一个阶段的决策之中。
总结 📝



本节课中我们一起学习了增强现实的核心设计原理。我们从开普勒定律的案例出发,剖析了基于标记和无标记两种AR实现方式的技术基础与设计差异。我们还比较了手持式与头戴式AR设备带来的不同交互体验。最后,我们强调了在追求技术创新的同时,必须将隐私、公平和社会伦理等设计议题置于重要位置。在接下来的课程中,我们将深入AR的具体开发实践。
111:开普勒行星运动定律AR应用


在本节课中,我们将学习一个增强现实(AR)设计案例。该案例研究探讨了如何为智能手机设计一个同时支持基于标记和无标记的AR体验,用于演示开普勒行星运动定律。我们将分析其交互设计、实现方式,并比较两种AR模式的特点。
项目概述
这是一个关于开普勒行星运动定律的AR学习应用。项目由讲师与学生Schweta Rajra在为期五周的独立研究中合作完成。应用旨在为学生提供一个直观、交互式的学习体验,帮助他们理解复杂的物理定律。
基于标记的AR版本
上一节我们介绍了项目背景,本节中我们来看看基于标记的AR版本是如何实现的。该版本需要将特定的图像标记打印在纸上。

- 标记设计:为每个开普勒定律都设计了一张独立的打印纸。纸上不仅包含AR识别标记,还直接印刷了行星轨道图示和相关数值公式,将数字内容与实体媒介紧密结合。
- 核心交互:用户通过智能手机摄像头识别纸张后,虚拟的太阳系模型便会叠加在纸上。用户可以通过拖拽操作(使用Unity的Lean Touch插件实现)来改变行星轨道的参数,并实时观察模拟效果的变化。
- 视觉亮点:行星的虚拟运动可以超出纸张的物理边界,这种虚实结合的效果创造了独特的视觉体验。
以下是基于标记版本中三个定律的具体交互方式:
- 第一定律(轨道定律):展示行星沿椭圆轨道绕太阳运行。用户可拖拽改变轨道形状。
- 第二定律(面积定律):展示行星在相等时间内扫过相等面积。应用提供了暂停功能,方便用户仔细观察和验证这一定律。
- 第三定律(周期定律):同时展示多个行星的轨道运动。用户可以通过拖拽每个行星旁的“小旗”来独立调整其轨道参数,并观察所有行星运动周期的和谐关系。
用户只需将摄像头对准不同的打印纸,即可在不同定律的演示之间无缝切换。
无标记的AR版本
看过了基于标记的体验,本节我们转向无标记的AR版本。该版本无需特定打印图案,允许用户在任意平面放置虚拟模型。
- 初始放置:启动应用后,用户需移动设备以启动环境追踪,然后在现实空间中选定一个位置放置虚拟的太阳系模型。
- 界面设计:模型以垂直面板的形式呈现,顶部设有标签页,用于切换不同的开普勒定律模拟。
- 交互与反馈:与标记版本类似,用户可以通过触摸屏进行拖拽交互。所有模拟都是实时运行且可交互的。当用户调整参数时,面板上的数值和图示会同步更新,提供即时反馈。
无标记版本的优势在于其灵活性和沉浸感。用户无需关注标记,可以自由地缩放视角、近距离跟随单个行星的运动,或将行星“拖出”面板观察,交互更加自然。
项目总结与思考
本节课中我们一起学习了开普勒行星运动定律AR应用的设计案例。我们分析了其基于标记和无标记两种实现方式,探讨了如何利用实体纸张增强学习体验,以及如何设计直观的拖拽交互来操控复杂的科学模拟。

这个案例展示了在短时间内(五周)构建一个功能完整、设计精良的AR教育应用的可行性。它成功地将抽象的科学定律转化为直观、可操作的视觉体验,为AR在教育领域的应用提供了优秀的范例。接下来,我们将与项目开发者Schweta进行对话,深入了解她的开发经验和见解。
112:Shwetha Rajaram的开普勒定律AR项目 🪐



在本节课中,我们将通过Shwetha Rajaram的访谈,深入了解一个结合了基于标记和无标记AR的开普勒行星运动定律教学项目。我们将探讨项目构思、设计过程、技术实现以及从中获得的宝贵经验。

项目概述与选题 🎯
我们首先与Shwetha Rajaram进行了交谈,她参与了一个结合了基于标记和无标记AR的MOOC AR项目。这是一个在独立研究中完成的激动人心的项目,因为它同时涉及了基于标记和无标记的AR技术,为我们提供了绝佳的学习机会。
Shwetha选择了开普勒行星运动定律作为AR项目的主题。她认为这个主题整体动机在于,如果作为教师尝试为课堂创建AR体验,会遇到哪些挑战。开普勒定律是一个相当复杂的主题,涉及数学模拟,会有有趣的交互,感觉是一个足够复杂的主题,可以很好地观察教师在尝试自己创建类似内容时会遇到哪些困难。
设计过程与草图构思 ✏️
上一节我们介绍了项目选题,本节中我们来看看项目的设计过程。这是一个为期一学期的独立研究,我们讨论的部分大约持续了六周。Shwetha有创意艺术背景,她通过大量草图来构思想法。
以下是她在初始阶段的一些想法:
- 基于标记AR的构思:左侧的两张图是初始想法。她构思了将行星附着在标记上的创意,用户可以在物理空间中移动标记,从而影响模拟参数。例如,如果将行星移近太阳,轨道半径会减小。虽然最终没有以这种方式实现,但这在当时是一个很酷的想法,有助于构思交互方式。
- 无标记AR的构思:她也考虑为无标记AR设计一个桌面体验。想法是拥有一个基础可视化,针对三个开普勒定律进行三种不同的修改。计划使用移动AR(iPhone),通过一些屏幕交互工具来移动行星、停止可视化,并了解改变参数如何影响模拟中的其他部分。
Shwetha反思说,为无标记AR设计桌面体验在事后看来可能不是最佳选择。因为无标记AR需要扫描较大区域以获得稳定跟踪,而对于桌面体验,用户通常只打算查看面前的东西。不过,无标记AR在缩放方面确实很酷,他们尝试了将行星放大到围绕用户飞行的效果,可以创造更沉浸的体验。
交互设计与开发实现 💻
在确定了基本构思后,项目很快进入了开发和原型制作阶段。他们从无标记AR开始,使用支持ARKit或ARCore的智能手机。
Shwetha分享了她的开发工作流程和遇到的一些挑战。他们做出的一个决定是尝试为桌面版本、基于标记版本和无标记版本创建相同的体验。因此,她从一开始就以此为目标构建Unity项目。对于每个新功能,她都会先使其在Unity编辑器的桌面版本上运行,然后尝试适配到无标记AR(她决定先做这个),基于标记的版本则更接近项目尾声才处理。
以下是她在实现过程中遇到的主要挑战:
- 坐标系统转换:从桌面版过渡到AR版时,坐标系统是一个问题。一旦放入AR世界,比例肯定会发生变化,而许多动画计算是基于世界位置的,有时其实应该基于元素之间的本地位置。
- 第二定律可视化:创建第二定律(面积定律)的可视化相当困难,因为它涉及大量关于行星移动速度的实时计算,并试图计算该点扫过的面积,这本质上是一个积分问题,在Unity中实现起来相当困难。她尝试用估算代替,但效果不佳,最终为了创建概念验证,她妥协地硬编码了一组面积值来展示预期的交互效果。
技术选择方面,他们使用了Unity和AR Foundation,这允许他们编译到ARKit(iPhone)和ARCore(Android)。Shwetha认为这对她来说是正确选择,因为她更熟悉Unity。但她也提到,如果考虑实际在课堂部署,让每个学生在自己的设备上安装应用可能会有困难。
无标记AR版本的设计与反思 📱
现在让我们具体看看无标记AR版本的设计。该版本设计为在桌子上方出现一个三标签界面,每个标签对应一个开普勒定律。用户可以运行行星绕太阳旋转的模拟,并通过拖动“小旗子”来影响它们的旋转,同时可以看到背后计算公式的数值变化,实现了交互式探索。
Shwetha对这个版本的设计选择进行了反思。她喜欢项目尝试整合了许多不同的学习组件:有可以观看和操作的可视化模拟,可以高层次地看到改变参数时的变化;对于更高级的学生,还可以阅读卡片上的公式,查看实际计算是如何完成的。然而,整合所有这些组件颇具挑战性,因为涉及2D元素(如面板)和3D元素(可视化)。在实际体验中,用户需要在俯瞰可视化效果和抬头查看变化数值之间进行一些上下文切换,这在小型手机上并不容易操作,这方面肯定有改进空间。

基于标记AR版本的优化与优势 📄
基于对无标记版本测试的反思,以及技术特性的考虑,基于标记的AR版本在布局和设计上发生了很大变化。在这个版本中,标记被嵌入到一张讲义中,放置在桌面上,可视化效果仿佛从纸张中浮现,实现了数字内容与物理纸张的巧妙融合。
这种改变既是基于无标记版本测试后的迭代,也是一种主动的设计选择。将更多内容放在物理纸张上,而不是全部放在虚拟环境中。Shwetha认为基于标记的版本更灵活,导航方式(扫描不同的标记/纸张)可以支持更多样的活动形式,例如制作成工作簿,或用于课堂“海报漫步”活动。理论上,如果坐标系统设置正确,还可以实现多标记跟踪,同时查看三个定律。

项目时间线与工作流程管理 ⏳
回顾整个项目,其时间线和工作流程管理也值得学习。项目始于草图构思,然后开始原型制作第一定律(先是桌面版,然后是无标记AR版)。有趣的是,她在完成第一定律后先进行了第三定律,最后才挑战最困难的第二定律,这是一种按难度排序的策略。
在项目管理和工作流程方面,Shwetha分享了一些有效策略:
- 使用“实验室场景”:她在独立的“实验室场景”中原型化每个定律的功能,确保其单独工作后,再集成到主场景中。
- 详细记录笔记:她习惯维护文档,记录遇到的问题、每日任务及耗时、有帮助的Stack Overflow帖子链接等。这有助于时间管理,并在未来项目中快速回溯解决方案。
经验总结与未来展望 🔮
本节课我们一起学习了Shwetha的AR项目从构思到实现的全过程。最后,我们探讨了从项目中获得的经验以及对未来的思考。
关于在AR项目中是否应同时探索基于标记和无标记技术,Shwetha认为这取决于设计目标。他们的目的是了解两种技术的挑战以及教师可能面临的选择。对于桌面体验,也许从基于标记版本开始会更明智。她建议始终从桌面版本开始,然后适配到AR或VR,这样过渡会更顺畅。
这个项目作为一个原型,其价值在于学习和探索。Shwetha认为,如果进行重新设计,更有趣的是深入思考学习体验本身,明确教师和学生的学习目标,并审视AR模拟是否真正实现了这些目标。目前,该领域还缺乏成熟的设计指南,这个项目正好填补了这一空白,为学习者提供了审视两种AR技术的具体案例。



总之,这是一个专注于开发,同时也批判性思考设计,并构思实际应用场景的项目。它并非完美,但作为学习起点和未来项目的基础,具有重要价值。
113:基于标记的AR开发第一部分 🎯


在本节课中,我们将学习基于标记的增强现实开发。我们将探讨标记是什么、如何设计它们,以及它们如何与虚拟内容进行交互。课程将围绕一个关于开普勒行星运动定律的案例研究展开,展示如何将复杂的科学概念通过AR技术生动地呈现出来。
上一节我们概述了基于标记AR的主题,本节中我们来看看具体的实现案例。

在之前的独立研究中,我们首先设计了无标记的AR版本,随后实现了基于标记的AR版本。我们围绕纸质材料进行设计,实现了基于标记的增强效果,这已成为我们最新研究的一个主题。
以下是我们在当时创建的基于标记的AR版本演示。这是一个较长的视频,展示了之前您见过的内容。
- 在第一定律部分,用户可以靠近观察。当开始与决定轨道的标记交互时,可以看到投影在纸上的数值随之变化。
- 在第二定律部分,通过更换不同的纸张来切换展示的定律。这意味着我们可以部署此类应用程序,并让学生非常容易地操作它,因为他们无需学习复杂的界面。
- 第三定律部分内容非常丰富。虚拟天体围绕太阳旋转和轨道运行的方式是恒定的。将模拟内容从纸张上拖拽出来的交互非常有趣。

让我们更多地关注交互本身,而不是我试图解释背后的原理。这些实际上是相对复杂的、在Unity中实现的模拟,涉及一些数学和计算。

上一节我们通过案例看到了基于标记AR的应用,本节中我们来深入了解其核心技术。
基于标记的AR。我们将讨论基于标记的跟踪技术,这显然是实现这一切的使能技术。我们还将讨论一些标记设计。在这个案例研究中,我们可以学到很多,因为我们利用了纸张,并在纸上打印信息,同时使用AR进行投影可视化。
我们也将学习一些基于标记的应用程序示例。这部分会稍微脱离案例研究,看看其他例子。

让我们从基于标记的跟踪开始。
基于标记的跟踪是AR技术的核心。以AR.js为例进行说明。
将标记放置在一个表面上,系统会显示该标记的虚拟副本。当移开纸张时,该虚拟副本消失,跟踪停止工作。这就是其工作方式:当标记丢失时,我们隐藏虚拟对象;当标记被找到时,我们显示它。然后系统持续跟踪并调整其姿态(位置和旋转),但比例和大小保持不变。
为了更好地说明,这里展示一个虚拟立方体,它应该完美地贴合在那个标记上。当拿起标记时,跟踪仍然有效。即使这是一个基于1999年ARToolKit的技术,它也非常稳健。
上一节我们看到了跟踪的效果,本节中我们来了解其背后的算法原理。
AR.js基于JavaScript的ARToolKit。了解其工作原理很有意义。以下是算法步骤的简要说明:
- 系统获取原始图像帧。
- 构建一个阈值图像,进行二值化处理。
- 寻找连通区域,构建轮廓,获取标记的大致形状。
- 检测标记边缘。
- 提取标记区域,并拟合一个正方形到该区域上。
- 最终得到标记在3D空间中的姿态信息。
这就是算法的快速概述。
上一节我们了解了算法,本节中我们来探讨标记设计的关键要点。
这里展示的是之前看到的标记,称为“Hiro”模式,是ARToolKit的默认模式之一。标记设计非常重要:
- 标记周围连续的黑色边框至关重要,不要省略它们。
- 打印标记时,尺寸应尽可能大。标记越小,检测和跟踪越困难。
- 标记的尺寸决定了虚拟物体的比例尺度。在实现中,一个单位长度对应标记的实际尺寸。
- 标记内部的内容可以自定义。这指的是标记图案本身的设计,而不仅仅是放置在标记上的虚拟内容。
我们可以制作自定义标记。例如,AR.js有图案生成工具,Vuforia也用于生成标记。在我们的案例中,我们生成了标记的这部分图案,将其身份信息编码其中,然后将其打印在纸上。我们将一些增强内容与该标记对齐,使其显示在纸上,包括填写此处的一些公式和数值。
基于标记的AR应用非常广泛。基本上,任何物体都可以作为标记。
- 可以使用二维码和条形码,它们既能用于跟踪,也能编码URL将用户重定向到特定网站。
- 图像和照片可以作为标记。可以使用Vuforia等工具对图像进行训练。
- 甚至有基于人脸的标记跟踪,例如Snapchat和Lens Studio。
- 3D模型也可以作为标记。例如,一个玩具猫头鹰,虽然是一个毛绒玩具,但理论上也可以被训练为标记。
- 室内地点可以作为标记。使用环境识别技术,预先扫描这些区域,通过摄影测量法构建3D几何信息来理解和检测。
- 建筑物立面也可以被检测。结合投影式AR,可以在建筑上投影增强内容,迪士尼是这方面的大师。



本节课中,我们一起学习了基于标记的增强现实开发。我们从实际案例出发,了解了基于标记的跟踪技术、标记设计的关键原则,以及算法的大致工作原理。我们还看到了标记应用的多样性,从简单的打印图案到复杂的3D物体和环境都可以作为AR的入口。掌握这些基础知识,是设计和开发更丰富、更稳健的AR体验的第一步。
114:基于标记的AR开发第二部分


在本节课中,我们将继续探索基于标记的增强现实开发。我们将学习如何利用面部追踪和标记来创建交互式AR应用,并深入了解基于标记交互的设计考量、应用场景及其局限性。
概述:面部追踪与虚拟徽章
上一节我们介绍了基于标记AR的基本原理。本节中,我们来看看如何将AR内容与用户面部结合,创建一个实用的应用场景。


这里演示了在Snapchat中进行面部追踪。我们将制作一个面部特效镜头,展示面部追踪功能。
我们使用一个名为Lens Studio的工具,它是许多Snapchat特效镜头背后的创作平台。该平台提供了丰富的示例。
我们将在本例中创建一个有意义的应用。场景设定为参加一个会议,你遇到我并希望看到我的相关信息,就像一个虚拟徽章。
我下载了预先准备好的徽章图像,并将其添加到项目中。这就是我们的示例素材。
将内容锚定到面部

接下来,我需要将徽章添加到我的脸上。我添加了一个面部图像素材。
我们需要考虑将其放置在面部的哪个位置。目前它直接覆盖在脸上,但这并非我的本意。
我不希望徽章这样放置,这没有意义。我计划将其相对于面部放置,位置更近一些,并锚定在双眼之间。
我认为这是最佳示例。假设你在会议上遇见我,你佩戴的AR眼镜可以通过某种手势或自动识别,在看向他人时显示此类信息。
这就是可以显示关于我的信息。显然,也可以显示其他信息。这是一个并不牵强的应用示例。
基于标记的交互操作
回到我们的案例研究,其中涉及多种交互操作。你可以放置纸张,可以在纸上指点,可以点击屏幕,也可以在屏幕上拖动物体。
这些都是基于标记的交互。这些操作仍然是基于标记的,因为你需要将标记保持在视野中,否则将看不到AR内容。我们正是利用设备与标记之间的这种有趣关系来支持这些操作。
以下是具体的交互方式:

- 放置:将纸张带入视野,或将其放置在桌面上。
- 指点:这非常酷。请注意,除非你使用了人物分割技术来精确分离手和手指,否则AR内容将始终显示在手指上方。当你指向纸张时,AR内容会出现在你的手前方,而不是后方。
- 点击与拖动:例如拖动这些滑块。我们使用Lean Touch库在Unity中实现了基于触摸和多点触控的交互。
交互设计差异
目前为止,我们的示例主要是放置纸张或将其置于视野中。但实际上,你可以设计非常具体的交互方式。
这里展示了这些差异。在这个示例中,我将标记带入手机视野,同时手持标记。这是一种交互设计方式。

但请注意,这意味着用户只能用一只手拿手机,另一只手拿标记,能做的操作有限。而将标记放置在桌面上则不同,它提供了更多可能性。我不必用两只手拿着手机。
标记追踪的创意应用:木偶操控
那么,我们实际上能用标记追踪做什么呢?我们可以做一些有趣的事情,比如这个例子。
这里有一个使用标记进行木偶操控的示例。我是一只长颈鹿,很高兴认识你,欢迎来到我的慕课。

我还可以操控两个角色。嘿,最近怎么样?你听说特斯拉的有趣新闻了吗?哦,对了,很高兴见到你。
我将向你展示这是如何实现的。这里有一个界面,我可以实际改变不透明度。现在我将揭示背后的魔法,但这会破坏幻觉。实际上,我只是在用标记进行木偶操控。
这可用于讲故事,但我想说明的是,基于标记的AR可以用于快速原型设计。这些可以是界面元素,可以是各种你想试验的不同布局。显然,你可以用不同方式对齐模型,不一定非要是模型,具有很大的灵活性。你也可以用它来为VR或AR界面制作原型。
基于标记AR的应用回顾
现在,我们来回顾一些基于标记AR的应用。
如果你希望覆盖低端设备,而不是假设每个人都拥有能进行无标记AR的高端设备,那么基于标记的AR是一个好选择。对于基于标记的AR,你只需要一个摄像头。大多数设备,即使是几代前的移动设备,也都有摄像头。这是基于标记AR的一个优势。
我个人认为,正如刚才所展示的,基于标记的AR非常适合快速原型设计。与其费力地确定布局并进行硬编码,或者实现空间布局和所有UI组件,你也可以使用基于标记的AR来尝试,将界面的不同部分分配给不同的标记,然后用多个标记进行试验。
多标记追踪是可行的。虽然在这个案例中没有过多展示,但如果你深入研究基于标记的AR,例如查看AR.js和A-Frame的示例,它会确切展示其工作原理。
我还认为基于标记的AR对于协作体验很有价值,因为多个人可以将他们的设备指向同一个标记,从而建立一个共享的坐标系。
在ARKit中,这被称为云锚点。我们共享这些锚点,然后基于这个共享的坐标框架启用协作体验。
将VR案例研究适配到AR
我还想回顾一下我们的虚拟现实案例研究——动物园。我非常喜欢这个动物园项目。它最初显然是为VR设计的。

但这里我展示了一些如何将其适配到AR的例子。我们可以取一只动物并将其放置在标记上。这里有一只小长颈鹿,这很酷。

在这种情况下,我们必须始终注意将标记保持在视野中。因此,如果你想让物体变得非常大,比如一只真实大小的长颈鹿出现在用户面前,基于标记的AR可能不是最佳解决方案,除非你支持扩展追踪。
扩展追踪意味着设备可以无缝地在基于标记的AR和无标记AR之间切换。在这个例子中,我仍然在使用基于标记的AR。正如你所见,长颈鹿很不幸地消失了,这可能会让用户感到非常沮丧。
在AR中重建动物园
但我们可以实际进行基于标记的AR,并引入更多的动物园元素。这里有一个例子。
我引入了好几只动物,出于比例和性能的原因,我遗漏了一些。老实说,因为我这里使用的WebXR框架(具体是A-Frame版本的AR.js)在同一时间不能放入太多物体。
这仍然很酷。我将用标记把这个动物园带回来。这个底特律动物园,我不会丢下你不管的。我会把它带回来。我喜欢Kara的项目,也喜欢Twita的项目。我认为他们俩通过帮助我们学习他们的示例来支持这门慕课,这真是太棒了。
这里我几乎是将手机水平对准标记,这时追踪特别困难。但我成功捕捉到了一些很好的镜头。你会感觉,哇,有一个非常酷的动物园。你会注意到追踪有时感觉有点卡顿,这是多种因素造成的:因为我们想同时显示许多动物导致帧率下降,并且动物园的模型是为VR优化的,而不是为AR,它假设的是性能强大的设备。
我没有花足够时间真正从VR适配到AR,这只是作为一个概念验证。我想向你展示这有多酷:我们可以拥有那个动物园,可以应用我们从虚拟现实中学到的技术,并将其应用到AR中,而且我们可以用基于标记的AR来实现。



本节课中我们一起学习了基于标记AR的进阶应用,包括面部追踪、交互设计、快速原型制作以及将VR体验适配到AR环境。下一课,我们将探讨无标记AR技术。
115:无标记AR开发第一部分


在本节课中,我们将学习无标记增强现实(Markerless AR)的基础知识。我们将探讨其工作原理、核心概念、用户体验设计,并通过具体案例和示例来理解其实现方式。
概述
无标记AR的核心在于,设备需要自行在环境中寻找“标记”或参考点,而不是依赖预先设计好的视觉标记(如二维码)。这涉及到更复杂的环境感知和空间理解技术。
上一节我们介绍了基于标记的AR,本节中我们来看看无标记AR如何工作。
无标记AR案例:开普勒定律

我们将通过一个案例研究来开始。这个案例是开普勒行星运动定律的无标记AR可视化应用。
- 内容放置:首先需要决定虚拟内容在现实世界中的放置位置。初始移动设备对于设备进行平面检测和环境理解至关重要。
- 交互设计:该应用采用了标签页界面。用户可以点击或轻触标签在不同可视化内容(如第一、第二定律)之间切换。此设计完全脱离了纸质标记。
- 交互方式:交互仍然基于轻触。例如,点击屏幕可以暂停行星运行的模拟。
- 环境要求:无标记AR的追踪效果依赖于环境纹理。单色或单调的表面(如绿幕)是最糟糕的情况,因为设备难以找到足够的视觉特征点。因此,在实际演示中,我们会在桌面上放置一些物品(如笔记本、笔)来提供纹理,以帮助设备更好地进行平面追踪。
这个案例展示了无标记AR应用的基本形态:用户通过移动设备探索环境,找到合适平面,然后放置并与之交互。
无标记追踪技术原理

那么,无标记追踪的“魔法”是什么?它与基于标记的追踪有何不同?
无标记AR采用了一种分层的方法来理解环境:
- 空间映射:不仅仅是检测水平或垂直平面,而是构建更丰富的环境三维网格(Mesh)重建,可能包括纹理映射。
- 语义场景理解:在高级设备(如搭载LiDAR的iPad)上,可以对重建的网格进行语义分类,为不同部分打上标签,例如:
地板、墙壁、桌子、座椅、窗户、天花板。 - 基于分割:基于语义理解,可以进行前景/背景提取、天空分割、人物分割等操作。
这种技术能实现更自然和沉浸的AR体验,例如让虚拟物体真实地被现实物体遮挡。

基础用户体验与平面检测
无标记AR的基础用户体验流程通常如下:

- 启动应用:用户打开应用,摄像头开启。
- 环境扫描:应用会提示用户左右缓慢移动设备。这不是为了锻炼,而是为了让设备从不同角度捕获多帧图像,通过三角测量法估算深度,识别特征点,从而理解环境结构。
- 平面可视化:一旦检测到平面(如地板、桌面),应用会以半透明网格、高亮区域等方式将其可视化出来。
- 内容放置:用户点击屏幕,应用会计算点击位置与检测到的平面的交点,并在此处放置虚拟物体。物体的视觉大小会根据其放置的深度(距离摄像头的远近)自动调整。
以下是一个使用WebXR(在浏览器中实现AR)进行平面检测的示例逻辑描述:
// 伪代码:在检测到的平面上放置一个立方体
function onPlaneDetected(plane) {
// 当用户点击屏幕时
let intersectionPoint = calculateIntersection(screenTap, plane);
// 在交点处实例化一个立方体
placeObjectAt(intersectionPoint, cubePrefab);
}
高级功能:点云、深度API与网格分类
让我们深入了解一些更高级的技术特性。
点云
设备通过追踪环境中的特征点(关键点)来理解空间。这些点的集合称为点云。它代表了设备对环境的“理解”。在AR Foundation(Unity中抽象ARKit和ARCore的框架)中,可以实时可视化这些点云,观察它们如何随着设备移动而累积和更新。
深度API与遮挡
深度API(如ARCore中的功能)能提供更精确的深度信息。这使得虚拟物体能够被现实物体正确遮挡。例如,将一个虚拟物体放在椅子后面,当你移动视角时,椅子会自然地挡住该物体,极大地增强了真实感。
LiDAR与网格分类
搭载LiDAR扫描仪的设备(如某些iPad)能快速创建高精度的环境深度图。结合语义分割算法,它可以实时对重建的三维网格进行分类,识别出“墙壁”、“窗户”、“桌子”等。这为更智能的AR交互奠定了基础,例如让内容自动吸附在墙面上。
人物分割
这是另一项高级功能,能够实时将人物从背景中分割出来。这使得虚拟物体可以与用户的手或身体进行真实的遮挡交互,如上图所示,虚拟花瓶可以被用户的手遮挡。
技术考量与限制
在开发无标记AR应用时,需要注意以下几点:

- 设备兼容性:与基于标记的AR相比,无标记AR对设备硬件(处理器、摄像头、传感器)要求更高,因此支持的设备范围更小。不过,目前大多数最新一代的智能手机都已支持。
- 隐私与安全:更高级的场景理解(如结合云端图像识别)可能涉及将环境图像数据上传处理。开发者需要考虑用户的隐私关切,并明确数据使用方式。
- 设计挑战:由于没有物理标记作为参考,界面设计和用户体验引导变得尤为重要。需要清晰地指导用户如何扫描环境、放置内容。
总结

本节课中,我们一起学习了无标记增强现实(Markerless AR)的核心概念。我们从开普勒定律的案例入手,了解了无标记AR的基本交互。随后,我们深入探讨了其背后的技术原理,包括空间映射、平面检测、点云、深度API、LiDAR扫描以及语义网格分类和人物分割等高级功能。最后,我们讨论了开发无标记AR应用时的设备兼容性和设计注意事项。无标记AR提供了更自由、更沉浸的体验,是当前移动AR技术发展的重要方向。
116:无标记AR开发第二部分 🚀


在本节课中,我们将继续深入探讨无标记增强现实(AR)的开发。我们将回顾案例研究,分析无标记交互的具体实现,并比较其与基于标记AR的异同。同时,我们会将虚拟现实(VR)中学到的概念应用到AR场景中,并展望AR技术的未来发展方向。
回顾案例研究
上一节我们介绍了基于标记的交互,本节中我们来看看无标记AR的交互方式。在无标记版本中,核心交互功能与基于标记的版本相同,但实现方式有所不同。
以下是主要的交互方式:
- 放置:用户不是放置标记,而是选择一个平面。设备移动时,会渲染一个指示器(例如一个黄色指示器)来辅助定位。用户选定位置后,界面内容就会在该位置出现。
- 锚定与追踪:内容出现后,ARKit/ARCore的追踪功能开始工作。虚拟内容被锚定在真实世界的那个位置,就像固定住了一样。即使用户移动设备,只要不看向那个方向,就看不到虚拟内容,但它依然存在于那个空间坐标中。
- 指向与遮挡:用户可以直接用手指指向虚拟内容。如果启用了人物分割功能(例如在iPad上),手指甚至能部分遮挡住虚拟内容,实现更自然的交互。虽然目前效果还不完美,但随着技术进步,未来我们将能更无缝地在物理世界中直接与虚拟内容交互。
- 点击:用户可以直接点击虚拟内容。在当前实现中(尤其是ARCore),尚不支持在设备后方进行点击交互。这需要手部追踪技术的支持。
- 拖放:与之前一样,支持多指触控的拖放操作。
无标记AR的技术考量
那么,开发无标记AR应用意味着什么呢?
- 设备要求:它主要面向2017年之后的高端智能手机设备。这意味着你的应用可能无法覆盖所有用户群体,在设计解决方案时需要考虑到这一点。
- WebXR支持:WebXR目前仍处于实验阶段。虽然可以实现无标记AR,但交互体验较差。不过,相关规范正在快速演进,例如射线投射(Ray Casting)和命中测试(Hit Testing)功能已被加入。
- 命中测试(Hit Testing):当检测到平面并准备放置内容时,系统会从屏幕上的点向场景中投射一条射线,检测其与虚拟平面或表面的交点,内容将出现在这个交点上。我们在VR课程中讨论过射线投射和命中测试,这个概念同样适用于AR,只不过对象变成了由虚拟平面和表面近似的物理世界。
- 渲染叠加:在AR场景上渲染内容(称为DOM叠加)目前仍属实验性功能,实现起来尚有挑战,但预计在未来几个月内会变得更加可用。
场景理解与未来应用
无标记AR应用,特别是在考虑无障碍功能时,潜力巨大。例如,结合HoloLens等设备更先进的空间映射(Spatial Mapping)和语义场景理解(Semantic Scene Understanding)技术,我们可以理解摄像头所拍摄的场景内容。
这能为有特殊需求的用户提供宝贵信息。主要的挑战将转移到用户体验设计上。无论是本地处理还是云端处理,场景理解都将是未来AR更重要的应用方向。
此外,在远程维修、远程医疗等场景中,专家可以远程在用户的真实视野中进行标注和绘图指导,这需要空间映射和场景理解技术的支持。这正是ARKit等高级技术真正大显身手的地方。
实现更可信的体验
目前,这些技术能帮助我们实现更可信(Believable)的体验(而非完全真实)。关键在于:
- 逼真的遮挡渲染:正如一些示例所示,虚拟物体被真实物体正确遮挡是关键。
- 光线估计:在第一门课中我们见过ARCore的光线估计示例。如果能更广泛地应用光线估计,虚拟物体就能更好地匹配真实环境的光照,从而提升体验的可信度,减少“出戏感”。
实践:将VR概念应用于AR
现在,让我们将VR中学到的知识应用到ARKit AR中。我们可以导入一个3D模型,比如一只长颈鹿。
与基于标记的体验相比,现在我可以放置一个与房间等比例的真实尺寸模型。虽然这个用Google Blocks创建、来自Poly网站的模型多边形数量不高,但你可以自由探索更精细的高多边形模型。你可以走近观察,这非常酷。

构建完整的AR动物园体验
更有趣的是,我们可以构建一个完整的AR动物园。我将所有动物模型放置在地板上。
你会看到,当处理这种大尺度、房间大小的内容时,追踪可能并不完美,稳定性会有所下降。如果在HoloLens上运行,效果会更好。此外,光照条件也可能影响ARCore的表现。

虽然体验还达不到照片级真实,但在相当程度上是可信且有意义的。用户可以真正探索这个动物园,在脑海中构建虚拟动物园的空间布局心理模型,并理解其与物理空间的映射关系。
像长颈鹿和斑马这样显眼的动物,可以作为视觉线索,极大地帮助用户在场景中定向。在设计自己的AR体验时,也可以考虑融入这样的元素。
总结与工具整合
本节课中我们一起学习了无标记AR开发的深入内容。
请记住,命中测试(Hit Testing)和射线投射(Ray Casting)在AR中依然扮演着核心角色。你在第一周学习的关于基础3D场景、几何网格的知识,以及第二周专注于VR的内容,都需要掌握,因为它们能让你更轻松地学习AR。
我们学习了基于标记和无标记的AR,这些知识都是相互关联的。至此,你已经拥有了一个相对完整的工具箱,可以做出深思熟虑的技术决策。
接下来,我们将进一步比较手持式AR与头戴式AR,并了解一些更高端的设备。如果你想学习更多关于实现基于标记和无标记AR的具体方法,现在是查看实践项目内容的好时机。

希望这些通过Unity和WebXR分享的项目,能帮助你更深入地探索AR开发的世界。
117:手持式与头戴式AR对比第一部分 🆚


在本节课中,我们将探讨手持式增强现实(AR)与头戴式增强现实(AR)之间的区别。我们将从核心概念、交互方式、技术特点和应用场景等方面进行对比,并通过具体示例帮助初学者理解。
概述 📋
本讲将首先介绍头戴式AR设备(如HoloLens)的基本体验,然后系统性地对比手持式AR(如智能手机)与头戴式AR在显示、交互和追踪技术上的差异。我们将看到,尽管设备形态不同,但许多设计原则是相通的。
头戴式AR体验示例 🕶️
上一节我们介绍了AR的基本概念,本节中我们来看看头戴式AR的具体应用。即使您没有像HoloLens这样的高端设备,也可以通过类似Holo Kit的“纸板”式解决方案体验头戴式AR。Holo Kit将手机放入头戴设备中,摄像头需外露,屏幕需进行立体渲染。用户透过镜片观看时,屏幕上渲染的黑色部分将是透明的。这种设备同时利用摄像头进行我们之前讨论过的追踪(如基于标记或无标记的AR)。
所以请记住,没有HoloLens也完全没关系。考虑到设备普及性的现实问题,本课程并不假定每位学习者都能使用头戴式AR。Holo Kit就是一种类似Cardboard的AR体验方案。
本讲座将围绕多个主题展开。我们会直接进入HoloLens的演示,并通过一系列示例来学习手持式与头戴式AR的区别。

以下是混合现实工具包的一个基础用户体验示例:

该示例展示了工具提示功能,用户可以探索虚拟物体。视频中会不时切换外部视角和第一人称视角。为了让大家看得更清楚,我尽量保持画面稳定,而不是快速移动。
接下来演示一些手部交互功能。事实上,手部交互是本讲将深入探讨的内容之一。

在HoloLens 2上,混合现实工具包提供了手部菜单功能。虽然它并非总是完美运行,但在有效的场景下,它能很好地感知用户手腕位置。在这个演示中,我没有渲染手的空间网格。更完善的用户体验是让菜单出现在用户手部旁边。
从外部看,用户盯着自己手部操作可能显得有些奇特。菜单悬浮在空中,交互发生在手部附近。当我启用一些调试工具时,您可能会看到虚拟手部与实际手部之间存在偏移。这个偏移是由于演示录制方式造成的,并非在HoloLens上运行时的真实体验。录制时没有自动校正摄像机位置与视频录制视角之间的偏移,不过这个问题有解决方案。
现在展示一个中等尺寸的手部菜单。我认为手部菜单是很酷的交互方式。

交互方式的变化 ✋

您可能已经注意到,头戴式AR不再有触摸屏。这个演示会让这一点更加清晰。您必须重新思考在这类设备上交互方式的变化。
语音交互可以发挥更大作用。在头戴式、双手解放的场景下,用户会觉得与计算机对话更自然。以下演示展示了多种不同的手势交互。

这是混合现实工具包2.4示例场景中的远距离交互演示。它采用了“方框”交互风格。我可以进行远距离操控,使用从手中射出的“激光”来操纵物体。
近处交互与远处交互的区别在于:近处交互需要更多地使用锚点来向用户可视化他们正在抓取物体的哪个部分,以及他们正在执行何种变换操作。

现在,我们可以实现非常酷的效果。例如,我喜欢这个裁剪平面的示例。这些裁剪平面可以有不同形态。它实际上利用了HoloLens的一个显示特性:在视频中显示为黑色的部分,对于佩戴者而言是透明的,因为显示技术的工作原理就是如此。
因此,视频捕捉并非完全精确的用户体验,但非常接近。感觉就像我拿着一个漂亮的透明立方体。稍后我将回到这个问题,并展示一个非常酷的体验——“Mission AR”,这是一个基于Unreal引擎开发的应用。
手持式AR与头戴式AR对比 🔄
现在,让我们系统地比较手持式AR和头戴式AR。
手持式AR的特点
首先,手持式AR设备显示尺寸各异,可以是智能手机或平板电脑。
我们通常混合使用2D和3D内容。
主要交互方式是触摸。当然也可以使用语音,但主要方式是通过2D屏幕触摸来与3D世界互动。
以下是手持式AR的关键交互方式:
- 内容放置与设备运动手势:由于我们可以追踪设备(如在我的“X Director”研究项目中),我们可以将其用于“ puppeteering”操控。例如,通过移动手机来移动虚拟物体(如一架飞机)。但需要注意,设备不能移动太快,否则会影响追踪的稳定性。
- 语音命令:语音也是一种可行的交互方式。
- 追踪技术:通常使用基于标记(Marker-based)或无标记(Markerless)的追踪。例如,Vuforia支持扩展追踪,可以先用标记建立坐标系,然后在标记移出视线或被遮挡时,无缝切换到无标记追踪。
头戴式AR的特点
头戴式AR设备通常具有较小的视场角(Field of View)。您可能会认为戴上后整个世界都被增强了,但实际上只有视野中心的一部分区域被增强,周围区域仍是真实世界,并且您仍然拥有周边视觉。即使是HoloLens 2,视场角也有限,这有时会令人失望。
相比之下,虚拟现实头显通常拥有120度或更大的视场角,并且通过封闭式显示遮蔽了真实世界,因此沉浸感更强。视场角是头戴式AR设计时需要重点考虑的限制因素。
头戴式AR提供平视显示器或3D内容,不再有2D显示屏可供触摸。您无法伸手到眼镜或护目镜之间进行交互(Google Glass曾在侧面设有触控区,但HoloLens没有)。所有交互都发生在显示器前方,设备通过内置摄像头进行由内向外(Inside-out)追踪。因此,手部需要出现在摄像头可追踪的区域内。
以下是头戴式AR的关键交互方式:
- 手势与语音:以HoloLens 2为例,它可以进行手部和手指追踪,实现基于手指的交互。
- 眼动追踪:部分设备支持眼动追踪,可用于交互(例如用眼睛滚动页面),但目前这类实用案例还不多。
- 头部与视线注视及语音命令:这些是重要的输入方式。
在追踪技术方面,高端头戴式设备具备先进的追踪能力:
- 由内向外六自由度追踪:设备可以在空间中自由移动和旋转。
- 空间映射:尤其是像HoloLens这样配备多个摄像头(包括深度摄像头)的设备,空间映射功能几乎是内置的。
- 场景理解:结合先进的追踪与场景理解技术,可以实现非常强大的应用。
有趣的是,有人认为智能手机AR的发展是为了探索如何更好地设计头戴式AR。目前,这些平台的功能仍然比较分散,因为实现可靠的空间映射和场景理解等技术要求不同。例如,通过ARKit和ARCore使用视觉惯性里程计在软件层面实现这些功能,是一个关键的进步。在此之前,通常需要依赖深度摄像头(如Google的Tango项目所探索的)。




总结 🎯


本节课中,我们一起学习了手持式AR与头戴式AR的核心区别。我们通过HoloLens的示例了解了头戴式AR的交互体验,并对比了两种设备在显示方式(视场角限制)、主要交互模式(触摸 vs. 手势/语音/注视)以及追踪技术(从基于标记到先进的由内向外追踪与场景理解)上的不同。理解这些差异对于为不同设备设计合适的AR体验至关重要。记住,即使没有高端设备,也有像Holo Kit这样的方案可以体验头戴式AR的原理。
118:手持式与头戴式AR对比(第二部分)🎮


在本节课中,我们将继续探讨手持式与头戴式增强现实(AR)的对比,重点关注头戴式AR的交互方式,并通过一个具体的立方体交互演示来理解近距与远距操作的区别。
立方体交互演示 🧊
上一节我们介绍了AR的基本交互概念,本节中我们来看看一个具体的应用实例。我将展示一个关于立方体的交互示例,这个例子我非常喜欢。
我之前已经给大家看过一点预览,现在我希望你们能仔细听我讲解这个演示过程。请欣赏。
演示过程
我将进行以下操作:在我面前有一个虚拟的立方体平面。这些立方体既能响应远距操作,也能响应近距操作。
- 近距操作与物理反应:我可以直接伸手进去抓取一个立方体。它们同样遵循物理规则。例如,我不会只是把它放在我的小桌子上,正如你所见,它现在正放置在这个物理桌子上。我用了这个白色柱状物来支撑这个玻璃桌,这里用了一点小技巧。
- 放置物体:我们试试看能否把这个立方体放到我的架子上。跟我来。好的,我们尝试把它放在这里。这里通常是放节日装饰品的地方,但现在我们放上了这个立方体。
- 远距操作:对于这个立方体,我将使用远距操作。我会“抓住”它,然后……就像这样……让它掉在这里,看看会发生什么。它掉在了地板上。目前,它还不能将座椅识别为障碍物,因此没有进行遮挡渲染。
- 再次操作与遮挡效果:我再抓取它一次,然后把你放在这里——桌子上。这个立方体在桌子下面,所以你能看到两者之间的遮挡关系。一个在地板上,一个在桌子上。
- 组合操作:此外,如果我拿起这个……然后像这样丢在这里……砰,它会掉在另一个立方体旁边的地板上。接着我实际上使用了远距操作。这个操作有点棘手,也有点敏感。
总的来说,这绝对非常酷。我要把你放回这个虚拟架子上。这就是我们开始的地方。演示结束。
这就是我想表达的内容。现在,所有这些技术正融合在一起:我们有了空间映射,可以引入物理系统,并支持近距和远距操作。因此,我开始感觉自己在以一种直观且自然的方式与这个虚拟世界互动,或者如他们所说,是本能式的交互,而非仅仅是自然的交互。这超越了“自然”的范畴。当然,如果你是像我一样的人机交互研究者,你会理解这一点,甚至可能觉得这很有趣。
近距操作与远距操作对比 👐➡️👆
我们刚刚探索了两个示例。
- 近距操作示例:一个是我拿起立方体并将其放入红色架子的过程。这是近距操作的例子,我的手实实在在地进入了物体所在的空间。
- 远距操作示例:在右侧,你看到的是远距操作。就像激光或蛛网从我的手中射出,这显然延伸了我的触及范围。因此,我不需要走到物体旁边,也不需要传送。在AR中,传送并不好用,实际上会让人非常困惑。所以,这种远距操作是一种有效的解决方案,而且效果相当不错。我不必跑过去拿那个立方体,这真的很酷。
头戴式AR应用的特点 🥽
接下来,我们看看头戴式AR应用的特点。
- 触及范围与设备层级:这确实是非常高端的设备。除非你使用像基于智能手机的AR设备,例如HoloKit(可以称之为AR版的Cardboard),我们仍然可以使用智能手机。但当我们谈论高端设备时,比如我现在使用的HoloLens 2,它价格昂贵,集成了许多突破性的酷炫功能,但除非你在企业环境中工作,否则很少有人能接触到它。显然,如果你有足够的资金,你也可以获得它。
- 直接操作:我们讨论的是非常高端、直接的操控方式。感觉非常自然,尤其是近距操作方面,就像你真的伸手抓住了内容并移动它。目前,你至少需要做出这样的手势。我认为未来我们也能支持更直观的交互方式。人们希望进行各种操作,但并非所有想法都能实现。我在这里快速演示各种手势,这是你希望它工作的方式,但目前还远未达到《少数派报告》中的水平。不过,我们确实支持直接操作。这不同于通过触摸屏的操作(我们也称之为某种直接操作)。但仔细想想,当内容存在于现实空间中时,通过触摸屏直接操作内容——虽然在你移动物体时是合理的——但你实际上是在与一个空间上“在那边”的内容交互,只是它被渲染在你的屏幕上。那么,这还算真正的直接操作吗?在头戴式AR的语境下,直接操作意味着你可以走到那个位置,亲手拾起它。这就是我在这里所指的,使用你的双手直接与内容互动。
- 多模态交互:例如,结合手势和语音,或不同类型的交互模态。结合手势和语音是提高可靠性的一种方式。单独使用手势或语音进行密码输入并不理想,但如果结合这些模态,显然可以减少误判,这是一种更好、更可靠的方式,特别是在我们针对无障碍应用时,多模态交互会非常有意义。
总结与展望 🚀

以上就是我想讨论的内容。接下来,我们将会观看一段独立的视频。制作这个视频非常酷。所以,当你有空时,请务必观看。你应该全屏观看,甚至可以准备点爆米花。“Mission Unreal”示例是使用Unreal引擎和HoloLens 2所能实现的最酷的事情之一,是一个非常棒的案例。我为你单独准备了那个视频。
如果你对无标记AR感到兴奋,或者对头戴式AR感到兴奋,那么我认为现在你已经掌握了所有的基础模块,可以尝试进行一些更高级的开发了。很高兴我们涵盖了所有这些内容。
期待在“诚实追踪”部分见到大家。实际上,我并没有专门针对头戴式AR准备特定的内容,我原以为感兴趣的人不会太多。但我很乐意添加更多内容。我们在那个领域有很多正在进行的工作,我可以提供更多关于在HoloLens上使用MRTK的示例。所以,请让我们知道你的需求。

感谢观看本讲内容。
119:AR技术演示 🚀

在本节课中,我们将通过一个具体的增强现实(AR)技术演示案例,学习AR如何被用于创建沉浸式的教育体验。我们将跟随一个模拟阿波罗11号登月任务的AR演示,了解其关键交互步骤和背后的技术逻辑。

概述
这个AR演示重现了阿波罗11号登月任务的关键阶段。用户通过触摸虚拟场景中的特定元素,可以逐步触发火箭发射、飞船分离、登月舱着陆等历史性事件。这展示了AR技术将复杂信息转化为直观、互动体验的强大能力。
演示启动与土星五号发射 🚀
上一节我们介绍了AR演示的背景,本节中我们来看看演示的启动与火箭发射阶段。
演示始于用户触摸土星五号火箭发光的基座,以启动发射序列。随后,系统播放点火指令和引擎启动的音效。土星五号是一枚三级火箭,每一级都承担着将飞船从地球送往月球的不同任务。
以下是发射序列的关键步骤:
- 用户交互:触摸火箭基座。
- 系统反馈:播放“点火程序开始”、“所有引擎运行”等音频。
- 技术目标:模拟火箭发射的初始动力阶段。


进入轨道与地月转移 🌍➡️🌕
在成功模拟发射后,我们来看看飞船如何进入地球轨道并飞向月球。
发射后,火箭的第三级引擎首次点火,将阿波罗11号送入环绕地球的“驻留轨道”。在进行了数小时的系统检查后,第三级引擎再次点火,推动飞船踏上前往月球的旅程。这个过程在AR演示中通过视觉变化(如地球逐渐变小)来表现。

指令舱与登月舱分离 🛰️
当飞船抵达月球轨道后,下一个关键步骤是指令舱与登月舱的分离。

用户按下“指令舱”按钮后,登月舱“鹰号”与指令舱分离。由于登月舱专为太空真空环境设计,它无需考虑空气动力学,因此重量被降至绝对最低。其舱壁厚度仅相当于几层铝箔。宇航员甚至没有座椅,他们站立着驾驶飞船,本质上是在进行一场从轨道开始的受控降落。
以下是登月舱的设计特点:
- 结构:舱壁极薄,
weight = minimal。 - 驾驶方式:宇航员站立驾驶。
- 设计原理:为真空环境优化,舍弃空气动力学设计。

月球着陆与历史性一步 👣
分离完成后,登月舱将执行着陆程序。
用户按下“鹰号”登月舱的舱门,七小时后,指令长沿梯子走下,站在登月舱的支脚上。在月球六分之一的重力下,指令长及其宇航服的总重360磅仅相当于60磅,使得移动异常轻松。最后,指令长迈出了“个人的一小步,人类的一大步”,踏上月球表面。这个脚印代表了近40万人十年的工作成果,它是人类历史上最伟大探索时期的结晶,并且很可能留存至今。按下这个脚印,即可结束演示并返回地球。

总结
本节课中,我们一起学习了一个完整的AR教育演示案例。从触发发射到完成登月,我们看到了AR如何通过简单的交互(如触摸虚拟物体)来引导用户、讲述复杂故事,并将抽象的科学和历史概念转化为身临其境的体验。这个演示充分体现了AR在提升学习沉浸感和理解深度方面的巨大潜力。








120:基于标记的WebXR AR体验教程 🎯


在本节课中,我们将学习如何使用A-Frame和AR.js库在WebXR中创建基于标记(Marker-Based)的增强现实体验。我们将从基础的单标记跟踪开始,逐步探索多标记跟踪、交互实现,并最终构建一个包含3D模型和动画的完整AR场景。

概述
基于标记的AR体验通常围绕一个3D模型展开,可能包含简单的动画、光影效果,偶尔会有菜单或提示。交互方式主要是基于光标的,因为我们通常没有实体控制器。语音交互较为少见,而隐式交互则多与标记本身的位置相关。
单标记跟踪入门 🚀


首先,我们从一个基础的AR.js模板开始。这个模板能检测特定的标记(例如“hero”标记),并在其上方显示一个虚拟物体。

以下是核心的HTML结构代码:

<!DOCTYPE html>
<html>
<head>
<script src="https://aframe.io/releases/1.2.0/aframe.min.js"></script>
<script src="https://raw.githack.com/AR-js-org/AR.js/master/aframe/build/aframe-ar.js"></script>
</head>
<body style='margin : 0px; overflow: hidden;'>
<a-scene embedded arjs='sourceType: webcam;'>
<a-marker preset='hiro'>
<a-box position='0 0.5 0' material='color: red;'></a-box>
</a-marker>
<a-entity camera></a-entity>
</a-scene>
</body>
</html>



关键点解析:
a-marker组件定义了要跟踪的标记类型(如preset='hiro')。- 标记内部的3D物体(如
a-box)的坐标系原点(0,0,0)位于标记的中心。 - 为了让物体“站立”在标记上,我们通常需要将其沿Y轴向上移动,例如
position='0 0.5 0'(假设盒子默认高度为1)。




为了获得更好的跟踪视觉反馈,我们可以在标记位置添加一个半透明的平面。



<a-marker preset='hiro'>
<a-plane position='0 0 0' rotation='-90 0 0' material='opacity: 0.5; side: double;'></a-plane>
<!-- 你的3D物体放在这里 -->
</a-marker>



构建“Hello World” AR场景 🌍



上一节我们实现了基础的单标记跟踪。本节中,我们来看看如何将一个更复杂的A-Frame“Hello World”场景集成到AR中。


直接复制典型的A-Frame场景代码会导致模型尺寸过大。这是因为AR场景的尺度由标记的物理大小决定。解决方案是将整个场景包裹在一个父实体中,并对其进行缩放和位置调整。

以下是调整后的代码示例:


<a-marker preset='hiro'>
<a-entity position='0 0 -2' scale='0.25 0.25 0.25'>
<!-- 原始的A-Frame Hello World场景内容 -->
<a-box position="-1 0.5 -3" rotation="0 45 0" color="#4CC3D9"></a-box>
<a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
<a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
<a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
</a-entity>
</a-marker>


调整要点:
- 缩放 (
scale): 将整个场景缩小(例如0.25倍),使其与标记尺寸匹配。 - 位置 (
position): 将场景沿Z轴负方向移动(例如0 0 -2),使其出现在标记后方一定距离,便于观看。


实现AR交互 👆
在VR中,我们学习了多种交互方式。在基于标记的AR中,我们将重点实现基础的光标交互。




首先,我们创建一个带有透明度的红色盒子作为交互对象。
<a-marker preset='hiro'>
<a-box id="myBox" position="0 0.5 0" color="red" opacity="0.8"></a-box>
</a-marker>




接着,我们需要在场景中添加一个光标。由于AR.js中存在一个已知问题,直接将 rayOrigin 设置为 mouse 可能无法正常工作。更可靠的方法是在相机上添加光标组件。

<a-entity camera look-controls>
<a-cursor rayOrigin="mouse"></a-cursor>
</a-entity>



然后,我们可以使用JavaScript来为盒子添加交互事件(如鼠标移入/移出改变颜色)。
<script>
// 获取盒子元素
const boxEl = document.querySelector('#myBox');
// 定义交互函数
function changeColorToBlue() {
boxEl.setAttribute('color', 'blue');
}
function changeColorToRed() {
boxEl.setAttribute('color', 'red');
}
// 添加事件监听器
boxEl.addEventListener('mouseenter', changeColorToBlue);
boxEl.addEventListener('mouseleave', changeColorToRed);
</script>
更优实践: 使用A-Frame的组件化思维,通过 event-set-component 可以更声明式地实现交互,无需编写JavaScript。
<a-box id="myBox" position="0 0.5 0" color="red" opacity="0.8"
event-set__enter="_event: mouseenter; color: blue"
event-set__leave="_event: mouseleave; color: red">
</a-box>


这种交互在手机上同样有效,mouseenter/mouseleave 事件会对应转换为触摸事件。
加载3D模型与动画 🦒
现在,让我们引入更丰富的3D内容。我们将使用 google-poly 组件加载一个长颈鹿模型,并为其添加动画。

首先,引入组件并定义标记和模型。
<script src="https://unpkg.com/aframe-extras@6.1.1/dist/aframe-extras.min.js"></script>
<a-marker preset='hiro'>
<a-entity gltf-model="https://cdn.glitch.com/.../giraffe.gltf"
scale="0.05 0.05 0.05"
rotation="0 180 0"
animation="property: rotation; to: 0 540 0; dur: 2500; easing: linear; loop: true">
</a-entity>
</a-marker>

代码说明:
gltf-model: 用于加载GLTF格式的3D模型。scale: 根据模型原始大小和标记尺寸调整缩放比例。animation: 为模型添加旋转动画,使其持续缓慢旋转。

多标记跟踪 🤝
AR.js支持同时跟踪多个不同的标记。我们可以为每个标记分配不同的虚拟内容,创造更复杂的场景。
以下是实现多标记跟踪的示例,我们在“hiro”标记和“kanji”标记上分别放置两个不同大小的长颈鹿模型。

<a-marker preset='hiro'>
<a-entity gltf-model="url(giraffe.gltf)"
scale="0.05 0.05 0.05"
animation="property: rotation; to: 0 360 0; dur: 3000; loop: true">
</a-entity>
</a-marker>
<a-marker preset='kanji'>
<a-entity gltf-model="url(giraffe.gltf)"
scale="0.02 0.02 0.02"
animation="property: rotation; to: 0 -360 0; dur: 2000; delay: 1000; loop: true">
</a-entity>
</a-marker>

通过为两个模型设置不同的 scale 和 animation 参数(如方向、持续时间、延迟),可以营造出“大长颈鹿”和“小长颈鹿”的生动场景。你可以物理移动不同的标记纸来编排它们之间的空间故事。


高级技巧与最佳实践 💡

1. 使用立方体标记 (AR Cube)
为了提升跟踪鲁棒性,可以使用一种特殊的“立方体标记”。这种标记有六个面,无论如何旋转立方体,至少有一个面能被摄像头看到,从而减少跟踪丢失的情况。

2. 开发调试技巧
- 禁用自动刷新:在CodePen或类似环境中开发时,请关闭“自动更新预览”功能,避免每次代码保存都重启摄像头。
- 调整模型透明度:将模型的
opacity设置为低于1的值(如0.8),可以让你透过模型看到底部的标记,便于调试对齐和跟踪状态。 - 使用笔记本摄像头开发:无需特殊AR设备,普通笔记本摄像头即可用于开发。
- 用屏幕显示标记:在测试时,可以直接在手机或电脑屏幕上显示标记图片,无需打印。
- 切换摄像头:在浏览器权限设置中,可以切换使用不同的摄像头设备。

3. 注意事项
- 标记尺寸:标记尺寸直接影响虚拟物体的感知大小。大标记更容易被检测,小标记则更精致。
- 勿遮挡标记边框:确保标记的黑色边框完整可见,这是检测的关键。
- 平面跟踪限制:标记需要保持相对平整,弯曲或折叠会导致跟踪失败。
总结




本节课中,我们一起探索了基于WebXR和AR.js创建标记式增强现实体验的全过程。我们从最简单的单标记和红色立方体开始,逐步学习了如何集成复杂的3D场景、实现光标交互、加载并动画化3D模型,以及如何利用多标记跟踪来构建更具叙事性的AR场景。最后,我们还分享了一些实用的开发调试技巧和最佳实践。希望你能利用这些知识,创造出属于自己的有趣AR应用!
121:WebXR无标记AR实现




在本节课中,我们将学习如何使用A-Frame和WebXR技术创建无标记增强现实(AR)体验。我们将从基础场景开始,逐步添加3D模型、动画、光照,并最终实现基于平面检测的物体放置功能。

概述




我们将创建一个无标记AR场景,允许用户在真实环境中放置和查看3D对象。课程将涵盖场景设置、模型加载、光照调整以及使用最新的WebXR功能进行平面检测和物体放置。



基础场景设置





首先,我们从标准的A-Frame模板开始,并移除天空盒,以创建一个适合AR的基础场景。


<a-scene>
<a-box position="0 0.5 -1" rotation="0 45 0" color="#4CC3D9"></a-box>
</a-scene>





调整模型尺寸与位置





为了使3D对象在AR中看起来比例合适,我们需要调整其尺寸和初始位置。以下是如何将一个模型缩小并放置在相机前方一米处。

<a-entity gltf-model="url(./model.glb)" scale="0.01 0.01 0.01" position="0 0 -1"></a-entity>


添加动画效果





为了让场景更生动,我们可以为模型添加动画。以下代码为长颈鹿模型添加了一个简单的摇摆动画。


<a-animation attribute="rotation" dur="2000" fill="forwards" to="0 360 0" repeat="indefinite"></a-animation>



配置光照与阴影
在AR中,虚拟对象的光照需要与真实环境融合。我们将设置环境光和聚光灯来模拟真实光源。



以下是设置环境光和聚光灯的代码示例。

<!-- 环境光 -->
<a-entity light="type: ambient; color: #CCC; intensity: 0.7"></a-entity>
<!-- 聚光灯 -->
<a-entity light="type: spot; angle: 60; penumbra: 1; intensity: 1.5; color: #FFF; target: #giraffe" position="1 1.8 -0.5"></a-entity>



实现平面检测与物体放置
我们将使用WebXR的平面检测(Hit Testing)功能,允许用户通过点击屏幕将物体放置在检测到的平面上。


以下是实现平面检测和物体放置的核心代码结构。
// 初始化WebXR会话并启用平面检测
navigator.xr.requestSession('immersive-ar', { requiredFeatures: ['hit-test'] }).then(onSessionStarted);


在HoloLens上测试
我们将在HoloLens设备上测试我们的WebXR AR场景,确保其在头戴式设备上也能良好运行。
实用技巧与最佳实践
在开发无标记AR体验时,遵循一些最佳实践可以显著提升用户体验。
以下是几个关键的开发建议。
- 提供放置预览:在用户确认放置前,显示一个半透明的对象预览,让用户了解最终效果。
- 融合环境光照:根据环境调整虚拟对象的光照和阴影,使其看起来更真实。
- 为遮挡渲染和光照估计做准备:虽然这些功能在WebXR中尚不完善,但在代码中预留接口,以便未来轻松集成。
- 使用360° VR或基于标记的AR进行原型设计:在开发早期,可以利用这些技术快速测试场景布局和光照效果。
- 允许用户调整体验:考虑提供选项,让用户能调整虚拟对象的尺寸或布局,以适应不同的环境。
- 适配检测到的平面:根据检测到的平面(如桌面、地面)的尺寸和方向,动态调整虚拟内容的布局。
总结


本节课我们一起学习了如何使用A-Frame和WebXR创建无标记AR体验。我们从搭建基础场景开始,逐步添加了3D模型、动画和自定义光照,并最终实现了基于平面检测的交互式物体放置功能。虽然WebXR的某些高级功能仍处于发展阶段,但我们已经能够利用现有技术构建引人入胜的AR应用。希望你能将这些知识应用到自己的项目中,创造出更丰富的沉浸式体验。
122:AR场景构建实践 🚀


在本节课中,我们将学习如何将之前完成的3D或VR场景,转化为增强现实(AR)体验。我们将概述实践任务,探讨基于标记和无标记的AR实现方法,并介绍如何优化场景以更好地融入真实环境。
概述
本次实践的核心任务是创建一个AR场景。你可以选择使用A-Frame、Unity或Unreal引擎作为开发平台。首先,你需要为所选平台添加AR功能模块或插件。然后,你将调整原有的3D或VR场景,使其适应AR的观看方式和交互逻辑。
任务详解
以下是本次实践需要完成的具体步骤。
1. 选择平台并集成AR功能
你的第一步是选择一个开发平台(A-Frame、Unity或Unreal)并集成其AR模块。
- 在Unity或Unreal中,你需要安装并激活相应的AR插件(如AR Foundation、ARKit、ARCore)。
- 在A-Frame中,如需实现基于标记的AR,你需要添加
AR.js等库来获取AR相机和会话功能。
2. 转换并调整原有场景
接下来,你需要将之前完成的3D或VR场景转换为AR版本。这通常涉及对比例和布局的调整。
- 如果使用基于标记的AR,你需要打印出标记图。在A-Frame中,标记的尺寸通常被定义为1个单位,因此你需要根据标记的实际大小来调整场景中物体的比例和位置。
- 如果使用无标记的AR,你需要确保场景物体在真实环境中的放置位置合理。例如,在较小的房间内,物体不宜放置得过远。
3. 优化环境融合度
为了使虚拟物体更好地融入真实环境,你需要从多个维度进行优化。
- 光照:尝试调整虚拟物体的光照,使其与真实环境的光照条件匹配。一些高级AR工具支持环境光估计,可以自动完成此过程。
- 声音:添加空间音频是增强沉浸感的有效方法。例如,为动物园场景添加雨林背景音效,能显著提升体验的真实感。声音可以作为视觉出现前的过渡,平滑地引导用户进入AR世界。
4. 实现交互功能(可选)
你可以为AR场景中的3D物体添加交互功能。
- 在手持设备上,可以实现点击、拖拽等触屏交互。
- 如果使用Cardboard等头戴式设备模拟AR,可以利用凝视(Gaze)和按钮进行交互,例如通过注视物体并按下按钮来触发事件。
- 在HoloLens等高级设备上,则可以利用完全的手势追踪进行更自然的交互。
5. 尝试不同AR模式(如果条件允许)
如果你有相应的设备,鼓励尝试将项目从一种AR模式转换到另一种。
- 例如,将基于标记的AR体验,转换为使用ARKit/ARCore的无标记AR体验。这个过程能让你深入理解两种技术路径的差异与实现要点。
不同AR模式的特点

上一节我们介绍了实践步骤,本节中我们来看看基于标记和无标记AR在体验设计上的主要区别。
基于标记的AR体验特点
基于标记的AR体验通常相对简单,核心是识别预设的图案。
- 内容:以展示3D模型和简单动画为主,可能包含基础的光影效果。
- 交互:通常使用光标进行交互。在A-Frame中,可以设置一个始终位于屏幕前方的光标,用户通过移动设备将光标对准物体来互动。
- 稳定性:标记需要保持在相机视野内才能稳定追踪。确保标记有足够的黑色边框,并在光照均匀、无反光的环境下使用,以获得最佳识别效果。
无标记的AR体验特点
无标记AR(如ARKit/ARCore)能提供更复杂、更自由的体验。
- 环境理解:可以利用空间网格、语义分类(识别平面、椅子、窗户等)和光照估计来让虚拟物体更逼真地与环境互动。
- 物理模拟:可以轻松实现物理效果,例如让虚拟物体在检测到的真实桌面或地面上弹跳。
- 高级交互:在智能手机上以触屏交互为主;在头戴设备上,则可以结合手势追踪、语音命令等更丰富的交互方式。

总结与建议
本节课中,我们一起学习了如何构建一个AR场景。从选择平台、集成AR功能,到调整场景、优化融合度并实现交互,你已掌握了创建基础AR体验的完整流程。
这是一项自由度很高的实践,旨在鼓励你探索和解决问题。AR技术发展迅速,核心思路是相通的,但具体工具和API可能更新。如果你在过程中遇到困难,建议:
- 回顾课程中关于基于标记和无标记AR的具体实现讲座。
- 参考各平台(A-Frame/Unity/Unreal)从3D到VR再到AR的“第一步”指导视频。
- 积极在课程论坛中与同学交流,互相帮助。


通过自主研究和实践,你将成长为一名更独立的开发者。如果你和同学们都无法解决某个问题,教学团队会提供支持。祝你实践顺利,期待在作业互评中看到你的精彩作品!
123:高级技术专题Ⅰ


在本节课中,我们将探讨一系列扩展现实(XR)领域的高级技术。这些技术超越了标准设备和软件开发工具包(SDK)的范畴,涵盖了虚拟现实(VR)和增强现实(AR)中的创新方法,以及一些跨领域的核心主题。
概述
我们将首先关注几个与VR高度相关的主题:程序化生成、重定向行走和自定义控制器。接着,我们会深入一些更高级的AR技术,包括三维重建、物体追踪和自定义显示器。最后,我们将讨论一些横跨VR与AR的交叉主题,例如可访问性、文本输入、多用户协作、自适应布局、渐进式XR以及混合现实捕捉与虚拟制作。
现在,让我们开始深入了解这些高级技术。
VR高级技术
上一节我们概述了课程内容,本节中我们来看看几个专为VR设计的高级技术。
程序化生成
程序化生成的核心思想是,随着用户在物理空间中的移动和探索,系统动态地加载或生成更多的虚拟内容。这不仅仅是延迟加载,更是一种根据用户行为实时构建虚拟世界的方法。
例如,当用户在物理空间中朝某个方向行走时,系统可以即时生成一个迷宫供其探索。这种方法能极大地扩展有限物理空间内的虚拟体验范围。
重定向行走
重定向行走是一种利用人类感知特性,引导用户在有限物理空间内行走更远虚拟距离的技术。其原理基于一个简单的观察:人们倾向于朝自己注视的方向行走。
以下是其工作流程:
- 视觉提示:系统在虚拟环境中呈现一个吸引用户注意力的视觉刺激(例如,一个突然出现的物体)。
- 视线调整:用户的目光被该刺激吸引并随之调整。
- 路径偏移:当用户注视该刺激并朝其行走时,系统 subtly(不易察觉地)旋转整个虚拟场景。
- 循环路径:用户感觉自己是在朝一个固定目标直线行走,但实际上在物理空间中走的是一个弧形或圆形路径。
通过这种方式,用户可以在一个较小的物理房间内,体验到在广阔虚拟走廊中直线行走的感觉。
自定义控制器
虽然标准VR控制器能提供良好的通用体验,但对于某些特定活动(如打乒乓球或高尔夫),其手感和物理形态可能不够逼真。自定义控制器旨在解决这个问题。
以下是几种实现方式:
- 触觉反馈:利用控制器内置的振动马达,在虚拟交互(如击球)时提供力反馈,增强沉浸感。公式可简化为:
虚拟事件->触发控制器振动->增强真实感。 - 物理形态匹配:制作一个在物理形状上完全匹配虚拟物体的控制器(例如,一个真实的乒乓球拍手柄),并将其进行仪器化改造,以便系统能够追踪它。这可能涉及集成惯性测量单元(IMU)或用于光学追踪的标记点。
一个自定义控制器的示例如下:
# 伪代码示例:自定义控制器数据融合
def update_custom_controller():
imu_data = read_imu() # 获取姿态和加速度
visual_marker_position = track_camera() # 获取光学追踪位置
fused_position = sensor_fusion(imu_data, visual_marker_position) # 数据融合
return fused_position
AR高级技术
在了解了VR的一些高级技巧后,本节我们将目光转向增强现实,看看如何让虚拟内容更智能地与真实世界融合。
三维重建与空间映射
三维重建是指AR设备实时扫描物理环境,并生成其三维模型(通常表现为密集的点云或网格)的过程。这个过程也称为空间映射。
其意义在于,系统能够“理解”周围环境的几何结构,从而允许虚拟物体与真实表面进行真实的遮挡、碰撞和放置。例如,虚拟物体可以稳稳地“放在”重建出的真实桌面上。
物体识别与追踪
仅有几何结构的三维重建还不够,系统还需要“理解”环境中是什么物体。这就是物体识别(或分割、分类)的任务。例如,系统需要将一组特定的点云识别为“桌子”、“椅子”或“乒乓球拍”。
一旦物体被识别,就可以对其进行追踪。这意味着系统能够持续更新该物体在三维空间中的位置和姿态。结合物体识别与追踪,可以实现强大的交互:例如,用一个被识别和追踪的真实乒乓球拍,去击打一个虚拟乒乓球,并让球根据真实拍面的运动速度和角度做出物理反弹。
跨VR/AR技术
无论是VR还是AR,一些核心的交互和系统设计挑战是共通的。本节我们将探讨这些跨领域的高级主题。
以下是几个关键的跨领域主题:
- 可访问性:目前,XR体验的可访问性(尤其针对视障、听障等用户)面临巨大挑战。主流开发工具和硬件并未将其作为设计核心,这限制了XR技术的普及范围。
- 文本输入:在沉浸式环境中高效输入文本仍是一个未完全解决的难题。我们需要为头戴式设备设计新的输入隐喻和交互方式。
- 多用户协作:支持多个用户在同一虚拟或增强空间中进行实时协作,是社交XR和远程办公应用的核心。
- 自适应布局:系统能够根据用户的物理环境(如房间大小、家具布局)自动调整虚拟内容的布局和呈现方式,以提供最佳体验。
- 渐进式XR:界面和体验能够根据任务需求、用户偏好或上下文,在AR与VR模式之间无缝切换或融合。例如,一个设计应用可能默认使用AR在真实桌面上查看模型,但一键即可切换到VR模式进行沉浸式内部漫游。
- 混合现实捕捉与虚拟制作:这项技术正在革新影视制作行业。它允许将真人表演与实时渲染的虚拟背景、角色和特效无缝合成,为内容创作提供了前所未有的灵活性。对于XR教学和演示而言,这也是展示沉浸式体验的绝佳工具。

总结


本节课我们一起学习了扩展现实领域的一系列高级技术。我们从VR的程序化生成、重定向行走和自定义控制器开始,探讨了如何拓展虚拟体验的边界。接着,我们深入研究了AR的三维重建、物体识别与追踪,这些技术是虚拟内容与真实世界智能交互的基础。最后,我们审视了可访问性、文本输入、协作、自适应布局、渐进式XR以及混合现实制作等横跨VR与AR的挑战与机遇。掌握这些概念,将帮助你构思和开发更具创新性、沉浸感和实用性的XR应用。
124:高级技术专题Ⅱ


概述
在本节课中,我们将探讨扩展现实(XR)领域中的几个高级技术专题。这些主题虽然被归类为“高级”,但其中一些,如无障碍访问,本应是基础设计原则。我们将依次讨论无障碍访问、文本输入、协作、自适应布局与定制化,以及混合现实捕捉。这些主题代表了XR领域当前面临的挑战和未来的发展方向。
无障碍访问:不应是“高级”话题
上一节我们讨论了XR的基础交互,本节中我们来看看一个本应基础但常被忽视的领域:无障碍访问。
无障碍访问不应被列为高级话题。它出现在这里,是因为实现它确实需要先进的技术,特别是场景理解能力。系统需要像人类一样感知和理解用户周围的世界。例如,系统需要知道用户身后是一面墙,以避免碰撞;或者识别出架子上有用户可能放置的物品。
对于视障用户而言,在陌生环境中导航是困难的。一个配备了场景理解能力的XR设备(如头戴显示器)可以充当用户的“眼睛”,扫描并描述周围环境。这需要精准的追踪、场景理解和语义感知技术,以及精心设计的用户体验,让系统能够有效地向用户描述世界。
开发一个“AR屏幕阅读器”将是一个非常酷的研究项目,但这无疑需要先进的技术。
文本输入:尚未解决的挑战
在讨论了环境感知后,我们转向一个更具体的交互难题:文本输入。
目前,无论是在VR还是AR中,虚拟键盘的效率通常不高。最有效的方式仍然是使用物理键盘,但物理键盘并未很好地集成到当前的XR体验中。例如,即使VR设备连接了电脑,在大多数VR界面中直接使用物理键盘打字也常常无法实现。
以下是几种文本输入方式及其挑战:
- 语音命令:可以使用语音识别。但问题在于,用户通常不清楚系统支持哪些命令。例如,在HoloLens上,听写模式(基于字典的语音识别)和语音命令模式是有区别的。
- 多模态输入:结合多种输入方式(如语音、手势、凝视)是未来的方向。
- 空中键盘:像HoloLens上通过空中点击输入的键盘设计很有趣,但许多人仍觉得其效率不如实体键盘。
我们尚未真正解决XR中的高效文本输入问题。
协作:从单用户到多用户体验
解决了个人交互问题后,我们来看看如何让多人一起工作。目前大多数XR体验都是为单用户设计的。
协作可以分为两种主要模式:
- 同地协作:多个用户在同一物理空间共享XR体验。虽然技术上是可行的,但大多数系统仍缺乏对此的良好支持。
- 远程协作:用户位于不同的物理位置进行协作。这更具挑战性,因为涉及网络、延迟问题,并且用户所处的物理环境不同。
实现远程协作的核心是创建一个共享会话。这通常需要在各自的坐标系之间定义一个共享原点,并交换该信息。在ARCore平台上,云锚点(Cloud Anchors)就是一种实现方式。一个有趣的研究方向是如何弥合不同物理世界之间的差异,实现无缝的远程协作。
自适应布局与定制化
从多人协作回到个人体验,我们来看看内容如何适应不同环境。大多数XR体验可分为桌面级、房间级或世界级规模。
自适应布局是指让内容自动适应不同的空间尺度。例如,一个在桌面上移动方块的游戏(类似《我的世界》),可以适配到桌面规模。如果切换到房间规模,我们可以放大内容,利用更多空间,甚至将整个场景按比例放大以适应房间。
虽然这听起来简单,但大多数XR体验并未实现自适应。它们通常由开发者固定为某一种规模,不允许用户在之间切换。
世界级规模的体验则更具挑战性,因为它可能需要之前提到的协作平台和共享环境数据(有时被称为“AR云”)。从设计理念上看,这涉及到两种思路:

- 优雅降级:为功能较弱的设备或较小空间提供最基本的体验。
- 渐进增强:为功能更强的设备或更大空间增加更多功能层,充分利用环境。
这个概念类似于响应式网页设计。Mozilla的同事进行了一项名为“渐进式XR”的案例研究,探索了如何让一个虚拟购物界面自适应从手机触屏、AR手势到VR控制器等不同的显示设备和交互方式。未来,也许会出现类似CSS的样式表来管理XR界面的自适应。
混合现实捕捉
最后,我们来探讨如何将虚拟体验记录下来并展示给他人,这就是混合现实捕捉。
混合现实捕捉允许将真人实拍与虚拟内容合成在一起。例如,讲师可以站在绿幕前,使用像Tiltbrush这样的沉浸式创作工具绘制3D内容。通过校准,系统可以确定摄像机在3D世界中的位置,从而实现实拍画面与虚拟世界的同步。移除绿幕背景后,讲师就仿佛置身于虚拟环境之中。

这项技术对于演示和教学非常有用,它能让没有头显的观众也能理解XR体验。在影视制作中(如《曼达洛人》使用的“虚拟制片”技术),它通过巨大的LED屏幕实时渲染背景,让演员产生身临其境的感觉。混合现实捕捉是一个令人兴奋且正在发展的领域。
总结
本节课我们一起学习了XR领域的几个高级专题:本应基础却需要先进技术的无障碍访问;尚未完美解决的文本输入挑战;从单用户迈向协作体验的路径;让内容适应不同空间的自适应布局与定制化;以及连接虚实世界的混合现实捕捉技术。

其中,无障碍访问尤其需要社区共同努力,使其不再依赖“高级技术”,而是成为每个开发者和设计师的基础考量。XR领域仍有广阔天地等待探索,希望未来这些“高级”技术都能变为“基础”能力。
125:XR研究概述与技能


在本节中,我们将探讨XR研究。这里所说的“研究”,主要指用户研究,而非纯粹的学术研究。因此,本节并非概述XR领域所有学术进展的讲座。虽然存在许多学术会议,但本节的目标是围绕一个具体的研究项目——我们提交给ACM CHI(人机交互顶级会议)的“Amrat混合现实分析工具包”项目——来展开讨论。我们将以此项目为例,反思参与和进行XR研究的意义,包括大量与用户合作和实验的过程。同时,我们也将借此机会,在本开发课程的末尾,探讨一些之前未深入涉及的主题,如自定义标记设计和多用户协作。
我们将从三个主要方面来讨论XR研究:研究主题、所需技能以及如何提出好的研究问题。本节将首先概述研究主题和所需技能。
研究主题概览
纵观主要学术会议,研究主题存在一些明显的趋势。目前,VR相关的研究似乎比AR更为成熟和普遍。这在一定程度上是因为VR设备更普及,而基于头戴式设备的AR(如HoloLens)仍然非常昂贵,限制了大规模的用户研究。不过,这种不平衡有望在未来几年得到改善。
在具体研究方向上,常见主题包括:
- 感知与输入:这不仅是传统的6DoF追踪,更前沿的是语义场景理解,即让设备真正理解用户周围的环境和物体。
- 应用探索:许多厂商通过向高校(如密歇根大学)提供设备,鼓励跨学科探索XR在各种领域的应用案例。
- 原型设计工具:目前,创建AR/VR体验仍然成本高昂且困难。现有的原型工具功能相对基础。一个重要的方向是开发更强大、易用的工具,并将设计准则与伦理考量内置其中,引导开发者做出更好的设计。
- 人为因素:例如对晕动症的深入研究,理解其成因及如何在设计中缓解,仍需更多以人为中心的研究。
- 设计与可及性:如何让XR体验更具包容性,是正在受到更多关注的方向。
- 协作:多用户在XR环境中的协作是一个重大且尚未完全解决的挑战,尤其是在后疫情时代,其重要性更加凸显,但优秀的协作应用仍不多见。
参与XR研究所需的技能
那么,如何为XR研究做出贡献呢?通常需要以下几类技能的组合:
以下是三类核心技能:
- UX/交互设计技能:由于XR是直接面向用户的技术,理解用户体验、交互设计原则和人机交互基础至关重要。
- 编程技能:对技术的亲和力和扎实的技术背景在许多XR研究项目中是必需的。很多前沿工作涉及大量开发工作。
- 研究技能:这尤其体现在一种“研究式”的工作方法上。XR技术仍处于前沿阶段,文档可能不完善,许多功能需要像在实验室里一样进行系统性的尝试、失败、调整参数、再尝试。这种系统性的、计算驱动的实验方法是应对早期技术挑战的关键。
如果你擅长其中某些技能,你可以在团队中发挥重要作用;如果你能融会贯通这些技能,那么你将非常适合从事XR研究工作。


总结:本节课我们一起探讨了XR研究的概况。我们首先概述了当前XR研究的主要主题,指出了VR与AR发展的不平衡性,并列举了感知输入、应用探索、原型工具等多个关键方向。接着,我们分析了参与XR研究所需的核心技能组合,包括UX设计、编程能力以及应对前沿技术所需的研究方法论。下一节中,我们将深入探讨如何提出有价值的XR研究问题。
126:MRt危机案例研究 🧪


在本节课中,我们将通过一个具体的案例研究——MRt危机案例研究,来深入探讨XR开发中的关键问题。这个案例源自我们发表在CHI会议上的论文《AmRAt:混合现实分析工具包》。我们将以此为例,分析从原型设计到用户研究的完整流程,并聚焦于开发过程中遇到的几个核心挑战。
案例研究概述

首先,让我们了解一下这个案例的背景。我们进行了一项用户研究,参与者被分成两组,在实验室环境中体验一个原型。这是一个协作式任务,参与者需要在一个模拟危机场景的“密室逃脱”房间中解决问题。他们佩戴着特制的T恤,并使用多种设备。研究的主要评估依据是他们完成任务的情况,而离开房间所用的时间是次要的。过程中,我们设置了一些障碍和规则,但有趣的是,参与者有时会“打破”规则,这本身也是研究的一部分。
上一节我们介绍了案例的基本情况,本节中我们来看看这个案例所涉及的四个主要议题。
以下是本案例研究将重点探讨的四个核心问题:
- 快速原型设计:即使在以HoloLens为主要目标的复杂项目中,我们也经历了完整的原型迭代阶段。
- 空间网格:HoloLens的空间映射功能非常强大,我们希望在实验中充分利用它,但这颇具挑战性。
- 标记设计:参与者T恤上印有随机生成的Vuforia标记。我们尝试了多种自定义标记设计。
- 多用户、多设备协作:这引出了关于协作的重要讨论。
接下来,我将带您浏览几个关键的原型阶段,并重点讲解原型设计的过程。
原型设计阶段
与任何项目一样,我们从物理原型开始。我让学生们阅读相关论文,并制作了非常酷的纸质原型,初步构思了如何增强实验室环境。

随后,我们进入了沉浸式原型阶段。我本人在Quill中创建了一个VR草图,向学生们展示我的想法。我也要求每位学生进行同样的练习,我们互相评审彼此的原型。我的设想是将房间进行改造,模拟火灾场景,并设置一个逃生门。
当然,最终的体验是AR体验。我们在Unity上花费了大量时间开发原型。它包含许多功能:启动模拟、倒计时、窗户爆炸(使用粒子系统实现颇具挑战)、外部燃烧的建筑、虚拟的伤亡人员,以及一个关键特性——虚拟窗户。




为了更清晰地展示最终体验的设计,让我们看看一个更高级的Unity原型。它包含了菜单和各种物品,其中一些是虚拟物体,一些是真实的物理物体。这是一段HoloLens的录制画面。

在这个版本中,我们没有启用空间映射,这导致了许多问题。我们想要一个多用户体验,并且希望体验能发生在不同的房间,而不是固定在我们的实验室。我们知道房间里会有人员走动,他们可能会彼此遮挡,或站在增强内容前面造成视觉上的穿模,例如让虚拟物体穿透他们的身体显示出来。
空间映射的挑战与解决方案

于是,我们启用了空间映射的原型。现在可以看到,系统正确地渲染了遮挡关系,一些物体确实在桌子下面,只有从特定角度才能看到。但您可能也注意到了一些性能问题。


简而言之,尽管空间映射很酷,但它带来了性能挑战。我们有一个想法:如果想在HoloLens有限的视场角外展示一个巨大的建筑和爆炸效果,同时又要处理空间映射的性能问题,该怎么办?


解决方案是创建虚拟窗户。既然用户永远无法同时看到整个建筑,我们何不通过“窗口”来展示外部场景呢?我们对此进行了一些实验,这有助于解决性能问题。
标记设计与多用户协作

现在,让我们把焦点从空间映射切换到标记设计。在MRt研究项目中,您可以看到不同类型的伤口(内容警告)。我们与护理专业的专业人士合作,她在人体模型上制作了这些伤口。早期的原型看起来还不够逼真。


这段视频的重点是引入标记设计。我们花费时间创建了自己的标记,并最终采用了完全自定义的设计。这些标记内置了身份信息,这对于多用户体验至关重要。它们使我们能够精确知道模拟中谁受伤了、是何种伤情、位置在哪里。

基于此,我们可以实现分诊场景。这是一个多设备体验,用户可以通过HoloLens或智能手机查看伤口,并使用Unity和Vuforia运行分诊协议,为人员分配分诊标签。
数据收集与可视化

当我们实际进行用户研究时,会将参与者带入我们的应用。AmRAt工具包的核心功能是收集这些事件并允许过滤。使用这些设备进行研究时,可以收集大量额外数据,但问题在于如何可视化和理解这些数据。
我们尝试使用iPad等额外设备进行探索性分析。一旦收集到数据,就能以有趣的方式将其可视化。例如,在中心区域可以看到按步骤回放和一条时间线,右侧则显示平面图。我们可以过滤这些事件,并且任何过滤操作都可以立即在HoloLens上预览,从而回到研究进行的地点进行分析。
总结与反思
本节课中,我们一起学习了MRt危机案例研究的完整过程。我快速回顾了设计流程,谈到了我们必须解决的许多问题。当然,论文中还有更多细节。
关于空间映射,我们最终出于性能原因禁用了它,但通过引入剧情(如在窗外放置尸体并告知用户“远离窗户”),我们也能引导用户行为。这很有趣,因为参与者真的会融入故事。
在T恤标记方面,我们无法让房间非常暗,追踪仍然有些问题。我们使用的是较旧的Unity 2017版本,项目从2017年持续到2020年发表。这引出了另一个思考:为何研究周期如此之长?我们曾争论是否要升级到最新的混合现实工具包和HoloLens 2,但考虑到升级成本和对已有原型的影响,最终没有进行。这种在近两年时间里构建一个重大项目所产生的新问题,是在小型项目中不会遇到的。
总体而言,标记设计仍然非常有趣。我们尝试了荧光标记,希望它们能在黑暗中发光闪烁。这个研究项目融合了许多不同的想法,最终重点是通过案例研究来说明MRt工具的使用——该工具能收集数据,而为了未来进行更多研究,我们需要这样的工具来不仅收集,还能可视化数据。
在数据收集方面,我们需要智能且负责任。该项目中我处理的最后一个问题是:如何向人们展示伤口?我们设计了漫画风格、更逼真的风格等不同版本。设想是,不同年级的医学生可以使用它,高年级学生可能需要更真实的内容才能产生“这真是一场危机”的感觉。这里存在很酷的研究机会,例如让不同年级的学生共同完成体验。
最后,关于我们的混合现实版本是否比合作教师原本使用的课堂教学体验更好,是否提升了学习效果,论文中有更多讨论。目前还不能下定论。现在密歇根大学有一个大型XR计划来探索这个问题,虽然有一些研究提供了线索,但似乎每个人都在瞄准小型应用,因此尚无人能断言XR是否普遍改善了学习。也许未来几年,随着像MRt这样的工具出现,我们能在这方面取得更多进展。

这是一项令人印象深刻的学生工作。在此,我也要感谢他们相信这项工作并坚持与我一起完成,直到它最终作为最佳论文发表。接下来,我想结合这项工作和我们对XR开发及研发的更广泛理解,来谈谈什么是好的和不好的研究问题。
127:XR研究前沿(第三部分)📚

在本节课中,我们将探讨如何提出好的研究问题,并了解当前XR领域的主要研究课题。我们还将讨论研究中常被忽视的伦理、社会影响与设计责任。
好问题与坏问题 🤔
上一节我们讨论了研究的意义,本节中我们来看看如何提出有效的研究问题。在开展项目时,你可能会问自己一些问题,但并非所有问题都能引导出有价值的研究。
以下是一些常见的、但可能效果不佳的问题:
- “别人做过什么?” 在研究中,这是一个很难回答的问题,因为你需要阅读大量文献才能确定。更好的方法是先从一个想法出发,制作原型并进行探索,之后再验证其新颖性。这是一种更具导向性的研究方式。
- “目前能做到什么?” 这个问题过于宽泛和模糊。研究应具有长远眼光。更好的问题是:这项技术未来将能实现什么? 这能引导你探索未来,而非局限于现状。
- “有哪些唾手可得的成果?” 这个问题的意图是寻找快速、简易的修补方案,但这并非思考研究的良策。可以将其重新表述为:“有哪些悬而未决的关键问题?” 这能帮助你关注真正重要的议题。
- “实现这个需要什么?” 这个问题尚可,但更好的问法是:“如果我们拥有了这个,会怎样?” 这鼓励你深入思考技术的影响与可能性,而不仅仅是构建过程。
- “它酷在哪里?” 这个问题可以接受,但更关键的是:“它能实现什么以前无法做到的事?它能赋能更多人吗?”
- “我们为谁设计?” 这是一个好问题,但更好的方式是:“我们如何与他们共同设计?” 这意味着让用户参与设计过程,而非仅仅为他们设计。
思考如何与用户共同设计,而不仅仅是为他们设计,是进行研究的更好方式。
以上分享了我对XR研究的一些原则和思考,其中部分内容具有普适性。接下来,在第二部分,我们将更具体地探讨当前的研究课题。
当前XR研究的主要领域 🧭
AR与VR领域有许多共同且持续取得进展的研究课题。此外,还有一些更偏向VR或AR的特定方向。
以下是当前XR研究的一些核心领域:
- AR/VR共享课题:这些是AR和VR共同关注并不断取得进展的领域。
- 触觉反馈与移动(VR侧重):如何设计好的控制器,以及如何在VR中安全、自然地进行移动和追踪,仍是研究热点。
- AR侧的感知问题:例如我多次提到的遮挡问题,此外还有其他涉及人类感知、计算机视觉和场景理解方面的挑战。
目前发表的许多XR研究论文都归属于以上类别。但我认为,我们需要看到更多关于伦理与社会关切、可及性与公平性、隐私与安全的研究。因为如今XR技术已不再局限于企业或实验室,正被更广泛的用户所使用。研究重心需要相应转移。
这些社会性课题的挑战在于,它们通常也需要很高的技术知识。不过,通过快速原型设计等方法(如本专项第二门课程所授),你可以着手探索这些领域。
伦理、社会影响与设计责任 ⚖️
在伦理方面,本课程虽有专门讲座涉及,但我们始终可以做得更好。以下是一些XR设计师应自问的关键问题:
- 当用户无法分辨虚实边界时,会产生什么影响?虽然这可能让你的应用看起来很酷,但这并非负责任的做法。
- XR设计师的角色和责任究竟是什么?
本课程侧重于技术构建,对伦理的思考可能有所不足,我们不应忘记这一点。
最后,我们必须考虑设计的影响。你所做的一切都会对技术使用者产生影响,这种影响不仅在体验之后,更在体验之前。
以下是设计时必须平衡的几个方面:
- 在用户体验前:你需要为用户设定对即将进入的“新现实”的合理预期。
- 在体验设计中:你需要在追求逼真度和确保可信度之间取得平衡。同时,必须优先优化舒适度与安全性。如果为了追求“酷炫”而牺牲舒适与安全,那绝非明智之举。
- 在用户体验后:你需要帮助用户平稳过渡回“旧现实”。例如,在我们的危机模拟研究后,我们会对参与研究的师生进行汇报总结。不同用户的反应各异,对于儿童等群体尤其需要谨慎,已有研究表明儿童可能混淆虚拟与现实。未来,随着技术愈发逼真,这方面的研究将更为重要。
总结与展望 🎯

本节课中,我们一起学习了如何提出更好的研究问题,回顾了当前XR研究的主要技术领域,并重点探讨了常被忽视的伦理与社会责任。
协作(多用户、多设备协作)是一个高级课题,涉及网络技术和专门的设计,需要更多研究,因此我在此也提及它。
当然,仍有未覆盖的内容。本讲座旨在传达参与研究的意义:事实上,只要你从事XR相关工作,无论是否受过专业训练,你都在进行研究。这是一份需要被重视和清醒认识的责任。犯错可以理解,但需要以正确的方式对待。


如果你只学习了这门以开发为中心的课程,而从未深入思考可及性、伦理、隐私与安全,那是不够的。本课程的性质限制了我们在这些方面的深度探讨,但这节研究讲座或许能激发你对这些课题的兴趣。我邀请你学习本专项的其他课程,它们将完善你在此课程中塑造的技术能力,让你具备一些研究者的思维,这将是一个极好的附加收获。
128:XR研究专家论坛


在本节课程中,我们将与几位来自密歇根大学交互实验室的研究专家进行对话,回顾他们过去几年在XR领域的研究项目,并探讨XR研究的现状、挑战与未来方向。通过他们的分享,我们可以了解如何开展XR研究以及组建研究团队。
概述
本节课程汇集了多位XR研究者的见解。我们将讨论几个具体的研究项目案例,例如混合现实分析工具包和360度原型设计方法。同时,我们也会探讨XR研究的热门话题、面临的挑战,并为初学者提供入门建议。
嘉宾介绍
以下是参与本次讨论的各位研究专家:
- Max:2017年加入实验室进行博士后研究,现为德国某公司的用户体验经理。
- Katie Lewis:2017年至2019年在交互实验室工作,完成了与Michael指导的硕士论文,现为IBM的用户体验研究员。
- Maria:自2016年大一至2020年毕业一直在Michael的实验室工作,现将于埃森哲担任数字顾问。
- Shreya:在实验室工作一年有余,硕士期间加入,即将于今年秋季开始攻读博士学位。
重点研究项目回顾
上一部分我们认识了各位研究者,接下来我们来看看他们主导或参与的一些具体XR研究项目。
项目一:混合现实可用性分析工具包
Max首先分享了一个名为“混合现实可用性分析工具包”的项目。这是一个系统性研究,旨在为混合现实应用提供首个技术性的可用性启发式评估和测试框架。该项目历时约三年,最终形成了一篇拥有14位合著者的论文。其核心价值在于,它为解决混合现实领域长期缺乏标准用户测试方法的问题迈出了重要一步。
核心贡献:MR_Heuristics_Framework (为MR应用提供了一套可复用的评估体系)
项目二:360度纸面原型设计
Katie介绍了“360度原型”项目。该项目专注于利用纸面草图创建交互式虚拟现实和增强现实原型。研究者通过手绘场景,并将其数字化,为设计师提供了一种低成本、快速测试AR/VR应用创意的方法。Katie利用其美术背景绘制的《星际迷航》场景,成为了该项目一个非常出色的展示案例。
核心方法:Paper_Sketch -> Digital_Prototype -> VR/AR_Testing
XR研究的热点与挑战
在了解了具体项目后,我们进一步探讨当前XR研究领域的 broader 话题和面临的普遍挑战。
以下是讨论中提到的几个关键研究方向:
- 社会与伦理影响:隐私、身份认同、数据安全以及设计伦理是亟待深入研究的非技术性领域。
- 可访问性:包含两个层面:一是让XR界面本身对残障人士更友好;二是利用AR等技术增强人类的能力(如辅助视觉)。
- 技术交叉融合:XR与机器学习、计算机视觉等技术的结合具有巨大潜力,例如通过机器学习提升AR设备的环境语义理解能力。
- 评估与用户研究:由于XR技术对多数用户仍属新奇,进行用户研究时面临显著的学习曲线和“新奇效应”挑战,需要精心设计研究脚本和引导流程。
如何组建XR研究与设计团队
开展XR研究往往需要跨学科合作。那么,如果要启动一个XR项目,应该如何组建团队呢?
Max从工业界的角度给出了他的见解。他认为团队需要包含以下几类角色:
- 传统UX/UI设计师:他们需要学习将二维平面设计思维转换到三维沉浸式空间。
- 开发人员:需要明确XR设计产物的交付形式,以便进行开发实现。
- 研究人员/教育者:负责对团队进行XR相关知识与方法的培训,帮助成员完成技能迁移。
- 数据与AI专家:如果项目涉及机器学习,则需要专人确保数据收集、使用的安全与合规性。
给XR研究新手的建议
最后,我们为有意进入XR研究领域的学习者总结了一些宝贵的建议。
Shreya作为团队的新成员,分享了她的心得:在这样一个广阔且快速发展的领域,不必急于过早地专精于某个技术点(如成为Unity专家)。相反,应该先花时间建立广泛的理解,从各种来源(如电影、社交媒体、其他学科)汲取灵感,再逐步确定自己的研究方向。

Michael补充道,即使是导师也能从学生独特的生活经验和视角中获得启发。保持开放的学习心态和跨领域的探索精神,在XR研究中至关重要。
总结


本节课中,我们一起聆听了多位XR研究者的经验分享。我们回顾了如混合现实分析工具包和纸面原型设计等具体项目,探讨了社会伦理、可访问性、技术融合等研究热点,也了解了组建跨学科XR团队的方法。最后,我们认识到XR研究充满活力且边界模糊,鼓励初学者保持好奇,广泛涉猎,并勇于在交叉领域进行探索和创新。
129:课程制作揭秘 🎬


在本节课中,我们将深入幕后,了解《面向所有人的扩展现实》这门慕课(MOOC)的制作过程。我们将探讨如何录制演示、整合内容以及克服制作中的挑战,旨在为希望制作类似教学内容的你提供灵感和实用技巧。
课程概述与结构


这门慕课是一个包含三门课程的专项课程。制作始于一份详细的课程大纲,其中规划了学习目标、模块结构,并融合了视频、练习和阅读材料等多种形式。


演示内容的录制与设计



上一节我们介绍了课程的整体结构,本节中我们来看看具体的演示内容是如何录制和设计的。
传统演播室录制
课程初期,我们在专业的电影演播室进行录制。我使用了包括Oculus Quest在内的多种设备来展示和讨论XR的基本概念,例如VR与AR在追踪和工作原理上的根本区别。录制时,我会混合使用幻灯片和实际佩戴头显进行演示。

混合现实(MR)捕捉技术
为了更直观地展示,我们后来采用了混合现实捕捉技术。这个过程需要经过复杂的校准,使用Live混合现实工具和Oculus Rift。我在绿幕前进行演示,将虚拟内容合成到背景中,这样学生无需亲自进入VR,就能清晰地看到虚拟与物理世界的映射关系。
虚拟现实(VR)演示录制
对于VR内容的演示,我注重视角的切换。以下是录制VR演示时考虑的几个关键点:
- 第一人称视角:展示用户在VR中的实际所见。
- 第三人称视角:使用外部摄像机拍摄,展示用户的整体动作和反应。
- 360度全景视角:提供环境概览,让学习者有身临其境之感。


增强现实(AR)体验展示
在展示AR体验(如使用HoloLens运行Unreal Engine内容)时,我采用了远程渲染和画面合成技术。录制中会混合第一人称头显视角和原始的引擎运行画面,以解释技术原理。我会有意识地切换“摄像师”和“用户”角色,既保持画面稳定以便教学,又适时展示近距离交互以体现真实体验。
教学工具与内容创作




在展示了多种录制技术后,我们来看看支撑这些演示的教学工具和内容是如何创作的。
幻灯片与动画制作
课程中大量的示意图和动画是使用 Google Slides 制作的。例如,用于解释HoloLens视场角(FOV)的图表。这种方式便于在课堂和慕课中复用。
实践练习录制
我花费了额外一周时间,亲自完成并录制了所有实践练习。这个过程从VR中的故事板绘制(使用Google Tilt Brush)开始,到实体原型制作(如粘土建模),最后进行AR合成。我使用了自己研发的 ProtoAR 和 360 Pro Camera 工具,也结合了如Apple的Reality Composer和Adobe Aero等专业工具。


实时演示与屏幕捕捉
在讲解开发步骤时,我大量使用了实时屏幕捕捉和摄像机切换技术。我使用 OBS Studio 来同时管理多个视频源(如网络摄像头、屏幕录制、游戏捕捉),并可以实时切换,这为学习者提供了动态的观看体验,尤其适用于展示基于标记的AR等需要实时操作的内容。
技术概念与前沿案例解析
掌握了内容创作方法后,本节我们将深入一些技术概念,并看看如何展示前沿的XR案例。
概念可视化项目
为了解释如光线投射(Ray Casting)和命中测试(Hit Testing)等技术概念,我创建了许多小的 A-Frame 网页项目,并通过VR头显录制了多角度的演示视频,确保背景简洁,重点突出。
前沿技术展示
课程包含了当时最新的技术演示,例如:
- ARCore深度感知:展示基于单目摄像头的软件深度估算及其生成的深度热图。
- iPad Pro LiDAR:展示LiDAR扫描生成的网格和环境理解分类。
- HoloLens 2与MRTK:展示由混合现实工具包(Mixed Reality Toolkit)构建的、包含物理交互的MR应用。
这些演示通常采用分屏形式,一侧是设备屏幕的特写,另一侧是用户操作的全景,以帮助学习者全面理解。
研究内容融入与制作环境
除了技术和工具,将学术研究转化为易懂的教学内容也是一大特色。最后,我们来了解一下支撑这一切的制作环境。
研究项目教学化
在“XR研究”相关讲座中,我没有枯燥地讲解研究方法,而是完整展示了一个具体的用户研究项目。这包括:
- 原型设计迭代(如标记设计)。
- 用户测试过程(招募学生进行试点测试)。
- 数据分析与可视化技术(如交互会话分析)。
这种方式使得学术研究对从业者而言也更具参考价值。
制作场地与设备
课程的录制环境经历了三个阶段:
- 专业演播室:初期在密歇根大学学术创新部门的专业影棚录制。
- 绿幕工作室:用于混合现实内容的合成录制。
- 家庭办公室:90% 的课程内容是在我的家庭办公室中,使用借用的便携设备独立完成的。
主要设备包括Sony NX80摄像机、GoPro、Ricoh Theta V 360相机、HoloLens 2、Oculus Rift S以及廉价的VR眼镜(如Google Cardboard兼容设备)。
软件工具链
整个制作过程涉及大量软件:
- 录制与直播:OBS Studio, Oculus Mirror, SteamVR, AZ Screen Recorder。
- 后期制作:Adobe Premiere Pro(包括360视频剪辑)。
- 内容创作:Google Slides, Tilt Brush, Quill, Medium, Adobe Aero, Reality Composer。
- 开发环境:A-Frame (CodePen), Unity, Unreal Engine, Lens Studio。
总结与致谢


本节课中,我们一起深入探讨了《面向所有人的扩展现实》慕课的制作幕后。从课程结构规划、多种演示录制技术(演播室、MR、VR、AR),到教学工具使用、技术概念可视化,再到研究内容融入和实际制作环境,我们看到了一个大型在线课程所需的全面努力。制作过程融合了专业录制、个人创作、前沿技术展示和学术研究,旨在为学习者提供丰富、直观且实用的学习体验。最后,感谢所有参与课程设计、研究和制作的学生与同事们的辛勤付出。
130:课程总结


在本课程中,我们学习了扩展现实(XR)开发的核心技术、平台与设计原则。现在,让我们一起来回顾所学内容,并思考如何应用这些知识。
课程回顾
上一节我们介绍了课程的整体结构,本节中我们来详细回顾各模块的核心内容。
开发平台与工具
我们学习了多种XR开发方法,重点涵盖了以下平台:
- WebXR: 作为Web层之上的技术,用于将XR体验带到网页端。
- Unity: 一个强大的跨平台游戏引擎,广泛用于XR内容开发。
- Unreal Engine: 另一个主流的游戏引擎,以其高保真视觉效果著称。
虚拟现实(VR)内容创作
我们学习了构建VR场景所需的核心要素,以下是关键组成部分:
- 3D模型与角色: 故事的主要构成元素。
- 灯光与阴影: 用于营造氛围和提供视觉引导。
- 环境与物理: 创造可信的交互世界。
- 空间音频: 增强沉浸感的重要元素。
- 菜单与平视显示器(HUD): 用户界面与信息展示方式。
虚拟现实(VR)交互设计
我们探讨了VR中的核心交互方式,主要包括:
- 选择: 如何让用户指定对象。
- 操控: 如何让用户移动、旋转或缩放对象。
- 导航: 用户在虚拟空间中的移动方式。
- 菜单系统: 提供功能选项的界面。
对象放置与场景设计
我们深入研究了对象在场景中的定位与组织,以下是关键概念:
- 叙事性与非叙事性放置: 对象存在于世界空间或屏幕空间。
- DOM放置: 将对象置于文档对象模型中,使其不出现在3D场景。
- 锚定: 将对象附着于虚拟相机、控制器或手部等参考点。
- 图层设计: 将场景视为前景、中景、背景的合成,类似于电影构图。
- 迭代设计: 从草图、360度照片到3D原型逐步完善设计。
增强现实(AR)技术
我们学习了AR的实现原理,核心包括:
- 基于标记的AR: 使用特定图像(标记)进行跟踪和内容叠加。关键概念包括标记跟踪、标记丢失处理和扩展跟踪。
- 无标记AR: 系统通过识别环境中的特征点(如平面、空间映射)来建立跟踪和实现环境理解。
- 设备差异: 手持式AR与头戴式AR在设计上的不同,特别是针对有限的视场角(FOV)进行设计。
高级主题与研究
在课程最后,我们接触了一些前沿主题,为深入探索指明方向:
- 高级VR/AR技术: 如协作体验、自适应布局等。
- 可访问性: 确保XR体验能被更广泛的用户使用。
- 渐进式XR: 根据用户设备能力提供不同层级的体验。
- 混合现实捕捉与虚拟制片: 将真实与虚拟内容融合的生产技术。
- 参与XR研究: 了解该领域的研究问题、所需技能(如编程、用户体验研究、界面设计)以及如何贡献。
课程在专项中的位置

本课程是“面向所有人的扩展现实”专项的第三门课程,专注于开发。专项的完整知识体系包括:
- 课程一(概念与议题): 涵盖XR应用、概念、技术及伦理、社会、隐私、安全、可访问性与公平性等重要议题。
- 课程二(设计): 专注于设计思维、故事板、物理/数字/沉浸式原型设计及设计评审。
- 课程三(开发): 即本课程,聚焦于技术实现。
结合这三门课程,你将获得关于XR技术、设计与开发的全面而均衡的背景知识。
总结与展望
本节课中,我们一起回顾了扩展现实开发课程的核心内容。我们从开发平台与工具入手,深入探讨了VR内容创作、交互设计、场景构建以及AR的关键技术。最后,我们展望了高级主题和参与XR研究的途径。

希望本课程为你打开了XR开发世界的大门。学习之旅并未结束,鼓励你继续探索、动手实践(特别是荣誉项目),并与社区中的其他学习者交流。期待看到你运用所学知识创造出精彩的XR体验。
131:XR场景同行评审 👥


在本节课中,我们将学习如何进行XR场景的同行评审。这是“诚实路径”的最终任务,意味着你已经完成了3D、VR和AR场景的创建。我们将探讨如何以建设性的方式评审彼此的作品,并从中学习。
概述
同行评审是一个相互学习和提供反馈的过程。你已经完成了三个核心场景的构建,现在需要评审其他学习者的作品。这个过程旨在创造一个舒适、积极的学习环境,通过建设性的反馈帮助彼此成长。
评审环境与心态
上一节我们介绍了课程概述,本节中我们来看看评审时应有的心态和环境。
评审应该在一个建设性的、舒适的学习环境中进行。请务必友善对待彼此。提供批评和反馈是可以的,但目标应该是提供有帮助的、建设性的意见。
如果某个功能无法运行,直接指责“它不工作”没有帮助。更有价值的反馈是告诉对方你是如何让它成功运行的。请将同行评审视为一个互相帮助的机会。
评审任务内容
现在,我们来具体看看评审任务包含哪些内容。
你的任务是评审提交的XR原型。这些提交物通常包括描述、图片和视频,而不是代码。虽然有些学习者可能会粘贴代码,但评审重点应放在文本描述以及证明项目进展的图片和视频证据上。
提交不完整的材料通常不是一个好主意,因为这可能只会带来负面反馈。我们的目标是从彼此的开发过程和遇到的挑战中学习。
你需要对同伴产生同理心。他们可能面临技术限制,或者无法使用你所拥有的先进设备。
评审写作模板:我喜欢/我希望/如果…会怎样
以下是撰写评审时推荐使用的模板,它能帮助你组织建设性的反馈。
这个模板以积极肯定开始,然后提出改进的希望,最后给出具体的建议。这是一种在设计类课程中常用的标准方法。
- 我喜欢…:从积极的一面开始。指出作品中你欣赏或认为成功的部分。
- 我希望…:提出一个合理的、客观的改进机会。避免主观偏好(例如“我希望它是蓝色的,因为我喜欢蓝色”)。
- 如果…会怎样:提供具体的建议,说明如何实现上述改进。例如,如果涉及颜色,可以说明在Unity编辑器中创建和修改材质的步骤。
使用这个模板可以设定正确的基调,确保反馈是建设性的。
评审焦点与学习目标
在开始评审具体作品前,了解应该关注哪些方面以及我们能学到什么非常重要。
你应该主要关注VR和AR场景,当然3D场景也值得考虑。评审时,可以结合从本课程第二门课(如果学过)中学到的用户体验知识,提供更全面的反馈。
你应该评审2到3个原型(具体数量请以最终任务说明为准)。评审过多或过少都不太合适。
通过这个过程,预期你将获得以下成果:
- 对如何创建XR(VR和AR)场景有更全面的了解。
- 了解不同平台(如Unity、Unreal、WebXR/A-Frame)开发的共性与差异。
- 学习他人的开发方法、解决方案和问题解决技巧。
评审时需要关注的具体方面
上一节我们明确了学习目标,本节中我们来看看评审时需要考察的具体维度。
在评审时,请关注以下几个方面:
- 体验类型:这是3D、VR还是AR场景?观察同一创意在不同媒介(3D -> VR -> AR)下的演变会非常有趣。
- 平台与工具:作品是使用WebXR、Unity还是Unreal创建的?注意你对该平台的经验。
- 提交材料:仔细阅读所有文字描述、查看截图和视频。
- 方法运用:关注创作者如何使用课程教授的方法。这不是评判对错,而是学习不同的解读和应用方式。
- 工具使用与创意:可以就功能选择、动画实现方式等提出替代方案建议。同时,欣赏作品的创意和实现方式。
- 隐含的问题:留意字里行间是否透露出创作者需要帮助。如果你有相关工具的经验,可以主动分享。
请避免过多评论你认为对方投入的努力或作品质量,因为这通常只是猜测。除非对方说明,我们并不了解其背后的具体挑战。
核心原则与总结
在本节课的最后,我们来总结一下同行评审中最重要的一些原则。
本节课中我们一起学习了如何进行有效的XR场景同行评审。以下是需要牢记的核心原则:
- 公平与尊重:这是最重要的原则。所有完成“诚实路径”的学习者都付出了巨大努力,值得尊重。
- 建设性批评:遵循“我喜欢/我希望/如果…会怎样”的模板,确保反馈有帮助。
- 视为学习体验:这不是教学,而是共同学习。如果你更有经验,可以分享知识,但请提供足够的背景和上下文,甚至可以指引同伴回顾课程中的相关讲座。
- 识别成长机会:不仅为同伴,也为你自己。通过评审他人的工作,反思自己可以如何改进和成长。



恭喜你走到这一步!你应该为自己的成就感到自豪,并将这些作品放入你的作品集中。现在,让我们开始互相学习,庆祝彼此的成果吧。

浙公网安备 33010602011771号