Poucos sabem, mas é possível utilizar o movimento de seu cursor para “rascunhar” animação, permitindo que se controle algum elemento ou atributo em tempo real, com a cena sendo reproduzida.
Em um post anterior mostrei esse processo no MotionBuilder. Agora compartilho essa técnica para o Maya.
Os códigos em MEL utilizados são bastante simples. Para garantir a limpeza dos nodes* e permitir uma gravação limpa, eu uso:
$if ( `objExists record1` )
$ delete record1;
$if ( `objExists record2` )
$ delete record2;
$if ( `objExists record3` )
$ delete record3;
E então basta escolher quais serão os atributos controlados. No caso da translação, fica:
$SetKeyTranslate;
$recordAttr -at "translateX" -at "translateY" -at "translateZ";
$play -record;
Para a rotação, é necessário que a unidade usada seja radianos. O seguinte código garante isso:
$SetKeyRotate;
$string $curAngleUnits = `currentUnit -q -a`;
$currentUnit -a rad;
$recordAttr -at "rotateX" -at "rotateY" -at "rotateZ";
$play -record;
$currentUnit -a ($curAngleUnits);
E por fim, para se controlar a escala:
$SetKeyScale;
$recordAttr -at "scaleX" -at "scaleY" -at "scaleZ";
$play -record;
É possível controlar outros atributos, mas recomendo que se utilize um controlador auxiliar, como demonstrado na segunda parte do vídeo, para se obter uma melhor resposta do software.
* Eu busco e deleto três nodes assumindo o caso comum do controle de até três eixos de movimento, mas podem ser necessários ajustes de acordo com o caso.