This tutorial was based on XSI 1.5. Some features have changed since then although the core principles and elements discussed below remain essentially the same.


THE MODES

There is 2 differents ways of applying Subdivs :

Subdivs in XSI gives you the final tessellated polygon mesh object, on which you can still have the same control as the polygon control mesh. In fact there is just a relationship of subdivision between the 2 polymeshes. THIS IS THE FIRST MODE where you can subdivide just by the polymesh menu or the context menu. It will then be an operator of subdivision. You can choose from the 2 algorythms and apply local subdivision refinement. Nonetheless, no texturing is transmitted between the 2 meshes. Only the geometry and deformations (skeletons, shape...) will follow.



THE SECOND MODE is automatic. You can found it in the geometry approximation property editor. Like all properties it can be applied for all the objects (shared property) or in a local way to differentiate the subdivision between objects. This mode gives you a total propagation of the properties of the mesh object, and it is a bit more like an approximation for a nurbs object. Texturing is greatly and automatically propagated on the subdivided mesh. For the moment Doo-Sabin is not supported for this mode.


1ST MODE : MESH SUBDIVISION

When choosing the first mode, you have a great tool to model with.

First choose, a poly mesh or a NURBS surface ( Create > Polymesh > Nurbs to mesh enable you, with XSI modeling relation, to update in real time the Subdiv polymesh with any modification of the Nurbs surface ) then Create > Polymesh > subdivision to subdivide the mesh. This create a Mesh object following a first rule of subdivision. It is linked to the mesh object that acts as a lattice of deformation.


 

You can now modify your Nurbs 's construction curves and see the results in Subdiv surface in real time. This is allowed by the differents modeling relations propagated between the curves, the Nurbs surface, the polymesh resulting from Nurbs to mesh operator and the subdivided surface resulting from the subdivision operator.

You can take advantage of Full Nurbs modeling tools to build precise and rounded shapes and still adding points, inserting knots, sniping, stitching ....

As it is just a new object linked, display properties are the default ones, so you may change those of the Control Mesh with Property > display in order to be in wireframe (don't forget to untoggle override property from the view menu or the display of the viewport will take precedence over objects's local display properties).

You can now model and have the subdiv react. You can by the way change the subdivision level or rule to see the changes. Further you could freeze the subdiv to start with that whole new rounded mesh.

 

The Component menu let you apply local refinement on all polygonal meshes, you can choose a rule then apply another refinement with another rule...There is no Hierarchy, which mean no limit of refinement. Nonetheless, a modification of topology (adding /removing) of the control mesh reorganize the Subdiv mesh. If you have made some topology changes on the subdiv, its will move, destroying your changes. SO VALIDATE your Lw poly before refining the subdiv.

You can also apply edge / vertex hard crease or value crease. You can even paint the crease influence to attract more or less the subdiv by the control mesh. For the moment the Doo-Sabin rule support vertex / edge hard crease and vertex value crease but not edge value crease. This is another advantage of Catmull-clark rule.

Keep in mind that when you want to work refinements on the subdiv, it must be your final mesh, because these are not modifications that you can copy to another mesh.

2ND MODE : GEOMETRY APPROXIMATION

This mode offer simplicity. Just drag a slider and your mesh is subdivided, the former mesh has become a polymesh Hull, displayed in wireframe and the only selectable. Feedback is faster since it is hard Implemented ( there is no extra-relashionship to handle ). Texturing, as well as any other operation is propagated, giving you a great rounded surface out of the Lw poly.

The price for this simplicity is that you cannot work on the subdivision mesh. You can still use local refinement ( Catmull or Doo-Sabin ) on the polymesh hull, and even work with edge / vertex crease but the general rule for the approximation can only be Catmull-Clark (for the moment :( ?).

Catmull-Clark

Without entering the details, this rule produces more rounder surfaces. It outputs only quad polygons, the control mesh can have N-gon polygons.

For toon characters it can be great but for more realistic / accurate forms it can lead to an over sized control mesh. Thus, when animating, you have a bad feeling of the proportions and the contact of the subdivided mesh. The control mesh can become huge and exagerated when trying to have sharp edges. Also You may subdivide further to gain precision on the subdivided mesh but this will lead to heavy mesh. Solution can be edge value crease.

The PROS are that with the geometry approximation mode you 've got a one stop solution to texturize the subdiv correctly and fast.

 

Doo-Sabin

This mode is more sensitive with edges and vertex because it produces a quad for every edge and a N sided polygon for a vertex that share N edges.

This is the reason why it generates a subdiv closer to the mesh control shape. Adding detail is generally easier and the LW poly mesh still represents accurately le resulting subdivs. The control mesh may be made of N gons too, and the Subdivs will produce N-gon, thus optimizing and concentrating edges where needed.

The CONS are that there is no texturizing automatically with this rule, that there is no geometry approximation support and finally edge crease value is not supported. Also subdivs are so sensisitive to the edge topology of the control mesh that it may leads to another way of modelling, less academically quadrilateral than the Catmull-Clark rule.