🌪️

Rigging

Rigging is a set of higher level controls on a character that allow more rapid & intuitive modification of pose, deformations, expression, etc.
Rigging 就是对于一个形状的控制,说白了其实就是木偶一样的操作。我们用不同的线去提木偶不同部件、位置,自然木偶就会形成不同的造型。
💡
一定程度上讲,这也是逆运动学的运用。
notion image
动画和电影界会应用各种 Rigging 给不同的角色做不同的动作。
Important
  • Like strings on a puppet
  • Captures all meaningful character changes
  • Varies from character to character
Expensive to create
  • Manual effort
  • Requires both artistic and technical training
💡
Rigging 本身不容易做,可以通过建模软件如 3DMax、Maya 等,先给物理加骨骼,还要知道操作哪些点会影响哪些点。
不过我们可以简单地理解为,给一个物体、角色的不同地方,加上控制点,让其能够拉着。这和贝塞尔曲线很像,调控制点就能调曲线。比如人脸上可以分布不同的点,艺术家们可以拉不同的点,就可以调出不同表情。

Rigging Example

下面的例子中,我们可以通过不同的方式去控制人物。
Courtesy Matthew Lailler via Keenan Crane
Courtesy Matthew Lailler via Keenan Crane
它的控制点也可以能不在物体上,例如脚踝的控制点就在外面。
notion image
💡
点该怎么定义是艺术家应该考虑的。

Blend Shapes

如果考虑人物有两个不同的动作,两个动作之间可以通过插值的方式来做。前面提到过关键帧动画,假设我们已经有很多控制点了,假如有一个艺术家建立了一个通用的角色,有两个不同的造型,我们需要插值的话怎么做呢?我们在控制点和控制点之间做插值即可。
之前有一个形状,后来有一个形状,我们将其混在一块,这就叫 Blend Shapes。本质上我们不是在做 Blend Shapes,而是在 Blend 控制点以及控制点周围能够影响的一些区域。
中间的过程自然是用曲线来定义。
Instead of skeleton, interpolate directly between surfaces
E.g., model a collection of facial expressions:
Simplest scheme: take linear combination of vertex positions
Spline used to control choice of weights over time
 
notion image
下面的例子中,我们可以定义若干不同的位置。可以关注一下中间的状态,中间的状态是可以生成的,例如舌头是怎么过渡的、眼珠是怎么流畅地转动的。我们定义两个关键帧,自然而然就可以 Blend。
Courtesy Félix Ferrand
Courtesy Félix Ferrand