基于物理的角色位移控制 (Locomotion Control) 技术洞察
更新时间: 2026-03-29
范围: 2010-2025 年角色位移 (locomotion) 控制技术分析
一、概述
角色位移控制是计算机图形学、机器人学和游戏开发的核心问题。其目标是:生成自然、稳定、可控的角色运动(如行走、跑步、跳跃等)。
1.1 为什么 Locomotion 是一个难题?
- 高维状态空间: 人形角色通常有 30+ 自由度
- 强非线性动力学: 接触力、摩擦力、碰撞使系统高度非线性
- 多模态行为: 行走、跑步、跳跃等不同步态需要不同控制策略
- 实时性要求: 游戏/VR 应用需要 60+ FPS
- 鲁棒性要求: 需要抵抗外部扰动、适应地形变化
1.2 技术分类:运动学 vs 动力学
运动学方法 动力学方法
(Kinematics) (Dynamics)
──────────── ────────────
核心目标 生成视觉上合理的动作 生成物理可行的动作
输出 关节姿态/速度 关节力矩/目标姿态
是否物理仿真 否 是
典型应用 动画生成、VR 化身 游戏、机器人仿真
优势 速度快、质量高 物理交互、抗扰动
局限 无法处理物理交互 训练成本高、实现复杂
本文结构:
- 第二部分:基于运动学的方法(直接生成动作)
- 第三部分:基于动力学的方法(物理仿真控制)
- 第四部分:技术对比与选型指南
- 第五部分:未来趋势
二、基于运动学的方法 (Kinematics-based Methods)
核心特征:直接从数据学习动作生成,不经过物理仿真,输出为关节姿态。
2.1 技术演进时间线
2017 2020 2023 2024 2025
│ │ │ │ │
PFNN ───→ Learned MM ───→ MOCHA ───→ A-MDM/CAMDM ───→ DARTControl
│ │ │ │
│ │ │ └── AAMDM (5 步去噪)
│ │ │
│ └── 用神经网络替代数据库搜索
│
└── 相位条件化 + 混合专家网络
2.2 PFNN: Phase-Functioned Neural Networks (SIGGRAPH 2017)
论文: src/113.md
核心创新: 将相位从「网络输入特征」升级为「网络权重的参数化变量」
架构:
输入:前一帧状态 + 用户控制 + 环境特征 + 相位 φ
↓
相位函数 Θ(φ) → 生成网络权重
↓
三专家网络混合输出
↓
输出:关节位置/速度/角度、根节点速度、相位变化量、触地标签
输入参数 (约 300 维):
- 轨迹位置/方向/高度 (12 帧 × 多维)
- 步态语义标签 (5 维二进制:站立/行走/慢跑/跳跃/俯身)
- 前一帧关节位置/速度 (31 关节 × 6 维)
输出参数:
- 当前帧关节位置/速度/角度
- 根节点平移/角速度
- 下一帧轨迹预测
- 相位变化量
- 足部接触标签 (用于 IK 后处理)
优点:
- 相位解耦,避免不同相位动作混合导致的 artifacts
- 仅 10MB 模型大小
- 实时 60 FPS
缺点:
- 仍需手工标注相位和步态标签
- 泛化能力有限,仅支持训练过的步态
2.3 Learned Motion Matching (SIGGRAPH 2020)
论文: src/208.md
核心创新: 用三个神经网络替代 Motion Matching 的数据库搜索
背景: Motion Matching 是游戏工业标准,但需要存储海量动画数据库,内存占用随数据量线性增长。
架构:
┌─────────────────────────────────────────────────┐
│ Learned Motion Matching │
├─────────────────────────────────────────────────┤
│ 输入:查询特征向量 │
│ ↓ │
│ ┌─────────────────────────────────────────┐ │
│ │ Projector Network │ │
│ │ 替代:最近邻搜索 │ │
│ │ 输出:最近邻索引 k* │ │
│ └─────────────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────┐ │
│ │ Stepper Network │ │
│ │ 替代:数据库索引推进 │ │
│ │ 输出:下一帧索引 │ │
│ └─────────────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────┐ │
│ │ Decompressor Network │ │
│ │ 替代:动画数据库查找 │ │
│ │ 输出:姿态 │ │
│ └─────────────────────────────────────────┘ │
│ ↓ │
│ 输出:角色姿态 │
│ │
│ 关键:无需存储任何数据库! │
└─────────────────────────────────────────────────┘
三网络功能:
| 网络 | 输入 | 输出 | 替代功能 |
|---|---|---|---|
| Decompressor | 特征向量 x + 潜变量 z | 姿态 y | Animation Database 查找 |
| Projector | 查询特征向量 | 最近邻索引 k* | 最近邻搜索 |
| Stepper | 当前索引 k* | 下一帧索引 | 数据库索引推进 |
优点:
- 保留 Motion Matching 的质量和可控性
- 固定内存占用(网络权重),不随数据量增长
- 已应用于多个 AAA 游戏
缺点:
- 训练时间比原始 Motion Matching 长
- 网络预测 vs 精确搜索有轻微质量损失
2.4 MOCHA: Real-Time Motion Characterization (SIGGRAPH Asia 2023)
论文: src/209.md
核心创新: 首个实时角色表征框架,同时转换动作风格和身体比例
背景: 将中性动作转换为特定角色风格(如僵尸、公主、小丑),同时适配不同体型。
架构:
┌─────────────────────────────────────────────────┐
│ MOCHA Framework │
├─────────────────────────────────────────────────┤
│ 输入:Source Motion (中性动作) │
│ ↓ │
│ ┌─────────────────────────────────────────┐ │
│ │ Bodypart Encoder │ │
│ │ 输出:Source Feature │ │
│ └─────────────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────┐ │
│ │ Neural Context Matcher (NCM) │ │
│ │ - C-VAE + 自回归生成 │ │
│ │ 输出:Target Character Feature │ │
│ └─────────────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────┐ │
│ │ Characterizer │ │
│ │ - Transformer Decoder │ │
│ │ - AdaIN + Cross-Attention │ │
│ │ 输出:Translated Feature │ │
│ └─────────────────────────────────────────┘ │
│ ↓ │
│ 输出:Characterized Motion │
└─────────────────────────────────────────────────┘
关键公式:
AdaIN (自适应实例归一化): $$\text{AdaIN}(z_{src}, z_{cha}) = \sigma(z_{cha}) \cdot \frac{z_{src} - \mu(z_{src})}{\sigma(z_{src})} + \mu(z_{cha})$$
Neural Context Matcher Prior: $$p(s_i | z_{i-1}^{cha}, f(z_i^{src})) = \mathcal{N}(\mu, \sigma)$$
优点:
- 实时 60 FPS
- 同时处理风格转换 + 身体比例适配
- 支持稀疏输入(VR tracker)
缺点:
- 训练数据中的角色有限,新角色需重新训练
- 极端风格可能失真
2.5 自回归扩散模型系列 (2024-2025)
A-MDM: Auto-regressive Motion Diffusion Model (SIGGRAPH 2024)
论文: src/206.md
核心创新: 将扩散模型从 space-time 重新设计为 auto-regressive
公式: $$p(x_{1:T}) = \prod_{t=1}^{T} p(x_t | x_{1:t-1})$$
架构: 简单 3 层 MLP,50 步去噪
控制套件:
- Task-oriented sampling
- Motion in-painting
- Keyframe in-betweening
- Hierarchical reinforcement learning
CAMDM: Conditional Autoregressive Motion Diffusion Model (SIGGRAPH 2024)
论文: src/207.md
核心创新: 8 步去噪实现实时高质量多样角色动画
关键技术:
| 技术 | 作用 |
|---|---|
| 分离条件 Tokenization | 每个控制条件独立 token,避免特征主导 |
| Classifier-free guidance on history | 在历史动作上应用 guidance,实现风格转换 |
| 启发式轨迹扩展 | 回收上次预测轨迹,避免抖动 |
条件输入:
- 风格/步态
- 移动速度
- 朝向方向
- 未来轨迹
优点:
- 8 步去噪 ≈ 几毫秒,60+ FPS
- 支持多风格平滑转换
- 无需微调实现风格转换
AAMDM: Accelerated Auto-regressive Motion Diffusion Model (CVPR 2024)
论文: src/204.md
核心创新: 5 步去噪 (3 DD-GAN + 2 ADM)
架构:
Autoencoder: 338D pose → 64D latent
↓
Generation Module: DD-GANs (3 步)
↓
Polishing Module: ADM (2 步)
↓
输出:高质量动作
总去噪步数: \(T_{AA} = T_{GAN} + T_{ADM} = 3 + 2 = 5\)
DARTControl: Diffusion-based Autoregressive Motion Model (ICLR 2025)
论文: src/205.md
核心创新: Motion Primitive 表示 + Latent Space Control
Motion Primitive:
- H=2 帧历史(与前一 primitive 重叠)
- F=8 帧未来
- 重叠设计保证时序连贯性
Latent Space Control 方法:
- 优化方法: latent noise optimization
- 学习方法: MDP + RL (PPO)
优势: 10x 加速 vs FlowMDM
2.6 运动学方法对比
| 方法 | 架构 | 去噪步数 | FPS | 风格转换 | 空间控制 |
|---|---|---|---|---|---|
| PFNN | 混合专家 | N/A | 60+ | △ | △ |
| Learned MM | 三网络 | N/A | 60+ | ✗ | △ |
| MOCHA | Transformer | N/A | 60+ | ✓ | ✗ |
| A-MDM | MLP | 50 | 30+ | △ | △ |
| CAMDM | Transformer | 8 | 60+ | ✓ | ✓ |
| AAMDM | DD-GAN+ADM | 5 | 60+ | △ | ✗ |
| DART | Latent Diffusion | ~20 | 60+ | ✓ | ✓ |
趋势: 从固定权重网络 → 扩散模型,从长去噪 → 短去噪,从单一功能 → 多模态控制
三、基于动力学的方法 (Dynamics-based Methods)
核心特征: 输出为关节力矩或 PD 控制目标,需要物理仿真器执行。
3.1 技术演进时间线
2010 2018 2021 2023 2024-2025
│ │ │ │ │
Feature-Based ─┼── DeepMimic ─┼── AMP ───────┼── ControlVAE ─┼── PDP/DiffuseLoco
│ │ │ │ │ MaskedMimic/UniPhys
│ │ │ │ │
└── 手工设计 └── RL+ 模仿 └── 对抗学习 └── 状态条件 └── 扩散模型
└── DReCon ────→ └── ASE ──────→ 先验
3.2 Feature-Based Control (SIGGRAPH 2010)
核心思想: 用高层物理特征设计控制器
方法框架:
定义特征 → 设计目标函数 → 优先级优化 → 求解关节力矩
关键公式:
- Setpoint 目标:\(E(x) = ||\ddot{y}_d - \ddot{y}||^2\)
- 角动量目标:\(E_{AM}(x) = ||\dot{L}_d - \dot{L}||^2\)
- 优先级优化:\(h_i = \min_x E_i(x)\) s.t. \(E_k(x) = h_k, \forall k < i\)
优点: 可解释、无需数据 缺点: 实现复杂、动态性差
3.3 DeepMimic (SIGGRAPH 2018)
论文: src/201.md
核心创新: 深度 RL + 模仿学习
方法框架:
参考动作 mocap 数据
↓
定义模仿奖励 r^I + 任务奖励 r^G
↓
PPO 训练策略 π(a|s)
↓
PD 控制器执行
模仿奖励: $$r^I_t = w_p r^p_t + w_v r^v_t + w_e r^e_t + w_c r^c_t$$
训练技巧:
- RSI (Reference State Initialization): 从参考动作随机状态开始
- ET (Early Termination): 跌倒立即终止
- 相位条件化: \(\phi_t = (t \mod T_{cycle}) / T_{cycle}\)
优点: 动作质量高、可学习动态动作 缺点: 每技能单独训练、样本效率低
3.4 DReCon (SIGGRAPH Asia 2019)
论文: src/190.md
核心架构:
Motion Matching → RL 规划 → PD 执行 → 物理仿真
创新点:
- 用 Motion Matching 替代 mocap 参考轨迹
- RL 输出 PD 目标而非直接力矩
- 支持实时响应
3.5 AMP: Adversarial Motion Priors (SIGGRAPH 2021)
论文: src/198.md
核心创新: 用对抗学习从无标注数据学习
方法框架:
无标注 mocap 数据集
↓
判别器 D(s,s') 区分真实/生成
↓
策略 π 最大化对抗奖励 -log(1-D)
↓
生成真实感运动
对抗奖励: $$r_{adv} = -\log(1 - D(s_t, s_{t+1}))$$
训练技巧:
- Reference State Initialization (RSI): 从真实数据采样初始状态
- Early Termination (ET): 跌倒时终止 episode
- 控制信号设计: 包含相位、根节点信息等
AMP 的核心优势:
- 无需精确跟踪参考动作
- 能够从多样化数据集学习
- 自动学习技能组合
局限性:
- 训练不稳定(对抗博弈)
- 风格 prior 只能区分风格相似度,不能区分好坏
- GAN+RL 训练难度大
3.6 ASE: Adversarial Skill Embeddings (SIGGRAPH 2022)
论文: src/199.md
核心创新: 预训练通用技能库 + 下游微调
两阶段训练:
阶段 1: 预训练
无标注数据集 → 低级策略 π(a|s,z)
(固定技能库)
阶段 2: 任务训练
任务目标 g → 高级策略 ω(z|s,g)
(组合技能)
预训练目标: $$\max_{\pi} -D_{JS}(d_{\pi} || d_M) + \beta I(s, s'; z | \pi)$$
- 第一项:对抗模仿(保证质量)
- 第二项:互信息最大化(保证多样性)
优点: 技能可复用、支持插值和组合 缺点: 需要大规模并行模拟(Isaac Gym)
3.7 ControlVAE (TOG 2023)
论文: src/202.md
核心创新: 状态条件先验 + 世界模型
与 ASE 对比: | 维度 | ASE | ControlVAE | |------|-----|------------| | 先验类型 | 球面均匀分布 | 状态条件高斯 | | 学习方式 | 对抗 + 互信息 | 世界模型 + ELBO | | 技能表示 | 离散技能库 | 连续潜在空间 |
3.8 扩散模型时代的动力学方法 (2024-2025)
DiffuseLoco (2024)
论文: src/195.md
方法框架:
离线 mocap 数据集
↓
训练扩散模型 π(a|s,goal)
↓
蒸馏 RL 策略知识
↓
实时控制
优点: 离线训练、无需在线 RL
PDP: Physics-Based Character Animation via Diffusion Policy (2024)
论文: src/192.md
核心: RL 专家蒸馏 + 扩散策略
MaskedMimic (2024)
论文: src/183.md
核心: Unified physics-based character control through masked motion
UniPhys (2025)
论文: src/191.md
核心创新: 统一规划器 + 控制器
输入:当前状态 + 任务条件
↓
单一 Diffusion 模型
↓
输出:完整轨迹 + 控制指令
与 PDP 对比: | 维度 | PDP | UniPhys | |------|-----|---------| | 训练范式 | RL 专家蒸馏 | 直接训练 | | 模型类型 | 纯控制器 | 规划 + 控制 | | 数据来源 | RL 专家数据 | mocap 数据 |
3.9 动力学方法对比
| 方法 | 训练范式 | 样本效率 | 动作质量 | 抗扰动 | 实时性 |
|---|---|---|---|---|---|
| Feature-Based | 无需训练 | N/A | 中 | 中 | ✓ |
| DeepMimic | RL+ 模仿 | 低 | 极高 | 高 | ✓ |
| DReCon | RL+MM | 中 | 高 | 高 | ✓ |
| AMP | 对抗学习 | 低 | 极高 | 高 | ✓ |
| ASE | 预训练 + 微调 | 高 | 极高 | 高 | ✓ |
| ControlVAE | 世界模型 | 高 | 高 | 高 | ✓ |
| DiffuseLoco | 离线蒸馏 | 高 | 极高 | 高 | ✓ |
| UniPhys | 直接训练 | 高 | 极高 | 高 | △ |
四、运动学 vs 动力学:技术选型指南
4.1 核心差异
| 维度 | 运动学方法 | 动力学方法 |
|---|---|---|
| 输出 | 关节姿态/速度 | 关节力矩/PD 目标 |
| 物理仿真 | 否 | 是 |
| 真实感来源 | 数据驱动 | 物理约束 + 数据 |
| 抗扰动能力 | 无 | 强 |
| 环境交互 | 有限 | 强 |
| 训练成本 | 低 - 中 | 中 - 高 |
| 实现难度 | 低 | 高 |
4.2 应用场景推荐
| 应用场景 | 推荐方法 | 理由 |
|---|---|---|
| 游戏 NPC | DeepMimic / ASE / Learned MM | 实时、质量高、抗扰动 |
| 电影动画 | CAMDM / DART / MOCHA | 多样性、风格控制、无需物理 |
| VR 化身 | PFNN / CAMDM / MOCHA | 低延迟、稀疏输入支持 |
| 机器人仿真 | Feature-Based + RL / ASE | 安全、可解释、物理正确 |
| 在线游戏 | Learned Motion Matching | 低内存、服务器友好 |
| 角色设计 | MOCHA | 风格转换、体型适配 |
4.3 方法选择决策树
需要物理交互/抗扰动?
├─ 是 → 需要无标注数据学习?
│ ├─ 是 → AMP / ASE
│ └─ 否 → DeepMimic / DiffuseLoco
│
└─ 否 → 需要风格转换?
├─ 是 → MOCHA / CAMDM
└─ 否 → PFNN / Learned MM / AAMDM
五、开放性问题与未来趋势
5.1 技术挑战
-
实时性与质量权衡
- 扩散模型推理速度仍是瓶颈
- 方向:一致性模型、蒸馏、更少去噪步数
-
长时序规划
- 当前方法多为短时域反应式
- 方向:分层控制、世界模型
-
多角色泛化
- 技能绑定特定形态
- 方向:形态无关表示、零样本迁移
-
与语言模型结合
- 自然语言指令驱动
- 方向:LLM + 运动生成联合训练
-
在线适应
- 适应新环境、新扰动
- 方向:Test-Time Training、元学习
5.2 未来趋势
-
运动学 + 动力学融合
- 运动学方法生成参考轨迹
- 动力学方法保证物理可行性
-
世界模型 + 扩散
- 学习可微物理引擎
- 在 latent space 规划
-
多模态大模型
- 视觉 + 语言 + 运动联合训练
- 具身智能 (Embodied AI)
-
自动技能发现
- 无监督发现技能层级
- 类似 LLM 的 emergent abilities
六、关键论文索引
运动学方法
| 论文 | 年份 | 链接 |
|---|---|---|
| PFNN | 2017 | src/113.md |
| Learned Motion Matching | 2020 | src/208.md |
| MOCHA | 2023 | src/209.md |
| A-MDM | 2024 | src/206.md |
| CAMDM | 2024 | src/207.md |
| AAMDM | 2024 | src/204.md |
| DARTControl | 2025 | src/205.md |
动力学方法
| 论文 | 年份 | 链接 |
|---|---|---|
| Feature-Based Control | 2010 | src/200.md |
| DeepMimic | 2018 | src/201.md |
| DReCon | 2019 | src/190.md |
| AMP | 2021 | src/198.md |
| ASE | 2022 | src/199.md |
| ControlVAE | 2023 | src/202.md |
| PDP | 2024 | src/192.md |
| DiffuseLoco | 2024 | src/195.md |
| MaskedMimic | 2024 | src/183.md |
| UniPhys | 2025 | src/191.md |
七、总结
角色位移控制领域呈现双轨并行的发展态势:
运动学方法沿着「数据驱动→生成模型→实时多样」的路线演进,核心优势是速度快、质量高,适合动画生成和 VR 应用。
动力学方法沿着「手工设计→模仿学习→对抗学习→扩散模型」的路线演进,核心优势是物理正确、抗扰动强,适合游戏和机器人应用。
融合趋势:2024-2025 年的工作开始探索运动学 + 动力学的融合,如用运动学方法生成参考轨迹、用动力学方法保证物理可行性。这将是未来的重要方向。
参考文献: 详见各论文笔记文件 (src/*.md)