public override void Animate(int frameNumber, float transition) { if (this.morphTransform == null) { return; } SkinnedMeshRenderer mesh = morphTransform.GetMesh(); if (mesh != null) { //Allows us to check if this channel was updates this frame. morphTransform.ToggleUpdated(true); float keyValue = CalculateKeyframe(frameNumber); int blendshapeIndex = morphTransform.GetIndex(); float finalBlendValue = Mathf.SmoothStep(mesh.GetBlendShapeWeight(blendshapeIndex), keyValue, transition); mesh.SetBlendShapeWeight(blendshapeIndex, finalBlendValue); } }