Red de conocimiento informático - Problemas con los teléfonos móviles - Algunas sugerencias sobre especificaciones de recursos artísticos en proyectos de Unity

Algunas sugerencias sobre especificaciones de recursos artísticos en proyectos de Unity

En el proyecto Unity, inevitablemente tenemos que lidiar con recursos artísticos como texturas, modelado, animación, etc. Las especificaciones de recursos completas y razonables son muy necesarias. Este artículo resume algunas de mis prácticas para las especificaciones de recursos artísticos en el proyecto.

Cuando la imagen se muestra en mosaicos, ¿cómo colocar la imagen en mosaico? UGUI y Repetir colocarán la malla en mosaico, y Clamp generará una gran cantidad de mallas.

El muestreo repetido puede provocar errores. en los bordes cuando la imagen se reduce para su visualización, en cuyo caso se debe configurar en Abrazar, en otros casos se recomienda configurarlo en Repetir, en otros casos se recomienda configurarlo en Repetir. En otros casos, se recomienda configurarlo para que se repita, y el componente de imagen de UGUI recomienda configurarlo para que se repita al configurarlo en mosaico.

Se trata del espacio gamma y del espacio lineal. sRGB le indicará al sistema si su imagen se creó en el espacio sRGB. Cuando dibuja en un espacio lineal, debe decirle a la GPU que la imagen se crea en el espacio sRGB y que la GPU no realiza corrección gamma.

Cuando su proyecto utiliza espacio gamma, no hay diferencia si esta configuración está marcada o no.

Cuando tu proyecto utiliza espacio lineal, necesitas que el diseñador te diga si la imagen se creó en espacio sRGB para determinar si la opción sRGB está marcada.

Las opciones de compresión de textura para diferentes Las plataformas son diferentes de El tamaño del instalador creado para esa plataforma y el tamaño de la memoria de las texturas. Consulte también "Imágenes y texturas"

Similar a la función "lectura/escritura habilitada" de las texturas, esta función consume memoria adicional y solo debe habilitarse cuando es necesario modificar y leer los datos del modelo, p. estás usando una malla como renderizador en un sistema de partículas, el modelo correspondiente a la malla debe tener habilitada la lectura/escritura

Cuando se usa un modelo como renderizador para un sistema de partículas, esta característica debe estar habilitada , De lo contrario, está deshabilitado

Cuando está habilitado, los vértices del modelo se ordenan mejor, mejorando así el rendimiento de la GPU

Siempre habilitado

Las normales y tangentes de los vértices se almacenan en In el archivo del modelo

Si su material no utiliza datos normales o tangentes, debe seleccionar "Eliminar"

para eliminarlo.

Esta parte Las opciones para los datos no se muestran en la vista Inspector y el modelo puede exportar información como UV2/Color, lo que puede generar redundancia si no se usa en el material

Si se asegura de que el material no use atributos redundantes , elimínelos

Active siempre

Datos normales y tangentes de vértice almacenados en el archivo del modelo

Si es necesario, eliminelos

Los tipos de animación son "Universal" y "Humanoide", Humanoide tiene mejores propiedades de redirección, Genérico tiene mejor eficiencia y ventajas de memoria

Elija en consecuencia

No exponer mucho los nodos óseos en tiempo de ejecución mejora la eficiencia de AnimatorUpdate al reducir la necesidad de muchos componentes de transformación. Si hay nodos colgantes que deben exponerse, puede agregarlos a la lista de transformaciones adicionales para exponer

Compruebe siempre

si las animaciones se importan desde el modelo, algunos modelos solo debe proporcionar mallas, mientras que las animaciones se importan por separado, así que no lo marques para evitar importar animaciones adicionales.

Dependiendo de la situación, seleccione esta casilla de verificación si es necesario importar la animación.

Convierta los datos de Euler en la animación en cuaterniones y utilice cuaterniones para actualizar la animación, lo que reduce las conversiones de cálculo, suaviza la interpolación, reduce las mejoras de rendimiento y aumenta la memoria en aproximadamente un 10-20 %

Normalmente sin marcar

Comprimir animaciones según una política específica.

Por lo general, elija la mejor compresión, establezca valores de error de posición/rotación/escala adecuados; cuanto mayor sea el valor, mayor será el error de animación y utilice valores empíricos.

No exponer opciones. La animación del esqueleto del personaje consta de curvas de rotación/posición/escala. En la mayoría de los casos, la curva de escala no cambiará porque la animación del personaje rara vez se puede considerar como escala. eliminado para reducir el tamaño del archivo y el tamaño de la memoria.

Agregar lógica para eliminar curvas de escala en el script de importación de recursos. Si la animación opera en la curva de escala, el script de alta velocidad en el nombre del archivo omitirá el procesamiento

Cuando la precisión de los números de punto flotante excede los 3 dígitos, la mayoría de los ojos humanos no pueden percibir la diferencia y el punto flotante La precisión excesiva del punto flotante provocará una pérdida de espacio de almacenamiento

Agregue lógica para comprimir la precisión del punto flotante en el script de importación de recursos.

El abuso de sombreadores puede hacer que los materiales particulados utilicen sombreadores muy complejos, lo que puede degradar el rendimiento del renderizado.

Mantenga una lista de sombreadores que solo el sistema de partículas puede usar para seleccionar materiales y verifique si los ajustes preestablecidos del sistema de partículas se escanean cuando se activa el script, buscando sombreadores que no están en esa lista e informe Error

Las texturas en partículas generalmente no requieren una alta precisión y la precisión de 256x256 es suficiente.

La textura a la que hacen referencia las partículas debe ser lo más pequeña posible, no más de 256x256

Cuando el modo de renderizado de partículas selecciona la cuadrícula, la cuadrícula correspondiente debe marcar Lectura/Escritura habilitada. De lo contrario, el renderizado saldrá mal y el renderizado de mallas en partículas consumirá más energía, por lo que es necesario controlar la cantidad de superficies y la cantidad de mallas.

Para la malla utilizada en el sistema de partículas, verifique si la función de lectura/escritura está habilitada. No exceda las 500 caras individuales y no emita más de 5 mallas en el sistema de partículas.

Las partículas no se activan, pero los materiales, sombreadores, mallas y texturas a las que hacen referencia están integrados en el instalador y cargados en la memoria.

El script de inspección eliminará las partículas inactivas.

El problema aquí en realidad está relacionado con el mecanismo de serialización de Unity. Cuando selecciona el modo de renderizado de una partícula como Malla y la asigna como malla, y luego cambia el modo de renderizado a otro modo (Billboard), las partículas aún hacen referencia a la malla a la que se hizo referencia anteriormente (consulte el archivo .meta para confirmar), lo que provoca compilaciones y muchas cosas que no deberían suceder.

Compruebe el script y elimine las referencias de recursos redundantes.