Notas de estudio del motor de juegos moderno Games104 08

La parte de renderizado es un poco confusa, volvamos a ella después de aprender otro contenido gráfico.

Tres desafíos para la animación del juego:
1. Respuesta en tiempo real a varios cambios basados ​​en la interacción
2. Cálculos enormes en un cuadro
3. Rendimiento más realista y natural


La animación de sprites de animación 2D
dibuja cada cuadro de sprites en un bucle

La tecnología 2D consigue efectos 3D
realizando una serie de acciones desde varias perspectivas. Dependiendo de la posición de la cámara se reproducen diferentes animaciones de sprites.
Insertar descripción de la imagen aquí
El sistema de partículas también es una animación de sprites.

Live2d
habla de dividir una imagen en múltiples primitivas pequeñas.
Al rotar, escalar y deformar cada primitiva pequeña (usando un marco para el conjunto de imágenes, estirar el marco provocará una transformación reflejada de los triángulos/cuadrados del interior).
Cada elemento de la imagen existe en el cuadrícula de control, y los puntos de control se pueden agregar aleatoriamente a la cuadrícula.
Crea el efecto de imagen deseado en cada cuadro.

DOF: grados de libertad, es decir, dimensiones transformables.
Un cuerpo rígido suele tener 6 libertades: traslación x, y, z. Y la rotación alrededor de tres ejes,
Insertar descripción de la imagen aquí
la animación jerárquica rígida
divide el objeto en uniones móviles. Cada malla y unión conjunta.
La malla en las juntas se intercalará.

Animación por vértice La animación de vértice
guarda los datos de cada vértice en cada cuadro. Los cambios en los vértices provocarán cambios en la dirección normal. Por lo general, se simula con un motor de física y luego se almacena como una textura de animación de vértice,
como animación de bandera, animación de flujo de agua, etc. Es difícil distinguir los huesos.

La animación Morph Target
también es una animación de vértice. Interpolar entre vértices, estableciendo diferentes pesos. Usualmente usado para rostros humanos.

Animación con piel 3D Animación con piel
Cada vértice se ve afectado por múltiples huesos

La animación con piel 2D funciona según el mismo principio que la 3D

Animación basada en la física: utilizada para sistemas ragdoll, simulación física, IK (dinámica inversa)

Insertar descripción de la imagen aquí
Diferentes sistemas de coordenadas:
sistema de coordenadas mundial
modelo mundial sistema de coordenadas modelo
sistema de coordenadas local local

Estructura básica:
Modelo humanoide: la raíz suele estar en las vértebras caudales de la columna.
Los cuadrúpedos son otro conjunto de modelos.

Lo que realmente se almacena en el juego son datos de las articulaciones (articulación), y se forma un hueso entre dos articulaciones.

El hueso de la raíz generalmente se define entre los dos pies. Se utiliza para expresar la posición del modelo, calcular el desplazamiento, la altura,

La animación de enlace
conecta los puntos de enlace entre dos modelos esqueléticos. La gente monta a caballo, conduce coches, etc. No se trata simplemente de colocar los puntos de unión de los dos modelos en la misma posición. En cambio, todo el sistema de coordenadas se une de uno a otro.


El modelo esquelético creado: inicialmente una animación Bind Pose con 9 grados de libertad: traslación, rotación, escala

Matriz de rotación espacial bidimensional
Insertar descripción de la imagen aquí
Ángulos de Euler
Insertar descripción de la imagen aquí
Los ángulos de Euler requieren una estricta dependencia del orden de
las juntas universales

Cuaterniones
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
No te preocupes por los principios de los cuaterniones, simplemente úsalos.

Encuentra las coordenadas locales. Identidades relativas a
Insertar descripción de la imagen aquí
las coordenadas del modelo vinculado. La inversa de la matriz generalmente se almacena directamente en la articulación.

El cálculo de la interpolación de coordenadas afectadas por dos uniones requiere convertir las coordenadas locales de las dos uniones en coordenadas del modelo y luego calcular la interpolación de peso.
Insertar descripción de la imagen aquí

La traducción y el escalado generalmente se pueden resolver con interpolación lineal.Interpolación
Insertar descripción de la imagen aquí
de rotación
Insertar descripción de la imagen aquí
La interpolación de rotación generalmente gira el ángulo mínimo. Es decir, los ángulos mayores a 180 grados rotarán en dirección opuesta.

El problema con la interpolación NLERP es: la velocidad de rotación es rápida en ambos extremos y lenta en el medio

Insertar descripción de la imagen aquí
Los cálculos SLERP son más costosos debido a la operación de funciones trigonométricas inversas. Y será inestable cuando el ángulo de rotación sea pequeño.

Por lo general, NIERP se usa cuando el ángulo de rotación es pequeño y SLERP se usa cuando el ángulo de rotación es grande.

Insertar descripción de la imagen aquí

CLIP almacenará cada pose
para encontrar el fotograma actual y el siguiente
, calculará la pose actual y
la convertirá en coordenadas del modelo de acuerdo con el algoritmo de interpolación.

Compresión de animación:
las pistas sin cambios se descartan.
En la mayoría de los casos,
la escala permanece sin cambios y se puede descartar. La traducción solo necesita almacenar un valor y no es necesario almacenar toda la línea de tiempo.
La rotación se interpola entre fotogramas clave. Cuando el error entre el valor interpolado y el valor real son mayores que Dentro de un rango determinado, establezca el fotograma anterior como fotograma clave

Supongo que te gusta

Origin blog.csdn.net/Mhypnos/article/details/130715487
Recomendado
Clasificación