P2

Outline

  • Motion Capture

    • History and modern mocap systems
  • Motion Synthesis

    • Motion retargeting
    • Motion transition
    • Motion graph

P3

Motion Capture

How to get motion data?

✅ 动画师制作,光学动捕、视觉动捕,外骨骼动捕,惯性传感器,动作估计。

P29

Motion Synthesis

How to use motion data?

P31

P32

Motion Retargeting

Retargeting要解决的问题

  • Retarget a motion to drive a character with
    • Different number of bones
    • Different bone names
    • Different reference pose
    • Different bone ratios
    • Different skeletal structure
    • ……

P34

A possible retargeting pipeline

  • Map bone names
  • Scale translations
  • Copy or retarget joint rotations to fix reference pose
  • Postprocessing with IK
    • Foot-skating
    • Self penetration
  • ……

P38

Motion Transition

✅ 有一段走路数据和跑步数据,如何实现人由走到跑的过程。

方法一

✅(1)找到两个 motion 中相似的一帧。
✅(2)两帧在时间上对齐
✅(3)放到这一帧时动作切换。

✅ 缺点:会有明显间断。

方法二

✅ 改进:考虑前后帧,并做插值。

P46

$$ p(t)=(1-\phi (t))p_0(i)+\phi (t)p_1(i) $$

✅ 不一定非要线性插值,定义 \(\phi (t)\),或其它混合策略
✅ 可能存在的问题:(1)突然转向(2)滑步
✅ 当走和跑分别是朝不同方法时会出现以上问题。
✅ 解决方法:插值之前动作对齐

P55

“Facing Frame”

定义坐标系

每个角色有自己的角色坐标系,定义为:
A special coordinate system that moves horizontally with the character with one axis pointing to the “facing direction” of the character

✅ 原点:Hip 在地面上的投影
✅ 坐标轴:参考姿态下 \(y\) up \(z\) forward.且旋转和平移都受到限制。

$$ \begin{align*} R & = \theta e_y \\ t & = (t_x,0,t_z) \end{align*} $$

✅ 也可以为不同的的场景定义不同的 \(R\) ,例如上下半身的 \(y\) 轴旋转方向不同。

  • Possible definitions of \(R\)
    • \(R\) is the y-rotation that aligns the z-axis of the global frame to the heading direction
    • \(R\) is the y-rotation that aligns x-axis of the global frame to the average direction of the vectors between shoulders and hips
    • Decomposition root rotation as \(R_0=R_yR_{xz}\)

P58

动作分解

✅ 把 \(R\) 分解为 \(R_y\) 和 \(R_{xz}\),求 \(R_y\)
✅ \({R}' \) 能够把 local y-axis 转到 global y-axis 的矩阵。

P62

动作合成

  • How to compute this transformation?

✅ 两个坐标系的转换。

P68

Path Fitting

👆 让角色跟着轨迹移动。

P69

Motion Composition

Computationally generating motions according to
- User control
- Objects in the same environment
- Movements of other characters
- ……

P70

Motion Graphs


👆 动作图的本质是状态机。

P72

Segment Motion Data

✅ 一段动捕数据,如何做分割,如何确定哪些点可以连到一起。
✅ Distance 可以有多种定义方式。
✅ 根据图确定分段与连接。

P73

建立动作转移关系

  • Distance map
    • Each pixel represents the difference between a pair of poses
    • Local minima are potential transition point

🔎 Motion graphs Lucas Kovar, Michael Gleicher, and Frédéric Pighin. 2002.
ACM Trans. Graph. 21, 3 (July 2002),

P74

Motion Synthesis

  • State-machines
    • Nodes represent motion clips
    • Edges represent potential transitions
    • Transitions are triggered when necessary
      • User input
      • Clip end
    • Check immediate connections for the next clip
      • May need deeper search

P75

Interactive Animation Pipeline

✅ 优点:根据路线从动作库中选择最合适的动作,而不是直接使用路线,因此减少滑步。
✅ 缺点:(1) 动作多时动作复杂。
(2) 一个片断播完再切动作,响应较慢。
(3) 需要提前规划好动捕动作。
✅ 如果数据集里没有想要的姿态,可以结合 IK.

P78

Motion Matching?

  • Clip → Pose
  • Short clip → “Raw” and long motion data

✅ 切换粒度更细:1帧 or 0.1 s.
✅ 灵活性提升,可控性欠缺。


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

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