OK, there are questions at the end of this
I started off modeling several years back using a nurbs program, Rhino and I also use Solidworks. A couple of years back I started looking at poly programs and began using max.
Having a background in product design most of the things that I model are mechanical objects with continuous curves, hard edges, fillets etc. It has taken me ages, and so much frustration, to understand how to do this type of stuff, polymodeling in max. I still don't know if I'm going the best way about it. I tend to sub-d model the objects keeping the sub-ds light for the basic geometry and then collapse the sub-d down to increase the geometry before adding extra details like circular extrusions (as if the surrounding geometry's not dense enough then errors will show).
There are a few things that still confuse me. Firstly, I always hear people say that polys are better than nurbs because they allow alterations to be made more easily. For mechanical objects I really can't see this. Whenever I polymodel and start to make the geometry denser, trying to make alterations afterwards is always so much hard work as everything has to be moved around to compensate for the alteration. In nurbs this can be done much more simply and cleanly. It takes me so much more time to model these shapes in polys then nurbs.
I fully understand the benefits of polys in organic character modeling. I just don't understand why people tend not to use nurbs for hard surfaces. What are the benefits? Surely when converted back to polys the poly count couldn't be too significant? Is it because people don't have experience with nurbs or got put off by the nurbs implemented in programs such as Max (it's absolutely awful!)?
It'd be good to hear your views - but please don't make statements without personal experience. Thanks
Replies
Of course you favor nurbs, that's where you're coming from. It's quite possible you haven't learned the strengths of poly modeling yet. It's probably a little too soon to judge it until you have equal footing on in both.
It's probably such a chore for you to poly model because you're trying to make it work like nurbs? Of course it will take you longer to model in polys, until you get used to it.
I'm faster in 3dsmax than I am in Maya but they do the same thing. Of course Maya is frustrating and slow but there are a lot of people who have put in a lot more time and its not so frustrating for them.
I dunno seems kind of pointless to argue one over the other. They both have their place. They're different tools that go in your tool box, you pull out the right one for the right job. /shrug
Correct. So what do the majority of artists use for hard surface models?
ps. I've put far more work and time into learning to model with polys.
"I'm not here to argue which one is better. and then a couple lines later. There's no possible way that it is quicker, or easier to make alterations, compared to a proper nurbs program."
other lines along this,
"i'm not here to argue who would win in a fight super man or the hulk, but its obvious superman would win"
i'm not here
to argue what car is faster a toyota or a mazda, but theres no way a mazda is faster than a toyota"
but i guess you are not here to argue, because youve already got the victor stuck in your head.
and on these forums poly is used way more frequent than nurbs.. i cant rember the last nurb pimp i've seen here
Maybe if you record your amazing nurbs modeling, then your not so great poly modeling we could point out areas and tips that would help you poly model better. I suspect you're trying to treat poly modeling like it was nurbs?
I'd love to see some great nurbs modeling in action, especially if it can beat the pants off of poly modeling.
Well, that is before you decided to play the douchebag card. I'm guessing this will only end badly now...
No. I came on here for the reasons previously explained
Happily. If it's beneficial and I receive productive feedback. So far I'm not impressed but there's always a few.
Would you care to elaborate? I'm trying to acheive the same result as a nurbs model would give. Which I can do but it requires much more work.
For me polys work way better when I'm just interpreting a concept, or when I'm kind of just "freestyling" with shapes that I'll keep refining till it looks cool. Accuracy is important for polys as well but often its just what "looks" best. My poly workflow is usually blocking things in and then constantly refining, but with nurbs it was more of accurate choices from the start.
As far as which is faster, I'm pretty sure you could take a seasoned veteran in either type of modeler and be just as fast. In the end though we don't use nurbs cause game engines dont really use them, and converting them to polys was never really that controllable. Keep on nurbin if you want to do product design or part\mold\casting\machining. Games and even most of film these days is polys.
Bitmap editing (like PS) has over Vectors often the advantages as PolyModeling (i.e Max or Modo) over Nurbs modeling
in addition to that PolyModeling at the end is essential for Game Artists that work with 3d Realtime engines using GFXcards or that technology (PS3, Xbox, Wii, DS,....). Because thats what it all is about controlling the flow of the final triangles or make sure Models harmonize for baking.
Polygon modeling and subdiv techniques allow to really control in a very efficient manner every triangle flow in a clean manner. Trying to import NURBS or converting them to triangulated models (for UV-mapping, baking, rigging,...) almost always fails at some point.
also 1up for some example videos,- because at least I am way faster and more free with polygon modeling. It might sometimes end up with the less clean model but at least I have more artistic and free control and can always retopo stuff.
I think a lot of what you are running into has to do workflow approach, and just how you digest a shape mentally before creating it physically.
I have horrible issues working with nurbs because of how I think about an object, and how I want to manipulate the surfaces in front of me. I think about modeling from a polygon, sub-d, or patch based workflow, all of which feature operations that simply do not work in nurbs workflow and are mathematically inconsistent for what nurbs are.
Some of the things you've mentioned, like circular extrusions from a surface are pretty easily doable and regularly done in poly-modeling without making the polygon count go rediculous. Its all about technique and practice. check out the "how you model them shapes?" sticky thread for a lot of examples of this sort of thing.
Also of note is that with a good deal of modeling done for rendering, or games, the individual pieces of a model don't have to conform to the same standards as models done for products. IE they don't have to pass an STL check to be manufactured. Render and game models can have interpenetrating parts, and parts that just float microns to millimeters above other surfaces, but aren't actually connected, etc.
Thenurb tesselation is typically obsesne to atrocious for polygon counts, unless you keep close control over the converseion, but worse its not so much the count as it is the topology. Nurbs are great for rendering, as they subdivide as needed, but for game use you wind up with a lot of N-gons wich tend to make tricounts ugly, and worse off they don't form tri-strips well so they render much more slowly.
Nurbs have their uses for sure, but as a tool in a game art pipeline they really don't show up that often if at all.
Some of it, i believe, is also the nature of game art being more purely art, rather than mechanical engineering. Many of the mechanical devices in games straight would not work in real life, no matter how eyecatching they are. As such the filleted edges don't matter if they are precicely n degrees, or are even consistent around the entire fillet or bevel, so long as they look good on the end product.
What Renderhjs has said is also very relevant.
Nurbs work great in offline rendered animation because the topology can change every frame. The end tesselation of the nurbs surface changes with what it needs to be for the shape of the surface at that frame. Game models don't have this luxury, and so the element by element control is highly desireable to the point of being mandatory.
Triangle flow is important due to how the data can be packed to the graphics card for faster rendering/better memory use.
Also polymodeling, especially in the games realm, but also in film, has grown from roots where every last polygon counted in spades in terms of output time. Early games had polygon counts in the low hundreds per model, and early rendered stuff wasn't that much higher. I remember when a 100k triangle model was enough to make my machine chug along a bit, and models higher than that, or nurb based models were a luxury for those with renderfarms at their disposal... ahh the olden days of the "DO NOT TURN OFF! RENDERING!" notes stuck to monitors.
Anwyay Yes we use polygons for hard surface modeling because polygons make simpler, or at least more even, use of most subdivision algorithms than do nurbs, Delaunay not withstanding. They also alow for very even and simple control over mesh density even after subdivision.
For product creation this doesn't matter, but for rendering or game work it is yet another form of resource control.
The other thing to consider is what you've run into yourself. A nurbs workflow and a poly modeling workflow are not the same, and its not often you'll find a specialist in both. So when more than 90% of the work your company has to do needs to be in polygons at some point, are you really going to hire someone who can model effectively in nurbs to do the other 10% when you can get similar results from your existing polygon modeling specialists?
Hope all this helps, I know your frustration.
Its the same things I said after trying to work with nurbs. I seriously asked "does anyone even USE these things anymore? Weren't they just some fad of a tool that showed up in the late 90's before workstation horsepower caught up?"
Obviously they DO still have uses, just none in my purview.
What could be fun here would be for you to post up a piece you've done in nurbs that you would like to do in poly, then one of us can build it in poly and post wireframe/work in progress shots.
1) They have seasoned artists who poly model quickly, efficiently and give amazing results already. Why handicap them by forcing them to use software and work flows that they are not familiar with when they can already do the job perfectly fine in the same amount of time, with what could be hidden advantages to a nurbs modeler?
2) One more piece to the pipeline to support. Studios often pick one piece of software and stick to it so tools can be developed for it. Tools that help artists work faster and more efficiently. If you're the one guy using an different program you probably won't have tools developed for your specific app which could make you slower or force you to bounce between apps to do different tasks.
You might think your work flow might go Nurbs > Maya export > game > done. But there could be a lot of work you do in Maya that might not be backwards compatible to your nurbs program, are you ready to redo that work each time you need to make changes to the nurbs?
3) If other artists have to make changes to your work, they'll need that software and to be familiar with the workflow, your UI set up, all that. Opening another persons files even if they're using the same app is always a little confusing, and that's with the same app.
4) Also they often get discounts in software for buying in bulk making each seat a little cheaper. It gets pretty expensive when everyone wants a personal copy of a few different apps. Most places don't mind providing suplemental software as long as the person can preform competently without it. If they are a so-so artist demanding to use one piece of software because that is all they know how to use, they'll probably have a tough time finding a place to take them on.
BTW I previously thought that this was a poly modeling forum and not purely for gaming. I don't have experience with game modeling so I don't know their exact requirements. My use for this is for visualisation.
Ok, so the other day I decided to model my iPod. I wanted to produce a model that I could render close ups of and that the form would be clean with no bumps etc. I don't expect to get anywhere near the precision that you could get with a solid modeler, I just aim for the model to really look like the product.
On the back of the iPod where the headphone socket and power switch are there are some tricky surfaces. The circular headphone socket extrudes into the body partly on the fillet of the base (I hope most of you have one of these to see exactly what I mean). Now it took me a long time to acheive this and I had to increase the surrounding poly density quite a bit to get the result that I wanted. Once I had finished I realised that I hadn't put the socket in the right place so I wanted to move it slightly. I can't see a way that I could have moved it easily at all. So I'd really like to know where I'm going wrong.
ps.If anyone has an iPod and can show me the best way of going about this part to get a true representation of the product that would be good to see and learn from. Please include the linework interaction with the on switch too.
ps. I'm quite busy but when I get time I'll post how I would have dealt with this in a solid modeling program.
I think the vast majority of users on Polycount have some sort of involvement in games, so yeah its mostly a game orientated modeling forum.
One important thing here, and bear in mind i have little/no experience using nurbs, is that it can be quite easy to take your sub-d cage, remove some of your control edges and build a pretty solid lowpoly mesh out of it for rendering normals etc. I'm not sure what you would do with nurbs, but i imagine it would require constructing a new mesh from scratch with proper lowpoly topology etc. This is one of the biggest reasons why we use poly modeling over other methods.
Jay's mesh above is a perfect example of this, as you see how light and low resolution his cage is, a pretty great base to start for a low if you simply remove a few edge loops.
Now the polymesh that you've shown about is pretty much the worse case scenerio when using poly modeling, you've got way way too much geometry, your loops arent flowing around the shapes in a natural way, instead they are just cutting together in grid patterns. As vig has said a few times, its pretty clear from that image that you are trying to force a round peg into a square hole here, trying to get poly's to behave like nurbs, when you need to take some more time to understand the differences between then, and the pros/cons of each.
As said before, check this thread out, its a huge resource for all different types of topology issues dealing with sub-ds.
http://boards.polycount.net/showthread.php?t=56014
Its been stated before, but i'll say it again, since what we do here is generally for games, we're less concerned about things like precision when zooming way in, than what will render to a set resolution in a normal map. So we do all sorts of tricks to get around some of the problems you're running into. Some of these will work for you, some will not(floating geometry etc).
I'm aware that my model has too much geometry but take Jays example above, for example; while it works for what he's shown, the fillet on an ipod is much steeper so geometry that light wouldn't work. There is also a USB port and an on switch of different sizes adding more horizontal loops into the mix.
I've watched several tutorials, one in particular from a Pixar modeler, about cutting holes into curved surfaces where they'll use a 16 sided hole to keep the geometry dense enough to keep the surface curve consistent. Yes, my example above has double that, but even with 16 sides it makes any altertaions afterwards a difficult task.
In terms of my original question asking why there was so much talk of polys being easier to alter than nurbs. This is just not the case for hard surfaces. Using a solid modeling nurbs program; if a fillet needs to be made bigger you'd go into the history stack and simply re-type the radius size. If a circular extruded cut needs to be moved you'd simply go into the history stack select the circle and move it. If anyone's interested how these programs work then take a look at solidworks:
[ame]http://www.youtube.com/watch?v=X9h9PVImf4c&feature=player_profilepage[/ame]
[ame]http://www.youtube.com/watch?v=HPVR4wS8sw0&feature=player_profilepage[/ame]
There's not much point carrying on discussing the nurbs side of things here as if it's a gamers forum then there are tight restrictions on poly count which nurbs isn't suited for. Like you mentioned, accuracy comes further down the line to this.
You mention that my wireframe is incorrect flowing in a grid pattern. I previously use to work diagonally cutting across like Jay has shown. Then I changed to restrict the 5 sided pole as close to the extruded edge as poss and keeping close to a grid so it made alterations easier. What's the benefit of not keeping it grid-like?
What i mean by the grid thing is just having good supporting loops around the extents of your shape, when you have this it makes it easier to slide a loop around to tweak the sharpness of the edge or what have you, and you should be able to get the same shape without needing a buttload of geometry.
Cutting in other shapes along the same geometry just requires a bit of thought before hand to make sure that you will have loops in the right areas, and of course you can always change up your topology to add more supporting edges for a different shape elsewhere, using ngons and such to make the transition.
I'm not sure if what i'm saying is realy being helpful at this point, the short of it is that using a crazy amout of geometry is going to make any workflow you have here cumbersome.
As for grid vs non grid its all about how the subdivision algorithms are applied to the mesh
The diagonal cuts on Jay's mesh still form 4 sided polygons, and so can be divided into smaller 4sided polys easily. (which is the smooth result also pictured), However its large initial size allows the polygon hole to be moved quite easily especially if its only by mm without affecting the smoothness of the end high poly mesh.
Having the edges of the mesh flow with the details in the model also tends to help avoid pinching or other subdivision artifacts that can occur where very acute angles occur. Also this is part of keeping the polycount fairly low for the base mesh, which is why changes are easy to make, but maintaining accuracy of shape.
I forgot the most important comparison. Polys are more fun:)
since you have kept fairly straight edges around the hole it should be simple to break the edges of that large square bit.. ok actually, picture to illustrate
This forum's a good resource. I wish that I found it a long time back when I was using booleans and wondering why the smooth modifier wouldn't nicely smooth my edges
THis is the sort of workflow thing I was talking about earlier. You didn't think of it because nurbs don't work that way, just like I try to punch holes in nurb surfaces and am always stymied.
This makes me think you'r making things a bit harder for yourself.
As you say, you need the surrounding geometry the have the appropriate 'density', so edges are sharp enough etc. By 'collapsing down' it sounds like you are freezing the entire object at that subdivision level, increasing the density everywhere.
If that's the case, what you need to do is just manually add in edgeloops where needed, the effect of which you can see with the subd preview on the model. This way you have a lot less to deal with and making alterations is much easier.