Dicas & Truques Maya - Mouse Capture

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.

comments powered by Disqus