Buenas gente,
Tengo una duda/problema os comento, tengo un material para el suelo por ejemplo en el que a lo mejor le pongo un tiling de x:2 e y:2 a un suelo cuadrado y va bien, pero por ejemplo si le pongo ese mismo material a un pasillo alargado ya no queda igual y cambiando el tiling o cambia para todos. En el programa de 3D que uso (C4D) una misma textura despues puedes ajustarle el tiling a cada objeto individualmente ¿Hay alguna forma de hacer lo mismo en Unity? ¿O tengo que hacer un material por cada objeto y ajustar el tiling individualmente? ¿Quizas con un shader que dependiendo del tamaño del objeto calcule el tiling?
Gracias por adelantado
Saludos
Seguramente las coordenadas UV no sean correctas. Las coordenadas UV definen qué punto de la textura corresponde a cada vértice de un triangulo.
En tu programa de 3D, tendrás que mapear las texturas correctamente, y exportar las coordenadas UV. En el material que uses en Unity, asegúrate de que está utilizando la primera de las coordenadas UV (puede haber varias). Por defecto, el Standard Shader así lo hace.
Si, una vez aplicadas las coordenadas UV, escalas un objeto en Unity, estarás distorsionando ese mapeo de texturas (normalmente no es muy deseable escalar los objetos una vez importados excepto por motivos de animación o similares).
Un saludo,
Yo uso sketchup, las texturas que ves en sketchup van a parar tal cual a Unity, si necesito cambiar algo lo hage en Sketchup y se actualizan perfectamente. No dependen del tamaño de la cara ni nada.
La otra es usar pro-builder, que hace algo similar.
Cita de: zelleGames date=1584522984¿Quizas con un shader que dependiendo del tamaño del objeto calcule el tiling?
Si necesitas aplicar materales con texturas a objetos individuales de varios tamaños (un buen ejemplo de esto son las rocas, pero hay muchos más) quizás lo mejor sería emplear materiales "UV-free", es decir con un planar o también (más famoso) tri-planar shader lo podés hacer. Pensalo como una proyección de la textura en las caras. Si las caras (por ende el objeto) cambian de escala, el material se mantiene.
Por ej, un terreno es genial para mostrar esto:
(https://ravingbots.com/wp-content/uploads/2015/08/triplanar-screen_0.jpg)
Ejemplos: Rocas (de todo tipo, forma y tamaño), tablas de madera (chiquitas, grandes, torcidas, etc), escombros, terrenos enteros, etc.
Pensalo, va a depender de los objetos que tengas. Si es un interior te recomiendo sketchup, pro builder , etc. Si son objetos muy variados y repetitivos quizás uno de estos shaders sea la solución.
El truco para que la mayoría de terrenos y escenarios "queden bien" suele pasar por tratar un área o todo el nivel "como si fuera un cubo" , y/o aplicarle un material tri-planar.
Más adelante, si necesitáis más detalle a cortas distancias, obviamente tileáis y separáis los trozos de esos escenarios, para darles detalle... El problema es que muchas veces no tenemos la referencia del concept-art del escenario, o nos lo estamos inventando, y por lo tanto no tenemos nada claro de qué zonas o trozos se compone nuestro escenario...
Un consejo para facilitarnos la vida es respetar la duración del trabajo en el que nos encontramos, y no pisarnos por querer correr demasiado. Os recomiendo que antes de texturizar, probéis a pintar con colores sólidos dichos trozos, y poco a poco vayáis rellenando los huecos o secciones con assets. Pero todo ésto, sólo pintando con colores simples, a modo de Material ID, porque así os irá dando una idea de qué queréis poner ahí...
Otro fallo cuando hacéis ésto, es que pensáis que estáis haciendo un Diorama, y no un videojuego. Se trata de relatar visualmente una historia o un momento del juego, a través de un escenario; de describirlo sin palabras. Los Diseñadores no creamos niveles en base a su apariencia ni formas, sinó que primero definimos una "navegación" y una serie de situaciones que queremos que ocurran (enfrentamientos, descansos, exploración, etc), y a partir de eso creamos la arquitectura, acorde a lo que necesitemos.
El truco aquí es crearos un pequeño guión o mini-historia sobre qué es ese escenario, qué representa en el juego y en qué momentos lo hace, y la razón por la que esté hecho de esa forma que queréis mostrar.
Es decir, no hagáis un terreno "porque sí" , tratad de darle un significado previo, una documentación. Eso os facilitará mucho luego la vida, a la hora de pintarlo.