So, I wanted to get the high to low poly workflow nailed down before I carried on working on my other environment pieces, and thought that some smaller prop assets would be the best way to do this.
As such, I went for a portable communications unit from Paul Richards' concept artwork from Quake 4.
Some of the edgeflow and overall shape modeling has been quite challenging, so I'm still looking for ways to get a cleaner high-poly result. I still have to model the handle and a few small bits of floating geometry, then on to make the low-poly and start unwrapping.
C&C would be appreciated.
Replies
As for color schemes, I'm thinking something close to the concept. Maybe a mid-black matte plastic for the interior parts, a pale blueish metallic exterior and a slight green tint to the screen displays. I was thinking about adding some very slight illumination to the keys, to add some extra color to the lower interior section. What do you guys think?
Thanks again for the comments, guys!
If you just want to get onto the lowpoly to practice the entire workflow that is cool, but i highly suggest you slow down and take some more time to really look at the concept, see the differences and try to find a better way to approach the challenges in front of you.
There is a lot of good info here, i would suggest reading most of this to see how other people attack complex shapes:
http://boards.polycount.net/showthread.php?t=56014
Aside from that i think the best advice i can give you is to work more on the "lower levels" by that i mean, block out all of your shapes and forms with simply polys, before going in and adding all these supporting edges to retain shape in sub-d. To me it looks like you got restless and wanted to add details in right away, so you ended up with this overly dense mesh that was really hard to edit. You need to nail down the basics of the forms before worrying about hardening up edges, which at times can be the most aggravating challenge with sub-d, as we all just want to see a finish result as quickly as possible.
I've definitely been impatient, as one thing I resolved to do this year was take more models to term and start completing assets. I'm also keen to get some more practice in texturing and the entirety of the workflow, which has probably been a factor in my glossing over some of the more challenging aspects of the shapes. The transition from the smooth interior curves to the harder edges of the exterior casing has proven particularly challenging.
One thing I'm trying to develop my knowledge of is knowing when to use separate pieces of geometry, and when to use single pieces. Sometimes creating a single mesh (which the two halves of the casing obviously are at the moment) seems like a good idea, but as you say, can quickly end up looking weird or bland as my model does right now.
I'm not at my work machine right now, but I'll be sure to post some examples of areas of the model that I found especially challenging, and will probably end up reworking the majority of the model.
Thanks again - this is exactly the kind of feedback I need.
Upper half of the lower casing, without smoothing:
With smoothing:
And the lower half roughed in:
The part that's proving tricky is how to transition from the smooth, rounded corners to the defined edges of the inset handle area, and the two extrusions to either side of it. With a few support edges and two turbosmooth iterations, it comes out like this:
If I add edges to define the handle inset area, the corners don't round out as they do in the concept. I tried adding the extrusions as separate pieces, but this didn't look so hot either. However, extruding the two sections out of the main mesh could work, until I add support edges to define them, at which point it again interferes with the rounded corners.
Any suggestions?
^^ this is actually in response to your post in the other thread, which you seemed to have worked out now, but still worth saying.
To transition a hard edge into a soft edge, one thing you can do is make a partial edge selection, in this case select the edges you want to be softer, and then drag them away from the main edge to create a softer bevel there, while leaving the supporting edges where you want it to be harder as they are. You will transition from hard to soft where your selection ends, so just think about where you want to create that transition.
There are other ways to go about doing it as well, if you want to upload an OBJ without the supporting edges i can show you a couple examples.
Going with multiple objects wherever you can is always a good idea, even if you get bad intersecting, because its always easier to go back when the model is near complete and cut out some shapes or something to make a nicer intersection.
http://dl.dropbox.com/u/3593289/lower_casing_rough.obj
http://dl.dropbox.com/u/499159/lower_casing_rough_01.obj
Yeah, tell me about it. I seem to notice another inset or beveled edge every time I look at it.
Thanks very much for taking the time to go over the mesh, EQ - I really appreciate it. Looking at the unsmoothed mesh, I see what you mean by adding more geometry. The corners of my original seem a little harsh and needlessly minimal compared to what you've done, and the bake will no doubt be a lot cleaner as a result.
I'm presuming that you added in this loop and manually adjusted the verts to create the more rounded corner? I guess I'm still comparing the original model to this one to figure out which edges are new, and which ones are support edges for the original mesh.
I have to admit, I think I'll have to give much more thought to the planning stage before tackling a similar object. So far, for me, subdivision modeling has involved more guesswork than planning and I think I need to start figuring out how to leverage the predictability of sub-d beforehand by planning the edge loops and not being so thrifty with the starting geometry.
Anyways, back to work. Thanks again, man.
Basically : adding precise details is not always about supporting edges. It can be alot about just working from a more dense main 'grid'
Wow, I'd never even considered that, Pior. I guess the reason being I tend to be hesitant to 'complicate' the mesh because of a fear that the result would be unwieldy and more difficult to work with. Unless I'm missing the point, of course - are there any links where I could see an example of this kind of approach?
Right now I'm still blocking in a revised base mesh based on EQ's example - I feel that the most important thing for me to get a solid grip on is how edge flow affects the smoothed result. This will probably seem elementary to many, but I guess I had no idea just how valuable a learning experience this model would be when I first chose the concept to attempt.
Thanks again for everybody's patience and input.
I tend to use this method very rarely, i find its better to know how to easily cut details into your regular cage mesh than to do this, as it is a very destructive workflow. If you do do this, of course keep an extra copy around like pior says.
For me in most cases, if i really need a super high, evenly dense grid for small details i'll likely use floaters instead, and for more mid and low level details, my mesh flow is going to be suited to that specifically, so i dont find the need to do this often.
This can quickly lead to problems in a production environment, if you haven't gotten any approval on your base shapes before going in sub-dividing it and adding tons of details, now you've gotta go back to the base and redo a lot of work if you get a change request.
Made some adjustments to the shape, and although there's still some things to tweak (like the artifacting on the upper part of the handle inset), I'm thinking I'm almost there. Still have to reconnect the two halves of the lower and upper casings, hence the gap in the second image.
Also adjusted some of the interior details like the positioning of the two screens to match the reference more closely, and also rounded out the curves of the interior corners.
Still not sure what I want to do with the antenna and the dish support arm. I think adding some thickness to the arm will make it look more sturdy, and I may take some liberties with the antenna on the dish to look a little more sleek.
A big part of this is normal map resolution- if you look at the normal maps that ship with quake 4, this would be like a 256x256, or 512x512 at most. Probably 256 though. The reason doom3/quake4 has that chunky look is because you need big bevels to show up in low res normal maps.
For the interface surfaces of the case, you can get away with murder with floaters, don't worry about integrating any of the geometry. With floaters, you can make the little recesses in the dish deeper than the thickness of the dish- it doesn't matter if it's physically correct, as long as it 'pops' visually.
Like I said before- much of that quake4 look was informed by the technical limitations of that era. The concept artist had the sense to keep that in mind, and drew something that would work well in the idTech4 pipeline. Before you go nuts working out the little details, maybe you could try to go through the whole process of getting it in-game. Renderbump (the built in normal map generator in q4) had a tendency to make much deeper, colorful normalmaps than most 3d apps do. IMHO, it made for more dramatic shading that looked better with their lighting model.
Thanks for the feedback, Cap. With that in mind, I went back and started rounding out the lower casing, and trying to combine the two halves of the lower section. Not finished by any means, but it looks much closer to the concept than it did. Finally feel like I'm beginning to get somewhere with this...
I agree with what Firebert said about the handle- and wanted to add that the antenna seems a little thin as well compared to the concept. Either way- I can't wait to see this textured. It's amazing how an idea as simple as "computer suitcase" can look so cool in 3d
You're right, though - the handle and the antenna still aren't measuring up. I'm starting the low poly to give me something else to do to ensure the project keeps moving forward, and when I've done most of that I'll come back and fix them.
Thanks again to EQ for pointing out and kicking me up the proverbial ass for my laziness, and to everyone else for their input.
Back to work!
Low-poly with wireframes and test baked normal map applied to see where I'm going wrong:
So after trawling through the be-all and end-all thread, I'm pretty sure that adding geometry along these highlighted edges will reduce the errors and artifacting I'm seeing here?
It's this aspect of normal mapping that's proving quite frustrating right now, and I really want to get this nailed. Would beveling the edges be the best way to avoid the errors in the bake, or a combination of beveling and splitting the UV groups up?
I guess I've been putting it off, and I really need to get the normal map to play nice with the hard edges. Suggestions?
I'm pleased with how the keyboard tray's edges came out, but I'm still getting some terrible pixelation on some of the floating geometry, and as you can see, the outlines of the floating geometry are clearly visible, even though they're as close to the surface as possible. Is there anything I can do to minimize this, besides going back to the high-poly and modeling them in?
It seems that the areas of intersection on the high poly are also pretty obvious, as indicated on the image below.
Since I modeled the high-poly pieces separately to make it easier to achieve the transition of curves from exterior to interior pieces, is there anything I can do aside from going back to the high-poly and attaching the pieces together to avoid these obvious intersections on the bake?
Thanks again for everyone's input.
And actually it could be caused by the lowpoly. What is going on here, is the green portion a separate mesh that is just sitting right above the blue portion? And why are there so many loops like the ones highlighted in red that just end at a big n-gon. Also things like the edges circled in red could be welded over to the corners (illustrated by yellow lines) since they done seem to be holding any shape on the top of that screen.
PAINT OVER
http://img687.imageshack.us/img687/3057/comunitpaint.jpg
I'd be tempted to ask you to post your HP to see how different artists would tackle the low. But given that its a rather polished asset it would feel a bit awkward ...
Yeah, the upper section of the lower half is a separate object sitting just inside the object in blue on the paint over. I guess that the low-poly geometry could be a little smarter, like in the examples you pointed out.
Yeah, I'm still trying to get my head around the best approach to the high-to-low workflow, and as such I've probably done things in a less than optimal way.
If anyone has the time and inclination to offer any insight into what I've done wrong, or how I can improve, I'd be more than grateful.
http://dl.dropbox.com/u/3593289/comms_unit_high.obj
For objects with any level of complexity I usually end up breaking the models down into several parts, capturing the normals separately, and then re-assembling the final map in Photoshop. Doing it that way tends to make it easier to spot places where the projection cage isn't lined up right and usually lets me push it less too. Basically anywhere that the low-poly edge loops arent perfect is is a place where you will probably need to tweek the cage by hand.
There are a couple of obvious errors resulting from intersecting geometry, namely the protruding dish and the flip screen on the right, but it's the pixelation on the floating geometry and the black edging on the dish that's bothering me.
I went back to the low poly mesh and beveled the edges on the dish to try and eliminate the black edging, but it's still there as is the pixelation.
I'm using xNormal to generate the maps, with constant ray distances. Sometime this afternoon I'm going to try an exploded bake to see how that turns out.
uh hello? that is tangent space
The face of the enemy:
So I guess I'm baking it incorrectly, or less than optimally anyways, and that my low-poly geometry is completely unsuitable. Hell, the high-poly probably isn't helping, either. It's definitely beginning to try my patience, that's for sure!
In xNormal, I'm using constant ray distance, an Edge Padding setting of 8, a Bucket Size of 16 and an AA setting of 1. Rendering at 4x right now, to see if that will help.
If anyone can offer any insight into just how badly I've fucked this up, and what I can do to rectify the problem, I'll give you a cookie.