⚠ Preview docs — built from the develop branch and may be unstable. Go to the stable docs.

Pose.Lerp

static Pose Lerp(Pose a, Pose b, float percent)

Interpolates between two poses! It is unclamped, so values outside of (0,1) will extrapolate their position.

   
Pose a Starting pose, or percent == 0
Pose b Ending pose, or percent == 1
float percent A value usually 0->1 that tells the blend between a and b.
RETURNS: Pose A new pose, blended between a and b based on percent!

Examples

Lerping Poses

Lerping between two poses

Here we construct two Poses, one using a position + direction constructor, and one using a from -> to LookAt function. Both are valid ways of constructing a Pose, check out the Quat functions for more tools for creating Pose orientations!

After that, we’re just blending between these two Poses with a Pose.Lerp, and showing the result at 10% intervals.

Pose a = new Pose(0, 0.5f, -0.5f, Quat.LookDir(1,0,0));
Pose b = Pose.LookAt(V.XYZ(0,0,0), V.XYZ(0,1,0));

for (int i = 0; i < 11; i++) {
	Pose p = Pose.Lerp(a, b, i/10.0f);
	Lines.AddAxis(p, 0.05f);
}

// Show the origin for clarity
Lines.Add(V.XYZ(-1,0,0), V.XYZ(1,0,0), new Color32(100,0,0,100), 0.0025f);
Lines.Add(V.XYZ(0,-1,0), V.XYZ(0,1,0), new Color32(0,100,0,100), 0.0025f);
Lines.Add(V.XYZ(0,0,-1), V.XYZ(0,0,1), new Color32(0,0,100,100), 0.0025f);




Found an issue with these docs, or have some additional questions? Create an Issue on Github!