por Emi
A veces, cuando import el modelo a 3DCoat, el normal map en el renderizador de la ventana gráfica no se muestra correctamente. Pero comienza por la forma en que exporta su modelo en cualquier otro software.
El mapa normal podría solucionar un poco los problemas de sombreado, sobre cómo el software lee los mapas normales, y eso podría hacer que el problema sea un poco menos notorio, pero el problema sigue ahí. Debe aplicar algunas de las reglas que ayudarían a resolver el problema real para facilitar el trabajo y la vida al crear mejores mapas normales.
Sin aplicar estas reglas, la mayoría de los normales eran promedio y pocos eran difíciles, lo cual era extraño de ver. Pero esa es claramente la razón principal de los problemas: cómo se exportan los grupos de suavizado para su modelo y cómo se leen en otro software.
Primero, las cajas no pueden tener bordes suaves o promedio, son ángulos de 90° y no importa lo que hagas, siempre tendrán este problema de iluminación si no están configuradas con bordes duros. En el pasado, antes de que aparecieran programas de horneado más avanzados como Marmoset para hacerlo más fácil, siempre había que hacer una jaula, y la jaula sería la que tenía las normales de vértice promedio, por lo que la jaula se usaría para hacer el promedio. búsqueda’ del alto poli, sin causar errores en el horneado ya que la caja parecería bordes duros. Por supuesto, ahora Marmoset tiene la casilla de verificación “jaula suave” que hace lo mismo y ahora no necesitas una jaula a menos que realmente la necesites.
Así que aquí hay dos “reglas” y también están vinculadas:
1. Cuando hagas modelos con ángulos de 90°, siempre deben ser duros. Por supuesto, también puedes biselar un poco y evitar los bordes en ángulo de 90°. Esto no sólo seguirá fielmente la forma del modelo de alta resolución, sino que también podrás usar los bordes suaves de la caja y hacer que se vea más bonita y con menos problemas, redondeada, más bonita y todo eso.
2. Los bordes duros (que prácticamente deberían tener ángulos de 90°) siempre deben dividirse en la UV para evitar problemas. Es posible que no lo notes en tu modelo, pero está ahí y tiene que ver con la forma en que los píxeles se encuentran en un ángulo de 90° y cómo los píxeles pueden mezclarse y simplemente son diferentes, por lo que no hay suficiente espacio como lo haría un relleno para solucionar los pequeños problemas que podrían ocurrir. Sí, depende de la resolución y los UVs y todo eso, y eso podría hacerlo más notorio que otros, pero sí, en un caso como este en el que estás haciendo cajas, tendrías que dividir todos esos bordes de 90°, y sí, eso significa 6 lados de la caja = 6 islas para evitar problemas.
Hablando de 3DCoat y cómo funciona con ajustes preestablecidos y todo eso. Lo que entiendo al respecto es que al usar ajustes preestablecidos como Blender o Unity, en realidad estás usando un archivo predefinido no solo sobre cómo tratará el mapa Normal, sino también sobre cómo se volteará en verde o no. Pero también el Espacio Tangente, la triangulación y cómo exporta las normales y algunas otras opciones. Si usa la opción Desconocido, podrá usar las de preferencias, las que usted configuró.
Si va a C:Program Files 3DCoat-VXXXToolsPresetsExtTools verá los archivos XML y cómo Unity difiere de Blender, porque el ajuste preestablecido de Blender usa MikkTSpace mientras que unity está configurado en LengyelAreaAngleWeightedSpace. Esa es la única diferencia. pero aparentemente son suficientes para que lo veas porque se interpretan de manera diferente. Técnicamente no deberían afectar mucho y solo la forma en que lee el normal map si es ‘DirectX’ u ‘OpenGL’, pero la raíz del problema de sombreado no tiene que ver con el normal map, sino con el modelo y lo hará. Sé siempre el modelo.
Dejando de lado las reglas de los UVs , los problemas que causa son mínimos, si eres consciente de eso, entonces es tu elección ahorrar algo de espacio UV e ignorar los bordes y el problema que podría ocurrir en lugar de hacerlos correctamente, ya que tendrías que acercarte demasiado. para notar los problemas. A veces queda un gran hueco entre los bordes, me ha pasado a mí.
Si no puede tener cajas con vértices normales o suaves promedio, deben verse como cajas con bordes duros porque son bordes con ángulos de 90°. Si desea utilizar bordes suaves, debe crear un bisel.
Los boxers deben tener bordes 100% duros, los cilindros deben ser duros en la parte superior e inferior y los lados blandos.
Para modelos de baja poli, sugiero hacer biseles, solo un pequeño bisel hará una gran diferencia en muchos casos, especialmente hoy en día donde no hay excusa para tener una caja sin ningún bisel para algo como esto.
Los ajustes preestablecidos de 3DCoat son solo pequeñas variaciones que incluso puedes seleccionar manualmente usando desconocido, no necesitas los ajustes preestablecidos, son solo para ayudar a 3DCoat a interpretar el normal map y el modelo, pero nunca confío en los ajustes preestablecidos, porque como dices, los ajustes preestablecidos de Unity deberían configurarse en MikkTSpace. Pero mi punto es que no se trata solo del normal map OpenGL vs DirectX.
Entonces, cuando uso 3DCoat , que generalmente es para pintar, todo funciona bien, pero eso se debe a que me aseguro de que todo en mi low poly también sea bueno, es decir, para hacer buenos mapas normales y que funcionen en todas partes, necesitas un buen low. poli que puede capturar cualquier detalle de alta poli que hayas creado. No hay magia, simplemente funciona porque me aseguro de todo, como los grupos suavizantes y los UVs y todo eso.
Lo que quiero decir es que un modelo con bordes de 90° se debe poner automáticamente en borde duro, no hay otra manera y listo. no importa si el Cubo tiene 6 lados como en este caso o 1000 subdivisiones Ancho, Alto y Profundo. Si no configura el ángulo de 90° de una caja como borde duro, siempre tendrá un sombreado extraño en aquellos bordes que son de 90° pero que están configurados en suave o lo que sea.
Si estás aplicando un solo grupo de suavizado a todo el conjunto de objetos… eso está mal, porque no puedes suavizar los bordes de las Cajas, especialmente si los objetos son solo cubos con 6 caras.
No puedes “suavizar” algo así, especialmente si tienes un cuadro simple de 6 polígonos; si quieres usar un cuadro, configura todos los lados en Bordes duros. O la otra única forma es agregar un bisel alrededor de los bordes para romper el ángulo de 90° y luego configurarlo en suave. Baking el normal map para ocultar el problema no es la solución; puede que se vea un poco mejor, pero el error de sombreado aún existe en el modelo. Incluso los cilindros deben tener bordes suaves en los lados y en las caras superior e inferior deben tener bordes duros a menos que agregue un bisel.
Entonces la pregunta es: ¿todavía quieres mantener todo como un único grupo de suavizado? a menos que trabaje en ello correctamente y configure elementos que deben ser bordes duros y bordes suaves, suaves o agregue biseles en cada ángulo de 90°, entonces nada solucionará su problema, y solo tendrá que ocultar el problema con el normal map y fingir que no hay problema. existe.
Espero haber explicado decentemente cuáles son los problemas aquí para que pueda ayudarte en tu futuro horneado de normal map .
¡Buena suerte y que tengas un buen día!