Understanding PolyGroups

Learn the use of PolyGroups and how to create them.

The Modeling Mode Overview, introduces you to PolyGroups, and the Quick Start guide shows you how to use some of the tools for assigning PolyGroups. We recommend reviewing these two documents before continuing.

This guide further explores the tools for creating PolyGroups and how you can use these groups in other modeling tools. The goal at the end of this guide is to understand PolyGroups to build an efficient workflow for creating and editing your geometry in-engine.

The Why and What of PolyGroups

Why

In traditional modeling software, you have the option of polygonal modeling. However, Unreal Engine renders all models as triangulated meshes.

Quad modeling in Autodesk Maya

Triangle based rendering in Unreal Engine

A quad based cube in Maya.

The same cube rendered as triangles in Unreal Engine.

The conversion to triangles means Unreal Engine does not natively recognize quads or n-gons, making triangles the foundation on which in-engine modeling is built. To provide an approximation to the traditional modeling workflow, you can use PolyGroups.

What

PolyGroups are a set of grouped triangles. These groupings are then manipulated using the PolyModel tools, mimicking traditional polygon editing options.

For example, using the cube imported from Maya, we assign a separate PolyGroup to each triangle using the TriSel tool under the TriModel category.

To visualize the PolyGroups being created you can set Face Color Mode to By Group.

With PolyGroups set, you can now use the PolyEd tool under the PolyModel category. However, the current PolyGroups each represent a single triangle, which isn't the best use of the PolyEd tool.

PolyGroups consisting of one triangle – each color indicates a PolyGroup.

When you merge two triangles on one of the sides of the mesh into one PolyGroup, you have the representation of a quad.

In the video using Merge creates a new PolyGroup consisting of two triangles.

When working with low-polygon meshes and blockouts, PolyGroups provide a way to interact with more intuitive surfaces than raw triangles. However, PolyGroups can also be applied to high-polygon meshes to help manipulate chunks of complex geometry, which otherwise would be complicated to edit.

Creating PolyGroups

To better understand PolyGroups, it helps to know the tools you can use to create them. The order in which you use these tools depends on your preferred workflow and needs. The important thing to remember is you can use any set of triangles as a PolyGroup.

Triangle Selection Tool

As shown in the video above, the TriSel tool can assign a PolyGroup to one or more triangles. Instead of selecting one triangle per PolyGroup, we now select two for quad editing using PolyEd.

In the video new PolyGroups are created at the intersection of each edge loop.

Triangles not assigned a PolyGroup are automatically grouped into one.

Merge

When using the PolyEd tool, you can continue combining existing PolyGroups into a new group.

The process of combining existing PolyGroups is destructive, meaning the prior PolyGroups will no longer exist.

In the video each face represents a PolyGroup, and you can group faces using Merge.

PolyGroup Paint Tool

There are dedicated tools for creating PolyGroups, and one is the GrpPnt tool, where you can interactively paint your groupings.

In the video the GrpPnt tool creates new PolyGroups consisting of two triangles. Show Wireframe is enabled to visualize the two triangles in each PolyGroup.

You can use the Action setting to choose any of the following selection modes:

  • Brush

  • Fill

  • Group Fill

  • Lasso

To see what PolyGroup is assigned, hover over said PolyGroup and use the hotkey Shit + G. The Set Group row will update to the associated number.

PolyGroup Generate Tool

Another dedicated tool for grouping triangles is the GrpGen tool. PolyGroups are automatically assigned upon opening the tool. How the PolyGroups are assigned is determined by the Conversion Mode.

Conversion Mode

Description

Face Normal Deviation

Convert based on Angle Tolerance between face normals.

Find Quads

Create PolyGroups by merging triangle paris into quads.

From UV Islands

Create PolyGroups based on UV islands.

From Hard Normal Seams

Create PolyGroups based on hard normal seams.

From Connected Tris

Create PolyGroups based on connected triangles.

Furthest Point Sampling

Create PolyGroups centered on well-spaced sample points, approximating a surface Voronoi diagram.

Copy From Layer

Copy from existing PolyGroup layer.

PolyGroups are generated by quads (merging triangle pairs).

You can use the Output Layer to create a new PolyGroup layer.

Shapes Tools

When creating meshes using the Shapes tools, you can configure the PolyGroups of your new meshes using the Polygroup Mode setting.

The Polygroup Mode has the following grouping options:

Generate PolyGroups per Shape

Generate PolyGroups per Face

Generate PolyGroups per Quad

Per Shape

Per Face

Per Quad

Outputs the entire mesh as a single group.

Automatically divide the mesh into recognizable face groups.

Automatically divide the mesh into a group for each quad.

Layering PolyGroups

Because PolyGroups are arbitrary, you can also create multiple PolyGroup Layers to handle different sets of them on the same model. You can configure these in the Attributes > AttrEd tool.

PolyGroup Layers are not universal to your project. Instead, they are created for individual static mesh assets. This particular assignment means that you cannot assume that two different meshes will have the same PolyGroup Layers, but it also means that you can define them as needed on a case-by-case basis.

Using PolyGroups

Building shapes

The fundamental use of PolyGroups is geometry editing, as shown with the PolyEd tool.

Additional ways in which PolyGroups help with constructing a mesh include:

  • Precisely editing regions.

    Four PolyGroups are merged into one for extrusion.

  • Creating holes.

  • Smoothing a mesh using the Subdivide tool.

    Click image to expand.

  • Creating deformations using the PolyDef tool.

Interior Vertices of a PolyGroup are not selectable, only bordering vertices. To select the interior vertices, use Decompose to deconstruct the PolyGroup.

Creating UVs

You can use PolyGroups to assist in creating UVs for your model. In the Quick Start guide, six PolyGroups are assigned to the crate (one per side). Then UV islands are generated based on the existing PolyGroups.

Using PolyGroups to UV Unwrap in Unreal Engine

You can then use the UV tools to deconstruct the UVs further or you can add more PolyGroups.

Additional PolyGroups are assigned to indicate an UV island.

Now when you unwrap your model, more UV islands are created.

To learn more about the UV tools, refer to the UVs Category documentation.

Assigning Multiple Materials to One Mesh

You can assign multiple Materials to your geometry using the MatEd tool. To help visualize what triangles you want to assign the Material, you can select PolyGroups from the Face Color Mode, which is especially helpful for high-density meshes.

FAQ

Is there a way to clear all PolyGroups to start over?

Yes, by using the Clear All option in the GrpPnt tool.

Does it matter if I have PolyGroups consisting of one triangle?

Although you can still edit your mesh using tools such as PolyEd, it may yield unexpected results. For example, when adding an edge loop to a mesh where the top side has two PolyGroups containing one triangle, the loop will slant to the side. If there is one PolyGroup grouping the two triangles (representing a quad), then the loop would continue straight across.

Distorted Edge Loop in Unreal Engine

Corrected Edge Loop in Unreal Engine

Distorted Edge Loop

Corrected Edge Loop

Does creating PolyGroups interfere with rendering?

No, PolyGroups are just a tool to help perform classic modeling techniques you may be used to in other modeling software. At render time, triangles are still used.