基于物理的角色位移控制 (Locomotion Control) 技术洞察

更新时间: 2026-03-29

范围: 2010-2025 年角色位移 (locomotion) 控制技术分析


一、概述

角色位移控制是计算机图形学、机器人学和游戏开发的核心问题。其目标是:生成自然、稳定、可控的角色运动(如行走、跑步、跳跃等)

1.1 为什么 Locomotion 是一个难题?

  1. 高维状态空间: 人形角色通常有 30+ 自由度
  2. 强非线性动力学: 接触力、摩擦力、碰撞使系统高度非线性
  3. 多模态行为: 行走、跑步、跳跃等不同步态需要不同控制策略
  4. 实时性要求: 游戏/VR 应用需要 60+ FPS
  5. 鲁棒性要求: 需要抵抗外部扰动、适应地形变化

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姿态 yAnimation 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 方法:

  1. 优化方法: latent noise optimization
  2. 学习方法: MDP + RL (PPO)

优势: 10x 加速 vs FlowMDM


2.6 运动学方法对比

方法架构去噪步数FPS风格转换空间控制
PFNN混合专家N/A60+
Learned MM三网络N/A60+
MOCHATransformerN/A60+
A-MDMMLP5030+
CAMDMTransformer860+
AAMDMDD-GAN+ADM560+
DARTLatent Diffusion~2060+

趋势: 从固定权重网络 → 扩散模型,从长去噪 → 短去噪,从单一功能 → 多模态控制


三、基于动力学的方法 (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 的核心优势:

  1. 无需精确跟踪参考动作
  2. 能够从多样化数据集学习
  3. 自动学习技能组合

局限性:

  • 训练不稳定(对抗博弈)
  • 风格 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
DeepMimicRL+ 模仿极高
DReConRL+MM
AMP对抗学习极高
ASE预训练 + 微调极高
ControlVAE世界模型
DiffuseLoco离线蒸馏极高
UniPhys直接训练极高

四、运动学 vs 动力学:技术选型指南

4.1 核心差异

维度运动学方法动力学方法
输出关节姿态/速度关节力矩/PD 目标
物理仿真
真实感来源数据驱动物理约束 + 数据
抗扰动能力
环境交互有限
训练成本低 - 中中 - 高
实现难度

4.2 应用场景推荐

应用场景推荐方法理由
游戏 NPCDeepMimic / 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 技术挑战

  1. 实时性与质量权衡

    • 扩散模型推理速度仍是瓶颈
    • 方向:一致性模型、蒸馏、更少去噪步数
  2. 长时序规划

    • 当前方法多为短时域反应式
    • 方向:分层控制、世界模型
  3. 多角色泛化

    • 技能绑定特定形态
    • 方向:形态无关表示、零样本迁移
  4. 与语言模型结合

    • 自然语言指令驱动
    • 方向:LLM + 运动生成联合训练
  5. 在线适应

    • 适应新环境、新扰动
    • 方向:Test-Time Training、元学习

5.2 未来趋势

  1. 运动学 + 动力学融合

    • 运动学方法生成参考轨迹
    • 动力学方法保证物理可行性
  2. 世界模型 + 扩散

    • 学习可微物理引擎
    • 在 latent space 规划
  3. 多模态大模型

    • 视觉 + 语言 + 运动联合训练
    • 具身智能 (Embodied AI)
  4. 自动技能发现

    • 无监督发现技能层级
    • 类似 LLM 的 emergent abilities

六、关键论文索引

运动学方法

论文年份链接
PFNN2017src/113.md
Learned Motion Matching2020src/208.md
MOCHA2023src/209.md
A-MDM2024src/206.md
CAMDM2024src/207.md
AAMDM2024src/204.md
DARTControl2025src/205.md

动力学方法

论文年份链接
Feature-Based Control2010src/200.md
DeepMimic2018src/201.md
DReCon2019src/190.md
AMP2021src/198.md
ASE2022src/199.md
ControlVAE2023src/202.md
PDP2024src/192.md
DiffuseLoco2024src/195.md
MaskedMimic2024src/183.md
UniPhys2025src/191.md

七、总结

角色位移控制领域呈现双轨并行的发展态势:

运动学方法沿着「数据驱动→生成模型→实时多样」的路线演进,核心优势是速度快、质量高,适合动画生成和 VR 应用。

动力学方法沿着「手工设计→模仿学习→对抗学习→扩散模型」的路线演进,核心优势是物理正确、抗扰动强,适合游戏和机器人应用。

融合趋势:2024-2025 年的工作开始探索运动学 + 动力学的融合,如用运动学方法生成参考轨迹、用动力学方法保证物理可行性。这将是未来的重要方向。


参考文献: 详见各论文笔记文件 (src/*.md)