Uv unwrap tileable en Unity

  • #1
    VictorT está desconectado

    Usuario Senior Avatar de VictorT


    3dsmax Uv unwrap tileable en Unity

    Hola buenas, estoy haciendo un escenario simple en 3ds Max para llevarlo a Unity, y tengo una duda respecto al texturizado de grandes superficies, como paredes o suelos. Por lo que he visto, los motores gráficos solo pueden usar texturas con dimensiones de potencias de 2 (512, 1024, 204, y por otro lado, también he leído que no se recomienda usar texturas de una resolución excesivamente alta. Teniendo en cuenta estas dos cosas, ¿Cómo se texturiza una superficie que se vaya a ver muy grande (paredes, suelos.) sin que pierda calidad al acercarse la cámara? Es decir, si hago el unwrap de, por ejemplo, un suelo de grandes dimensiones, y le coloco una textura de 2048×2048, por lógica se va a ver pixelado, ¿no? He estado buscando información y mirando tutoriales sobre esto, y lo único que he visto que me sirva de ayuda ha sido este tutorial que explica como usar los cuadrantes del unwrap:
    https://www.neilblevins.com/cg_educat…_uvs_tiles.htm.
    Aquí explican como tener la textura de un personaje en dos cuadrantes distintos, en uno el cuerpo y en otro la cabeza, ya que la cabeza suele salir más en primer plano, de este modo no pierde calidad. Yo he adaptado esta técnica al texturizado de un suelo, he extendido el unwrap en 2 cuadrantes más a cada lado y le he escalado las coordenadas de mapeado para qué ocupara todos los cuadrantes, así tengo una textura de 2048×2048 tileada para qué no pierda resolución. ¿Alguien con experiencia en motores gráficos me puede decir si estoy haciendo bien? ¿Es la mejor técnica o debería hacer otra cosa? Y, sobre todo, ¿Unity respetara esas coordenadas de mapeado del 3ds max? Muchas gracias a quien se haya tragado esta parrafada y me pueda echar un mano, dejo una imagen adjunta para qué se vea bien lo que he hecho. Un saludo.
    Uv unwrap tileable en Unity-unwrap-tileable.jpg


  • #2
    SerKBer está desconectado

    Nivel Héroe Avatar de SerKBer


    Uv unwrap tileable en Unity

    Buenas VictorT.
    Para usar texturas tileables tienes en general dos maneras fáciles de hacerlo.
    1 – En Max, coge las UVS del objeto en cuestión y hazlas más grandes. Te recomiendo que pongas un material checker al objeto y actives el preview para que veas lo que pasa. Lo que pasara será que la textura empezara a repetirse por el objeto, logrando así el efecto de tileado que buscas.
    2 – En Unity, en el material o por ahí, debe haber una opción para las texturas que se llame Tilling o algo similar, modificando ese valor consigues el mismo efecto que escalando las UVS manualmente, y, es más editable, ya que lo haces dentro del propio motor y no tienes que volver a Max para hacer algún cambio.
    Espero haberte ayudado, un saludo.


  • #3
    VictorT está desconectado

    Usuario Senior Avatar de VictorT


    Uv unwrap tileable en Unity

    Ok gracias, es que no sabía si en Unity había alguna opción de tiling o había qué llevarlo todo con su unwrap perfecto desde 3ds max. Es que todavía no he visto mucho del programa, estoy dejándolo todo bien preparado en 3ds Max para poder exportarlo y ya dedicarme a aprender con el Unity, para no volverme loco con varias cosas a la vez. De todos modos, seguro que volveré preguntando cosas del Unity cuando empiece a trabajar con él. Muchas gracias, un saludo.


  • #4
    Revan está desconectado

    Eterno Aprendiz Avatar de Revan


    Uv unwrap tileable en Unity

    En realidad, sí que puedes usar texturas de otros tamaños, pero te cargas el rendimiento, así que, mejor ni lo pruebes.
    En cuanto a las texturas de alta resolución, busca información sobre los mip maps de Unity. Utilizan una versión de resolución más baja cuando el objeto esta lejos de la cámara, para no sobrecargar la memoria.