✦

AR 木偶剧

个人项目·2024 秋季·Unity / ARFoundation / iOS

概念设计、舞台设计、3D 场景搭建、AR 开发、表演设计

问题

AR 能不能在保留物理操控感的前提下,把木偶剧搬到桌面上?

目标

基于多图像追踪的 AR 木偶剧场,表演者移动实物板块控制数字角色,完成现场表演。

方案

卡卡颂板块做追踪标记,Unity + ARFoundation 六板块同时追踪,iPhone 部署。

结果

课堂现场表演。六板块同时追踪,稳定 60fps(iPhone 15 Pro)。

小时候看《音乐之声》里的提线木偶剧——木偶在舞台上唱歌跳舞,像有自己的生命。表演者的手指在动,但观众看到的是角色在活。

后来在课堂上接触到 AR,我突然发现 AR 和木偶剧在结构上是一样的:都是通过操控现实中的物体,让虚拟的角色「活」在物理空间里。区别只是木偶剧用线和棒,AR 用摄像头和屏幕。

动手之前我研究了不同的木偶戏传统,想搞清楚一个问题:木偶剧到底靠什么打动人?

中国传统木偶

杆操木偶和皮影都依赖同一个机制:表演者在幕后操控,观众只看到角色的影子或动作。操控者不可见,但故事完整。

西方提线木偶

提线木偶和观众在同一个空间。每根线对应一个关节,手的动作直接映射为角色的动作。

框架式观看

观众通过一个「框」看表演,操控发生在框外。皮影用幕布,AR 用手机屏幕。

一对一映射

移动一个物理对象,角色就跟着动,中间零抽象层。提线木偶用线,AR 用图像追踪。

设计约束

01

不用触屏

手必须接触实物。触屏操作会让表演变成「玩手机」,观众看不到表演者的身体动作。

02

不用预设动画

每场表演必须不一样。节奏、走位、停顿都由表演者实时决定,否则这就不是木偶剧,是动画片。

03

不固定视角

观众用自己的手机看,走到哪看到哪。和剧场里选座位一样,不同位置看到不同角度。

04

要能真的演故事

不是技术 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 和木偶剧共享同一个结构:操控实物,让虚拟角色活在物理空间。卡卡颂板块做到了——不印标记、不碰屏幕,表演者的手就是操纵杆。

一个人同时管六个板块不现实。表演时手忙脚乱,观众注意力在手机和桌面间跳转。木偶剧的真正形态是分工,不是独角戏。

下一步:多人协作模式,一人控角色、一人控场景。接入外部音响和大屏投影,让表演从手机走向舞台。


//