C# 优化网格顶点后出现奇怪的阴影

C# 优化网格顶点后出现奇怪的阴影,c#,unity3d,mesh,vertices,C#,Unity3d,Mesh,Vertices,我正在用高度贴图生成一个自定义网格,效果很好,只是生成网格后,有很多重复的顶点;它们在空间中占据同一点的意义上是重复的 为了优化这一点,我对所有三角形进行了遍历,并检测出同一空间中的三角形,消除重复,然后重新计算所有三角形 这将生成相同的网格,但现在有五分之一的顶点,这正是所需的结果 但是,在unity编辑器中,视觉效果会发生变化。优化网格后,会出现一些奇怪的阴影。请参见下面的屏幕截图 此屏幕截图在优化网格之前显示 此屏幕截图与网格完全相同,但现在具有优化的顶点 这可能是什么原因?我假设这是

我正在用高度贴图生成一个自定义网格,效果很好,只是生成网格后,有很多重复的顶点;它们在空间中占据同一点的意义上是重复的

为了优化这一点,我对所有三角形进行了遍历,并检测出同一空间中的三角形,消除重复,然后重新计算所有三角形

这将生成相同的网格,但现在有五分之一的顶点,这正是所需的结果

但是,在unity编辑器中,视觉效果会发生变化。优化网格后,会出现一些奇怪的阴影。请参见下面的屏幕截图

此屏幕截图在优化网格之前显示

此屏幕截图与网格完全相同,但现在具有优化的顶点


这可能是什么原因?我假设这是由场景中的闪电完成的,但在两个屏幕截图之间没有对灯光进行任何更改。

好的,所以我找到了答案。在优化网格时,我删除了所有重叠的顶点,但随后松开了硬边,因为每个顶点只有一条法线,该法线由多个三角形共享


共享顶点时,法线将跨面插值。我打赌这就是造成这种效果的原因。

好的,所以我找到了答案。在优化网格时,我删除了所有重叠的顶点,但随后松开了硬边,因为每个顶点只有一条法线,该法线由多个三角形共享


共享顶点时,法线将跨面插值。我打赌这就是造成这种效果的原因。

可能是由于软阴影设置。在“阴影类型”下的特定灯光下选择:无阴影,然后查看是否解决了此问题。您好-是的,您是对的,是阴影导致了此问题。但为什么呢?这可能是因为柔和的阴影设置。在“阴影类型”下的特定灯光下选择:无阴影,然后查看是否解决了此问题。您好-是的,您是对的,是阴影导致了此问题。但为什么呢?