Game Engine Architecture

(Ben Green) #1
533

If we know that our 2D blend involves only four animation clips, and if
those clips are positioned at the four corners of a square region, then we can
fi nd a blended pose by performing two 1D blends. Our generalized blend fac-
tor b becomes a two-dimensional blend vector b = [ bx by ]. If b lies within the
square region bounded by our four clips, we can fi nd the resulting pose by
following these steps:



  • Using the horizontal blend factor bx , fi nd two intermediate poses, one
    between the top two animation clips and one between the bott om two
    clips. These two poses can be found by performing two simple one-di-
    mensional LERP blends.

  • Then, using the vertical blend factor by , fi nd the fi nal pose by LERP-
    blending the two intermediate poses together.


This technique is illustrated in Figure 11.34.


11.6.3.3. Triangular Two-Dimensional LERP Blending


The simple 2D blending technique we investigated above only works when
the animation clips we wish to blend lie at the corners of a square region. How
can we blend between an arbitrary number of clips positioned at arbitrary
locations in our 2D blend space?
Let’s imagine that we have three animation clips that we wish to blend to-
gether. Each clip, designated by the index i, corresponds to a particular blend
coordinate bi = [ bxi byi ] in our two-dimensional blend space, and these three
blend coordinates form a triangle in our two-dimensional blend space. Each
clip i defi nes a set of joint poses {}


1
() 0

N
ij j


P = , where j is the joint index and N

is the number of joints in the skeleton. We wish to fi nd the interpolated pose


Clip A

bx

by
Clip B

Clip C Clip D

Blend
AB

Blend
CD

Final
Blend b

Figure 11.34. A simple formulation for 2D animation blending between four clips at the
corners of a square region.


11.6. Animation Blending

Free download pdf