ARTICLE FOCUS:NURMS (Non Rational Mesh Smooth) or Subdivision Surface technique uses low-polygonal mesh to control the shape of the smooth surface.In this tutorial, George Polevoy demonstrates his favorite techniques for symmetric NURMS modeling and 3D sketching, enough to build the model, similar to what you see in the first pictures. The model you see in the pictures is not suited for very advanced animation, which could require different topology and more refinement.
First, find any suitable reference for your model. Setting up the pictures as a view-port background is a common technique, but I prefer drawing sketch in 3D.
This is how your scene will look at some stage.
Thin gray or dark blue lines show the initial 3D sketch.
Red lines you see over the surface is kind of low polygonal model, which serves as NURMS control mesh. It is slightly different form typical low-poly in that it is not suited for visualization itself. It only can be used as rough model representation.
NURMS behaves much like NURBS power 3 with the difference that NURMS can be of arbitrary topology with no UV–quadratic restriction.
Note that control mesh vertices lay somewhat outside the actual surface, if the surface is convex, and inside the surface if the surface is concave.
This surface behavior is different form 3DSMAX Bezier Patch surfaces, in which surface must cross each vertex.
Please see “Additional information about the subdivision algorithm” below.
Draw profile and front view curves first.
These two curves can stay ‘2D’.
Draw as many curves in 3D as you need.
Choosing the correct curves is the main thing at this time.
Created curves should give you a sense of volume in perspective or user view-ports, not only correct shapes in front and side view-ports.
Align curves, so the curves that should intersect lay as close to each other as possible at the ‘intersection’ point.
Use mirror modifier or the mirror tool to create symmetrical curves.
If you use mirror tool, do not forget to turn ‘instance’ option on, so the symmetric object will last symmetric after modifying original object.
I recommend doing all the modeling around the center of the world coordinate system.
Allow yourself as much time as you can at this stage and create a perfect shape.
This will save you a lot of time creating actual geometry.
Setting up symmetrical objects
Create a Box object; convert it to editable mesh.
Delete all the polygons but one.
Use the transform type-in to center your object along the symmetry axis.
Enter sub-object mode, select the polygon and move it to the side.
Mirror your object using Instance option.
It is important to see the both symmetric sides while editing.
You can then edit either of the two objects and see the other side reflect the changes immediately.
Setting up NURMS
Apply the Mesh Smooth modifier.
Set Mesh Smooth type to NURMS.
Apply To Whole Mesh should be checked.
It is useful to set Iterations value to something smaller then in Render Values to improve interactivity while editing.
Turn the Show End Result radio button on while in Editable Mesh sub-object mode.
Extending surface with edge cloning
Select either of the objects, enter edge sub-object mode. Select the side edge and shift-drag. (Shift-dragging means that you keep a shift button pressed on the keyboard while dragging something with the mouse.)
This is how you create polygons by shift-dragging the edge selection.
Select several boundary edges.
Shift-and-Drag to Create several polygons at once.
Modifying topology with Welding
Delete a polygon. Select a vertex.
Enter Weld Target mode in Vertex sub object mode.
|Drag the vertex over another.Release the mouse button. Vertex should weld.|
Creating Elements with polygon cloningElement of mesh is a group of polygons that are connected by their adges or built on same vertices.
You can create elements in your mesh by shift-cloning polygons.
Shift drag a polygon, release the mouse and answer Clone To Element when asked.
Fitting surface to the sketch
Now you are ready to start modeling, using your 3D sketch as a guide. Start with any part of the face.I am starting with the lips.
To make seamless connection between mirrored geometry, you can provide a polygon stripe in the middle.Polygons in this stripe should always be perpendicular to the plane of symmetry.Connection will be seamless even without final welding sides together.If you want to attach and weld the objects together when finished, you should not do it with instances.To attach the sides, do the following:Delete one side. Delete the Mesh Smooth modifier that is applied over the Edit Mesh or the Editable Mesh in the stack. Mirror with the ‘Copy’ option, not the ‘Instance’, then attach and weld with the weld selected option.
Control mesh is not treated as just triangles, but as polygons.
For example, each quadratic polygon (quad) actually consists of two triangles in 3DSMAX. There is one invisible edge in each quad.
NURMS makes sense of topology.
Try to make build your mesh of quadratic polygons if possible. Use other types of polygons with care.
Here is an example of ‘good’ topology.
Geometry of the control mesh is the same, but topology is different.
Some edges made visible in this example.
Generally, surface does not have to pass through the control vertices, but you can achieve this by placing three vertices to a line (vertices A, B, C on the picture). In this case surface near these vertices will behave somewhat like a Bezier spline, vertex A will serve as a knot, and B and C – as the Bezier handles.
This behavior appears on the boundary surface edges, to use this feature with other vertices, you should line up all the 8 vertices around the ‘knot’ vertex to a plane.
Surface will also intersect all Corner vertices (vertex D). Vertex B serves as a Bezier handle for knot D.
This feature of the subdivision algorithm can be very useful to get more precise control over the surface shape.
Please refer to the 3DSMAX reference for more information on particular techniques, such as mirroring objects with instance option, using Weld Target and Weld Selected commands attaching mesh objects and using Bezier splines to draw shapes.
Notes about this tutorial
In this tutorial, I'm not using Vertex Weight feature, and Smoothing Groups feature, which are the powerful NURMS techniques. I believe that the same results can be achieved without using these features. At the same time, not relying on these features can potentially make your NURMS mesh portable to other implementations of Subdivision Surfaces (SubDivs), such as Pixar™, Maya™ and LightWave™ implementations by means of exporting non-subdivided control-mesh as polygonal object.
I describe 3DSMAX interface features as for version 3.x, but in vesion 4 it did not change much. Also, version 4 adds Editable Poly, that is slightly different from Editable Mesh, and the HSDS modifier which supports hierarchical mesh refinement and can be used in alternative or together with MeshSmooth/NURMS described here.
Notes about Subdivision SurfacesOther implementations of Subdivision Surfaces modeling frameworks may support different features, such as hierarchical mesh refinement. Some of the industry standard renderers such as Pixar Render Man support rendering of Subdivision Surfaces on a level with NURBS.Some 3D game engines and Internet 3D viewers now support real-time Subdivision Surfaces for scalable quality and download optimization.
Intel Subdivision Surfaces
For those who interested in Subdivision Surfaces, I recommend to take a look at Academy Award-winning short film "Geri's Game" by Pixar.Keywords for those who interested in Subfivision Surfaces algorithms: Doo-Sabin, Catmull-Clark andChaikin’s algorithm - which can be pointed to as the first of these subdivision algorithms.
That's all I know about NURMS business :)