Esta página contiene algunas recomendaciones para ayudarle obtener el mejor rendimiento de Mecanim, cubriendo la configuración del personaje, el sistema de animación y las optimizaciones en tiempo de ejecución.
En algunos casos usted necesitará crear personajes con una gran cantidad de huesos, por ejemplo cunado usted quiera muchos accesorios personalizables. Estos huesos extra van a incrementar el tamaño de la construcción, y usted puede esperar tener una costo de procesamiento relativo para cada hueso adicional. Por ejemplo, 15 huesos adicionales en un rig que ya tiene 30 huesos va a tomar 50% más parar solucionar en el modo Generic. Tenga en cuenta que usted puede tener huesos adicionales en los modos Genérico y en el Humanoide. Cuando usted no tenga animaciones reproduciéndose utilizando los huesos adicionales, el costo de procesamiento debería ser insignificante. Este costo sería aun menor si sus anexos son no existentes o están ocultos.
Combine los skinned meshes cuando sea posible. Dividir un persona a dos Skinned Mesh Renderers es una mala idea con referencia al rendimiento. Es mejor si su personaje tiene un solo material, pero hay algunos casos cuando usted podría requerir más materiales.
El Animator no gasta tiempo procesando cuando un Controller no está configurado para hacerlo.
Reproduciendo un solo Animation Clip sin un blending (mezcla) puede hacer que Mecanim sea más lento que el sistema de animación legacy. El sistema viejo es muy directo, probando la curva y directamente escribiendo al transform. Mecanim tiene buffers temporales que utiliza para blending (mezclar), y no hay una copia adicional de la curva probada y otros datos. La plantilla de Mecanim es optimizada para el animation blending (la mezcla de animaciones) y más configuraciones complicadas.
Las animation scale curves (curvas de animación escaladas) son más caras que animar curvas de translation (translación) y rotation (rotación). Para mejorar el rendimiento, evite las scale animations (animaciones de escala).
Tenga en cuenta: Esto no aplica a curvas constantes (curvas que tienen el mismo valor para la longitud de un Animation Clip ). Las curvas constantes son optimizadas, y son menos caras que las curvas normales.
La mayoría de tiempo Mecanim está evaluando animaciones, y la sobrecarga para AnimationLayers y AnimationStateMachines todavía es mantenido al mínimo. El precio de agregar otra capa al animator, sincronizado o no, depende qué animaciones y blend trees son reproducidas por la capa. Cuando el peso de la capa es cero, la actualización de la capa será saltada.
Estas recomendaciones le ayudará a decidir entre estos modos:
Cuando importe animaciones humanoide utilice un BodyMask para quitar IK Goals o animaciones de los dedos si no son necesitadas. Cuando usted utilice Generic (Genérico), utilizar root motion es más costoso que no utilizarlo. Si sus animaciones no utilizan root motion, asegúrese que no tenga un root bone (hueso raíz) seleccionado.
Hay muchas optimizaciones que se pueden hacer, algunas recomendaciones útiles incluyen:
Utilice hashes en vez de strings para consultar el Animator. * Implemente una pequeña AI Layer (Capa AI) para controlar el Animator. Usted puede hacer que proporcione llamados simples para OnStateChange, OnTransitionBegin, etc. Utilice State Tags (Etiquetas de estados) para que su maquina de estado AI coincida fácilmente con la Maquina de Estado de Mecanim. * Utilice curvas adicionales para simular Events (eventos). * Utilice curvas adiciones para marcar sus animaciones, por ejemplo junto con target matching.
Siempre optimice las animaciones configurando el Culling Mode del animator a Based on Renderers, y deshabilite la propiedad Update When Offscreen del mesh renderer (renderizador de mesh). De esta manera las animaciones no serán actualizadas cuando el personaje no está visible. Vea skinned mesh renderer para más detalles.