选择网格、面片、样条线或 NURBS 对象。 >“修改”面板 >“修改器列表”>“编辑法线”
选择网格、面片、样条线或 NURBS 对象。 >“修改器”菜单>“网格编辑”>“编辑法线”
使用“编辑法线”修改器可以给出显式和程序性、交互式控制对象顶点法线。 它主要用于指定要输出到游戏引擎以及支持指定法线的其他 3D 渲染引擎的网格对象。 结果将显示在视口和渲染的图像中。
顶点法线指向的方向影响相邻曲面反射光线的方式。 在默认情况下,设置法线以便 3ds max 中的光线反射遵循真实世界中的物理学规则:反射角等于入射角。 不过,通过改变顶点法线的方向,可将反射角设置为任意大小。 使用“编辑法线”修改器可指定顶点法线的方向、组合和分离它们、更改类型以及在法线之间复制和粘贴值。
警告: 不要将“编辑法线”修改器应用于法线凹凸投影中使用的低分辨率对象。 法线凹凸投影依赖于具有标准法线的低分辨率对象,改变它们会使法线凹凸贴图出现不可预测的结果。
未指定: 这些法线是修改器从平滑组导出,最初指定给已修改的网格顶点。 该软件基于一条未指定法线所在平滑组中包含的,且该未指定法线所属的所有多变形的平均朝向来计算该未指定法线的方向。
在默认情况下,每个顶点拥有的法线数量等于周围多边形使用的唯一平滑组数量。 例如,在默认情况下,长方体的每个侧面使用不同平滑组,所以三个侧面相交处的每个顶点具有三条不同法线。 每条法线分别与三个侧面之一垂直。 另一方面,球体使用单个平滑组,所以它的每个顶点拥有一条法线,该法线与共享它的多边形的平均朝向垂直。 在默认情况下,未指定法线显示为蓝色。
已指定: 这些法线由特定面的特定角使用,与平滑组无关。 例如,可创建一个长方体,应用“编辑法线”,选择特定顶点的一组法线,然后单击“统一”。 此时,这三个面被明确告知使用该统一法线,它们将忽略该顶点处的平滑组。 但已指定法线未设置为显式值;它们忽略平滑组,但仍然基于使用它们的面的面法线。 已指定法线显示为青色。
显式: 这些法线被设置为特定值。 例如,如果使用“移动”或“旋转”命令更改法线的默认值,必须进行显式更改,这样才不会基于面法线重新计算该值。 在默认情况下,显式法线为绿色。
注意: 选定法线始终为红色。 如果未被选中,如上文所述,法线的颜色指示其类型。 可在“元素”>“几何体”列表中找到这些法线类型的可自定义颜色条目。 这三个条目的名称是:
下面给出两个实例,创建游戏引擎输出内容的 3D 设计人员可从中了解“编辑法线”修改器的实际用途:
一名设计人员正在创建手持铬合金盾牌的武士。 铬合金盾牌上带有 DirectX 立方体贴图明暗器,以便该设计人员可在视口中查看反射。 该设计人员希望使盾牌反射看上去因战斗中的打斗出现“凹痕”。 于是,该设计人员对盾牌对象应用“编辑法线”修改器。 然后,他可以稍微调整各条法线,并使用像素明暗器实时查看效果。 之后,可使用专用于处理法线信息的自定义导出工具来导出角色。
一名游戏设计人员正在创建将在游戏中爆炸的对象。 为此,游戏引擎需要将该对象分割为多个对象: 断裂碎片将是爆炸产生的。 当该对象在 3ds max 中破碎(使用“切片”)时,法线将指向不同方向;这样,将便于查看断裂碎片之间的接缝。 为修复此接缝,该设计人员选择断裂对象的所有碎片,并一次对所有碎片应用“编辑法线”修改器。 然后,她选择穿过接缝的各条法线并统一它们,使它们指向相同方向。 然后,该设计人员导出到游戏引擎。
“编辑法线”已扩展为支持多边形对象(基于多边形)和网格对象(基于三角形)。 如果对多边形对象应用“编辑法线”,结果为多边形对象。 如果对任何其他对象类型应用“编辑法线”,结果为网格对象。
另外,“编辑法线”已扩展为支持在塌陷堆栈时和在将多边形对象转化为网格对象时嵌入已编辑法线数据,但在从网格对象转化为任何其他对象类型时不支持此嵌入。 如果对基本体对象应用“编辑法线”、调整法线、然后塌陷堆栈(或转换为可编辑网格),本软件会在网格对象中嵌入包括选择状态在内的所有法线更改。 基本体对象基于网格,所以如果将同一对象转换为可编辑多边形,已编辑法线将丢失。 另一方面,如果将基本体对象转换为可编辑多边形、应用“编辑法线”、调整法线,然后塌陷堆栈,会得到一个多边形对象,将保留法线。 随后,可通过应用另一个“编辑法线”修改器,重新访问塌陷对象中嵌入的已编辑法线。
任何改变拓扑的修改器都移除使用“编辑法线”修改器对法线应用的更改。 这类修改器包括“网格平滑”、“细化”、“镜像”、“对称”、“挤出面”和“顶点焊接”。 奇怪的是,这还意味着“法线”修改器(用于翻转面方向)将不支持已编辑法线。 由于“转化为多边形”可用于修改面拓扑,所以它还去除已编辑法线。
好消息: 所有变形和贴图修改器都保留法线。 例如,如果应用“弯曲”,法线将随几何体弯曲。 “展开 UVW”等贴图修改器根本不影响法线。
不过,少数几何体修改器不完全支持新法线。 它们不会去除法线,但也不会正确变形任何显性法线。 这类修改器包括“推力”和“松驰”修改器。
与“网格选择”和“多边形选择”一样,“编辑法线”“继承”堆栈中它下方的属性。 例如,如果创建一个长方体,应用“编辑法线”修改器,更改部分法线,然后应用第二个“编辑法线”修改器,那么顶部的“编辑法线”将从管道“继承”用户指定的法线,就像应用“网格选择”时它将采用当前选择一样。 但顶部“编辑法线”将忽略对原来的“编辑法线”修改器的任何后续更改,就像应用“网格选择”后它将忽略对堆栈中它下方的选择所做任何更改一样。

“编辑法线”修改器主要用于子对象层级 — 法线,所以只要将修改器应用于对象,在默认情况下此层级处于活动状态。 此时,在“修改”面板上,可看到网格顶点发出的线条状的法线、选择和变换法线、复制和粘贴法线以及更改法线设置。
只能通过移动和旋转法线,而不能通过缩放法线来变换法线。 不过,移动法线实际上就是旋转它,所以在大多数情况下,使用“旋转”工具能够更准确地进行控制。
下列命令引用包括启用键盘快捷键覆盖切换(在工具栏上)时可用的键盘快捷键。 另外,可使用 CTRL+0(零)访问修改器的对象层级。
当然,除上述所有方法以外,还可使用区域选择一次选择多条法线。
忽略背面 — 启用后,选择子对象将只影响朝向您的那些对象。 禁用(默认值)时,无论可见性或面向方向如何,都可以选择鼠标光标下的任何子对象。 如果光标下的子对象不止一个,请反复单击在其中循环切换。 同样,如果禁用“忽略背面”,无论面向的方向如何,选定区域都包括所有的子对象。
显示控制柄 — 启用控制柄的显示,控制柄就是每条法线末端的小方块。 启用它将能够更容易地选择法线。
显示长度 — 指定每条法线的长度。 这仅用于显示目的;该长度不影响法线的功能。
统一 (U)— 将每个顶点的所有选中法线组合为一条已指定法线。 在默认情况下,“统一/断开为平均值”是禁用的,所以“统一”会将每条统一法线的方向设置为与该点的平均面垂直。 启用“统一/断开为平均值”时,“统一”会将方向设置为每个位置的复合法线的平均值。
断开 (B) — 将所有选定统一法线分割为它们的原始组件。 禁用“统一/断开为平均值”时,“断开”将每条单独法线的方向设置为与其各自的面垂直,这样,如果连接面的角度不同(如球体),各个顶点的法线将朝向各个方向。 启用“统一/断开为平均值”时,每条单独法线使用原始法线的方向。
统一/断开为平均值 — 确定法线方向为“统一”或“断开”操作的结果。 有关详细信息,请参见以上说明。 默认设置为禁用。
使用下列控件,可通过不同方法平均顶点法线;也就是说,将它们设置为相同的绝对角度,即它们的复合角度的平均值。
选定项 — 将所选法线设置为相同的绝对角度: 所有法线的平均角度。 如果启用“使用阈值”,则只计算相互距离小于“平均阈值”微调器(位于按钮右侧)中的指定距离的法线的平均值。
使用阈值 — 激活“平均阈值”设置,并使“选定”仅计算相互距离小于指定值的法线的平均值。
目标 — 进入交互模式,从中指定要平均的多对法线。 单击“目标”,然后选择法线。 鼠标光标位于法线上时会变成 + 光标。 单击第一条法线后,一条橡皮筋虚线将该法线与鼠标光标连接。 单击第二条法线可平均两条法线的角度。