Estoy generando una malla personalizada a partir de un mapa de altura y funciona bien, excepto que después de generar la malla, hay muchos vértices duplicados; duplicados en el sentido de que ocupan el mismo punto en el espacio.
En un intento de optimizar esto, los reviso todos y detecto los que están en el mismo espacio y elimino la duplicación, y vuelvo a calcular todos los triángulos.
Esto produce la misma malla, pero ahora con 1 quinta parte de los vértices, exactamente el resultado deseado.
Sin embargo, en el editor de Unity, los cambios visuales. Aparecen algunas sombras extrañas después de haber optimizado la malla. Vea las capturas de pantalla a continuación.
Esta captura de pantalla es antes de optimizar la malla.
Esta captura de pantalla es exactamente la misma malla, pero ahora con vértices optimizados.
¿Cuál puede ser la causa de esto? Supongo que lo está haciendo la iluminación de la escena, pero no se han realizado cambios en la iluminación entre las dos capturas de pantalla.
Bien, entonces lo descubrí. Al optimizar la malla, eliminé todos los vértices superpuestos, pero luego pierdo los bordes duros, ya que cada vértice solo tiene una normal que se comparte entre varios triángulos.
Cuando se comparten los vértices, la normal se interpola entre las caras. Apuesto a que eso es lo que está causando este efecto.