P7

3D Computer Graphics

P10

3D Computer Animation

✅ 仿真,用于描述客观事物,它们的运动规律可以用精确的数来描述。GAMES103
✅ 动画,用于描述有主观意志的事物,使用统计的方式来对它们的行为建模(例如AI建模)。 GAMES105

P11

Why Do We Study Character Animation

  • A character typically has 20+ joints, or 50-100+ parameters
    • It is not super high-dimensional, so most animation can be created manually, by posing the character at keyframes
    • Labor-intensive, not for interactive applications

  • Character animation techniques
    • Understanding the mechanism behind motions and behaviors
    • Smart editing of animation/ Reuse animation / Generate new animation
    • “Compute-intensive”

✅ 计算机角色动画把原本劳动密集型的动画师工作变成计算密集型的工作。

P13

Character Animation Pipeline

P15

Where does a Motion Come From

根据是否使用物理,把角色动画分为两大类。

P16

Keyframe-based/Kinematic Approaches

✅ 基于运动学直接更新角色状态,运动可以不符合物理规律。

P18

Physics-based/Dynamic Approaches

✅ 基于物理,但实际情况会有简化,不能直接干预角色姿态。

P19

Control Level

根据控制方式的高度,可以分为Low Level和Heigh Level

P20

low-level control

✅ 对每一帧每一个姿态进行精确控制每个细节。
✅ 优点:精确控制;缺点:低效。

P21

high-level control

✅ 控制高级目标。

Keyframe-based/Kinematic Approaches

P24

Disney’s 12 Principles of Animation

[http://the12principles.tumblr.com/]

✅ 在动画师总结的准则里隐藏了物理规则和艺术夸张

Keyframe Animation

✅ 这是一种非常low level的控制方法,可以保证所有细节,但非常慢

P26

Forward Kinematics

Given rotations of every joints
Compute position of end-effectors

P27

Inverse Kinematics

Given position of end-effectors
Compute rotations of every joints

P28

Interpolation

Motion Capture

动捕设备、视频动捕,把动捕角色应用到角色身上,需要经过重定向
动作捕捉和重放,不能产生新的数据

✅ 光学动捕、视频动捕、穿戴传感器动捕。

P34

Motion Retargeting

Given motions of a source character
Compute motions for target characters with

  • different skeleton sizes
  • different number of bones
  • different topologies
  • ……

P36

Motion Graphs / State Machines

✅ 把捕出来的动作进行分解和重组,生成新的动作。

P37

Motion Graphs

✅ 给一段任意的动作,寻找能够构建状态机切换的位。

P38

Motion Graphs的改进 - Interactively Controlled Boxing

[Heck and Gleicher 2007, Parametric Motion Graphs]

✅ 对Motion Graph的改进,比如一个节点中有很多动作,对这些动作进行插值,来实现精确控制。

P39

Motion Graphs的高级应用

Character Animation in Two-Player Adversarial Games
KEVIN WAMPLER,ERIK ANDERSEN, EVAN HERBST, YONGJOON LEE, and ZORAN POPOVIC Univoersity of Washington

Near-optimal Character Animation with Continuous Control
Adrien Treuille \(\quad\) Yongjoon Lee \(\quad\) Zoran Popovic
University of Washington

✅ Motion Graph+AI,实现高级控制
✅ 例如:AI使用Motion Graph,通过选择合适的边,进行执行,完成高级语义。

P42

Complex Motion Graphs

✅ 动作图非常复杂,容易出BUG.

P43

Motion Mathing

✅ 改进,Motion Graph的动作都是完整的片断,可以把动作再分细一点,切到每一帧。
✅ 不是完整地播放一段动作,而是每一帧结束后,通过最近邻搜索找到一个新的姿态,
✅ 满足:(1)接近控制目标(2)动作连续
✅ 关键:(1)定义距离函数(2)设计动作库

P45

Learning-based Approaches

✅ 对角色动作的内在规律去理解和建模,从数据学习统计规律。
✅ 生成模型:只需要采足够的动作去给模型就能生成新的动作。
✅ 不需要手工作切分、生成状态机

IDYearNameNoteTagsLink
2020Local Motion Phases for Learning Multi-Contact Character Movements
2021Character Controllers Using Motion VAEs

P49

Cross-Modal Motion Synthesis

  • Audio-driven animation
    • Music to dance
    • Co-speech gesture
    • ……
  • Natural language to animation
    • Descriptions to actions
    • Scripts to performance
    • ……
IDYearNameNoteTagsLink
2022Rhythmic Gesticulator✅ 语言和动作都有内存的统计规律,把两种统计模型之间建关系,实现跨模态生成。

总结

Physics-based/Dynamic Approaches

✅ 不直接生成姿态,而是控制量(例如力),通过物理仿真真正改变角色。


P59

Ragdoll Simulation

✅ 用于人死掉、失去意识、突发事件来不及响应的情况。

P63

物理仿真角色动画的应用

[DeepMotion: Virtual Reality Tracking]

[Ye et al. 2022: Neural3Points]

[Yang et al. 2022: Learning to Use Chopsticks]

✅ 抓住手指动作细节 P67

P68

物理角色的建模方法

✅ 构建完整的神经系统和肌肉系统。
✅ (1)神经肌肉机理不清楚。
✅ (2)自由度高,仿真效率低。
✅ 所以实际上会做简化,对关节力矩进行建模

✅ 用关节力矩仿真肌肉的力。

P70

Force & Torque

P71

Keyfrmae Control

Proportional-Derivative (PD) Control

✅ 根据当前状态与目标状态的差距,计算出当前状态运动到目标状态所需要的力矩。

P72

Tracking Controllers

✅ 比如要做一个动作,给出目标高度的轨迹,采用PD控制生成每个关节的力矩,大概能产生要做的动作

[Hodgins and Wooten 1995, Animating Human Athletics]

P76

Trajectory Crafting

NaturalMotion - Endorphin

✅ 关键帧→力→仿真

实际上这个方法很难用起来,因为调整仿真参数甚至比直接做关键帧更花时间。

P79

Spacetime/Trajectory Optimization

✅ 用优化方法实现,结合重定向

[Liu et al 2010. SAMCON]

[Wampler and Popović. 2009. Optimal gait and form for animal locomotion]

[Hamalainen et al. 2020, Visualizing Movement Control Optimization Landscapes]

✅ 这是高维非线性优化问题,非常准解。

P83

Abstract Models 简化模型

通过简化模型实现对一些动作的控制,但只能做简单动作

SIMBICON

✅ 用简化模型把想要的动作描述出来,来指导角色控制。
✅ 基于此实现稳定的多技能的控制策略。
✅ 控制简化、缺少细节,走路像机器人。
✅ 简化模型思路,可以实现对一些动作进行控制,且结果鲁棒,允许使用外力与角色交互。
✅ 缺点:只能走路,不能复杂动作。

P85

Inverted Pendulum Model

[Coros et al. 2010]

P87

Reinforcement Learning

P89

DRL-based Tracking Controllers

[Liu et al. 2016. ControlGraphs]

[Liu et al. 2018]

[Peng et al. 2018. DeepMimic]

✅ 利用DRL做复杂动作,但还只是动作复现。

P90

Multi-skill Characters

引入状态机,完成更复杂动作。

State Machines of Tracking Controllers

引入Motion Maching

[Liu et al. 2017: Learning to Schedule Control Fragments]

Hierarchical Controllers

在高级指令控制下,综合使用动作来完成功能

Generative Control Policies

运动生成模型控制生成模型

总结

✅ 回顾计算机角色动化领域最近30年主要研究方向。

P102

About This Course

  • What will not be covered

    • How to use Maya/Motion Builder/Houdini/Unity/Unreal Engine…
    • How to become an animator
  • What will be covered

    • Methods, theories, and techniques behind animation tools

      • Kinematics of characters
      • Physics-based simulation
      • Motion control
    • Ability to create an interactive character


本文出自CaterpillarStudyGroup,转载请注明出处。

https://caterpillarstudygroup.github.io/GAMES105_mdbook/