用现实物体影子玩的混合现实平台游戏
This Platformer Lets You Use Shadows of Real-Life Objects to Play
澳大利亚导演兼动画师Tee Ken Ng创作了混合现实游戏Plato,玩家操控霓虹绿方块,通过摆放现实物体投射影子作为斜坡来收集金币。系统用网络摄像头捕捉影子,经TouchDesigner转为低分辨率碰撞面,再传入Godot生成物理几何体。作品暗合柏拉图洞穴寓言,理论上任何人用投影仪、摄像头和软件即可游玩。
深度解读
澳大利亚导演、动画师与影像艺术家 Tee Ken Ng 用一台投影仪、一个摄像头和一套实时管线,把现实物体的影子变成了可玩的平台跳跃关卡——这款名为 Plato 的混合现实游戏,本质上是在用最廉价的硬件复刻柏拉图洞穴寓言,同时给独立游戏开发者指出了一条绕开引擎内卷的技术路径。
这个游戏到底怎么玩
屏幕上有一个霓虹绿色的小方块,名叫 Plato,玩家的目标是操控它收集屏幕上出现的所有金币。问题在于,部分金币藏在屏幕高处,Plato 靠自身跳跃够不到。解法不是按手柄上的某个键,而是伸手拿起桌上的任意实物——杯子、笔、手指——放到投影仪前方,让它在墙上投出影子,这个影子就变成了一段斜坡或跳台,Plato 可以跑上去、滚下来、从边缘跳出去。
"摄像头、投影仪和游戏被映射到同一个空间,所以碰撞图和你在墙上看到的影子是对齐的。"
这句话是整个项目的技术核心。它意味着玩家看到的影子和游戏引擎理解的碰撞体是同一套坐标,不存在"视觉上踩到了但物理上没踩到"的错位。
技术栈拆解:TouchDesigner + Godot + MadMapper
整条管线分三段。第一段是 TouchDesigner,它接收 webcam 的画面,实时识别出阴影区域,并将其转换为低分辨率的 collision surfaces(碰撞表面)。注意这里的关键词是"低分辨率"——这不是技术妥协,而是设计选择。低分辨率意味着计算量小、延迟低,同时碰撞体的粗糙边缘反而让玩法更有容错空间。
第二段是 Godot。TouchDesigner 处理完的碰撞信息被直接送入 Godot 引擎,Godot 将这些表面转化为可交互的 physics geometry(物理几何体),Plato 才能在上面执行跑、滚、跳、翻越等动作。选择 Godot 而非 Unity 或 Unreal,对于一个轻量级 2D 平台跳跃玩法来说是合理的技术选型——开源、轻、启动快。
第三段是 MadMapper,负责 projection mapping(投影映射),确保投影画面与物理空间精确对齐。Tee Ken Ng 特别指出,理论上任何人只要有投影仪、摄像头,加上运行中的 MadMapper 和 TouchDesigner,就能复现这套玩法。
延迟是唯一的物理限制
Tee Ken Ng 提到,任何东西都可以成为碰撞物体,包括你自己的手这样的运动物体——但手部动作会带来一点 lag(延迟)。这个细节值得展开:静态物体(杯子、笔)的影子是稳定的,TouchDesigner 可以从容地做帧间差分和噪声过滤;但运动物体的影子每帧都在变,摄像头采集、TouchDesigner 处理、Godot 物理更新、投影输出,这条链路上任何一环的延迟都会导致玩家看到的手影和实际碰撞位置之间产生可感知的偏差。
这不是一个可以靠堆硬件解决的问题,而是实时视觉-物理管线的固有瓶颈。对于想要复制这套方案的开发者来说,这意味着:如果你的玩法依赖快速运动的实体物体,需要重新评估可行性。
为什么叫 Plato:一个不复杂的游戏藏着一个不简单的隐喻
Plato 这个名字直接指向柏拉图的洞穴寓言。寓言里,囚徒被锁在洞穴中,只能看到墙上的影子,并把这些影子当作最真实的现实——因为他们从未见过投射影子的实物本身。
Tee Ken Ng 的游戏做了一个精妙的倒置:玩家就是那个在洞穴外操控实物的人,但 Plato(那个绿色方块)是洞穴里的囚徒。它的整个世界由投影仪背后的随机物体所投下的影子构成。玩家为它搭建的每一段斜坡、每一个跳台,对 Plato 而言就是它所能认知的全部物理法则。
Tee Ken Ng 的 Plato 在某种意义上,是一个被困在自己现实中的囚徒——这个现实由投影仪和一堆随机物体构成。
这个隐喻不是事后附会的装饰。它解释了为什么这个项目选择用"影子"而不是"图像识别"或"AR 标记"来做交互——影子本身就是洞穴寓言的核心意象,用影子做碰撞体,等于让玩家在游玩过程中亲身体验"影子即现实"的认知局限。
对独立开发者的实际意义
这个项目最值得注意的地方不在于它有多好玩,而在于它展示了一种极低成本的混合现实游戏开发范式。没有头显、没有深度摄像头、没有专用硬件,一台投影仪加一个普通 webcam 就能跑。TouchDesigner 和 Godot 都有免费版本,MadMapper 是唯一需要付费的环节。
对于做线下装置、展览、教育类游戏的团队来说,这套方案的门槛低到可以快速原型验证。对于做传统平台跳跃的开发者来说,Plato 提示了一个方向:collision surface 不一定非要来自引擎内的 tilemap 或 sprite,它可以来自现实世界的实时数据流。
Tee Ken Ng 本人被描述为"一个真正的影子巫师,以光影为媒介进行视频导演和游戏设计"。这个评价不算夸张——他找到了一种让物理引擎和物理世界共享同一套影子语言的方法,而这种方法的名字恰好叫 Plato。
