public virtual void ResetToInitialState()
{
position = initialPosition;
orientation = initialOrientation;
scale = initialScale;
// Reset weights
accumAnimWeight = 0.0f;
translationFromInitial = Vector3.Zero;
rotationFromInitial = Quaternion.Identity;
scaleFromInitial = Vector3.UnitScale;
NeedUpdate();
}