Namespace UnityEngine.ProBuilder
Classes
ActionResult
Contains information about the results of a ProBuilder action (success, failure, and other notifications)
BuiltinMaterials
Provides access to the built-in materials that ProBuilder uses. In the Editor, see UnityEditor.ProBuilder.EditorMaterialUtility for access to the full array of materials and shaders.
Face
A face is composed of a set of triangles, and a material.
Triangle indices may point to the same vertex index as long as the vertices are unique to the face. That is, every vertex that a face references should only be used by that face's indices. To associate vertices that share common attributes (usually position), use the sharedIndexes property.
ProBuilder automatically manages condensing common vertices in the UnityEditor.ProBuilder.EditorMeshUtility.Optimize function.
HandleUtility
Provides static methods for working with ProBuilderMesh objects in the Editor.
Math
Defines a set of math functions that are useful for working with 3D meshes.
MeshUtility
Provides functions for generating mesh attributes and utilities.
Normals
Provides functions to help calculate normals and tangents for a mesh.
PolyShape
Represents a component that handles the creation of ProBuilderMesh shapes from a set of contiguous points.
ProBuilderMesh
Represents the ProBuilder MeshFilter component, which is responsible for storing all the data necessary for editing and compiling Mesh objects.
Projection
Contains functions for projecting 3D points to 2D space.
SelectionPicker
Provides functions for picking mesh elements in a view. This allows the Editor to either render a texture to test, or cast a ray.
ShapeFactory
Provides methods to instantiate GameObjects in the Editor using ProBuilder shapes.
ShapeGenerator
Provides functions for creating ProBuilderMesh primitives.
SharedVertex
Defines associations between vertex positions that are coincident. The indexes stored in this collection correspond to the positions array.
Smoothing
Provides utilities for working with smoothing groups. ProBuilder uses smoothing groups to define hard and soft edges. To calculate vertex normals, ProBuilder performs these tasks:
- Calculates the normals for every face.
- Applies the results of those calculations to each vertex on the face.
- Averages each vertex normal with coincident vertices belonging to the same smoothing group.
Submesh
Defines a set of indices and material.
TransformUtility
Contains helper functions for working with transforms.
UnwrapParameters
Stores parameters that define how ProBuilder unwraps UV2s when Auto UV mode is on.
Vertex
Holds information about a single vertex, and provides methods for averaging between multiple Vertex objects.
VertexPositioning
Contains a set of commonly used functions for modifying mesh positions.
WingedEdge
Represents a boundary edge where three faces meet. It holds references to:
- The Face connected to this edge
- An EdgeLookup for finding coincident vertices on this edge
- The previous and next winged edges in its triangle
- The common (coincident) winged edge, called the 'opposite' edge
WingedEdgeEnumerator
Provides a way to enumerate a WingedEdge by walking the WingedEdge.next property.
Structs
AutoUnwrapSettings
A collection of settings describing how to project UV coordinates for a Face.
Edge
Represents an edge connecting two vertices.
This might point to an index in the vertices (local) or the sharedVertices (common) array. The ProBuilder terminology "local" and "common" refers to whether this is an index from the list of all vertices in the ProBuilderMesh or an index from the list of only shared vertices.
EdgeLookup
Represents an edge composed of both the local index and the common index.
Use this to compare vertex indices that are coincident. Coincident vertices share the same coordinate space, but are separate values in the vertex array. ProBuilder tracks these coincident values in the sharedVertices array. A "common" (also called "shared") index is the index of a vertex in the sharedVertices array.
Normal
A container for normal, tangent, and bitangent values.
PickerOptions
A collection of settings that define how mesh element picking behaves.
SimpleTuple<T1, T2>
This is simplified Tuple struct that holds only two elements, and doesn't implement any operations.
Enums
ActionResult.Status
Describes the results of an action.
AutoUnwrapSettings.Anchor
Defines the point from which ProBuilder performs UV transform operations.
After the initial projection into 2D space, ProBuilder translates UVs to the anchor position. Next, ProBuilder applies the offset and rotation, followed by the other settings.
AutoUnwrapSettings.Fill
Describes how ProBuilder optionally stretches the projected UV bounds to fill the normalized coordinate space.
Axis
Describes the axis in human-readable terms.
CullingMode
Defines the triangle culling mode.
ExtrudeMethod
Describes the different methods of face extrusion.
HandleOrientation
Defines how the handle gizmo is oriented with regards to the current element selection.
MeshArrays
Defines a bitmask describing the mesh attributes.
MeshSyncState
Describes why a ProBuilderMesh is out of sync with its MeshFilter component.
PivotLocation
Describes the type of pivot ProBuilder assigns by default when it creates new primitives.
PivotPoint
Defines the location of the pivot point on a ProBuilderMesh object.
ProjectionAxis
Indicates the axis used for projecting UVs.
RectSelectMode
Defines the behavior of drag selection in the Scene view for mesh elements.
RefreshMask
Selectively rebuilds and applies mesh attributes to the UnityEngine.Mesh asset.
SelectMode
Defines what objects are selectable for the scene tool.
SelectionModifierBehavior
Defines how the Shift key modifies the selection when drag-selecting mesh elements.
ShapeType
This enum describes each primitive shape that ProBuilder can create by default. To get a primitive with default parameters, use one of these values when calling CreateShape(ShapeType, PivotLocation).
SortMethod
Describes methods of sorting points in 2d space.
WindingOrder
Describes the winding order of mesh triangles.