数字舞池实验

个人作品 · 2026

我一直很好奇,能不能像 DJ 控制音乐一样,实时控制数字角色的表演? 于是我用 TouchDesigner 搭建了一套实时视觉控制系统, 通过 BPM 同步、节拍触发和能量分区,让角色的动作随着音乐结构自由切换。 这是一个仍在持续生长的实验,也是一场关于未来现场演出的想象。

目前的系统原型如下,仍在施工中。

这是系统的节拍控制区域。 可以跟着音乐手动 TAP 测算 BPM, 再像使用 DJ 控制器一样,微调速度与相位, 让小人的舞步准确跟上音乐节奏。

这是系统的动作调度区域。 我把音乐的表演过程分成不同段落,并为每个段落设置了五个能量等级。 系统会根据当前选择的段落和能量,从对应的动作库中调用动画,并在节拍点完成切换。 右侧可以实时查看小人的表演状态,以及当前和待切换的动作。

这是系统的视觉素材控制区域。 可以从素材库中预览、选择和切换不同的动态背景,并将它们与小人的舞蹈组合起来。 部分素材还可以根据 BPM 同步播放,让角色动作与背景视觉保持统一的节奏。

这是 Director 的内部控制模块。 除了手动调度和自动控制逻辑,我还设计了一套类似 MIDI 控制器的快捷操作方式。 只需要选择对应的能量区间,就能同时切换小人的舞步和 VJ 视觉素材,让整套表演快速进入相应的能量状态。 系统还加入了动作锁定、预备切换等机制,让现场操作更加灵活、稳定。

以下是这套系统中的主要信号网络

这里将测算得到的 BPM 转换成持续更新的 Beat(拍)与 Bar(小节)信号,为角色动作切换、VJ 素材同步和其他节奏控制提供统一的时间基准。
这里将测算得到的 BPM 转换成持续更新的 Beat(拍)与 Bar(小节)信号,为角色动作切换、VJ 素材同步和其他节奏控制提供统一的时间基准。
各个 UI 模块相互连接,共享控制信号与运行状态,共同组成一套完整的实时表演系统。

如下是我的前期设计草图以及前期探索版本存档

前期设计草图
前期设计草图
前期设计草图
前期设计草图
前期使用 Blender 制作了高精度角色模型,并完成骨骼绑定。
但考虑到后续表演主要以剪影形式呈现,所以目前我决定简化模型细节,改用更轻量的 Lowpoly 角色,保留身体轮廓与动作表现。
前期使用 Blender 制作了高精度角色模型,并完成骨骼绑定。 但考虑到后续表演主要以剪影形式呈现,所以目前我决定简化模型细节,改用更轻量的 Lowpoly 角色,保留身体轮廓与动作表现。
一些早期版本的系统搭建存档
一些早期版本的系统搭建存档

这套系统目前还只是个初步成形的版本,能控制小人跳舞,也能跟着音乐切换画面,但距离我脑子里想象的样子还有不少空间。 接下来还想继续往里塞些新玩法,让它更灵活,也更适合现场使用。 至于最终会变成什么样,我也不太确定。 总之,先给这群小人搭个舞台吧。