Dagor Editing Normals Tool
安装
安装脚本 按照提供的说明进行作。
Important
此脚本需要 3ds Max 2023 或更高版本才能运行。
概述
Editing Normals Tool提供了全面的功能,用于使用发布时所有广泛认可的可用方法生成和传输植被法线。它支持:
Puffiness,类似于 SpeedTree 中使用的技术。
Polysurface Method, 正如 Guerrilla Games 的 Gilbert Sanders 在 2018 年 GDC 会议中关于《地平线:零之曙光》所展示的那样。
Classic Normal Transfer,通过 Noors Normal Thief 方法,该方法从父对象传输法线。
该工具的输出示例:
访问Editing Normals Tool
导航到 Gaijin Tools 1 > Dagor Editing Normals Tool… 2。这将打开 Dagor Editing Normals Tool 的主窗口。
要验证脚本的版本 3,请前往 Gaijin Tools 1 > About。About窗口将显示当前版本。定期检查以确保您的脚本是最新的,这一点很重要。
Note
确保插件版本至少为1.6。
使用 Editing Normals Tool
首先,导航到 Gaijin Tools > Dagor Editing Normals Tool 打开工具面板。
下载以下测试场景:
tree_example.max.
Important
此场景需要 3ds Max 2024 或更高版本。
界面概述
Editing Normals Tool 界面分为三个主要部分: Puffiness Settings (浮肿设置)、Polysurface Settings (多重曲面设置) 和 Classic Normals Thief Settings (经典法线窃贼设置),其中 General Settings (常规设置) 块会影响所有三个部分。
From Ground Center Offset 1: 调整 Puffiness 构建点从地面到构建中心的高程。
Start Puffiness! 2: 启动 Puffiness 生成过程。
Strength % 10: 控制对象上新法线和现有法线之间的混合比率。当您只需要部分替换法线的权重时,这一点至关重要。典型范围为 70% 至 90%。
Display Normals Length 11: 确定法线在 Viewport 中显示的持续时间。
使用 Puffiness
要查看浮肿的工作原理,请将参数 Strength % 10 设置为 100,并将参数 Display Normals Length 11 设置为100,以获得清晰的可见性。请注意,正常长度取决于场景的比例和单位。在测试场景中选择棕榈树(您也可以一次处理多个对象或 LOD)。按 Start Puffiness! 2 按钮生成法线:
最初,中心与树的底部对齐,靠近 Pivot。如果需要,通过将 From Ground Center Offset* 1 设置为 2500 来调整中心。在重新运行进程之前,请删除脚本生成的 Edit Normals 修饰符。再次按下 Start Puffiness! 2 按钮后,您应该会看到结果:
如您所见,皇冠的一切都要好得多。调整表冠后,将 Strength % 10 设置为 80%,再次删除 Edit Normals 修改器,然后运行该过程:
结果显示大棕榈叶上的照明得到改善,尽管根系可能仍然存在问题。要解决此问题,您可能需要单独编辑根上的法线。某些树皮法线可能保持未编辑状态,显示为蓝色。Keep Normals on Material Name 12 参数在这里至关重要,因为它允许您指定要处理哪些材质的法线。
例如,如果 bark 被命名为 “bark”,请确保 “bark” 列在 12 中。此字段支持 RegExp,可以精确控制处理中包含或排除哪些材料。调整表达式后,将 From Ground Center Offset* 1 参数设置为零。毕竟,根光束的照明中心应该正好为零。在对象的 Pivot 点处。将正常传输强度 10 的参数设置为 80%,然后重新运行浮肿生成:
Polysurface Settings
Polysurface Settings (多重曲面设置) 块提供了用于生成和传输法线的高级工具,最初用于 Horizon Zero Dawn 项目。有关该方法的更多详细信息,请参见 此处.
要将类似的光照效果应用于您的树,请选择不带 Edit Normals 修饰符的树,然后配置 Polysurface Settings 和 General Group,如下所示。确保将 “bark” 排除在正常调整之外:
申请后,您应该会看到类似于这样的结果:
您可以在生成后使用 Delete PSurface after Transfer 6 复选框删除 Polysurface。
Note
所有多重曲面参数都对场景大小和对象比例敏感。如果值设置得太高,则可能无法生成多重曲面;太低,则可能会生成过多的三角形,从而导致 3ds Max 中出现处理问题。
请仔细调整这些设置:
Polysurface Size 3: 控制曲面平滑度。较大的值会产生更平滑的表面,而较小的值会创建更详细但不太平滑的表面。
Polysurface Tension 4: 设置曲面张力。值 ‘
1.0’ 创建最大凸出的表面,值 ‘0.0’ 创建紧密的表面。通常,“0.5”是最佳值,但这可能会根据对象类型而有所不同(例如,针叶树较高,棕榈树较低)。Polysurface Accuracy 5: 定义生成曲面三角形的步长。较小的步长会产生更精确的表面,但三角形数量呈指数级增加。通常 20-30,000 个三角形足以获得出色的 Polysurface 生成结果。小心减小该值。将该值减少 2 倍会将生成的三角形的数量从 4 倍增加到 9 倍。
Classic Normals Thief Method
Normals Thief 方法可以追溯到 2008 年,允许手动创建和投影法线。使用 Source Object 8 按钮选择源对象,然后使用 Steal ! 9 将法线投影到目标对象上。
See also
有关更多信息,请参阅 Noors Normal Thief.
在 General Block 中,您可以调整正常的传输强度 10 (default: 50%)。将此项设置为 100% 将复制经典的 Normals Thief 行为。您还可以清除材质排除蒙版以进行完全法向传递,从而模拟原始工具的功能。
Progress bar 13: 进度条。
Open LocalDocumentation 14: 指向此文档的链接。
Contact with Developer 15: 如果需要帮助,请为开发人员提供联系信息。