AR 木偶剧
我的角色
概念设计、舞台设计、3D 场景搭建、AR 开发、表演设计
AR 能不能在保留物理操控感的前提下,把木偶剧搬到桌面上?
基于多图像追踪的 AR 木偶剧场,表演者移动实物板块控制数字角色,完成现场表演。
卡卡颂板块做追踪标记,Unity + ARFoundation 六板块同时追踪,iPhone 部署。
课堂现场表演。六板块同时追踪,稳定 60fps(iPhone 15 Pro)。
动机
小时候看《音乐之声》里的提线木偶剧——木偶在舞台上唱歌跳舞,像有自己的生命。表演者的手指在动,但观众看到的是角色在活。
后来在课堂上接触到 AR,我突然发现 AR 和木偶剧在结构上是一样的:都是通过操控现实中的物体,让虚拟的角色「活」在物理空间里。区别只是木偶剧用线和棒,AR 用摄像头和屏幕。
研究
动手之前我研究了不同的木偶戏传统,想搞清楚一个问题:木偶剧到底靠什么打动人?
中国传统木偶
杆操木偶和皮影都依赖同一个机制:表演者在幕后操控,观众只看到角色的影子或动作。操控者不可见,但故事完整。
西方提线木偶
提线木偶和观众在同一个空间。每根线对应一个关节,手的动作直接映射为角色的动作。
观众通过一个「框」看表演,操控发生在框外。皮影用幕布,AR 用手机屏幕。
移动一个物理对象,角色就跟着动,中间零抽象层。提线木偶用线,AR 用图像追踪。
设计
设计约束
不用触屏
手必须接触实物。触屏操作会让表演变成「玩手机」,观众看不到表演者的身体动作。
不用预设动画
每场表演必须不一样。节奏、走位、停顿都由表演者实时决定,否则这就不是木偶剧,是动画片。
不固定视角
观众用自己的手机看,走到哪看到哪。和剧场里选座位一样,不同位置看到不同角度。
要能真的演故事
不是技术 demo,是一场完整的表演。有场景、有角色、有剧本、有音乐,观众能看懂一个故事。
舞台设计
我需要一种表演者可以在桌上移动、同时能被 AR 识别的实物。想来想去,选了卡卡颂——我最喜欢的桌游之一。它的板块每张插画都不同,天然适合做 AR 图像追踪的标记物。我把棋盘分成了两个区域:场景区放场景板块,换一个就切换整个舞台背景;角色区放角色板块,表演者移动它们来推进剧情。
卡卡颂本身的玩法就是「放置板块构建世界」,这和搭建舞台的逻辑天然吻合。
场景
只做两个场景,不做三个、四个。原因很简单:六个板块里要分给四个角色,场景最多只能占两个位置。而且两个场景刚好构成一个「出发—抵达」的叙事弧线,比堆砌更多场景有效。
乡间小路
开场。瞭望塔、树林、石墙——角色在这里相遇、结伴上路。
城镇集市
终场。中世纪集市、木结构建筑——四个角色在这里汇合,完成故事。
角色
四个低多边形角色。低多边形是刻意选择——卡卡颂板块本身是简笔风格的插画,写实角色放上去会撕裂视觉统一感。每个角色对应一个专属板块,角色之间没有固定关系,同一个剧本不同人演出来完全不一样。
剧情
借助 AI 写了一个短剧本《魔法与钢铁的旋律》。骑士罗文和一名士兵在乡间小路偶遇,结伴前往城镇集市,遇到了表演魔法的巫师和叫卖的商贩。剧情不复杂,因为重点不是故事本身,而是表演者怎么用板块来「演」这个故事。
Scene 1: The Countryside Road A gentle melody begins as Sir Rowan, a knight, rides through the countryside. He spots a Soldier sitting on a rock, cleaning his shield. [Song: On the Road to Glory] Sir Rowan: "Through the fields, across the plains, with my sword, I carve my name." Soldier: "I've seen my share of toil and pain, fighting battles that never end." Sir Rowan: "Let's travel together, my friend. Strength is found in numbers." Soldier: "A knight's company is always welcome." Scene 2: The Town Market The market is busy, with vendors calling out. The Wizard is performing a magical trick. The Vendor is selling fruits nearby. [Song: Magic and Food] Wizard: "Potions and charms, come and see, a little magic for you and me!" Vendor: "I've got apples and meat, fresh and sweet, forget the magic, come take a treat!" Sir Rowan: "I'll take both--strength and sustenance." Soldier: "A full belly and a bit of magic--perfect!" [All Together] "Together we stand, with food and might, through every journey, we take flight!"
开发
选 Unity + ARFoundation 是因为它是唯一同时支持多图像追踪和 3D 渲染的方案。Web AR 追踪精度不够,原生 ARKit 没有现成的 3D 渲染管线。部署在 iPhone 15 Pro(ARKit 后端)。
最头疼的是多图像追踪。桌上同时放六个板块,每个都要被识别、对应到正确的 3D 模型,并且在我绕桌子走动时保持位置不漂移。早期版本经常出现角色突然消失又闪回来的情况——这在现场表演里是不能接受的。
角色闪烁消失
尝试 增大追踪缓冲区,延长失联后的保持时间
结果 闪烁减少但位置会漂移,角色慢慢飘离板块
部分板块识别率低
尝试 逐个测试板块的可追踪性评分
结果 发现图案简单的板块评分很低,换成图案复杂的板块后稳定性大幅提升
最终方案是优化参考图像库。卡卡颂板块的插图复杂度不一——有的图案丰富容易识别,有的太简单追踪不稳。逐一测试每个板块的可追踪性评分,换掉了评分低的板块。正常室内光照下,六个板块同时追踪,稳定 60fps。
Unity + ARFoundation
图像追踪、平面检测、渲染管线。
多图像追踪
六个板块注册为参考图像,识别后在对应位置渲染 3D 模型。
iOS / ARKit
底层负责相机姿态估计、特征检测和环境理解。
反思
AR 和木偶剧共享同一个结构:操控实物,让虚拟角色活在物理空间。卡卡颂板块做到了——不印标记、不碰屏幕,表演者的手就是操纵杆。
一个人同时管六个板块不现实。表演时手忙脚乱,观众注意力在手机和桌面间跳转。木偶剧的真正形态是分工,不是独角戏。
下一步:多人协作模式,一人控角色、一人控场景。接入外部音响和大屏投影,让表演从手机走向舞台。