biped.clearSelectedAnimation $'Bip0 Head'.controller
$'Bip0 Head'.controller.Biped_SubAnim.controller.BipRotationList.available.controller = myRotationScript
The script appears to apply just fine; when I go to the Motion tab and open the Assign Controller rollout, I can see the Rotation Script under the BipRotationList branch of the biped node. When I double click that, the Script Controller dialog opens and there's my code (evaluating to a quaternion).
There's nothing wrong with my MaxScript code. When I apply the same rotation_script to a non-biped node (e.g. a teapot mesh), it works perfectly. Furthermore, when I debug the script (i.e. click the "Debug" button in the Script Controller dialog), I can see the expression value updating as expected.
But the biped head doesn't rotate. Even if I biped.clearAllAnimation $'Bip0 Head'.controller before applying the rotation_script, it just sits there, not reacting to the value of the script at all.
Something in the biped is suppressing/blocking the application of the value of my rotation script. What could it be??