欢迎光临散文网 会员登陆 & 注册

《光与硅的艺术》连载——5.5 Geometry Editor(几何编辑器):法线处理

2022-05-18 18:43 作者:FishersLab  | 我要投稿

Note:《光与硅的艺术》写作于2015年,发表于2017年,书中部分内容可能与当前软硬件实际状况有出入,请注意区分。


Normal(法线)是指垂直于物体表面的一条线。在三维软件中,通常使用法线来描述多边形的曲面走向。本节将学习常见的法线问题和排除方法,尝试使用Geometry Editor(几何编辑器)处理常见法线错误。


TIPS 严格来说,法线是Vector(向量),而非线。不过,对于普通用户来说,完全没有必要进行严格的区分。事实上,对于普通用户而言,根本没有必要深究法线的含义。你只需要知道,当法线出现错误以后,应该如何进行修正即可。


5.5.1 法线问题


在VRED中,法线分为两种,分别是Face Normal(面法线)和Vertex Normal(顶点法线),它们被用来描述一个曲面的“正面方向”与“平滑弧度”。如果法线出现问题,对象的曲面就会出现一些奇怪的特征。


图5-41所示是法线正确的实时预览效果,图5-42所示是法线错误的实时预览结果。对比效果正确的图像,观察图5-42中的标注部分:它们的亮度和受光方向都出现了问题,如引擎盖的颜色出奇的暗,同时在A区域中,本应属于阴影部分的车门向下转折结构被照亮了,而它上方的受光面却反而变成了暗部。

图5-41 正常的实时预览效果


图5-42 法线错误的实时预览效果


查看图5-43,Vertex/Face Normal Rendering(法线诊断模式)揭示了问题的成因——法线错误。注意刚才有问题的部分,在这里它们被显示为蓝色。

图5-43 法线诊断模式


TIPS Vertex/Face Normal Rendering(法线诊断模式)的相关知识将在下文中进行讲解。


法线错误会有各种各样的奇特表征,常见的法线错误主要是法线方向错误,即法线没有正确地朝向“外面”。图5-44和图5-45所示的分别是法线正常的实时预览模式和法线正常的法线诊断模式。在法线诊断模式下,绿色代表法线“朝外”。

图5-44 法线正常的实时预览模式


图5-45 法线正常的法线诊断模式


法线诊断模式可以显示出几何体的法线状态,如图5-46所示。注意车身上的蓝色、紫色和金色标注,它们表示这些位置的法线存在问题。已知绿色代表正常的“朝外”,那么蓝色、紫色、金色就都表示错误的法线“朝内”问题。

图5-46 法线错误的法线诊断模式截图


法线颜色含义说明


» 绿色:正确,面法线和顶点法线都朝外,无需处理。


» 蓝色:错误,面法线和顶点法线都朝内,应同时反转二者。


» 紫色:错误,顶点法线朝内,面法线正确,需反转顶点法线。


» 金色:错误,面法线朝内,顶点法线正确,需反转面法线。


TIPS 你无需准确记住每个颜色的含义,只要知道车体对象都应当是绿色即可。


法线没有正确地朝向“外面”会对实时预览模式的显示质量产生严重的影响,刚才已经查看过相关效果。


对于光线追踪而言,这种错误的影响几乎可以忽略。所以,如果只需要渲染光线追踪结果,也可以无视此类法线错误,以节约几何体修正的时间。图5-47所示是法线错误的实时预览模式截图,注意引擎盖的奇怪颜色;图5-48所示是同一个场景的光线追踪渲染结果,可以看到,引擎盖的问题消失了。

图5-47 法线错误的实时预览模式截图


图5-48 法线错误的光线追踪模式


5.5.2 Vertex/Face Normal Rendering(法线诊断模式)


Vertex/Face Normal Rendering(法线诊断模式,也叫顶点/面 法线模式)是一种辅助显示模式,在上文中已有所涉猎。这种显示模式能够帮助我们快速查找出法线问题。


执行Visualization(可视化)>Vertex/Face Normal Rendering(法线诊断模式)菜单命令,即可打开法线诊断模式,如图5-49所示。法线正确的显示效果如图5-50所示。

图5-49 法线诊断模式的打开方式


图5-50 法线诊断模式显示效果


5.5.3 Geometry Editor(几何编辑器)


要修正法线问题,需要使用Geometry Editor(几何编辑器),其Normal Calculations(法线计算)功能专门用于解决上述问题。


Geometry Editor(几何编辑器)是专门用来修改几何体参数的模块,其主要用途是调整对象法线和细分工业曲面。在日常工作中,这个模块的使用频率较低,所以,只介绍较为关键的法线修改部分,让你有能力应对上述常见错误。


Geometry Editor(几何编辑器)没有主面板快捷方式,需要执行Scene(场景)>Geometry Editor(几何编辑器)菜单命令来打开这个模块,如图5-51所示。Geometry Editor(几何编辑器)面板如图5-52所示。

图5-51 几何编辑器打开方式


图5-52 Geometry Editor(几何编辑器)参数面板


Geometry Editor(几何编辑器)Normal Calculations(法线计算)功能说明


» Crease Angle(折痕角度): 即“平滑角度”。当使用Calculate Normals(计算法线)按钮,令系统重新计算曲面法线时,本角度决定转折结构的“软硬”程度。越低的数值表示越硬的转角,其作用和3ds Max中Smooth(平滑修改器)的Threshold(阈值)参数相同,如图5-53所示。

图5-53 3ds Max中的Smooth修改器


Calculate Normals(计算法线):根据Crease Angle(折痕角度)参数为选中对象重新计算法线。通常不建议使用这个按钮,因为它很容易破坏车身表面的原始曲率。


» Length:Normalize Normals(长度:规格化法线):统一法线向量的长度。


» Normal Consistency:Make Consistent(法线一致化:使一致):在其他软件中,这个功能可能会被叫作“统一法线”。其作用是,当一个对象的法线有些反、有些正时,修改法线,使它们保持统一的朝向。但是,实际上它并不是太有效。


» FlipNormals(反转法线):以不同的方式反转对象的法线,其后面这3个按钮是修正法线错误的主要按钮。


Face/Surface(面或曲面):反转选定对象的面法线,修正金色错误。


Vertex(顶点):反转选定对象的顶点法线,修正紫色错误。

Face and Vertex(面与顶点): 同时反转选定对象的面法线和顶点法线,修正蓝色错误。


5.5.4 经验与建议


下面将提供一些经验性的建议,它们主要针对使用多边形模型的用户,工业数据用户仅作为了解即可。


第1点: 虽然VRED具备法线修改功能,但仍然要养成事先处理好模型的习惯。因为用VRED处理模型问题显然不如在3ds Max或者Maya中方便。


第2点:如果模型没有明显的、不可挽回的曲面错误,尽量少用Calculate Normals(计算法线)按钮,因为它很容易造成预期之外的曲面平滑结果。


第3点:一切法线问题以最终渲染结果为准。如果仅用VRED进行渲染,而不是做实时演示,那么只要光线追踪计算结果无误,即可不修改法线错误,这样可以节约时间和精力。


第4点:无需背下每种法线错误的颜色、成因及修复按钮,只需记住如下思路即可。


① 在法线诊断模式下,需要车体对象呈现绿色。


② 对出现蓝色错误的对象使用Face and Vertex(面与顶点)按钮,它将被反转为绿色。


③ 如果错误对象不显示蓝色,那么随机尝试Face/Surface(面或曲面)、Vertex(顶点)这两个按钮。


④ 如果尝试结果正确,对象会变成绿色。


⑤ 如果尝试结果不正确,对象会变成蓝色。


⑥ 对蓝色对象重新使用Face and Vertex(面与顶点)按钮即可。


《光与硅的艺术》连载——5.5 Geometry Editor(几何编辑器):法线处理的评论 (共 条)

分享到微博请遵守国家法律