ChatGPT & 3d talking models

This is amazing!!
Maybe you can use animation blending with a coroutine to smooth the character animation.
Here is a piece of code that may help you:

function* animationBlending(fromAnim, fromAnimSpeedRatio, toAnim, toAnimSpeedRatio, repeat)
{
    let currentWeight = 1;
    let newWeight = 0;
    toAnim.play(repeat);

    fromAnim.speedRatio = fromAnimSpeedRatio;
    toAnim.speedRatio = toAnimSpeedRatio;

    while(newWeight < 1)
    {
        newWeight += 0.01;
        currentWeight -= 0.01;
        toAnim.setWeightForAllAnimatables(newWeight);
        fromAnim.setWeightForAllAnimatables(currentWeight);
        yield;
    }
}

// Run Coroutine //
//scene.onBeforeRenderObservable.runCoroutineAsync(animationBlending(fromAnim, 1.0, toAnim, 1.0, true));
7 Likes