建模模式概述

学习建模编辑器模式的基础知识。

Choose your operating system:

Windows

macOS

Linux

建模编辑器模式提供了直接在虚幻引擎中创建和塑造静态网格体的工具集。你可以使用它来创建新网格体,快速制作关卡几何体的原型,以及编辑现有模型,为你的世界引入多样性。此概述概括了这些工具及其工作流程背后的核心概念,如何访问工具,以及关于工具的基础使用知识。

访问建模编辑器

要使用建模编辑器模式,请点击 选择模式(Select Mode) 下拉菜单,然后选择 建模(Modeling) 。或者,按 SHIFT+5 ,立即切换到此模式。

界面上将显示工具栏和建模(Modeling)面板。如果你从工具栏选择一个工具,其属性将显示在建模(Modeling)面板中。你可以使用此面板来配置工具的输出,然后着手创建形状或做出更改。

理解关键概念

尽管建模编辑器中的许多工具与同等其他建模软件相似,但在建模编辑器中编辑网格体的具体方式有一些重要的关键区别,在开始处理之前,你应当加以了解。

三角形和多边形组

虚幻引擎将所有模型作为三角剖分网格体进行渲染。换句话说,当你导入或创建网格体时,无论网格体是否已在不同的环境中定义,其表面都会自动分解为多个三角形。这样可保证以下几点:

  • UE无法导入或创建它无法渲染的模型。

  • UE的渲染可在所有平台之间移植,因为所有显卡驱动程序都能一致地识别三角形。

  • UE不需要在运行时花费时间和资源将四边形和n边形解算为三角形。

因此,在UE的建模编辑器中没有四边形或n边形的概念,三角形是构建引擎内建模的基础。如此一来,最低层次的编辑工具就归为 TriModel 类别,它完全围绕直接选择和编辑三角形和顶点而开展。

尽管虚幻引擎原本不能识别四边形或n边形,但支持 多边形组 ,它们可以模拟这些功能。多边形组是任意三角形集合,可以通过建模编辑器中的各种工具来定义,然后使用 PolyModel 工具来操控。处理低多边形网格体和立体空间方块时,多边形组提供了与表面互动的方式,这种方式比处理原始三角形更直观。但是,多边形组还可以应用于高精度网格体,以轻松操控原本因过于复杂而难以处理的几何体块。

使用形状工具创建网格体时,你可以使用 多边形组模式(Polygroup Mode) 设置来配置新网格体的多边形组。默认情况下,这设置为 逐形状(Per Shape) ,它会将整个网格体作为单个多边形组输出,但你可以使用 逐面(Per Face)逐四边形(Per Quad) 自动将网格体划分为可识别的面或四边形组。使用PolyModel工具时,这些组将可选择。

polygroup-1.png

polygroup-2.png

点击查看大图。

点击查看大图。

此外,你还可以使用 TriSelGrpGenGrpPnt 工具来创建多边形组,而UV工具可以根据你的网格体的UV布局生成多边形组。

由于多边形组是任意的,你还可以创建多个 多边形组层(PolyGroup Layers) 来处理同一模型上多组不同的多边形组。你可以在 属性(Attributes)> 属性编辑(AttrEd) 工具中配置这些情况。

多边形组层并不是对你的项目通用的,而是针对各个静态网格体资产创建的。这意味着,你不能假定两个不同的网格体会有相同的多边形组层,但这也意味着,你可以根据需要逐个用例定义这些层。

工具、撤销历史记录和接受更改

建模编辑器模式中的大部分网格体编辑工具不会立即将更改应用于网格体。相反,工具会显示落实更改之后的网格体预览,并在提示中显示 取消(Cancel)接受(Accept) 按钮。如果你退出建模式或按取消(Cancel),建模编辑器将放弃更改,并且网格体会恢复你开始编辑之前的样子。如果你按 接受(Accept),建模编辑器将应用更改。如果你在同一编辑会话途中选择不同的建模工具,建模编辑器也会应用工具中的更改。

在你使用网格体编辑工具的途中,虚幻编辑器(Unreal Editor)会保留工具所执行的每个操作的撤销历史记录。例如,如果你使用 TriEdPolyEd 执行了多个挤压操作,使用撤销(Undo)将首先撤销最近的一个操作,向后推进你每一次的编辑历史记录。

所有工具的设置中都有一个 工具接受时(On Tool Accept) 类别,用于配置撤销历史记录中的建模操作会发生什么。默认情况下,处理输入(Handle Inputs)设置设为 删除输入(Delete Inputs)。这意味着,在你按 接受(Accept) 之后,虚幻编辑器(Unreal Editor)会将你的网格体编辑会话视为单个操作,使用 撤销(Undo) 将恢复自你上次按 接受(Accept) 以来你做出的所有更改。你可以更改 处理输入(Handle Inputs) 以保留你的部分或全部更改。

网格体、资产和非破坏性编辑

当你在建模模式下编辑网格体时,你并不是在编辑它们的单独副本。相反,你是在编辑项目的Content文件夹中保存的静态网格体资产的实例。这包括使用 形状(Shapes)创建(Create) 类别中的工具创建的网格体,它们将资产放在 Maps/_GENERATED 文件夹中。

因此,如果你的某个网格体有多个实例,并且你使用建模工具来编辑其中一个实例,则该网格体的每个副本都会发生相同的更改。万一操作不当,可能会带来毁灭性的后果,意味着你本想创建网格体的变体,却将其覆盖了。

不要使用关卡编辑器中的复制(Duplicate)操作,而要使用创建(Create)类别中的MshDup工具,这会创建你选择的静态网格体资产的副本,并将其添加到你的 Content 文件夹。接着,你在视口中选择的网格体会使用该资产,而不是原始资产。在开始建模之前使用此工具克隆你的静态网格体资产,将确保原始资产完整保留,你可以根据需要仅更改世界中的个别静态网格体。

使用建模编辑器模式

创建网格体

要创建新网格体,请点击 形状(Shapes) 类别中的任一工具,并将鼠标光标移到视口中。你所选形状的模板将跟随你的鼠标光标并对齐到关卡网格。在游戏的世界中点击你想添加网格体的地方,编辑器将使用你在建模(Modeling)面板中配置的参数创建该形状的实例。

shapes-create-mesh.gif

你还可以使用 创建(Create) 组中的工具创建网格体。例如,PolyExt 工具可以绘制网格体的足迹,然后进行挤压以创建自定义3D形状。

poly-extrude-create-shape.gif

使用工具创建网格体时,将 输出类型(Output Type) 更改为 体积(Volume) 会创建触发器体积而不是静态网格体。

编辑网格体

建模编辑器中的其他大部分工具都是围绕在游戏世界中编辑现有网格体而构建的。例如,如果你选择 TriEdPolyEd ,然后点击网格体,你可以选择个别组件并对其执行建模操作。TriEdPolyEd 工具中的各个操作(如挤压(Extrude)、推拉(Push Pull)或切割面(Cut Faces))会显示在建模(Modeling)面板中。在你编辑后,点击视口底部的 接受(Accept) 按钮完成更改,或点击 取消(Cancel) 放弃更改。

editing-mesh.gif

你可以在世界中选择任意静态网格体并使用这些工具进行编辑,包括不是使用建模编辑器创建的网格体。例如,你可以对高质量静态网格体使用 Lattice 工具来快速改变其形状。

如果你要编辑高质量的资产,强烈推荐你使用 MshDup 工具复制该资产,这样你可以保留原始资产。

工具类别

类别

说明

形状(Shapes)

使用包括立方体、球体、圆柱体和平面在内的简单图元创建新静态网格体模型。

创建(Create)

使用自定义形状和路径绘制新静态网格体 使用 MshDupMshMrg 在Content文件夹中克隆或合并网格体的资产。

PolyModel

选择并编辑多边形组来操控静态网格体模型。仅当模型有多个多边形组时才可使用。使用 TriModel 组中的 TriSel 工具,或者 GrpPen ,以及 属性(Attributes) 组中的 GrpPnt 工具来创建新多边形组。

TriModel

选择并编辑原始三角形来操控静态网格体模型。

变形(Deform)

使用高级别变形器扭曲和塑造静态网格体。

变换(Transform)

在不离开建模模式的情况下,对静态网格体执行变换操作。你可以编辑网格体的枢轴点,在体积和静态网格体之间更改其类型,以及执行影响整个对象的其他操作。

MeshOps

对静态网格体的几何体执行大规模操作。这包括 简化(Simplify)重网格化(Remesh) 工具,用于帮助优化你的网格体的几何体,以及合并和结合操作。

VoxOps

将你的静态网格体转换为体素并执行体积操作,然后再将其转换回多边形几何体。如果你选择多个网格体,你可以使用 VoxMrgVoxBlndVoxBool 来执行布尔值操作,例如合并网格体或从一个网格体减去另一个网格体。

属性(Attributes)

配置静态网格体的不同属性,例如其法线、切线、多边形组和其他参数。你还可以使用 MatEd 工具绘制材质。

UV

编辑网格体的UV贴图,更改纹理映射到表面的方式。这包括自动解包和布局工具。

烘焙(Baking)

将纹理和顶点颜色烘焙到你的静态网格体。

体积(Volumes)

将静态网格体转换为体积,或将体积和BSP笔刷转换为静态网格体。你还可以检查静态网格体的碰撞,或根据网格体的碰撞几何体生成新网格体。

LOD

编辑和管理LOD网格体。

几何体脚本

几何体脚本(Geometry Script) 是一种虚幻引擎插件,包含一组函数库,可供用户通过Blueprints和Python生成和编辑网格体几何体。几何体脚本 UFunction和蓝图节点将对 UDynamicMesh 对象进行运算,而这些对象使用 FDynamicMesh3 C++三角形网格体数据结构创建。几何体处理(Geometry Processing) 插件和 建模编辑器模式 使用的也是这种数据结构。

几何体脚本可以在 编辑器工具控件资产操作 中用于创建自定义网格体分析/处理/编辑工具。它还可以在Actor蓝图中用来创建"流程性对象"和实现复杂几何查询。

如需详细了解如何使用几何体脚本编写,请参阅几何体脚本用户指南

本文基于此前的虚幻引擎版本编写,未针对当前的虚幻引擎5.0版本更新过。