Gracias Gracias:  11
Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 15 de 24

Tema: Tamaño textura

  1. #1
    Senior Member Avatar de Karlitros
    Fecha de ingreso
    Apr 2002
    Mensajes
    117

    3dsmax Tamaño textura

    Wenas,

    tengo una duda sobre las texturas para motores de juegos.

    En el caso de tener que texturizar una casa pequeña, ¿es mejor hacer una sola textura grande de 4096 px. con varios objetos metidos en ella como muros, ventanas, puertas, etc. o separarla en texturas más pequeñas de 1024 o 512 para cada objeto?. Supongo que cargando una grande el motor funcionara mejor ya que manejara una sola textura para varios objetos y necesitara cargar menos ficheros pero no lo tengo claro. La única ventaja que veo en separar cada objeto con texturas más pequeñas es que por ejemplo una ventana se podría usar por separado en otros modelos. En mi caso tengo una casa con unos muros en los que necesitaré una textura de 4096 o 6144 para que se vean bien y me queda sitio para meter más cosas, me parece un desperdicio dejar ese hueco libre sin aprovecharlo para otros objetos. ¿Usar texturas de 6144 o 8192 es una burrada o se pueden usar algunas (pocas) para nex-gen?. Muchas gracias.

    Salud!!

  2. #2
    Miembro Nuevo
    Fecha de ingreso
    Aug 2012
    Mensajes
    9

    Re: Tamaño textura

    Si te sirve de ejemplo, yo utilizo UDK, y tengo que usar texturas de 512, porque es la única forma que he conseguido que funcione. Hace tiempo lei que el UDK solo podía usar texturas de ese tamaño o menos, pero desconozco si han acutalizado a 1024. Si te aseguro que 4096 no funciona. Un saludo

  3. #3
    El cabreador
    Fecha de ingreso
    Oct 2002
    Ubicación
    S.Compostela.
    Mensajes
    8,790

    Re: Tamaño textura

    Si te sirve de ejemplo, yo utilizo UDK, y tengo que usar texturas de 512, porque es la única forma que he conseguido que funcione. Hace tiempo lei que el UDK solo podía usar texturas de ese tamaño o menos, pero desconozco si han acutalizado a 1024. Si te aseguro que 4096 no funciona. Un saludo
    No amigo, UDK siempre ha podido usar texturas de 4096, que es un limite teórico en un montón de motores, no sé donde has leído que no puede pero no es cierto, yo he usado texturas de 4096 en UDK, otra cosa es que tu gráfica no lo soporte, o que lo tengas limitado en el ini, de hecho el tamaño medio es de 2048..


    Respecto a qué es mejor, esto puede tener ríos de literatura técnica.. depende de muchas cosas..
    Si es para consola cuanto menos mejor, excepto la nuevas, la 360 y la Ps3 tiene una memoria muy limitada, en resumidas cuentas serían unos 256 megas para todo el apartado gráfico, modelos, texturas, partículas, animaciones, etc... te aseguro que es muy poco, para PC es otra cosa, sigue existiendo un límite, pero la gráfica más tonta tiene 1 gb de memoria, ahora no es raro encontrarlas con 2 incluso 4 Gb... y sobre todo, también existe la ram donde se usa para intercambiar....

    Hace unos años, no muchos, se usaba una técnica llamada atlas, más o menos es lo que tu describes, esto consistía en, imagina que tienes un pueblo, con sus casas, todas más o menos distintas, sería una pena tener que crear texturas de 512 para cada casa, al final te haces con un montón de texturas a una resolución muy baja, lo que se hacía era crear una textura enorme con Tejados, otra con paredes, otra con suelos, con 4 texturas de 2048, y unos alfas para hacer mezclas que cambiasen color o distribución, podrías tener 30 casas y no notabas que fuesen iguales, se podía añadir mapas de suciedad, además vertex color para hacer más aleatoria la mezcla...tienes que tener en cuenta que una textura de 1024 es 4 veces mayor que una de 512..y en una de 4096 entran 16 de 512, ahí se gana resolución, de hecho, Nvidia, tenía una herramienta para hacer atlas, no era para usar en UDK claro, pero le dabas 30 texturas de 512, y te las metía en un par de 4096, y remapeaba, el mapeado era un desastre, pero funcionaba.. supongo que miraría el color del textel y en función de eso creaba la textura...

    Lo que se suele hacer ahora es lo que se llama tileset, tienes un montón de objetos ventana, 4 ó 5 distintos, cada uno con su textura o no, o usando muchas. también tienes un montón de paredes, puertas, etc etc,, todo para componer el pueblo, y lo montas...la cosa es que como todo siempre tienen quemantener un estilo, todo se distingue así, modelos hi-tech, pues tiene un motón de objetos de ese estilo, o góticos, o modernos, o no sé, el diseño que se le ocurra al concept...

    El tema que planteas no se suele plantear en una producción porque en un juego normal la optimización es más globalizada, o sea, no se piensa en un solo prop, porque la gente ya es lo suficientemente profesional para saber que usar, la cosa se basa en el nivel entero, en lo que vamos a tener cargado en memoria en X momento... y ahí es donde se optimiza.. imagina una papelea en una calle.. solo se usa en un sitio, esa papelera carga 3 texturas y modelo y no llena nada, ahora imagina un banco de la calle, tenemos 250 sembrados por todo el nivel, pues esas 3 texturas y ese modelo es correcto, pero la papelera que no se usa ocupa lo mismo en memoria que ese banco, tenemos dos opciones, o llenamos el nivel de papeleras o la borramos y nos ahorramos unos megas...

    También tienes que tener en cuenta una cosa.. aunque tengas una textura de 4096 no siempre va a mostrar esa resolución, los motores usan mipmapping, el formato de texturas, le pases lo que le pasas TGA JPG PSD, da igual, siempre va a ser DDS, este formato tiene cosas interesante, una textura de 1024 siempre va a ocupar lo mismo, y otra son los mip, lo que hace el motor al convertir a este formato es guardar versiones pequeñas de la textura, si le pasas una 1024, te va a "guardar" dentro del mismo archivo, una versión de 512, otra de 256, 128, 64 y 32...y usara dependiendo de la distancia una u otra..normalmente la máxima se usa si estas pegado al modelo...

    Si haces una sola casa, y es un simple prop pequeño en pantalla, los artistas técnicos y los programadores te pueden morder si usas una 4096, mejor usas 1024, con algunas máscaras, un shader chulo para que mezclar bien, un mapeado correcto y esas cosas vas bien, por ejemplo, en vez de hacer todo el tejado en la textura, metes la cuarta parte y lo tileas en las Uvs, para eliminar el tile usas una máscara de suciedad o lo que sea, con esto ganas 4 veces de resolución...
    Hay que ver como es el nivel para saber que técnica usar.. las texturas siempre se reutilizan, y con los nuevos motores y toda la pontencia a nivel de shaders que tienen, incluso el UDK, casi puedes trabajar en procedural, y con nada te creas unos shader con las misma texturas que puedes usar en un montón de sitios y que parezcan distintos, si a todo esto añadimos los instance shaders del UDK... pues la variación es infinita con muy pocas texturas...
    Otra cosa es que el specular map puede ser de menos resolución, y meter el glosines dentro del alpha del spec.. yo he llegado a meter, porque hay un limite de texturas a usar en un shader (16) cada color del normal (rojo y verde) en el alpha que tenía vació en el difuse, cada cada color en un difuse, (terrain material) componerlo y sacar la tangencial a mano (azul)..

    Otra cosa que has dicho.. 6144 no creo que lo soporte, no por tamaño que creo que tampoco si no porque tiene que ser potencia de 2, las texturas tienen que ser, 32, 64,128,256,512,1024,2048,4096... otra cosa de dice que no, 8132 ya te digo que no lo sé porque nunca lo he necesitado.. me parece una locura, yo uso un 4096 para el dome del cielo, o para terrenos, meter 4 veces eso en un objeto no se hace... estas hablando de 66 megas de textura, mover esa cantidad de datos ya lo veo forzar mucho... estoy casi seguro por no de decir al 100% que nunca se ha usado esa resolución en un modelo.. creo que el Motor TEch5 es el único que pude con texturas de hasta 32k, pero por otro lado también estoy seguro que lo que hace partirlas en trozos..
    Yo ahora uso Unreal4 en ningún ejemplo, y mira que viene cosas impresionantes como ejemplo, se usa ese tamaño..

    Saludos.

    ¿veis?. ya os dije que sobre esto se puede discutir mucho...

  4. #4
    Miembro Nuevo
    Fecha de ingreso
    Aug 2012
    Mensajes
    9

    Re: Tamaño textura

    Vaya, esta claro que sabes más que yo. Se nota que acabo de empezar con UDK jejeje. Lo de las texturas a 512 lo lei hace un tiempo no se donde (y esta claro que quien lo escribió sabia tanto como yo) y lo di por valido. Muchas cosas de las que hablas me cuesta pillarlas, pero me has aclarado sin quererlo bastantes dudas, así que gracias.

    En serio usas Unreal4? Joder, que envidia...

  5. #5
    El cabreador
    Fecha de ingreso
    Oct 2002
    Ubicación
    S.Compostela.
    Mensajes
    8,790

    Re: Tamaño textura

    No te preocupes amigo, para eso estamos en los foros para aprender y compartir..

    Que no te de envidía no, desaprender 7 años de curre con un software para casi aprender un montón de cosas de nuevo, no mola tanto... pero bueno, es para mejor eso seguro.


    Saludos.

  6. #6
    Miembro Nuevo
    Fecha de ingreso
    Aug 2012
    Mensajes
    9

    Re: Tamaño textura

    Seguro que para bien si jeje. Pero tanto cambia el asunto para tener que desaprender lo que sabes? Por lo poco que llevo por aquí, he visto que controlas muy bien el UDK, una lástima que eso se pierda jejeje.

  7. #7
    El cabreador
    Fecha de ingreso
    Oct 2002
    Ubicación
    S.Compostela.
    Mensajes
    8,790

    Re: Tamaño textura

    No, a ver, si controlas de UDK o del 3, tienes gran parte recorrida, pero para los artistas técnicos se puede decir que el cambio es más grande...creo que para mejor, pero bueno, siempre piensas, joe, esto en el 3 lo tendría en 2 minutos...

    Saludos.

  8. #8
    Senior Member
    Fecha de ingreso
    Jul 2011
    Mensajes
    149

    Re: Tamaño textura

    Hola, muy interesante y nutritivo el post. En mi caso uso Unity, y recientemente vi esta empresa. Supongo que estarán trabajando para integrarlo en UDK. Parece que la barrera de las texturas se la han cargado.

    http://amplify.pt/unity/

    • Drag & drop integration, no coding required
    • Multiple virtual textures up to 2M x 2M, or 4 Terapixel
    • New real-time WYSIWYG editing mode with improved workflow
    • New high-compression, high-performance texture compression
    • Spherical page detection system, for fast view rotations
    • Static batching support
    • Light-map and Displacement-map support • Unity Terrain support
    • Anisotropic filtering
    • High dynamic range (HDR) texture support
    • World Machine, MARI and MODO integration
    • Oculus Rift/VR support
    • Hardware sparse texturing support
    • Mobile suppor

    Y eso, más leña...

    saludos!

  9. #9
    El cabreador
    Fecha de ingreso
    Oct 2002
    Ubicación
    S.Compostela.
    Mensajes
    8,790

    Re: Tamaño textura

    Muchas de esas cosas ya están incluidas en el Unreal, por ejemplo eso, http://amplify.pt/unity/amplify-color/ yo los conozco como LUT, es muy útil en postpo, haces una captura de pantalla, en "potochó" dentro de la misma imagen capturada metes la imagen de referencia que te proporciona EPic.. modificas la captura, color, contraste etc, hasta tener algo que te guste, dicha modificación le afecta también a la imagen de referencia, al aplicarsela después en postpo dentro del motor tendrás la misma corrección que hiciste en photosop.. o más o menos. Después los desenfoques también están, como las manchas lumínicas, aberración de color, fallos en las lentes, ajuste de la pupila, etc etc, de hecho si no lo quieres lo tienes que desactivar que por defecto esta activado.
    Por otro lado el Unity me parece un pedazo de motor, mucho más abierto que el UDK, eso sí, tienes que ser mucho más técnico con unity si quieres buenos resultados, creo que están destinados a proyectos distintos, los de Unity han sabido pillar el nicho que Epic dejó, y la verdad es que no sé porque ha desaprovechado ese tipo de negocio, me refiero a pequeños proyectos, smartphones y esas cosas, UDK es muy bueno, y si lo optimizas bien, lo puedes meter en un terminal de gama medía alta sin problemas, incluso de gama media...Pero Unity les ha ganado de calle, y como continúen así, no me extrañaría dentro de unos años ver un triple A super ventas hecho en Unity, poco a poco los grandes del sector, sobre todo técnicos, están mirando mejor a Unity de lo que lo hacían hace unos años..
    Saludos.

  10. #10
    Senior Member Avatar de Karlitros
    Fecha de ingreso
    Apr 2002
    Mensajes
    117

    Re: Tamaño textura

    Gracias por vuestros comentarios, me han sido de ayuda para tener un poco más claro este tema.

    Os dejo un link a una web en la que se comenta que una textura de 512 px. para que se vea bien en UDK sin falta de resolución tendría cubrir como mucho 3 o 4 metros, más o menos la altura de una planta. En la web hay algunos tutoriales que tienen muy buena pinta.

    http://www.chrisalbeluhn.com/Texture..._Tutorial.html

    Salud!!

  11. #11
    El cabreador
    Fecha de ingreso
    Oct 2002
    Ubicación
    S.Compostela.
    Mensajes
    8,790

    Re: Tamaño textura

    A ver, estamos un poco anclados en el pasado, un technical puede hacer que un par de texturas de 512 luzcan más que una de 4096, ahora ando liado para leer el link ha puesto el compañero Karlitros, pero no se puede medir la calidad de una textura en "area"... una 512 funciona bien hasta un tamaño de 4 metros, depende de donde esté el observador, ¿no?, es que en videojuegos no existen tamaños fijos, puedes tener tu objeto que mide 4 metros cuadrados en el último plano que ocupa un 1% de pantalla y los 512 te sobra por todos lados, pero ten ese mismo modelo ocupando un 99% de pantalla, podemos ver los pixels como camiones, aunque esta afirmación sea cierta, tampoco lo es del todo porque nos falta un dato, la resolución al que tenemos el juego, si nuestra resolución es muy alta las texturas nos cantaran más que si es baja.


    Todo se resume en una frase, el tamaño de la textura depende de lo que esté haciendo, nada más, hay cosas como el terreno que tienen que tener un tamaño grande, o el dome del cielo, otras cosas como un pajaro que esta lejos pues no... lo que no podemos hacer es, como se suele ver en algunos juegos, tener texturas de alta mezcladas con texturas de baja, o ya lo peor, un mapeado que hace ciertas partes del modelo tengan demasiada resolución frente a otras que se ven pobres...en serio, si pillais un modelo de un juego nuevo como el último COD, yo lo jugué a tope, las texturas dan asco, pero eso sí, todos los modelos están a la misma resolución, todo pega con todo, no hay nada que sobresalga del resto... otra cosa es que la parte de arriba de un tanque, zona que tiene un gran valor de plano, la tengan hecha un cristo, con una resolución de juegos de los 90... (todo para que entre en las nuevas consolas, seguro)..

    Para dominar este tema hacen falta muchos años...se nota cuando un modelo esta bien mapeado, todas las Uvs correctas, con resoluciones de texturas adecuadas...menos mal que no me encargo de eso, porque es complejo con ganas... yo hago la parte diver. jejeje.

    Saludos.

  12. #12
    Miembro Nuevo
    Fecha de ingreso
    Aug 2012
    Mensajes
    9

    Re: Tamaño textura

    Que interesante. Esta siendo muy educativo este post jejeje. La verdad que el tema de texturas es una movida seria. Considero que en consolas el trabajo es más arduo puesto que la limitacion de la memoria, supongo que debe ser un auténtico quebradero de cabeza. Supongo que en PC hay más margen.

    Oye Fiz3d, si puedes decirme, esto que pones más arriba "los mip, lo que hace el motor al convertir a este formato es guardar versiones pequeñas de la textura, si le pasas una 1024, te va a "guardar" dentro del mismo archivo, una versión de 512, otra de 256, 128, 64 y 32...y usara dependiendo de la distancia una u otra..", sabes si esto que comentas, se refiere en UDK a los LOD? O se me están mezclando mucho las cosas jejeje

  13. #13
    Ninja Fever Avatar de Mars Attacks
    Fecha de ingreso
    Jun 2003
    Ubicación
    Castellón
    Mensajes
    12,744

    Re: Tamaño textura

    Por añadir algo más de información (¡hey, Fiz, cuanto tiempo! :D), a bajo nivel se presentan varios problemas:
    -Muchas tarjetas gráficas (sobre todo en dispositivos móviles) no aceptan texturas cuya anchura y altura no tengan un número de píxeles que sea potencia de dos. En las tarjetas "grandes" (de PC) se las comen de todos los tamaños (juas) haciendo una preconversión interna por hardware.
    -Muchas tarjetas gráficas (sobre todo en dispostivos móviles) no aceptan texturas de más de 2048x2048 por simple falta de memoria. En PC suelen tener considerablemente más, pero tampoco mucha más (y no suele hacer realmente falta).
    -Una de las partes más lentas en el dibujado en pantalla corresponde al cambio de textura para dibujar cosas; cuantos menos cambios de textura tenga que hacer la tarjeta, mejor será el rendimiento.

    Como comenta Fiz, es cuestión de experiencia y buen gusto el aprender a reutilizar al máximo texturas con un tamaño que no exceda unos 2048x2048, y aplicarle todo tipo de trucos sucios para que luzca.

    En cuanto al distinto tamaño de texturas que preguntas, es lo que se denomina "mipmapping" y es efectivamente el LOD de las texturas. No es específico del motor, tiene más que ver con que el formato de textura lo soporte.

  14. #14
    El cabreador
    Fecha de ingreso
    Oct 2002
    Ubicación
    S.Compostela.
    Mensajes
    8,790

    Re: Tamaño textura

    Otia Mars, que bueno leerte de nuevo por aquí, he visto en estos días que andas más activo, me alegro.

    Toda la razón en lo que dice Mars, aunque de Smartphones no sé demasiado, tienen infinitamente más limitaciones que una consola y que por supuesto el PC...en UDK casi no puedes usar shaders complejos, los alfas con cuentagotas etc etc..
    En cuanto a gráficos lo que más pesa en UDK es el overdraw, en FX el overdraw se usa sí o sí, esto consiste en tener un plano con alfa y a través de él ver otro y después otro y otro...esto consume mucho ya que tiene que calcular ese pixel varias veces tantas como planos super puestos, el calculo se multiplica por X, eso pasa sí o sí en los efectos de partículas como humos y esas historias, ahora no pasa tanto pero antes si te metías dentro de un humo los frames bajaban escandalosamente.

    Trucos sucios he usado bastantes, el más usado es el multicanal, en FX se usan muchos ruidos, (noise) para varias cosas, dar aleatoriedad, se pueden usar para alterar las UVs, hacer distorsión, etc etc.. pero tener siempre el mismo ruido canta, los ruidos suelen ser mapas en blanco y negro, y claro, un bitmap normal tiene 4 canales, RGB y A, es una pena usar una textura para solo un canal, y un poco lío usar un difuse o lo que sea para meter un ruido en su alfa, además de ser bastante desordenado, cosa mala en este trabajo, pues para ahorrar, ser ordenado y que todo quede bien, hacemos 4 ruidos, distintos, y dentro de Photoshop metemos cada uno en un canal (RGB.A,) en un solo bitmap, esto ocupara lo mismo en memoria y tendremos 4 ruidos dsitintos, casi cualquier sistema de shaders te permite sacar los canales de una imagen, UDK también, esos ruidos los puedes mezclar o lo que sea para generar aleatoriedad.
    Después como comenté antes, he tenido que aprovechar los alfas de dos bitmaps para meter los dos canales R.G de un normal y después componerlo y sacar la tangencial (Z) que como era un simple plano es azul (128 128 256)...eso sí que es un truco guarro, pero no había otra forma, hay un límite en el número de bitmaps que se pueden usar en un shader, 16 distintos.

    El mip mapping es lo que comenta Mars, es como un LOD controlado automáticamente por el motor, en versiones unreal se puede controlar dentro del shader qué nivel de mipmaping quieres que se se use, esto no es para ahorrar ni nada, es simplemente un truco para hacer desenfoques... a ver, qué ahorras seguro porque cargas una textura de baja, pero no he visto a nadie usarlo con ese fin... yo, por lo menos, solo lo he usado para desenfoques, por otro lado hay veces que no te interesa que se haga mipmaping, sobre todo en FX, imaginad que tenemos un bitmap para hacer polvo, formado por puntos muy pequeños o un ruido muy pequeño, con variaciones entre pixels, si el lod nos elimina 1 de cada 4 pixels, tendremos un flikeo muy incómodo, o de ser puntos de polvo pasa a ser una mancha cuando nos alejamos, en estos casos se fuerza para que no haga mipmaping y siempre nos muestre el de más calidad, aunque esto nos puede traer problemas con lo que tendremos que cambiar el filtrado (antialiasing) por uno un poco más caro...
    El problema de esto es que siempre te tienes que estar pegando para que usando los mínimos recursos saque la máxima calidad... en consola es el infierno, no sé en la PS4 o en la XBONE, creo que la cosa anda más alegre, pero aun así las cifras no son para echar cohetes y dudo mucho que estas aguanten tanto como las de la anterior generación, a no ser que NV y ATI frenen mucho en cuanto a sus dispositivos para PC, o metan caña a los studios para que el contenido de PC no sea tan "vistoso" yo he visto cosas en un PC normal, funcionando a 35 FPS, para caerte de culo, pero eso no se podía meter en consola con lo que no vera la luz...y menos ahora con las nuevas consolas que tienen que parecer mejores que un ordenador.

    Saludos.

  15. #15
    Senior Member
    Fecha de ingreso
    Feb 2012
    Mensajes
    283

    Re: Tamaño textura

    Muy bueno el hilo, lo acabo de leer y es muy instructivo... Yo en las pruebas que he hecho con udque con respecto a eso de las texturas, recalco que con texturas pequeñas bien usadas se puede conseguir una calidad incluso superior que usando una grande. La cosa es usar truquillos para que no se note el tiling, udque por lo menos te da muchas posibilidades a la hora de crear los shaders y eso ayuda enormemente.

    Este tema me parece muy interesante. A ver si cuando tenga algo hecho lo subo y comento los trucos que he usado o que se podrían usar, seguro que con la de expertos que hay en el foro, no parecen gran cosa, pero bue XD ... algunos me parecen curiosos y son muchas las posibilidades, mi recomendación es que se hagan pruebas.

    Saludos

Página 1 de 2 12 ÚltimoÚltimo

Temas similares

  1. Tamaño Textura para Carretera
    Por feercas en el foro Materiales y Texturizado
    Respuestas: 1
    Último mensaje: 07-09-2011, 19:30
  2. Equivalencia tamaño de textura en pixel En renders
    Por gachon en el foro Materiales y Texturizado
    Respuestas: 4
    Último mensaje: 06-02-2009, 01:07
  3. Cual es el tamaño limite de una textura en Max
    Por mikimoto en el foro Materiales y Texturizado
    Respuestas: 1
    Último mensaje: 02-12-2008, 18:33
  4. Como dar un tamaño determinado a una textura
    Por JCC en el foro Materiales y Texturizado
    Respuestas: 5
    Último mensaje: 16-01-2008, 01:42
  5. tamaño de textura de ladrillos en muchos objetos diferentes
    Por demarins en el foro Materiales y Texturizado
    Respuestas: 2
    Último mensaje: 27-03-2007, 10:08

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •