技术方案总体分成3块:

  1. LED屏幕:接收数据,完成个性化效果的展示
  2. NFC 接触式互动:接收用户的指令和数据,操作LED屏幕的展示
  3. 屏幕印章:读取实体印章信息,匹配印章数据与虚拟物品

LED 互动屏幕

先感谢热心即友拍的现场视频!点击链接可以看到效果 里程碑:

航行日志:(虽然一整天都排着大长队,但是似乎所有人都忘了拍视频…)

image.png

现场的多个大屏由上百个 LED 屏幕模块拼接而成:

  1. 10 个分散的meetup 屏幕组合:每个点位由 3 块 1:1 的无缝 LED 屏环绕拼接为 U 型
  2. 1 个里程碑屏幕组合:由左、中、右分别是 1:3、3:3、1:3 的 LED 屏环绕拼接为 U 型
  3. 1 个航行日志屏幕组合:由 7 块比例 1:1/1:2/2:2 的 LED 屏幕平面拼接

所有的现场用户都能使用不同的方式与屏幕装置互动,且都有事件驱动的动画效果,屏幕展示的内容由用户的数据动态决定。现场的屏幕装置数量又多又分散,策划前期我们很天真的希望能汇集到一个总控制中心来渲染显示内容,分发给多个 LED 显示。咨询了多家 LED 技术支持企业,获得了以下一些回复:

后来经过朋友推荐联系到一家海南的企业做整包的解决方案。他们的解决思路是用 GPU 集群实时渲染拼接视频流,现场不同的 LED 控制台通过互联网拉流进行画面输出。虽然我们对延迟并不敏感,但出于对场地 5G 网络的总带宽上限(漫游者们会占用基站资源)和预算不足(简直是天价)的考虑,最终还是放弃了。

怎么办呢,需求都接了,只能拿出 Homebrew 大法。

前端是我们老本行,这些动画效果全都仰仗 V8 帮我们搞定,浏览器去渲染各自的网页,LED 映射网页就行了。按道理来说,如果同一个装置的 7 块屏幕所要展示的画面内容各自独立,他就需要 7 个视频源用于渲染输出,7 个屏幕就要 7 个电脑……所幸供应商大哥给我搞到了一款LED控台,能手动矩形分割输出的一整块画面为多个,代价就是这个控台体积巨大,现场工程师1个像素1个像素的去手动调整画面分割。