These last years we've witnessed some incredibly amazing advances when it comes to modeling techniques. We not only have those great modeling programs that offer an extremely wide range of tools that make your life easier, but we also have apps like zBrush that allow to sculpt directly with the mouse, or even more advanced systems such as SensAble which supposedly let you model as if you were actually working with clay. T-Splines is a brand new modeling system that tries to marry the best of the Polygons and NURBS worlds to create a very versatile system that promises to make the modeler's life easier.
You may know that SubDivs work in a similar way. You use polygon techniques to model your object but the resulting surface is approximated using algorithms similar to those of NURBS surfaces, but they offer the ability to increase the level of detail (LOD) on specific spots, one of their best features. On the other hand, this is one of their greatest weaknesses because you end up with a very high-rez model with a lot of control points, and also a lot of edges that are needed to maintain the object's topology. On the other hand, NURBS have their ups and downs too. NURBS are the weapon of choice for some creature modelers because of the smoothness you can get out of them, however sometimes they require the extra work of adding more isoparms just because you need to attach two surfaces. If you want to add a CV somewhere on your surface that poses a problem too, because you have to add a complete isoparm along the surface, which may or may not change your model's topology.
Working with T-Splines is like working with a NURBS hybrid of the Smooth Proxy command. You control the shape of your object using a low resolution proxy. However instead of getting that dense mesh with high resolution models, you get a clean NURBS-like surface. Since you are using a proxy to model, you modify it just like any poly-object using the built-in T-Spline tools, which are very similar to the polygon editing tools included in Maya. The downside is that you can't use the Maya tools on the T-Spline objects, so you won't be able to use that nice "split edge ring" that was included on Maya 7.
When you add an extra vertex on NURBS or SubDivs, you always get some "extras" that you would like to get rid of (extra edges or extra isoparms depending on the case). Adding an extra vertex to a T-Spline surface always returns a clean surface, so pretty much you have the power to decide where you want the edges.
UVMapping is a completely different issue. T-Spline primitives are based on NURBS primitives, and thus they inherit the UVs of their NURBS counterparts. However you can imagine that will not be good enough when you have complex models. This system doesn't offer actual UVMapping tools, so you won't be able to actually change the object's UVs like you would on polygon objects. T-Splines does offer you a different approach, though. You can create a "proxy object" that you can use to control your object's UVs. What you do is create the proxy and map it using the polygon mapping tools (you can hide the T-Spline object for faster viewport response). These UVs on the polygon proxy will be automatically copied to the T-Spline object.
The proxy object can also be used to modify the T-Spline object (something like the smooth proxy command). However you will find this to be not so useful for something other than moving vertices around. For true modeling purposes you will still be operating on the T-Spline object directly. This could be a down side, because when you are working on T-Spline mode you are limited by the toolset the plug-in offers. After using T-Splines for a few days you will realize that the best workflow would be to start your model with polys and then move on to T-Splines for finishing and fine-tuning.
Another problem is viewport performance when you are using complex models. When I was working on the iguana model the performance dropped to something around 2fps (I am using a GeforceFX card). Obviously on higher end systems that would not pose a big problem. The good news is that you can change the display parameters for the objects to increase the system response speed.
Since I am not familiar with all modeling technologies out
there, I can't really tell you that T-Splines is the way to the
future. However, if I had to choose between T-Splines, NURBS or
SubDivs, I would choose T-Splines based on its obvious advantages
over the other two systems. My only actual complaint would be
viewport performance and modeling tools. I've been a polygons fan
since I began actual modeling and I felt somewhat limited by
T-Splines modeling toolset. More tools will hopefully be added
soon. Even with these limitations T-Splines is worth a look. Once
you get used to work with it, you will find it to be a very good
addition to any modeler's Maya toolset.
Animation Alley is a regular featured column with Renderosity Staff Writer Sergio Rosa [nemirc].
February 20, 2006
Sergio, I like your good, objective review. I wanted to let your readers know of some new training video clips on T-Splines we just published on our website, www.tsplines.com. These clips teach how to do some of the processes you touch on here, as well as how to easily bring models over to T-Splines from NURBS and optimize them. Keep up the good work, Matt
Thank you for the review. My question is: How does this compare to SubD's? Looking at the website, its heavily oriented to CAD modelling, and the advantages are versus NURBs models. But very little organic modelling these days is done by Nurbs -- good SubD modellers do a fantastic job . . . I'd be hard pressed to know what advantage I'd gain by modelling in T-splines, versus SubD's.
Well, as I stated above, the model is designed to behave like a single-surface NURBS object. However the operations you perform on the proxy object and the ones you perform on a SubDivs proxy object are basically the sames. TSplines and SubDivs are very similar, but TSplines mantains the surface clean, while SubDivs adds a bunch of extra edges every time you add a crease, or refine a spot. Cleaner surfaces mean faster response and rendering time. That's a really big advantage over SubDivs, IMO :)