• Juegos
  • Industria
  • Recursos
  • Comunidad
  • Aprendizaje
  • Asistencia
Desarrollo
Motor de Unity
Crea juegos 2D y 3D para cualquier plataforma
DescargarPlanes y precios
Monetización
Compra dentro de la aplicación (IAP)
Descubre y gestiona IAP en todas las tiendas
Mediación
Maximiza los ingresos y optimiza la monetización
Calidad de anuncios
Protege la experiencia del usuario de tu aplicación
Tapjoy
Construye lealtad de usuarios a largo plazo
Todos los productos de monetización
Adquisición de usuarios
Adquisición de usuarios
Hazte descubrir y adquiere usuarios móviles
Unity Vector AI
Conecta a los jugadores con los juegos adecuados
Publicidad en el dispositivo Aura
Alcanza a los usuarios en el dispositivo en el momento de mayor compromiso
Todos los productos de crecimiento
Casos de uso
Colaboración 3D
Construye y revisa proyectos 3D en tiempo real
Capacitación envolvente
Capacitación en entornos envolventes
Experiencias del cliente
Crea experiencias interactivas en 3D
Todas las soluciones de la industria
Industrias
Fabricación
Logra la excelencia operativa
Venta minorista
Transforma las experiencias en tienda en experiencias en línea
Industria automotriz
Eleva la innovación y las experiencias en el automóvil
Todas las industrias
Biblioteca técnica
Documentación
Manuales de usuario oficiales y referencias de API
Herramientas para desarrolladores
Versiones de lanzamiento y rastreador de problemas
Hoja de ruta
Revisar características próximas
Glosario
Biblioteca de términos técnicos
Información útil
Casos de estudio
Historias de éxito en el mundo real
Guías de mejores prácticas
Consejos y trucos de expertos
Todos los recursos
Novedades
Blog
Actualizaciones, información y consejos técnicos
Novedades
Noticias, historias y centro de prensa
Centro de la comunidad
Discusiones
Discute, resuelve problemas y conéctate
Eventos
Eventos globales y locales
Historias de la comunidad
Hecho con Unity
Presentando a los creadores de Unity
Transmisiones en vivo
Únete a desarrolladores, creadores e insiders
Premios Unity
Celebrando a los creadores de Unity en todo el mundo
Para todos los niveles
Unity Learn
Domina las habilidades de Unity de forma gratuita
Capacitación profesional
Mejora tu equipo con entrenadores de Unity
¿No tienes experiencia con Unity?
Primeros pasos
Pon en marcha tu aprendizaje
Rutas esenciales de Unity
¿No tienes experiencia con Unity? Comienza tu viaje
Guías prácticas
Consejos prácticos y mejores prácticas
Educación
Para estudiantes
Impulsa tu carrera
Para docentes
Potencia tu enseñanza
Licencia gratuita para fines educativos
Lleva el poder de Unity a tu institución
Certificaciones
Demuestra tu dominio de Unity
Opciones de soporte
Obtener ayuda
Ayudándote a tener éxito con Unity
Planes de éxito
Alcanza tus metas más rápido con soporte experto
PREGUNTAS FRECUENTES
Respuestas a preguntas comunes
Contáctanos
Conéctate con nuestro equipo
Planes y precios
Idioma
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
Social
Moneda
Comprar
  • Productos
  • Unity Ads
  • Suscripción
  • Tienda de recursos de Unity
  • Distribuidores
Educación
  • Estudiantes
  • Instructores
  • Instituciones
  • Certificación
  • Learn
  • Programa de desarrollo de habilidades
Descargar
  • Unity Hub
  • Descargar archivo
  • Programa beta
Unity Labs
  • Laboratorios
  • Publicaciones
Recursos
  • Plataforma Learn
  • Comunidad
  • Documentación
  • Preguntas y respuestas Unity
  • PREGUNTAS FRECUENTES
  • Estado de servicios
  • Casos de estudio
  • Made with Unity
Unity
  • Nuestra empresa
  • Boletín
  • Blog
  • Eventos
  • Empleos
  • Ayuda
  • Prensa
  • Socios
  • Inversionistas
  • Afiliados
  • Seguridad
  • Impacto social
  • Inclusión y diversidad
  • Contacto
Copyright © 2025 Unity Technologies
  • Legal
  • Política de privacidad
  • Cookies
  • No quiero que se venda ni se comparta mi información personal

"Unity", los logotipos de Unity y otras marcas comerciales de Unity son marcas comerciales o marcas comerciales registradas de Unity Technologies o de sus empresas afiliadas en los Estados Unidos y el resto del mundo (más información aquí). Los demás nombres o marcas son marcas comerciales de sus respectivos propietarios.

Hero background image

Consejos de optimización móvil para artistas técnicos - Parte I

Para tu comodidad, tradujimos esta página mediante traducción automática. No podemos garantizar la precisión ni la confiabilidad del contenido traducido. Si tienes alguna duda sobre la precisión del contenido traducido, consulta la versión oficial en inglés de la página web.
Haz clic aquí.

Lo que encontrarás en esta página: Sugerencias para optimizar assets de arte para desarrolladores de juegos móviles que trabajan en Unity. Este es el primero de dos artículos sobre cómo optimizar el arte para juegos móviles.

Puedes encontrar muchos otros consejos de optimización móvil en este libro electrónico y en este curso Unity Learn sobre la optimización del arte 3D para aplicaciones móviles.

  • Enfócate en la silueta
  • Usar el nivel de detalle (LOD)
  • Combina mallas y oculta objetos
  • Importación de modelos
  • Tamaños de textura y espacio de color
  • Integrar los detalles en la textura
  • Texturas teñidas en escala de grises
  • Filtrado de texturas
  • Tamaños de textura y espacio de color
  • Comprimir texturas
  • Usar canales de texturas para empaquetar varias texturas en una sola.
  • Desenvoltura UV
Renderizado 3D de un personaje robótico

Enfócate en la silueta

Tanto los polígonos como los vértices son computacionalmente costosos en las plataformas móviles. Coloca polígonos en áreas que realmente contribuyan a la calidad visual de la aplicación, para que no desperdicies tu presupuesto de procesamiento.

Debido al pequeño tamaño de la pantalla en la mayoría de los dispositivos móviles y la ubicación de los objetos 3D en tu aplicación, muchos pequeños detalles triangulares en un objeto 3D pueden no ser visibles. Esto significa que debes enfocarte en formas y partes grandes que contribuyan a la silueta del objeto, en lugar de pequeños detalles que podrían no ser visibles. Utiliza texturas y mapas normales para obtener detalles detallados.

Ejemplos LOD

Usar el nivel de detalle (LOD)

A medida que los objetos se mueven a la distancia, el nivel de detalle (LOD) puede ajustarlos o cambiarlos para utilizar mallas más simples con materiales y shaders más simples a fin de mejorar el rendimiento de la GPU.

Más consejos de preparación LOD

  • Elimina más polígonos en áreas más planas y evita usar áreas densas de triángulos en objetos con un LOD menor.
  • LOD también puede aplicarse a la complejidad de los shaders. El shader y el material se pueden optimizar para obtener objetos 3D que están más lejos. Por ejemplo, puedes reducir la cantidad de texturas que utiliza un objeto a medida que se aleja de la cámara.
  • A menudo vale la pena reducir la cantidad de triángulos entre cada nivel LOD en un 50 %.
  • Comprueba cómo se ve el LOD a diferentes distancias de la cámara.
  • La topología limpia es esencial para los personajes y objetos que se deforman o se animan.
  • No te obsesiones con tener una topología perfecta. El jugador o usuario final no verá el wireframe de un modelo 3D cuando hayas aplicado una textura y un material.

Cuándo no usar LOD

LOD no es adecuado en todas las situaciones. Por ejemplo, evita usarlo en una aplicación en la que tanto la vista de la cámara como los objetos son estáticos, o en la que el objeto ya está usando una cantidad baja de polígonos. LOD incluye una sobrecarga de memoria y un mayor tamaño de archivo porque los datos de malla se deben guardar para que se puedan usar en tiempo real.

Oclusión en Unity

Combina mallas y oculta objetos

Puedes combinar varias mallas en una sola para reducir la cantidad de llamadas de dibujo necesarias para el renderizado. Para aplicar esta técnica, crea un GameObject vacío en Hierarchy y conviértelo en el padre de las mallas que quieres combinar. Luego, adjunta un script que implemente el método Mesh.CombineMeshes() en el GameObject padre.

Usar Occlusion Culling

Los objetos ocultos detrás de otros objetos pueden, potencialmente, seguir renderizándose y costando recursos. Usar Occlusion Culling para descartarlos.

Si bien la eliminación del tronco fuera de la vista de la cámara es automática, la eliminación de la oclusión es un proceso integrado. Solo tienes que marcar tus objetos como oclusores estáticos u oclusores estáticos y, luego, integrarlos en el cuadro de diálogo Window > Rendering > Occlusion Culling. Si bien no es necesario para todas las escenas, el culling puede mejorar el rendimiento en muchos casos. Consulta el tutorial Trabajar con Occlusion Culling para obtener más información.

Importación de modelos en Unity

Importación de modelos

Estos son algunos buenos consejos que debes tener en cuenta al importar tus modelos.

  • Tipo de animación: Cuando importes una malla FBX que no contenga datos de animación, establece Animation Type en None en la pestaña Rig de Import Settings. Si colocas tu malla en la jerarquía, esta configuración garantizará que Unity no genere un componente de Animator sin usar.
  • Desactivar rigs y BlendShapes: Si tu malla no necesita animación de esqueleto o blendshape, desactiva estas opciones siempre que sea posible.
  • Desactivar normales y tangentes: Si tienes la certeza absoluta de que el material de la malla no necesitará normales ni tangentes, desmarca estas opciones para ahorrar más.
  • Importar ajustes: Si tu modelo no se modifica en el tiempo de ejecución, desactiva la opción Read/Write Enabled (Leer/Escribir habilitado) en la pestaña Model (Modelo) de Import Settings (Importar ajustes) para evitar que se cree una copia en la memoria.
  • Loteado estático/dinámico: El procesamiento por lotes estáticos es una técnica de optimización común que reduce el número de llamadas de dibujo. Es ideal para los objetos que constan de una gran cantidad de vértices que no se mueven, giran o modifican su escala durante el renderizado. Marca Static en el Inspector que contiene el Mesh Renderer de tu modelo de destino.
Comparación de compresión de texturas

Tamaños de textura y espacio de color

Las texturas pueden ser de diferentes tamaños. Reducir el tamaño de las texturas que requieren menos detalles ayudará a reducir el ancho de banda. Por ejemplo, una textura difusa se puede establecer en 1024 x 1024 y el mapa de rugosidad/metal relacionado se puede establecer en 512 x 512. Haz lo posible por reducir selectivamente el tamaño de la textura y revisa siempre si alguna imagen se degradó después.

La mayoría del software de creación de texturas trabaja con texturas y las exporta utilizando el espacio de color sRGB.

Te recomendamos utilizar Textures difusos en el espacio de color sRGB. Las texturas que no se procesan como color no deben estar en el espacio de color sRGB. Algunos ejemplos de estas texturas son los mapas metálicos, de rugosidad y normales, ya que los mapas se utilizan como datos en lugar del color. Usar sRGB en estos mapas generará una imagen incorrecta en el material.

Nota: Asegúrate de que la configuración sRGB (color Texture) en la ventana Inspector no tenga comprobaciones junto a rugosidad, mapas especulares, normales u otros elementos similares.

Detalles en textura en tejas de techo

Integrar los detalles en la textura

Se pueden integrar elementos tales como la oclusión ambiental y pequeños reflejos especulares y, luego, agregarlos a la textura difusa. Este enfoque significa que no tienes que depender demasiado de los shaders costosos desde el punto de vista computacional y las funciones Unity para obtener reflejos especulares y oclusión ambiental.

Demostración de textura en escala de grises tintada

Texturas teñidas en escala de grises

Siempre que sea posible, usa texturas en escala de grises que permitan teñir el color en el shader. Esto ahorra memoria de Texture a costa de crear un shader personalizado para realizar el teñido. Sé selectivo con esta técnica, porque no todos los objetos se ven bien con este método. Es más fácil aplicar esto a un objeto que tiene un color uniforme.

Comparación bilineal y trilineal de filtrado de texturas

Filtrado de texturas

El filtrado de texturas a menudo mejora la calidad de la textura en una escena, pero también puede degradar el rendimiento porque, para lograr una mejor calidad de la textura, a menudo se necesita más procesamiento. El filtrado de texturas a veces puede representar hasta la mitad del consumo de energía de la GPU. Elegir filtros de textura más simples y adecuados puede ayudar a reducir las demandas de energía de una aplicación.

  • Filtrado más cercano/punto: Esta es la forma de filtrado de texturas más simple y con menos intensidad computacional, aunque, si se la observa de cerca, este filtrado puede hacer que las texturas se vean bloqueadas.
  • Filtrado bilineal: Filtrado bilineal de muestras y promedios de téxeles vecinos para colorear píxeles en una textura. A diferencia del filtrado más cercano, el filtrado bilineal genera píxeles con menos bloques, ya que los píxeles tienen una pendiente suave. Un efecto secundario del filtrado bilineal es que las texturas se verán borrosas cuando se vean de cerca.
Sprite Atlas en Unity Editor

Tamaños de textura y espacio de color

Es probable que la mayor parte de tu memoria se oriente a texturas, por lo que los ajustes de importación aquí son esenciales. En general, intenta seguir estas pautas al importar tus assets.

  • Baja el tamaño máximo: Utiliza los ajustes mínimos que producen resultados visualmente aceptables. Esto no es destructivo y puede reducir rápidamente tu memoria de texturas.
  • Utiliza potencias de dos (POT): Unity exige dimensiones de textura POT para los formatos móviles de compresión de texturas (PVRCT o ETC).
  • Atlas de tus texturas: Colocar varias texturas en una sola textura puede reducir las llamadas de dibujo y acelerar el renderizado. Utiliza Unity Sprite Atlas o el TexturePacker de terceros para obtener el atlas de tus texturas.
  • Desactiva la opción Leer/Escribir habilitado: Cuando está activada, esta opción crea una copia en la memoria direccionable de CPU y GPU, lo que duplica la huella de memoria de la textura. En la mayoría de los casos, mantén esto desactivado. Si estás generando texturas en el tiempo de ejecución, haz que esto se cumpla a través de Texture2D. Aplicar, pasando makeNoLongerReadable a true.
  • Desactiva los mipmaps innecesarios: No se necesitan mapas de mapa de mapa para texturas que se mantengan estables en pantalla, como los sprites 2D y los gráficos de la interfaz de usuario. Deja los mipmaps habilitados para los modelos 3D con diferentes distancias de la cámara.
  • Utiliza filtrado bilineal: Esto ayudará a lograr un equilibrio entre el rendimiento y la calidad visual.
  • Utiliza el filtrado trilineal de forma selectiva: Requiere más ancho de banda de memoria que el filtrado bilineal.
  • Utilizar filtrado bilineal y 2 veces anisotrópico: Elige estos en lugar de trilineales y 1 vez anisótropos, para mejorar tanto la apariencia como el rendimiento.
  • Mantener el nivel anisótropo bajo: Usa solo un nivel superior a 2 para assets críticos del juego.
Comparación de texturas comprimidas

Comprimir texturas

Utiliza la compresión de textura escalable adaptativa (ATSC) para iOS y Android. La gran mayoría de los juegos en desarrollo tienden a orientarse a dispositivos con especificaciones mínimas que admiten compresión ATSC. Las únicas excepciones son las siguientes:

  • Juegos iOS orientados a dispositivos A7 o inferiores (por ejemplo, iPhone 5, 5S, etc.): Usa PVRTC
  • Juegos Android orientados a dispositivos anteriores a 2016: Uso deEricsson Texture Compression (ETC2)
Canales de textura

Usar canales de texturas para empaquetar varias texturas en una sola.

El empaquetamiento de canales de textura ayuda a ahorrar memoria de textura porque puedes obtener tres mapas en una sola textura. Eso significa menos muestreadores de textura. Este enfoque se utiliza comúnmente para empaquetar rugosidad, suavidad o metalizado en una sola textura. También se puede aplicar a cualquier máscara de textura. Por ejemplo, también puedes almacenar la máscara alfa. Las imágenes con transparencias pueden tener una huella de memoria mayor, ya que requieren un formato de 32 bits. Sin embargo, al utilizar el canal gratuito para almacenar la máscara alfa, puedes mantener la textura difusa en 16 bits y reducir efectivamente a la mitad el tamaño del archivo.

Utiliza el canal verde para almacenar la máscara más importante. El canal verde suele tener más bits, ya que nuestros ojos son más sensibles al verde y menos sensibles al azul.

Textura UV manual en ProBuilder

Desenvoltura UV

Un mapa UV proyecta texturas 2D sobre la superficie de un modelo 3D. La desenvoltura UV es el proceso de crear un mapa UV.

  • Es una práctica recomendada mantener las islas UV, las unidades individuales de una textura desenvuelta, lo más rectas posible para facilitar el empaquetamiento de las islas UV y reducir el espacio desperdiciado. Un UV recto también ayuda a prevenir el efecto de escalera en las texturas.
  • En las plataformas móviles, el espacio de Texture es limitado. Por lo tanto, el tamaño de la textura suele ser menor que en una consola o PC. Un buen embalaje UV garantiza que obtengas la mayor resolución de tus texturas.
  • Considera la opción de tener un UV ligeramente distorsionado manteniendo el UV recto para obtener texturas de mejor calidad.
  • En algunos casos, deberás exagerar y resaltar los bordes y el sombreado para mejorar la legibilidad de la forma. Debido a que las plataformas móviles suelen utilizar texturas más pequeñas, puede resultar difícil capturar todos los detalles que se necesitan dentro de ese espacio reducido.
  • Para las aplicaciones móviles, usa menos texturas e integra cualquier detalle adicional en una sola textura. Esto es importante porque es mejor integrar algunos detalles en la Textura difusa en sí para garantizar que esos detalles sean visibles en las pantallas móviles pequeñas.