Problema con entorno modular en Unity

Nucklear

Buenas, estoy empezando a preparar un entorno modular para modelar los niveles de un juego que vamos a hacer, para modelar estoy usando Maya y lo exporto a unity en FBX, en Maya el modelo se ve bien, pero al utilizar los tiles en Unity se ve una línea en las uniones, aquí os dejo unas imágenes para que veáis:

Si se ve bien en Maya no puede ser problema del mapa UV ni de la textura, ¿Alguna idea?

13500

El problema es como interpreta Unity la textura.
Puedes sacar screen de las propiedades de esa textura en unity?

1 respuesta
Nucklear

#2 Ahí va:

1 respuesta
litoss

#3 Prueba a cambiar Wrap mode a Clamp

1 respuesta
Rubenum

A mi me parece problema de las normales, (te comento desde mi experiencia en 3dmax a Unity):

  • Asegurate que en Maya tienes bien las normales, en ese caso deben de estar planos, en 3dmax por ej. se regulan con grupos de suavizado, edit normal, etc...

  • Si tienes bien las normales en Maya puede ser que Unity este cogiendo mal el FBX, selecciona el modelo desde las carpetas y en la pestaña "Model" mira que en "Normals" ponga "Import" (asi coge las normales de Maya), y en "Tangents" ami me funciona bien "Calculate", configuralo como mejor quede.

1 respuesta
Nucklear

#4 Cambiandolo a Clamp mejora algo pero se siguen viendo los seams.

#5 Así es como lo tengo y nada.

Rubenum

Aveces también es necesario meter los objetos entre si para que no te haga raros, has probado a meter 1 mm entre si los modulos?

1 respuesta
Nucklear

#7 Si, y es incluso peor porque parpadea la textura de uno sobre el otro

#7 Me da que el problema va a estar aqui:

y si te fijas en el centro de la pared tambien hay unos puntos que si muevo la camara trazan una linea vertical.

¿Alguna idea?

1 respuesta
13500

Entonces es problema del .fbx
O bien a la hora de generar las tangentes (y vertices), o bien en las propiedades del fbx en Unity de si importa esos datos o los calcula

1 respuesta
Z

Prueba a triangular los mesh en Maya y mira las opciones del .fbx, pero vamos creo que es cosa de Unity.

1 respuesta
Rubenum

#8 Me e puesto cabezón y estoy mirando porque me surgio el mismo problema y lo pude resolver.
Si no son las normales mira a ver en "Playersettings" si el "Rendering Patch" esta en "Deferred" y si lo quieres en "Foward" mira en "QualitySettings" el "Pixel Light Count".

Nucklear

#10 #9 Acabo de probar ahora parece que la luz se refleja de manera uniforme pero al aplicar la textura se siguen viendo las líneas, he editado el UV para que no toque los bordes de la textura por si iban por ahí los tiros y nada. Lo que me mosquea es que me pasa con varios modelos. ¿Quizas por estar utilizando planos en lugar de cubos para modelar las carreteras?

1 respuesta
B

#12 Cuando importas un modelo te deja seleccionar si quieres importar sus tangentes y normales o si quieres que Unity los calcule, yo tuve tu mismo problema hace tiempo, si le pones que los calcule se te va el problema.

Y si no se va, será que no es eso

1 respuesta
Nucklear

Acabo de probar con un cubo en lugar de un plano y ya no se ven las líneas, así que debían ir por ahi los tiros.

1 respuesta
JackSparow

#13 Que son las tangentes y las normales de un modelo? (soy ignorante).
En geometría obviamente sé que son, pero en este mundillo me perdí en el hilo xDD

1 respuesta
13500

#14 seria mucho pedirte que me pasaras el primer .fbx (el del plano) aunque sea por privado? para probar a encontrar la solucion

1 respuesta
Nucklear

#16 Sure, ahora lo subo y te lo paso con la textura, si lo consigues me ahorras unos cuantos polígonos en el modelado final.

EDIT: Me cargué el modelo sobreescribiendolo con el del cubo, pero para pasartelo hice otro plano con la misma textura pero a este no le pasa lo mismo...no me lo explico xD

1 1 respuesta
13500

#17 has cambiado "algo" en el UV mapping? Ten en cuenta que la forma en la que el visor de Maya o 3DS Max procesa y muestra las texturas UV y modelos, no es la misma que unity

1 respuesta
Nucklear

#18 Lo unico que pude haber cambiado es que el UV le he dejado algo mas de margen con los bordes pero en la otra versión ya tenía unos cuantos pixels de margen así que no creo que sea por eso.

De todas formas tengo otro problema pero esto ya pasa con todos los modelos, cuando alejo la camara se ven las divisiones de los modelos, de todas formas supongo que sera cosa del lightmap, una vez que lo pase a baked en lugar de real time entiendo que se solucionará.

1 respuesta
13500

#19 lo de que pase al alejar y no de cerca, es cosa del mipmap.
Hay 2 soluciones, o bien aumentar aun mas ese "padding" en el UV respecto a los bordes, o cortar por lo sano y desactivar el mipmap para esa textura.

13500

#15 en realidad se puede profundizar todo lo que se quiera y las matemáticas permitan, pero básicamente las tangentes y el vector normal son lo mismo que en el álgebra lineal.

En este ejemplo puedes ver las tangentes, y el vector normal

Las tangentes son, resumiendo mal y pronto, las aristas entre vértices que determinan el área de la cara del poly.
El normal (que es el azul) determina la orientación del poly, es el que se conoce como vector normalizado (o vector unitario) en el álgebra.

Cuando tenemos un modelo en high poly, hay millones de tangentes y normales. (Imagina un área curva en matemáticas, y hazle derivadas a la curva. Puedes sacar infinitas tangentes en infinitos puntos). Cuando este modelo se reduce al low poly para que pueda ser procesado en tiempo real por los juegos, con un número más razonable de tangentes, normals (en su composición, polys), para mantener el realismo del high poly se emplea el conocido "normal map", que mantiene la información del high poly y la implanta sobre el modelo low:

A la izquierda el high poly, y a la derecha el low

Volviendo al problema de #1

El UV necesita añadir una tangente extra para poder hacer el wrap correctamente, pero sin modificar el modelo (poly). Qué pasa entonces? es posible que al exportar .fbx se pierda información sobre esa tangente "inline" o que Unity no sepa interpretarla, por lo que lo mejor es guardarse las espaldas y exportar fbx con UVs simples, y con mucho padding. Como dije antes, en los visores de escena de programas para modelado, no siempre se necesita hacer ciertos procesos a mano, y el propio programa lo automatiza para poder mostrar el modelo sin errores.

2 1 respuesta
JackSparow

#21 Como te lo curras. Muchas gracias.

Basicamente entiendo que es algo parecido al normal map de las texturas pero para los modelos vaya. Con el "mapa de las normales" se mejora el dibujado del modelo sin tener que trabajar con algo robusto.

Gracias, investigaré más el tema. Suena interesante!

Usuarios habituales

Tags