Retargeting de Animaciones Humanoides
Referencia de Animación

El Rendimiento y Optimización

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.

La Configuración del Personaje

Número de Huesos

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.

Múltiples Skinned Meshes

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 Sistema de Animación

Controladores

El Animator no gasta tiempo procesando cuando un Controller no está configurado para hacerlo.

Una animación Simple

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.

Scale Curves (Curvas Escaladas)

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).

Note: This does not apply to constant curves (curves that have the same value for the length of the Animation Clip ). Constant curves are optimized, and are less expensive that normal curves. Constant curves that have the same values as the default scene values will not write to the scene every frame.

Layers (Capas)

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.

Modo Humanoide vs Genérico

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.

Escena de Mecanim

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.

Optimizaciones en el Tiempo de Ejecución

Visibilidad y Actualizaciones

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.


• 2017–05–16 Page amended with no editorial review - Leave page feedback

Retargeting de Animaciones Humanoides
Referencia de Animación