A parte de renderização é um pouco confusa, vamos voltar a ela depois de aprender outros conteúdos gráficos.
Três desafios para animação de jogos:
1. Resposta em tempo real a várias mudanças com base na interação
2. Cálculos enormes em um quadro
3. Desempenho mais realista e natural
A animação de sprite de animação 2D
desenha cada quadro de sprites em um loop
A tecnologia 2D alcança efeitos 3D
realizando uma série de ações de várias perspectivas. Dependendo da posição da câmera, diferentes animações de sprites são reproduzidas.
O sistema de partículas também é uma animação de sprites.
live2d
fala sobre dividir uma imagem em vários pequenos primitivos.
Ao girar, dimensionar e deformar cada pequeno primitivo (usando uma moldura para o conjunto de imagens, esticar o quadro causará a transformação de reflexão dos triângulos/quadrados internos).
Cada elemento da imagem existe no grade de controle e pontos de controle podem ser adicionados aleatoriamente à grade.
Crie o efeito de imagem desejado em cada quadro
DOF: graus de liberdade, ou seja, dimensões transformáveis.Um
corpo rígido geralmente possui 6 liberdades: translação x, y, z. E rotação em torno de três eixos,
a animação Hierárquica Rígida
divide o objeto em juntas móveis. Cada malha e ligação conjunta.
A malha nas juntas será intercalada
Animação por vértice A animação de vértice
salva os dados de cada vértice em cada quadro. Mudanças nos vértices causarão mudanças na direção normal. Geralmente é simulado com um mecanismo de física e depois armazenado como uma textura de animação de vértice,
como animação de bandeira, animação de fluxo de água, etc. É difícil distinguir ossos.
A animação Morph Target
também é uma animação de vértice. Interpole entre vértices, definindo pesos diferentes. Geralmente usado para rostos humanos
Animação 3D Skinned Animação Skinned
Cada vértice é afetado por múltiplos ossos
A animação 2D com skin funciona com o mesmo princípio do 3D
Animação baseada em física: usada para sistemas ragdoll, simulação física, IK (dinâmica inversa)
Diferentes sistemas de coordenadas:
sistema de coordenadas mundial
modelo mundial sistema de coordenadas modelo
local sistema de coordenadas local
Estrutura básica:
Modelo humanóide: A raiz geralmente está nas vértebras caudais da coluna.
Os quadrúpedes são outro conjunto de modelos.
O que realmente é armazenado no jogo são os dados das articulações (junta), e um osso é formado entre duas articulações.
O osso da raiz é geralmente definido entre os dois pés. Usado para expressar a posição do modelo, calcular deslocamento, altura,
A animação de ligação
conecta os pontos de ligação entre dois modelos de esqueleto. As pessoas andam a cavalo, as pessoas dirigem carros, etc. Não é tão simples como definir os pontos de ligação dos dois modelos na mesma posição. Em vez disso, todo o sistema de coordenadas é anexado de um ao outro.
O modelo esquelético criado: inicialmente uma animação Bind Pose
com 9 graus de liberdade: translação, rotação, dimensionamento
Matriz de rotação espacial bidimensional
Ângulos de Euler
Os ângulos de Euler requerem uma dependência estrita da ordem
das juntas universais
Quatérnios
Não se preocupe com os princípios dos quatérnios, apenas use-os.
Encontre coordenadas locais. Identidades relativas às coordenadas do modelo vinculado.O
inverso da matriz geralmente é armazenado diretamente na junta.
O cálculo da interpolação de coordenadas afetada por duas juntas requer a conversão das coordenadas locais das duas juntas em coordenadas do modelo e, em seguida, o cálculo da interpolação de peso
A translação e a escala geralmente podem ser resolvidas com interpolação linear.Interpolação
de rotação
A interpolação de rotação geralmente gira o ângulo mínimo. Ou seja, ângulos maiores que 180 graus girarão na direção oposta
O problema com a interpolação NLERP é: a velocidade de rotação é rápida em ambas as extremidades e lenta no meio
Os cálculos SLERP são mais caros devido à operação de funções trigonométricas inversas. E será instável quando o ângulo de rotação for pequeno.
Normalmente o NIERP é usado quando o ângulo de rotação é pequeno e o SLERP é usado quando o ângulo de rotação é grande.
O CLIP armazenará cada pose
para encontrar o quadro atual e o próximo quadro
, calculará a pose atual e
a converterá em coordenadas do modelo de acordo com o algoritmo de interpolação.
Compressão de animação:
as trilhas inalteradas são descartadas.
Na maioria dos casos,
o dimensionamento permanece inalterado e pode ser descartado. A tradução só precisa armazenar um valor e não há necessidade de armazenar toda a linha do tempo.
A rotação é interpolada entre os quadros-chave. Quando o erro entre o valor interpolado e o valor real são maiores que Dentro de um determinado intervalo, defina o quadro anterior como um quadro-chave