|
|
Tips'n'Tricks
The Tips in detail |
|
|
|
|
|
"NURBS vs. Poly"by GI Joe Dude |
|
|
|
|
|
Actually... it's to do with representation... both methodologies / topologies have their advantages. Hence that's why they have been included in the first place, ok... here goes a little blurb... mesh / polygonal topologies are very arbitrary. They mainly consist of 3 vertex polygons (ie. triangular) even when rendered due to the fact that once in this polygonal "representation" there are very little special cases to worry about for rendering and for display (hardware) and manipulation. 3 edge polys are also defined to be closed and therefore are convex polygons (you don't get nasty bent in on itself stuff and self intersecting polys). What's more? In maths you only need 3 points to define a plane. A flat grid that is. Using this flat plane one can determine that special NORMAL vector (vector that is perpendicular to the plane). This normal vector is what allows renders to know what it has to see to render, as well as approximate smooth curved surfaces. Yes that's right! When you render an object it's actually made up of those triangles. It only looks smooth because of the way it was shaded. No funky subdivision crap. It's called Phong and the later Blinn shading is more accurate. neway I'm wafling... crapping on... Basically with this you get tons of flexibility, since you can control the vertices which ARE exactly where a polygonal object will be. You also get tons of control. The drawback is that to get a good approximation to a curved surface you need many polys. Many polys is bad. Bad moreso for modeling because you have got to move the points around. So if you have a super detailed mesh you have got to move all those vertices around. Now there are ways around this (lattice modeling, cages, meshsmooth, subdivision algos, even proportional modeling) so it can be ok, but it's still pritty woefull to add detail here and there. You really need to plan out how to model it before you begin, hence drawing is good. Usually to get good satisfactory results polygonal modeling is great. Particularly with branching surfaces (ie take a look at your hand... your single palm branches off to 4 fingers and a thumb.) This method works well as there are no restrictions. Hence welding and what not are good to achieve a seamless mesh. Now for the bad news. More control and more arbitrary is bad in some ways. Firstly for animation: polygonal models suck. Why? Because of the number of vertices to weight. Too many of them and way too difficult to weight a good one. Secondly texturing: you have to manually specify UV coordinates. Since it can branch and go into 3 polys instead of 4. One has REAL trouble getting default UV coordinates to work! So you use other objects (spheres, cylns, blocks) to approximate. NURBS on the other hand are GRIDs. They are parametric surfaces. This means... that hmm... well in maths... ok it's not that bad... this one's easy... if i have a line... y = x but i define Y and X in terms of some common variable... let's say to so y = t x = t now that is the parametric method of representing that equation. NURBS surfaces are a superset of NURB curves. These curves are specified by 3 math equations: x, y, z (all functions of t) and hence allows one to represent arbritary curved surfaces. Continuity is achieved using derivatives (calculus) and that's why they say quadratic and cubic because the functions of Y, X, Z are polynomials of t, with either quadratic or cubic representation. Well what's all this got to do with what you want to do? Basically you can warp a grid into any shape you want. But the restriction is that it has to be a grid. Otherwise the surface is not well defined. You can think of a NURBS surface as a net. A regular cargo net that is, that kind of controls all the verticies under it. Only the verticies are there (ie polygonal info) is there only as a means of rendering a parametric surface and display, but in all essance, the surface is totally represented as a mathamatical function. Advantages? Well since NURBS being parametric, it's easy to add detail where you want. But: unlike meshes, it's not a "local" detail. You add a U-line. You have to intersect with all the V-lines in the surface. This is kind of bad, as you end up with messy representations if you are not careful with how you model, unlike meshes, which just add a dot where you need it.. NURBS also have an intrinsic UV coordinate. Being a grid pattern, it's easy to define an intrinsic UV coordiate. Using calculus again (to find tangency and normals and cross product to get coordinate system which is relative to the surface), one can do this with ease and map these coordinates from 2D bitmaps onto the 3d model. So no time is taken to create texture projections. Just textures themselves. Also, you get less points, since polygons are linear in nature. You need many verts to approximate a curve well. Parametric surfaces are specified in CURVES already! It's all there. You just let the system do the approximation for you. You concentrate on approximating the surface using natural curves. This is a BIG plus for rigging a character: less points = less points to weight = more productivity. According to most people, it's easier to model things like characters using polygon-related tools, as you don't have that pesky 'rectangluar topography' limitation that NURBS have. But later you get problems with texturing and animation. NURBS are more suited to modeling real things, as you work with precise curves and lines instead of screwing around with polygons, and most products you see were designed using something that uses NURBS. NURBs parametric nature allows EXACT specification of curviture etc. Very handy for modeling exact things like boats, cars etc. for development into REAL world things.... Today's AutoCAD HAS nurbs in it. It has it because CAD is not just for architects. They are but one user of autocad. CAD = computer aided design. So nothing to do with real world designs is done in autocad. From cars, machine parts etc. I think architects also use NURBs for different purposes. Since their structures are more defined and rigid. Often it's easier to do it polyonally than parametrically, although you can do it bothways. So to say AutoCAD has legacy data, one really has to be careful. Just because Softimage, Max and what not you get visual realism: remember they are visual design tools. AutoCAD is a different purpose. The plans from autoCAD can ACTUALLY be used to make a real life model. I'd seriously doubt you could do one for Max or Maya or Softimage (at least not very often does a design in these platforms get turned into a car or Object. AutoCAD is precision stuff and that's why it's used and it does sure DOES have nurbs. Maybe not the point dragging stuff, but it definately has it. Finally... it's interesting to note... NURBs is also playing catchup to polygons. With things like stitch and NCF and contiuity between nurbs patches, you get some pretty new cutting edge stuff that really starts to open things up. No more constraints to NURBS and local data. You can now stitch up surfaces of different resolution! Awesome stuff .... Just remember: both are not some new kind of modeling dough, but tools. A way of representing what you want in a computer. It's easier for some objects in some ways and harder for others, but it doesn't mean you have to model in that ONE geometry all the time! from: GI Joe Dude <gijoedude@iname.com> |
|
|
|
|
|
|