Game Engine Architecture

(Ben Green) #1

562 11. Animation Systems


bx

LERP

Bottom Left
Bottom Right

LERP

Top Left
Top Right
LERP Output Pose

by

Figure 11.49. A simple 2D LERP blend, implemented as cascaded binary blends.

11.10.3.3. Simple Two-Dimensional LERP Blend
In Section 11.6.3.2, we saw how a two-dimensional LERP blend can be realized
by simply cascading the results of two binary LERP blends. Given a desired
two-dimensional blend point b = [ bx by ], Figure 11.49 shows how this kind of
blend can be represented in tree form.
11.10.3.4. Triangular LERP Blend
Section 11.6.3.3 introduced us to triangular LERP blending, using the barycen-
tric coordinates α, β, and γ = (1 – α – β) as the blend weights. To represent this
kind of blend in tree form, we need a ternary (three-input) expression tree
node, as shown in Figure 11.50.

Triangular
LERP Output Pose

Clip A
Clip B
Clip C (γ = 1 − α–β)

αβ

Figure 11.50. A triangular 2D LERP blend, represented as a ternary expression tree.

11.10.3.5. Generalized Triangular LERP Blend
In Section 11.6.3.4, we saw that a generalized two-dimensional LERP blend
can be specifi ed by placing clips at arbitrary locations on a plane. A desired
output pose is specifi ed by a point b = [ bx by ] on the plane. This kind of
blend can be represented as a tree node with an arbitrary number of inputs,
as shown in Figure 11.51.
A generalized triangular LERP blend can always be transformed into a
ternary tree by using Delaunay triangulation to identify the triangle that sur-
rounds the point b. The point is then converted into barycentric coordinates
α, β, and γ = (1 – α – β), and these coordinates are used as the blend weights
Free download pdf