Skip to content

Actions ref PR 5 #568

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 16 commits into from
Oct 14, 2024
Merged
2 changes: 1 addition & 1 deletion Content/Resources/Materials/ProBuilderDefault.mat
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Material:
m_LightmapFlags: 1
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2000
m_CustomRenderQueue: -1
stringTagMap:
MotionVector: User
disabledShaderPasses:
Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Edge_Connect.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Connect Edges icon](images/icons/Edge_Connect.png) Connect Edges
# Connect Edges

The __Connect Edges__ action inserts an edge that connects the centers of each selected edge.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Edge_Extrude.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Extrude Edges icon](images/icons/Edge_Extrude.png) Extrude Edges
# Extrude Edges

The __Extrude Edges__ action pushes a new edge out from each selected edge, connected by a new face for each edge. This action only works on open edges (that is, an edge that has no connected face on one side). However, you can override this restriction with the [Allow non-manifold actions](preferences.md#bridge) option.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Edge_InsertLoop.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Insert Edge Loop icon](images/icons/Edge_InsertLoop.png) Insert Edge Loop
# Insert Edge Loop

The __Insert Edge Loop__ action adds a new edge loop from the selected edge(s). An edge loop is a series of edges that are directly connected. They often encircle a 3D object and connect back at the origin point.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Edge_Subdivide.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Subdivide Edge icon](images/icons/Edge_Subdivide.png) Subdivide Edges
# Subdivide Edges

The __Subdivide Edges__ action divides the selected edge(s) into multiple edges. By default, ProBuilder splits the edge in two, but in the Options window, you can set your own number of __Subdivisions__.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Entity_Trigger.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Entity icon](images/icons/Entity_Trigger.png) Entity type actions
# Entity type actions

ProBuilder provides some default "entity" behaviors. These are MonoBehaviours that provide some commonly used functionality.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Face_ConformNormals.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Conform Normals Icon](images/icons/Face_ConformNormals.png) Conform Normals (Faces)
# Conform Normals (Faces)

The __Conform Normals__ action sets all normals on the selected face(s) to the same relative direction.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Face_Delete.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Delete Faces icon](images/icons/Face_Delete.png) Delete Faces
# Delete Faces

The __Delete Faces__ replace deletes the selected face(s).

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Face_Detach.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Detach Face icon](images/icons/Face_Detach.png) Detach Faces
# Detach Faces

The __Detach Faces__ action detaches the selected face(s) from the rest of the Mesh.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Face_Duplicate.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Duplicate Faces icon](images/icons/Face_Duplicate.png) Duplicate Faces
# Duplicate Faces

The __Duplicate Faces__ action copies each selected face and either creates a new Mesh or leaves it in the same GameObject as a sub-Mesh, depending on the default options.

Expand Down
45 changes: 23 additions & 22 deletions Documentation~/Face_Extrude.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,34 @@
# ![Extrude Face icon](images/icons/Face_Extrude.png) Extrude Faces
# Extrude Faces

The __Extrude Faces__ action creates a new face. To do this, it pulls out the currently selected face, and attaches sides to each edge.
The **Extrude Faces** action adds a section to your mesh by moving away the selected face and adding sides to connect it to the mesh from its new position. You can then either:

By default, each new face follows the direction of its vertex normals, but you can change this with the **Extrude By** option.
* Move the new section farther out and in any direction to make the shape larger.
* Inset the new section to create an interior space. For example, if you inset a face on a cube, you create a box with an open side and a false bottom.

![Extrude from inset face on top of cube](images/ExtrudeFace_Example.png)
![On the left, the cube's top face has a central section selected. On the right, that central section is extruded.](images/ExtrudeFace_Example.png)

You can invoke this action in either way:

- Select one or more face(s) and click **Extrude Faces**. By default, the distance of the extrusion is **0.5**, but you can change that with the **Distance** option.

> **Tip:** You can also use this action with the **Ctrl/Cmd+E** shortcut, or from the ProBuilder menu (**Tools** > **ProBuilder** > **Geometry** > **Extrude**).

- Select one or more face(s) and then hold **Shift** while moving, rotating, or scaling the selected face(s). This method ignores the options but provides greater control, especially with the direction of the extrusion.

When you use this method with the scaling control, it creates an inset.
To extrude a face:

1. In the **Tools** overlay, select the **ProBuilder** context.
1. In the **Tool Settings** overlay, select the **Face** edit mode.
1. Select the face to extrude. Hold **Shift** to select multiple faces.
1. Do one of the following:
* Right-click (macOS: **Ctrl**+click) on the selected face and select **Extrude Faces**.
* From the main menu, select **Tools** > **ProBuilder** > **Geometry** > **Extrude**.
1. The **Extrude Faces** overlay opens and a new face is created.
* By default, the new face follows the direction of its vertex normals. You can change this with the **Extrude By** option.
* By default, the distance of the extrusion is **0.5**. You can change this with the **Distance** option. A negative value creates an inset.
* You can use the Transform tools to move, rotate, or scale the new face instead of using the options in the overlay. Hold **Shift** for greater control.


## Extrude Faces Options

These options only apply if you are using the **Extrude Faces** button or the **Ctrl/Cmd+E** shortcut.
| **Property** | | **Description** |
| :--- | --- | --- |
| **Extrude By** | | When you extrude more than one face, and those faces share an edge, set how the new faces behave along the shared edge. |
| | ![](images/extrude_face_normals.png) **Face Normals** | Each new face follows the direction of its original face, and the faces are connected to each other. |
| | ![](images/extrude_vertex_normal.png) **Vertex Normals** | The edges of the new faces farthest from the joint edge follow the direction of the original faces. However, the faces move toward the shared edge rather than follow the original direction for their whole length. |
| | ![](images/extrude_individual_faces.png) **Individual Faces** | Each new face follows the direction of its original face, but the faces aren't connected to each other. |
| **Distance** | | Distance to extrude the faces(s). Use negative values to inset the face, and define inset. |

![Extrude Face options](images/Face_Extrude_props.png)

| **Property:** | | **Description:** |
| :-------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| **Extrude By** | | Direction for extruding each selected face. |
| | ![FaceNormalsIcon](images/icons/ExtrudeFace_FaceNormals.png) **Face Normals** | Use the selected face's own surface direction. Adjacent faces remain connected. |
| | ![FaceNormalsIcon](images/icons/ExtrudeFace_VertexNormals.png) **Vertex Normals** | Use the selected face's Vertex normals. Adjacent faces remain connected. <br />This is the default. |
| | ![FaceNormalsIcon](images/icons/ExtrudeFace_Individual.png) **Individual Faces** | Use the selected face's own surface direction. However, adjacent faces do *not* remain connected. |
| __Distance__ | | Distance to extrude the faces(s). <br />Both positive and negative values are valid. |
2 changes: 1 addition & 1 deletion Documentation~/Face_FlipNormals.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Flip Normals icon](images/icons/Face_FlipNormals.png) Flip Face Normals
# Flip Face Normals

The __Flip Face Normals__ action flips the normals only on the selected face(s).

Expand Down
15 changes: 0 additions & 15 deletions Documentation~/Face_FlipTri.md

This file was deleted.

2 changes: 1 addition & 1 deletion Documentation~/Face_Merge.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Merge Faces icon](images/icons/Face_Merge.png) Merge Faces
# Merge Faces

The __Merge Faces__ action merges selected faces into a single face, and removes any dividing edges.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Face_Subdivide.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Subdivide Face icon](images/icons/Face_Subdivide.png) Subdivide Face
# Subdivide Face

The __Subdivide Face__ action splits each selected face. To do this, it adds a vertex at the center of each edge and connects them in the center.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Face_Triangulate.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Triangulate Faces icon](images/icons/Face_Triangulate.png) Triangulate Faces
# Triangulate Faces

The __Triangulate Faces__ action reduces selected faces to their base triangles. This creates a faceted, non-smooth appearance.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Freeze_Transform.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Freeze Transform icon](images/icons/Freeze_Transform.png) Freeze Transform
# Freeze Transform

The __Freeze Transform__ action sets the selected object's position, rotation, and scale to world-relative origin (**{0,0,0}**) without changing any vertex positions. That means it resets the pivot location and clears all Transform values, but doesn't change the size, shape, or location of the object in the Scene.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/HandleAlign.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Orientation](images/icons/HandleAlign_Local.png) Orientation
# Orientation

The __Orientation__ action sets the orientation of scene handles when you select [objects and elements](modes.md). Click the __Orientation__ button to switch between the three states: __Global__, __Local__, or __Normal__.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Object_ConformNormals.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Conform Normals icon](images/icons/Object_ConformNormals.png) Conform Normals (Objects)
# Conform Normals (Objects)

The __Conform Normals__ action sets all face normals on the selected object to the same relative direction.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Object_Export.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Export icon](images/icons/Object_Export.png) Export
# Export

The __Export__ action [exports](workflow-exporting.md#export) the selected ProBuilder object(s) to a 3D Model file.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Object_FlipNormals.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Flip Normals icon](images/icons/Object_FlipNormals.png) Flip Normals
# Flip Normals

The __Flip Normals__ action flips the normals of all faces on the selected object(s). This is especially useful if you want to convert an exterior-modeled shape into an interior space.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Object_LightmapUVs.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Lightmap UVs icon](images/icons/Object_LightmapUVs.png) Lightmap UVs
# Lightmap UVs

Use the __Lightmap UVs__ action to manually generate any missing lightmap UVs. This works on each Mesh in every open scene that is missing lightmap UVs.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Object_Merge.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Merge Objects icon](images/icons/Object_Merge.png) Merge Objects
# Merge Objects

The __Merge Objects__ action merges two or more selected ProBuilder GameObjects into a single ProBuilder GameObject.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Object_Mirror.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Mirror Objects icon](images/icons/Object_Mirror.png) Mirror Objects
# Mirror Objects

The __Mirror Objects__ action creates mirrored copies of objects.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Object_ProBuilderize.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![ProBuilderize icon](images/icons/Object_ProBuilderize.png) ProBuilderize
# ProBuilderize

The __ProBuilderize__ action converts the selected object(s) into ProBuilder-editable objects.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Object_Subdivide.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Subdivide Object icon](images/icons/Object_Subdivide.png) Subdivide Object
# Subdivide Object

The __Subdivide Object__ action divides every face on selected objects, allowing for greater levels of detail when modeling.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Object_Triangulate.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Triangulate icon](images/icons/Object_Triangulate.png) Triangulate (Objects)
# Triangulate (Objects)

The __Triangulate__ action reduces all polygons to their base triangles. This creates a sharp, faceted appearance.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Offset_Elements.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Offset Elements icon](images/icons/Offset_Elements.png) Offset Elements
# Offset Elements

The __Offset Elements__ action moves the selected element(s) according to the default values. You can change the default values with the **Offset Settings**.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Selection_Rect_Intersect.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Selection Rect icon](images/icons/Selection_Rect_Intersect.png) Rect
# Rect

Use the __Rect__ action to choose whether drag selection should only select elements completely inside the drag rectangle, or also elements that are partially inside the the drag rectangle.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Selection_Ring_Edge.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Select Edge Ring icon](images/icons/Selection_Ring.png) Select Edge Ring
# Select Edge Ring

The __Select Edge Ring__ action selects a ring from each selected edge. An edge ring is a series of edges which share faces but are not directly connected.

Expand Down
2 changes: 1 addition & 1 deletion Documentation~/Selection_Ring_Face.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Select Face Ring icon](images/icons/Selection_Ring_Face.png) Select Face Ring
# Select Face Ring

Selects a face ring from each selected face.

Expand Down
26 changes: 16 additions & 10 deletions Documentation~/Selection_SelectByMaterial.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,25 @@
# ![Select by Material icon](images/icons/Selection_SelectByMaterial.png) Select by Material
# Select Material

The __Select by Material__ action selects all faces on this object that have the same Material as the selected face(s). You can also extend the selection to other GameObjects if you disable the **Current Selection** option.
To select all the faces that use the same material as your current selection, use the **Select Material** action. For example, you might want to select all faces using a material so that you can replace that material.

![Select all faces with brick Material on the Mesh](images/Example_SelectByMaterial.png)
This action is only available in [face mode](modes.md).

This action is useful if you want to replace all Materials on a complex object. It is only available in [face mode](modes.md).
![On the left, a single face with a brick material is selected. On the right, all the faces on the same object that use the brick material are selected.](images/Example_SelectByMaterial.png)

> **Tip:** You can also access this action from the ProBuilder menu (**Tools** > **ProBuilder** > **Selection** > **Select Material**).
To select faces by material:

1. In the **Tools** overlay, select the **ProBuilder** context.
1. In the **Tool Settings** overlay, select the **Face** edit mode.
1. Select a face. To select more than one material, hold **Shift** and select more faces.
1. Do one of the following:
* Right-click (macOS: **Ctrl**+click) and click **Select** > **ProBuilder Select** > **Select Material**.
* From the main menu, select **Tools** > **ProBuilder** > **Selection** > **Select Material**.
1. The **Select Material** overlay opens and the selection is expanded to match the default settings.
By default, ProBuilder selects matching faces from all GameObjects in the scene. To limit your selection to the current GameObject, in the **Select Material Options** overlay, select **Current Selection**.

## Select Material Options

## Select by Material Options
To limit the face selection to the current GameObject, select **Current Selection**.

Enable the **Current Selection** option to extend the selection to other faces on the currently selected GameObject(s) only. By default, this option is disabled.
When disabled, ProBuilder selects every face that has a matching material on any GameObject in the scene.

When disabled, ProBuilder selects every face that has a matching Material on any GameObject in the scene. This is particularly useful if you want to replace this Material with another on every GameObject in the scene at once.

![Grow Selection Options](images/Selection_SelectByMaterial_props.png)
27 changes: 18 additions & 9 deletions Documentation~/Selection_SelectByVertexColor.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,28 @@
# ![Select by Vertex Color icon](images/icons/Selection_SelectByVertexColor.png) Select by Colors
# Select Vertex Color

The __Select by Colors__ selects all faces on this object which have the same vertex color as the selected face. You can also extend the selection to other GameObjects if you disable the **Current Selection** option.
To select all elements (faces, edges, or vertices) from faces that use the same vertex color, use the **Select Vertex Color** action. This action is available in the [vertex, edge, and face modes](modes.md).

Even if the vertex color isn't currently visible (for example, if it has a Material that doesn't show colors, like the checkerboard Material), the colored faces are still selected.
> **Note:** Selection works even on vertex colors that aren't currently visible, for example if their material shader doesn't display colors.

![Select all orange faces on the Mesh](images/Example_SelectByVertexColor.png)
![On the left, a single orange face is selected. On the right, all orange faces are selected.](images/Example_SelectByVertexColor.png)

This action is useful for grouping out sections of your Mesh with different vertex colors. It is available in the [vertex, edge, and face modes](modes.md).
To select faces by material:

From the main menu, select **Tools** > **ProBuilder** > **Selection** > **Select Vertex Color**.
1. In the **Tools** overlay, select the **ProBuilder** context.
1. In the **Tool Settings** overlay, select an edit mode. All three modes support this action.
1. Select an element. To select more than one color, hold **Shift** and select more elements. <!--this isn't as simple as I make it sound - when you select an edge or a vertex, it's not obvious which face it will reference for the color - it's honestly easier to use only Face mode-->
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to remove the code comments. They display in the published source of the output.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't remove comments until right before we merge, unless they're dealt with.

1. Do one of the following:
* Right-click (macOS: **Ctrl**+click) and click **Select** > **ProBuilder Select** > **Select Vertex Color**.
* From the main menu, select **Tools** > **ProBuilder** > **Selection** > **Select Vertex Color**.
<!--1. By default, ProBuilder selects matching elements from all GameObjects in the scene. To limit your selection to the current GameObject, in the **Select Material Options** overlay, select **Current Selection**.

## Select by Colors Options
This doesn't seem to exist anymore; I never get an overlay



## Select Vertex Colors Options

Enable the **Current Selection** option to extend the selection to other faces on the currently selected GameObject(s). By default, this option is disabled.

When disabled, ProBuilder selects every face with the currently selected vertex color on any GameObject in the scene.

![Grow Selection Options](images/Selection_SelectByVertexColor_props.png)
-->
2 changes: 1 addition & 1 deletion Documentation~/Selection_SelectHidden.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Select Hidden ON](images/icons/Selection_SelectHidden-ON.png) Select Hidden
# Select Hidden

Use the __Select Hidden__ action to determine whether ProBuilder selects or ignores hidden elements when you perform a drag-selection. Clicking the __Select Hidden__ button to switch between the two states: __On__ or __Off__.

Expand Down
Loading