Stitching Surfaces, Patchmodeling for Organic forms (NURBS)


A short lesson by Christer Dahl , more to come, the whole homepage is about to reshape.

 

Starting off with 2 Cylinders. From the beginning it is important to plan the work, keeping the CV:s as low as possible.

To achieve smooth animation and nice texture flow we will cut these cylinders in to appropriate patches to stitch together.

     
 
     
 

In this example i planned 8 V-isoparms so that the cylinders could be cut symmetrically.

Here i choose the every second V isoparm 1, 3, 5 and 7.
Select 'Edit surfaces'-->'Detach surfaces' and you will end up with 4 separate pieces.

     
 
     
 

For the big Cylinder i start off with cutting it apart on each side i plan to stich later on.

Then select the 2 other surrounding isoparms in the resulting surface, and detach.

 

     
 
     
 

Make Your way around the model this way. The plan is to stitch red to red, yellow to yellow and so on, and the cutting of patches has been done here to achieve that.

All in all you will end up with 16 separate surfaces.

Delete the one where the connection will be.

After this it is time to rebuild the surfaces. Rebuilding of the surfaces is crucial for a successful stitch. A Stitch operation requires 'well defined' boundary edges.

Select one surface and take a look in the attribute editor.

     
 
     
Before rebuild


After rebuild
 

The point here is to have a MIN/MAX range of 0 to 1.
After all the detaching, a stitch operation will have a hard time to determine the boundary edges of this surface.

Select all Surfaces, go into 'Rebuild Surfaces' option box.
Select the 0 to 1 parameter range option (remember?) and check the 'keep CV:s' box.

After a rebuild, the same surface should indicate a correct parameter range.

     
 
     
 

Now, depending on the result you are after, it can be a good idea to do some vertex moving.

We are going to use the 'Stitch edges' option.

Use the default settings and check the 'tangents' option to get smooth transition between the surfaces.

Weight edge 1 = 1
Weight edge 2 = 0
This means that the first edge i select will stay put, and the other i select will meet up to the first one.

In this case, i decided to have the bigger cylinder edges 'moving' down to the little cylinder edges.

     
 
     
 

First make your way around stitching Big red edge to small red edge, continue around with yellow big to yellow small.

After 4 stitch operations you'll end up with 4 corner holes.

In the picture i indicate the correct order to further stitch this together. Since the red, yellow, green and purple surfaces
already have smooth transitions, they will be the first edges i choose when stitching against the blue one's.

Edge 1 to edge2, Edge 3 to edge 4.

Repeat the step all around the model

     
 
     
 

And, the final model. Now, depending on how you've tweaked the vertices you'll end up with better/worse results.

Play around a little and see what gives what, and remember that stitching can be done over and over again.

Time to delete the history of the model.

To finalize the model for animation we're going to perform a 'Global stitch'. Go for the default settings.

Select all surfaces and 'hit' the button

Now all the surfaces stay together with nice seams, and nice parameters for texturing.

     
 
     

Here is another example where i have used this method for modeling.
See where i have placed my patch-seams, and stitched it all together in pretty much the same manner
as described above, and not a single trimmed surface.

 

Copyright 2000, Christer Dahl