# Animação esquelética

Animação esquelética (do inglês "skeletal animation"), ou rigging é uma técnica de animação por computador, na qual um personagem (ou outro objeto articulado) é representado em duas partes: uma representação da superfície usada para desenhar o personagem (chamada de pele oumalha) e um conjunto hierárquico de ossos interconectados (o chamado esqueleto ou rig) utilizado para animar (pose e quadro-chave) a malha. Embora esta técnica seja frequentemente utilizada para animar seres humanos ou para modelagem orgânica em geral, ela só serve para tornar o processo de animação mais intuitivo e a mesma técnica pode ser usada para controlar a deformação de qualquer objeto — uma porta, uma colher, um edifício ou uma galáxia. Quando o objeto animado é mais geral do que, por exemplo, um personagem humanóide, o conjunto de ossos pode não ser hierárquico ou interligado, mas só representar uma descrição de alto nível do movimento de um pedaço de tecido ou de pele que ele influencia.
A técnica foi introduzida em 1988 por Nadia Magnenat Thalmann, Richard Laperrière, e Daniel Thalmann. Esta técnica é utilizada em praticamente todos os sistemas de animação onde interfaces de usuário simplificadas permitem que os animadores controlem algoritmos complexos e uma quantidade enorme de geometria; especialmente através da cinemática inversa e outras técnicas similares. A princípio, no entanto, a intenção da técnica nunca é de imitar a verdadeira anatomia ou processos físicos, mas apenas de controlar a deformação da malha.

## Técnica

Esta técnica é utilizada através da construção de uma série de 'ossos', às vezes chamado de rigging. Cada osso tem uma transformação tridimensional (que inclui a sua posição, escala e orientação) e um osso ascendente. Os ossos constituem, portanto, uma hierarquia. A completa transformação de um nó filho é o produto da transformação de seu ascendente e a sua própria transformação. Então, mover um osso da coxa vai mover a perna também. Conforme o personagem é animado, os ossos alteram suas transformações ao longo do tempo, sob a influência de algum controlador de animação. Um rig é composto geralmente tanto pela cinemática direta quanto pela cinemática inversa, que podem interagir uma com a outra. Animação esquelética se refere à parte da cinemática direta, onde um conjunto completo de configurações de ossos identifica uma única pose.
Cada osso no esqueleto está associado com alguma parte da representação visual do personagem. Skinning é o processo de criar esta associação. No caso mais comum de um personagem de malha poligonal, o osso é associado a um grupo de vértices; por exemplo, no modelo de um ser humano, o osso da 'coxa' poderia ser associado aos vértices que compõem os polígonos da malha da coxa. Partes da pele do personagem são normalmente associadas a vários ossos, cada um tendo uma escala de fatores chamados de pesos dos vértices ou mistura de pesos. O movimento de pele perto das articulações de dois ossos, pode, portanto, ser influenciado por ambos os ossos. Na maioria dos motores gráficos modernos, o processo de skinning é feito na GPU, graças a um sombreador.
Para uma malha poligonal, cada vértice pode ter um peso para cada osso. Para calcular a posição final do vértice, uma matriz de transformação é criada para cada osso que, quando aplicada ao vértice, primeiro coloca o vértice no espaço do osso, e, em seguida, coloca-o de volta no espaço da malha. Após aplicar uma matriz a um vértice, ele é dimensionado pelo peso correspondente. Este algoritmo é chamado de "matrix palette skinning", porque o conjunto de transformações dos ossos (armazenado como matrizes de transformação) forma uma paleta com opções para o vértice da pele escolher.

### Vantagens e desvantagens
#### Pontos fortes

* O osso representa o conjunto de vértices (ou alguns outros objetos, que representam uma perna por exemplo).
* O animador controla menos características do modelo
* O animador pode se concentrar nos movimentos de grande escala
* Os ossos podem ser movidos independentemente.
* Uma animação pode ser definida por simples movimentos dos ossos, ao invés de um vértice de cada vez (como é feito na técnica de morph target).

#### Pontos fracos

* O osso representa o conjunto de vértices (ou algum outro objeto).
* Não fornece movimentos realistas dos músculos e da pele
* Soluções possíveis para este problema:
** Controladores musculares especiais ligados aos ossos
** Consulta com especialistas em fisiologia (aumentar a precisão do realismo músculo-esquelético com simulações virtuais de anatomia mais realistas)

## Aplicações

Animação esquelética é a forma padrão de animar personagens ou objetos mecânicos por um período prolongado de tempo (normalmente mais de 100 quadros). Geralmente ela é usada por artistas de jogos eletrônicos e na indústria cinematográfica e também pode ser aplicada a objetos mecânicos e qualquer outro objeto composto por elementos rígidos e articulações.
A captura de movimento pode acelerar o tempo de desenvolvimento da animação de esqueleto, bem como aumentar o nível de realismo.
Para movimentos que são muito perigosos de serem capturados, existem simulações de computador que calculam automaticamente a física do movimento com quadros esqueléticos. Propriedades de anatomia virtuais, como o peso dos membros, a reação dos músculos, a força dos ossos e limites das articulações podem ser adicionados para criar elasticidade, torção, fratura e efeitos de queda realistas, conhecidos como acrobacias virtuais. No entanto, existem outras aplicações para simulações de anatomia virtual, como militares e resposta de emergência. Soldados, trabalhadores de resgate, pacientes, passageiros e pedestres virtuais podem ser usados para treinamento, engenharia virtual e testes virtuais de equipamento. Tecnologia de anatomia virtual pode ser combinada com inteligência artificial para melhorar ainda mais a tecnologia de animação e simulação.

## Veja também

* Animação por computador
* Computação gráfica 3D
* Cinemática inversa
* Morph target animação
* Animação de recortes