Estratégia de vinculação

Antes de começar a vinculação de qualquer hierarquia, exceto a mais simples, você deve reservar alguns minutos para planejar sua estratégia de vinculação. Suas escolhas da raiz da hierarquia e a forma como as ramificações crescem para fora dos objetos de folha terão efeitos importantes na usabilidade de seu modelo.

A estratégia inerente à vinculação de objetos em uma hierarquia pode ser reduzida a dois princípios básicos:

Entre esses dois princípios, você tem flexibilidade quase ilimitada quanto à forma como vincula seus objetos. Se pensar como deseja usar a hierarquia e vinculá-la com esse uso em mente, você raramente terá um problema.

Progressão de pai para filho

A progressão de pai para filho significa que os vínculos não saltam aleatoriamente de objeto para objeto. Se dois objetos se tocarem, eles provavelmente devem ser vinculados como pai e filho. Não há nada que impeça a vinculação de um corpo na ordem de: Coxa->Pé->Tíbia->Cintura. Você provavelmente iria se arrepender dessa estratégia de vinculação mais tarde. O esforço para descobrir como transformar objetos vinculados de forma tão estranha seria muito difícil. Uma progressão mais lógica seria Pé->Tíbia->Coxa->Cintura.

Usar várias hierarquias

Em vez de criar uma cadeia de um único osso desde uma anca até um dedo do pé, é possível criar uma cadeia desde a anca ao tornozelo e, em seguida, uma segunda cadeia independente do calcanhar até ao dedo do pé. É possível vincular as cadeias para formar uma montagem completa de perna.

Visto que estão vinculadas, as cadeias da perna e do pé podem ser consideradas como uma única cadeia. No entanto, a forma como você as anima trata cada cadeia separadamente, permitindo um controle preciso das partes.

Com esse tipo de disposição nas cadeias da perna e do pé, o pé pode permanecer no chão enquanto a perna se dobra. Isso também permite o controle independente da rotação do pé, girando sobre o calcanhar ou o dedo do pé, o que faz com que o joelho se dobre.

Os pais movem-se menos que os descendentes

Devido à forma como as transformações são herdadas de pai para filho, pequenos ajustes em um objeto pai podem requerer o ajuste de todos os seus descendentes. A abordagem típica para vincular é escolher como objeto raiz o objeto que se move menos. Os objetos próximos da raiz devem se mover muito pouco e os objetos de folha devem se mover mais.

Isso ocorre especialmente quando você está vinculando estruturas articuladas, como robôs ou máquinas, ou quando deseja usar a hierarquia com cinemática inversa.

Uma exceção a essa regra ocorre quando você está usando o objeto raiz como um manipulador. Todos os descendentes da raiz apenas "seguem a corrente". Considere uma bandeja repleta de objetos viajando em uma esteira rolante. Todos os objetos devem ser filhos da bandeja, mesmo que a bandeja se mova muito mais do que qualquer outro objeto.

Escolher a raiz de uma hierarquia

É possível encontrar o melhor candidato para a raiz da hierarquia colocando a seguinte pergunta:

Se eu mover este objeto, será que todos os outros objetos da hierarquia devem se mover com ele?

Assim que você tiver alguns candidatos para o objeto raiz, será possível examiná-los com mais detalhe. Use estes critérios para determinar um bom objeto raiz para sua hierarquia:

O objeto que melhor cumprir esses critérios é o objeto raiz. Em seguida, você cria sua hierarquia com todos os outros objetos como descendentes desse objeto raiz.

Vincular objetos para cinemática inversa

A cinemática inversa usa o objeto filho como a força motriz da animação. A cinemática inversa é menos complacente e altamente dependente da estratégia de vinculação para executar cálculos.

É necessário considerar mais dois princípios ao vincular hierarquias para uso com a cinemática inversa:

A figura acima mostra duas abordagens à vinculação de uma estrutura de esqueleto. Cada estrutura é adequada para trabalhar com cinemática direta. No entanto, a estrutura à direita é a melhor escolha para trabalhar com cinemática inversa.

A estrutura à esquerda tem os braços e o tronco vinculados ao pescoço. A estrutura à direita vincula os braços e o pescoço ao tronco, uma abordagem mais realista.

Aviso: Evite usar um dimensionamento não uniforme nos objetos em uma hierarquia que será animada usando cinemática inversa. Você observará esticamento e distorção, se o fizer. Em vez disso, execute um dimensionamento não uniforme ao nível de subobjeto para evitar esse problema. Use Redefinir XForm, se tiver objetos que exibam esse comportamento.

Vincular objetos depois da animação

Quando você vincula um objeto a outro, a relação de vinculação entre o filho e seu pai é determinada pela posição, rotação e escala dos objetos pai e filho quando o vínculo é feito.

Imagine a vinculação de uma esfera fixa a uma caixa animada.

Vincular a esfera à caixa faz com que a esfera se mova com a caixa. A distância entre a esfera e a caixa depende do quadro em que o vínculo é feito. Vincular a esfera em diferentes quadros tem os seguintes efeitos:

Desvincular objetos depois da animação

Quando você desvincula um filho, as respectivas transformações do quadro 0 são obtidas a partir das transformações de seu pai no quadro quando o vínculo é removido.

Imagine uma esfera vinculada a uma caixa se movendo ao redor da face de um relógio. A caixa começa às 12 horas e é movida ao redor da face sobre 100 quadros. A figura mostra uma caixa se movendo em um círculo com uma esfera vinculada acima dela.

Animação original, com a bola vinculada para seguir a caixa animada.

Se você desvincular a esfera, ela para de seguir a caixa. A posição da esfera depende de sua posição, rotação ou escala no quadro em que o vínculo é removido. Desvincular a esfera em diferentes quadros tem os seguintes efeitos: