layout: default title: "Model" permalink: /guide/model_mode/ parent: User Guide
When in Model
mode, Scotty3D provides a polygon-based 3D modeler with basic
subdivision capabilities. The central modeling paradigm is "box modeling", i.e.,
starting with a simple cube, you can add progressively more detail to produce
interesting 3D shapes. You can also use subdivision to get smooth
approximations of these shapes.
MeshEdit supports four basic actions on mesh elements (move, rotate, scale, and bevel), plus a collection of local and global mesh editing commands.
Note that MeshEdit (and more broadly, Scotty3D) will only operate on meshes that are manifold (i.e., the union of faces containing any given vertex v is a topological disk). Likewise, all mesh operations in Scotty3D will preserve the manifold property, i.e., manifold input will always get mapped to manifold output. This property is key for ensuring that many algorithms in Scotty3D are "well-behaved", and that it always produces nice output for other programs to use. If you load a mesh that is non-manifold, you can still use it in your scene and render with it, but editing will not be supported.
In Model
mode you can inspect mesh elements by
left-clicking on vertices, edges, faces, and halfedges. Information about these
elements will be shown in the left sidebar.
In this mode you can change the geometry (i.e., the shape) of the mesh by transforming mesh elements in the same way you can transform scene objects. Note
that the transformation widget again has three modes of operation, which you can
toggle through by pressing the r
key.
Move
: click and drag on the red (X), green (Y), or blue (Z) arrow to move the object along the X/Y/Z axis. Click and drag on the red (YZ), green (XZ), or blue (XY) squares to move the object in the YZ/XZ/XY plane.
Rotate
: click and drag on the red (X), green (Y), or blue (Z) loop to rotate the object about the X/Y/Z axis. Note that these rotations are applied relative to the current pose, so they do not necessarily correspond to smooth transformations of the X/Y/Z Euler angles.
Scale
: click and drag on the red (X), green (Y), or blue(Z) block to scale the object about the X/Y/Z axis. Again note that this scale is applied relative to the current pose.
The bevel action creates a new copy of the selected element that is inset and offset from the original element. Clicking and dragging on an element will perform a bevel; the horizontal motion of the cursor controls the amount by which the new element shrinks or expands relative to the original element, and the vertical motion of the cursor controls the amount by which the new element is offset (in the normal direction) from the original element. It is important to note that a new element will be created upon click even if no inset or offset is applied. Therefore, if you're not careful you may end up with duplicate elements that are not immediately visible. (To check, you can drag one of the vertices made.)
There are three possible types of bevels:
The following functions provide a bit more flexibility with how much to bevel the surface by: [Videos coming soon]
Vertex Extrude: The selected vertex v is beveled by a flat amount (we use 1/3 the length of the edge from the original vertex v to an adjacent vertex endpoint as the tangential offset), a new vertex v' is inserted into the resulting face, and v' is offset in its normal direction by a user-controllable amount.
Face Extrude: The selected face f is replaced by a new face g as in Face Bevel, and g is offset only in the normal direction by some user-controllable amount.
In addition to beveling, a variety of commands can be used to alter the connectivity of the mesh (for instance, splitting or collapsing edges). These commands are applied by selecting a mesh element (in any mode) and pressing the appropriate key, as listed below. Local mesh editing operations include:
The following operations will have videos soon.
Edge Bisect: The selected edge e is split at its midpoint, and the new vertex v at the split is returned. Note that the new vertex v is not connected to the two opposite vertices as in Edge Split.
Face Inset: The selected face f is replaced by a new face g as in Face Bevel, but its vertices are only offset in the tangent direction by a constant factor (we use 1/3 in the example).
Vertex Inset: A new vertex v is inset at the center of the selected face f, dividing f into n triangles (where n is the degree of f).
A number of commands can be used to create a more global change in the mesh (e.g., subdivision or simplification). These commands can be applied by pressing the appropriate sidebar button with a mesh selected. Note that in scenes with multiple meshes (e.g., those used by the path tracer), this command will be applied only to the selected mesh.
Key | Command |
---|---|
c |
Center the camera on the current element. |
m |
Use the Move tool. |
r |
Use the Rotate tool. |
s |
Use the Scale tool. |
b |
Use the Bevel tool. |
v |
Select the current halfedge's vertex |
e |
Select the current halfedge's edge |
f |
Select the current halfedge's face |
t |
Select the current halfedge's twin |
n |
Select the current halfedge's next |
h |
Select the current element's halfedge |
delete |
Erase the currently selected vertex or edge. |
Table of Content