这是我们节目第二次采访的文字记录的第一部分(
自 2012 年以来,Andrey 一直在可视化和计算机图形研究组工作。 参与过国家级及国际级大型应用项目。 这一部分的对话,我们聊聊他在AR支持公共活动方面的经历。
照片
项目背景和目标
时间码(通过
我们偶然遇见了他们
— 你使用 VR 工作,但你能使用增强现实吗?
- 嗯,有点,是的。
- 有这样一个任务,有这样的介绍性笔记。 你可以做到吗?
他们稍微挠了一下萝卜,似乎没有什么不切实际的地方:
- 让我们先尝试研究一切,然后找到解决方案。
德米特里: 他们只提供媒体支持吗?
安德鲁: 他们组成了一个完整的堆栈。 从管理和组织的角度来看,他们完全参与导演、布景、布景选择、后勤和其他技术支持。 但他们想为欧洲运动会做一些特别的事情。 这些特效,如混合现实,已经为电视制作了相当长的一段时间,但就技术实现而言,它们并不是最经济的。 因此,人们正在寻找替代选择。
德米特里: 让我们更详细地讨论这个问题。 它由什么组成?
安德鲁: 有一个事件。 持续一个半小时。 我们需要确保现场观看的观众和坐在场馆内的观众能够在现场的时间和地点上看到与现场表演完全同步的增强现实效果。
存在许多技术限制。 通过互联网进行时间同步是不可能的,因为人们担心满座的网络负载过大,以及国家元首出席活动的可能性,这可能会堵塞移动网络。
安德烈·卡尔萨科夫,照片来自
我们这个项目有两个关键组成部分——人们可以通过移动设备获得的个人体验,以及进入体育场本身的电视广播和信息屏幕的内容。
如果一个人突然通过移动设备观看增强现实剧集,同时出现在屏幕上,他应该会看到相同的图片。
我们需要两个几乎不同的系统在时间上完全同步。 但此类节目的特殊性在于,这些都是复杂的事件,涉及大量的技术服务,并且所有操作都是根据时间代码进行的。 时间码是某件事开始的特定时刻:灯光、声音、人们离开、舞台花瓣开放等等。 我们必须适应这个系统,以便一切都能在正确的时间开始。 另一个特点是,增强现实的场景和情节与剧本相关。
德米特里: 但是,您是因为不可抗力的高风险而决定放弃使用时间码,还是您最初计算了一些功率特性并意识到整个系统的负载会相当高?
安德鲁: 如果你为这样的受众做一个同步服务,那么难度也不是很大。 无论如何,请求不会在一夜之间失败。 是的,负载很高,但这不是紧急情况。 问题是,如果网络突然宕机,是否值得为此花费资源和时间。 我们不确定这不会发生。 最终,一切正常,虽然由于负载而中断,但它有效,并且我们根据不同的方案根据时间代码进行同步。 这是全球挑战之一。
从用户体验的角度来看实施的困难
时间码(通过
安德鲁: 我们还必须考虑到体育场不是一个经典的音乐会场地,并为移动设备同步跨空间的系统。 所以前段时间我就火了
照片
但这始终是一种在你面前的体验——整个人群站在舞台前,同步非常简单。 就体育场而言,您需要了解自己位于圆的哪一侧以及相对位置,以便体育场适合虚拟环境中存在的空间。 这是一个艰难的挑战。 他们试图以各种方式解决这个问题,结果与洛博达实施的情况很接近,但并非在所有方面都如此。
我们让用户决定他在哪里。 我们为体育场做了标记,人们可以在那里选择一个区域、一排、一个地方。 所有这一切只需四次“点击”。 接下来我们必须确定舞台的方向。 为此,我们从自定义角度展示了场景的大致轮廓。 他将其组合起来,轻敲一下,就这样——舞台坐下了。 我们试图尽可能简化这个过程。 尽管如此,90%想要观看该节目的观众并不是那些有过增强现实交流经验的人。
德米特里: 该项目是否有单独的申请?
安德鲁: 是的,我们将其推送到商店的 iOS 和 Android 应用程序。 为此有一个单独的促销活动。 前面已经详细介绍了如何下载等等。
德米特里: 您需要了解,没有地方可以让人们进行物理测试并学习如何使用此类应用程序。 因此,“教育”观众的任务变得更加复杂。
安德鲁: 是的是的。 在用户体验方面,我们遇到了很多障碍,因为用户希望通过三次点击获得体验:下载、安装、启动 - 它起作用了。 很多人都懒得去遵循复杂的教程、阅读教程等等。 我们并没有试图在教程中尽可能多地向用户解释一切:这里会打开一个窗口,在这里访问相机,否则它将无法工作,等等。 无论你写了多少解释,无论你咀嚼得多么详细,无论你插入什么动图,人们都不会阅读。
在明斯克,我们收集了有关这部分的大量反馈,并且已经针对喀山的应用程序进行了很多更改。 我们不仅把那些与增强现实的特定情节相对应的录音和时间代码放在那里,而且我们还完整地获取了所有录音和时间代码。 因此,应用程序会听到启动时发生的情况,并且 - 如果有人在错误的时间登录 - 它会给出信息:“同志,对不起,你的 AR 剧集将在 15 分钟后播出。”
关于同步架构和方法的一些信息
时间码(通过
德米特里: 您决定通过声音同步吗?
安德鲁: 是的,这是偶然发生的。 我们在寻找选项时发现了一家公司
德米特里: 但这是一回事——你坐在客厅里,而另一回事——一个有数千人的体育场。 您觉得录音的质量和随后的认可度如何?
安德鲁: 有很多恐惧和怀疑,但在大多数情况下,一切都得到了很好的认识。 他们用巧妙的算法在音轨上构建签名 - 结果比原始音频文件更轻。 当麦克风聆听周围的声音时,它会尝试找到这些特征并根据它们识别曲目。 在良好的条件下,同步精度为0,1-0,2秒。 这已经足够了。 在恶劣条件下,差异可达 0,5 秒。
很大程度上取决于设备。 我们使用了大量设备。 iPhone 仅有 10 种型号。 他们在质量和其他功能方面表现良好。 但对于机器人来说,动物园就像我的母亲。 事实证明,声音同步并非在所有地方都有效。 在某些情况下,由于某些特殊性,无法在不同设备上听到不同的曲目。 在某个地方低频消失了,在某个地方高频开始喘息。 但如果设备的麦克风上有标准化器,则同步始终有效。
德米特里: 请告诉我们有关架构的信息 - 该项目中使用了什么?
安德鲁: 我们在 Unity 中制作了应用程序 - 就多平台和图形处理而言,这是最简单的选择。 使用 AR 基金会。 我们立即表示,我们不想让系统变得复杂,因此我们将自己限制在支持 ARKit 和 ARCore 的设备上,以便有时间测试所有内容。 我们为DigitalSoft SDK制作了一个插件,它
我们对粒子系统进行了一些修改,因为用户可以随时进入特定的情节,并且我们需要他从同步那一刻起看到所有内容。 我们修补了一个系统,可以让场景及时清晰地播放,这样 XNUMXD 体验就可以像电影一样来回滚动。 虽然它可以直接使用经典动画,但我们必须修改粒子系统。 在某个时刻,它们开始产卵,如果你发现自己在产卵点之前的某个地方,那么它们还没有出生,尽管看起来它们应该出生。 但这个问题其实很容易解决。
对于移动部分,架构非常简单。 对于电视广播来说,一切都更加复杂。 我们有硬件限制。 客户提出了一个条件:“我们这里有这样那样的硬件园区,大致来说,一切都需要在上面进行。” 我们立即关注这样一个事实:我们将使用相对预算的视频采集卡。 但预算并不意味着它们不好。
硬件、视频采集卡和工作条件(我们应该如何接收图片)都有限制。 采集卡 - Blackmagic Design,根据内部键控方案工作 - 这是当视频帧从相机传给您时。 该卡有自己的处理芯片,其中还插入了一个框架,该框架必须叠加在传入框架的顶部。 该卡将它们混合在一起——我们不会碰那里的任何其他东西,也不会影响摄像机的帧。 她通过视频输出将结果输出到控制室。 这是叠加标题和其他类似事物的好方法,但它不太适合混合现实效果,因为渲染管道有很多限制。
德米特里: 在实时计算、对象绑定还是其他方面?
安德鲁: 在质量和达到预期效果方面。 因为我们不知道要把图片放在什么上面。 我们只是在原始流之上发送颜色和透明度信息。 此方案无法实现某些效果,例如折射、正确的透明度和附加阴影。 为此,您需要将所有内容一起渲染。 例如,无法通过火或热沥青来产生空气扭曲的效果。 考虑到折射率的透明效果的传递也是如此。 我们最初根据这些限制制作内容,并尝试使用适当的效果。
德米特里: 您在欧洲运动会的第一个项目中已经有了自己的内容吗?
安德鲁: 不,内容开发的主要阶段是由 Sechenov.com 的人员完成的。 他们的图形艺术家用动画和其他东西绘制了基本内容。 我们将所有内容集成到引擎中,添加了额外的效果,对其进行了调整,以便一切正常运行。
如果我们谈论管道,那么对于电视广播,我们在虚幻引擎 4 上组装了所有内容。巧合的是,他们就在那时开始增强他们的混合现实工具。 事实证明,一切并没有那么简单。 即使现在所有的工具都是原始的;我们必须手工完成很多工作。 在明斯克,我们对引擎进行了定制构建,也就是说,我们重写了引擎内部的一些东西,例如,我们可以在真实物体的顶部绘制阴影。 当时的引擎版本不具备使用标准工具来完成此操作的功能。 因此,我们的人员制作了自己的定制组件,以提供至关重要的一切。
其他细微差别和对喀山世界技能大赛的适应
时间码(通过
德米特里: 但这一切都是在相当短的时间内完成的吗?
安德鲁: 期限很紧
德米特里: 从一个项目到另一个项目是否有任何调整? 一个半月的时间,是不是要趁着事态的发展,把有新内容的项目转移到新的地点?
安德鲁: 是的,已经有一个半月了。 我们计划在明斯克项目结束后为整个团队放两周假。 但交易结束后,Sechenov.com 的人就上来说:“好吧,那我们就去喀山吧。” 我们还是设法休息了一下,但很快就转向了这个项目。 我们完成了一些技术工作。 大部分时间都花在了内容上,因为对于世界技能大赛我们完全做了这件事,我们只是与制作团队协调。 他们只有一个剧本。 但这更容易——不需要额外的迭代。 当您自己创建内容时,您会立即看到它在引擎中的工作方式,并且可以快速编辑和协调。
关于移动部分,我们考虑了明斯克的所有微妙之处。 我们进行了新的应用程序设计,稍微重新设计了架构,添加了教程,但试图使其尽可能简短和清晰。 我们减少了从启动应用程序到查看内容的用户步骤数。 一个半月的时间足以完成一个足够的项目。 一周半后我们到达了现场。 在那里工作更容易,因为项目的所有控制权都掌握在组织者手中;不需要与其他委员会协调。 在喀山工作更简单、更轻松,时间更少也是很正常的。
德米特里: 但是您是否决定保留基于声音的同步方法?
安德鲁: 是的,我们通过声音离开了它。 效果很好。 正如他们所说,如果它有效,就不要碰它。 我们只是考虑了音轨质量的细微差别。 当他们做介绍时,有一个训练集供人们在节目开始前尝试。 令人惊讶的是,当在体育场内播放该曲目的瞬间,出现了暴风雨般的掌声,“现场”,系统允许您与该曲目很好地同步,但如果此时录制的掌声与该曲目混合在一起,那么轨迹不再被捕获。 这些细微差别都被考虑在内,一切在声音方面都同步得很好。
PS 在本期的第二部分中,我们讨论科学数据可视化、其他项目中的流程建模、游戏开发和硕士课程“
PPS 同时,关于 Habr 的英文版:
来源: habr.com