Cinemática inversa
Este tutorial explica como usar a cinemática inversa (IK) no PixelOver.
Irá aprender a criar uma cadeia de ossos, a fixar-lhe imagens, a configurar uma restrição IK e a controlar a cadeia através de um alvo (e opcionalmente um alvo de pólo).
Aqui está um exemplo em vídeo sobre como criar uma configuração IK animada no PixelOver:
Hey, let's review another #PixelOver functionality, inverse kinematics ! Used to animate bones by moving the chain target.https://t.co/FjZM9FyuZi #GodotEngine #madewithgodot #indiedev #pixelart #gamedev pic.twitter.com/n0FEGmJp6l
— Deakcor (@deakcor) November 28, 2022
O que é a cinemática inversa?
A cinemática inversa (IK) permite-lhe controlar uma cadeia de ossos movendo um alvo.
Em vez de rodar cada osso manualmente, a cadeia resolve automaticamente as rotações para que a extremidade da cadeia siga o alvo.
A IK é ideal para:
- braços e pernas
- caudas e cordas
- tentáculos
- qualquer rig que precise de posicionamento e animação rápidos
IK e fluxo repouso / pose
A cinemática inversa só está activa no modo pose.
- No modo pose, as restrições IK estão activadas e a cadeia seguirá o alvo.
- No modo repouso, as restrições IK estão desactivadas. Este modo é usado para configurar a colocação predefinida dos ossos sem qualquer resolução IK.
Isto facilita construir um rig limpo no modo repouso e animá-lo com segurança no modo pose.
1. Criar uma cadeia de ossos (e fixar imagens)
Criar os ossos
- Seleccione a ferramenta ossos
- Clique na vista para criar o primeiro osso
- Clique de novo para criar o osso seguinte como filho
- Repita até ter uma cadeia completa
Uma cadeia típica parece-se com:
- Braço → Antebraço → Mão
ou - Coxa → Canela → Pé
Dica
Mantenha a sua cadeia simples. Na maioria dos casos, 2 ou 3 ossos são suficientes para um membro.
Fixar imagens à cadeia
Para animar personagens de pixel art, o fluxo habitual consiste em fixar partes de imagem aos ossos.
- Importe as suas imagens (ou divida uma personagem em partes com o fluxo de Desenho)
- Na árvore de cena, coloque cada imagem sob o osso que a deve controlar
(através de cortar/colar ou arrastar e largar)
Estrutura de exemplo:
- Osso_Braço
- Imagem_Braço
- Osso_Antebraço
- Imagem_Antebraço
- Osso_Mão
- Imagem_Mão
Informação
Emparentar as imagens aos ossos garante que as imagens seguem automaticamente as transformações dos ossos.
2. Adicionar uma restrição IK (no primeiro osso da cadeia)
A IK é aplicada ao osso raiz da cadeia (o primeiro osso).
- Seleccione o primeiro osso da sua cadeia
- Verifique o painel de propriedades
- Defina a restrição IK na secção restrição
3. Criar ou escolher um alvo IK
O alvo IK é o objecto que a cadeia tenta alcançar.
Criar um alvo
Há duas opções comuns:
- Criar um objecto alvo IK dedicado
- Reutilizar um objecto existente como alvo
Uma vez criado, atribua-o na restrição IK como Alvo.
Boas práticas para os alvos
Para rigs limpos, recomenda-se vivamente:
- Renomear o alvo claramente
Exemplo:IK_Alvo_Mão,IK_Alvo_Pé - Definir o seu comprimento para
0px(para que se comporte como um ponto de controlo)
Isto facilita gerir o alvo e evita que se comporte como um segmento de osso visível.
Dica
Os alvos destinam-se a ser controladores, não deformadores. Mantê-los a 0px facilita posicioná-los com precisão.
4. Configurar a restrição de ângulo
As restrições de ângulo impõem como a cadeia deve dobrar-se.
Isto é útil para:
- evitar uma dobra não natural
- forçar um membro a dobrar-se na direcção correcta
- estabilizar as poses durante a animação
Restrições de ângulo positivas vs negativas
Consoante a orientação do seu rig, a cadeia pode precisar de dobrar-se:
- no sentido horário
- no sentido anti-horário
É por isso que a restrição pode ser definida para um intervalo de ângulo positivo ou negativo.
Exemplos de utilização:
- Um cotovelo só deve dobrar-se num sentido (não para trás)
- Um joelho só deve dobrar-se para a frente
Dica
Se a cadeia se dobrar no sentido errado, tente mudar o sinal da restrição de ângulo (positivo ↔ negativo).
5. (Opcional) Adicionar um alvo de pólo para um melhor controlo
Um alvo de pólo ajuda a controlar o plano da cadeia IK, tornando o sentido de dobra mais estável e previsível.
Os alvos de pólo são especialmente úteis para:
- cotovelos e joelhos em 2D
- rigs 3D, onde a cadeia pode torcer-se de forma imprevisível
- configurações onde as restrições de ângulo não estão disponíveis ou não são suficientes
Usar um alvo de pólo
- Crie um novo objecto alvo (ou reutilize um existente)
- Renomeie-o claramente
Exemplo:IK_Pólo_Cotovelo,IK_Pólo_Joelho - Atribua-o como Alvo de pólo na restrição IK
- Mova o alvo de pólo para controlar como a cadeia se dobra
Uma regra simples:
- A cadeia dobra-se em direcção ao alvo de pólo
Dica
Coloque o alvo de pólo ligeiramente para o lado do membro (não por cima do alvo IK), para que o solucionador tenha um sentido de dobra claro.
Aviso
Em 2D, evite usar uma restrição de ângulo no sentido oposto ao alvo de pólo, pois pode criar um comportamento inesperado. Se usar um alvo de pólo, é normalmente melhor definir a restrição de ângulo como livre, ou certificar-se de que não entra em conflito com o sentido do pólo.
Resumo
Para configurar a IK no PixelOver:
- Crie uma cadeia de ossos
- Fixe imagens aos ossos (emparentamento na árvore de cena)
- Adicione uma restrição IK no primeiro osso
- Crie e atribua um alvo (renomeie-o e defina o comprimento para
0px) - Use restrições de ângulo para controlar o sentido de dobra (positivo ou negativo)
- Adicione opcionalmente um alvo de pólo para um controlo mais estável e preciso (especialmente em 3D)
Para ir mais longe
Uma vez configurada a IK, pode:
- animar os alvos com a Animação
- combinar a IK com fotogramas-chave e animações importadas
- construir rigs de personagem completos com várias cadeias IK (braços + pernas)