¿Qué tipo de optimizaciones necesita uno para crear personajes en 3D y animaciones para aplicaciones y juegos móviles?

La respuesta a este es un clásico “depende”.

Cuando construyes un juego, estableces un presupuesto sobre dónde gastas tus recursos. Cada plataforma (móvil, PC y consola) tiene un conjunto limitado de recursos, la elección que elija es dónde gastarlos. Si la fidelidad visual es lo clave que desea lograr, tendrá que limitar el número de caracteres en la pantalla, sin embargo, si desea tener muchos caracteres, tendrá que reducir el costo de cada personaje en lo que respecta al conteo múltiple y la complejidad del sombreador.

Algunos consejos genéricos que son ciertos sin importar el juego que construyas son los siguientes:

Limite el número de polígonos.
No principalmente porque es costoso dibujar muchos polígonos, sino porque el costo en píxeles de los polígonos pequeños es más costoso de dibujar que grande debido a la arquitectura de la GPU.

Limite el número de materiales.
Cuantos más materiales tenga en cada activo, más llamadas tendrá que realizar por cuadro. El costo de arranque de una llamada de extracción es significativo, por lo que desea mantenerlos bajo control.

Límite de sobregiro
Este consejo es doble, un lado es cómo está estructurado su motor de juego. Ser inteligente en el orden en que dibuja las cosas puede marcar una gran diferencia en el rendimiento. Desea dibujar cada píxel tan pocas veces como sea posible por fotograma.
La segunda parte de este consejo es limitar la cantidad de transparencia en sus activos, esto es específicamente importante en dispositivos móviles que son bastante pobres en el manejo de sobregiros.

No dibujes detalles innecesarios
Si tu personaje está lejos de la cámara, es una mala idea dibujar algo que se vea bien de cerca. Un buen consejo es tener 2-3 versiones de diferente calidad de cada activo que puedan usarse a diferentes distancias (LOD). Por supuesto, esto afectará el tamaño de compilación de su juego, lo que podría ser un problema si no puede mantenerlo por debajo de 100Mb.

Use la menor cantidad de huesos posible
Si tiene muchos personajes en acción en un momento dado, los cálculos de animación probablemente sean una parte sustancial de su tiempo de CPU / GPU. Como en el punto anterior, debe esforzarse por no usar más huesos de los necesarios, por lo que si tiene diferentes versiones de los activos, también puede usar menos pesos de piel cuanto más lejos esté el personaje, los detalles finos de las animaciones no serán visibles de todos modos .

Estoy de acuerdo con Daniel Super en que el recuento de polietileno, las texturas y los sombreadores son los principales factores limitantes, pero no estoy de acuerdo con la complejidad de la animación. He estado trabajando con la creación de juegos móviles en Unreal Engine 4 durante los últimos meses, y he encontrado éxitos extremos de rendimiento en animaciones complejas. Esto se convierte especialmente en un factor cuando tienes un personaje manipulado con muchos huesos, y hay varios cuadros en las animaciones.

No soy un experto, pero he experimentado mucho y he encontrado que este es el caso. Te animo a que pruebes por ti mismo.

Sus principales factores limitantes son el recuento de polígonos, el tamaño de sus texturas y la complejidad de los sombreadores. La complejidad de la animación no es realmente tan importante, ya que son solo cuadros clave y curvas y no ocupan mucha memoria.