I've been working on this for a wee while for KillingPeople to practise texturing on. I've put in more work then I meant to so to make use of it I'll release the low poly and normal maps etc to anyone who fancies trying to texture it.
I'll try to find time to document some of the steps involved.
Larger Pic at
http://www.polycount.com/cottages/rorshach/pimp/SciFi_Support1big.jpg
Next to do is the low poly then I will process a Normal Map, Diffuse map and Global illumination map.
r.
Replies
great to see a more recent example of your high poly work, ror. i enjoy the attention to detail, especially on the scrapes and gouges on the interlocking v-shaped plates. should be a lot of fun to see how KP (and possibly others) will do with texturing it
like organic metal (new word x2 combo takedown evanaged!)
The lowpoly came in at 1676. Everything is processed but I'm tweaking the heightmap and lightmap before release of the assets.
On the above comparison shot you can see where max is getting confused about the mirrored cap section
on the top. The reason for this is due to max's normal support being flaky, this flaw would not appear in the
UE3 engine. In UE3, the cap at the top would appear like the cap at the bottom without the flaws.
You may be able to see from the low poly at the far right that the smoothing groups are pretty forced on the poles vclamps.
This is deliberate.
Low poly was best though of as a rigid hard form in previous engines, now
its best though of as putty and the softer it is and the more areas are on 1 smoothing group, the more ably
it will be able to grab all the hi poly information.
It may look bad in the preview window of max, but in-game it will just look like it should. It's because of this
that I chamfered the cap sections to make sure they were able to support the single smoothing group and
process better and also so that the object is self capping.
As for the damage looking more extra on the central section and then there being nothing on the poles, this
is because I'd hoped for a texture artist to pick up on my cue to demonstrate blast damage and burned
metal areas here. Also, I hope for a texture artist to further articulate the level of detail here and overlay
the softer dents with harder Photoshop generated impact crater marks and scoring.
The poles are plain because not everything needs to be articulated in 3d as that would be a poor use of time,
particularly on a smaller less prominent shape such as the poles where the texture guy can damage them up.
As to their lack of deformation in 3d, again it is counter productive to warp the hi poly then unwrap to a
warped low poly when I can treat it much like we would a ponytail on a character and keep it straight to
start with for a cleaner unwrap later to be followed by deformation in 3d once the texture is final.
In this case I have unwrapped every key area neatly into tiling squares so thatall the main sections of the
center body, pipes, clamps and bases are all capped and can be deformed through the 'Deform to Path'
function or recombined in different orders.
The end result of this would be that although I spent probably a full 5 days modelling, zbrushing, low
polying, unwrapping and processing, I will be able to get a dozen reuseable assets out of the set minimum.
The spec here is comparable to an average piece in UT2k7 and Gears of War. It all depends of course.
Recently I've been able to spend about 4x2048 normal/diffuse/spec maps and about 12k polys on a
single building for Gears. However, that's because its a singleplayer game and makes use of our streaming
technology more than UT7 where the spec is more optimized as there won't necessarily always be the
streaming tech to rely on in tight indoor levels.
It's also worth pointing out that the Building sections collectively, thanks to making things modular and
liberal use of path deforming, help to produce about 60-80 assets ingame and can also be the base sections
for later works.
I hope that helps to answer peoples questions.
Environments take a lot more time when articulating to hi poly level so we try to make the most of that
time by planning ahead to make everything modular, its really important to do this now and repetition is
the cornerstone of good environment design anyway so its all good!
r.
the model and that writeup is an invaluable aid to the community, Ror, thank you very much for taking the time out post it all for us.
[/ QUOTE ]
w3rd
the model and that writeup is an invaluable aid to the community, Ror, thank you very much for taking the time out post it all for us.
[/ QUOTE ]
Definately - thanks for taking the time out to do that Ror...it is much appreciated
Thank you
amazing that an expensive program like MAX would have problems where the U3 engine dosn't. Heh, looks like those guys at Max have some work to do.
[/ QUOTE ]
Yeah, because we all know the U3 engine is just some cheap garage-born hack of an engine and no one actually puts any work into it Besides, normal mapping has no use in games: its presence in the U3 engine's list of features is purely for show, wheras displaying cool real-time effects is vital to max's toolset (which has always been totally bug-free and never displays any kind of instability at all)
</facetiousness>
(Don't mind me, and yeah: great writeup Ror )
Yeah, because we all know the U3 engine is just some cheap garage-born hack of an engine and no one actually puts any work into it Besides, normal mapping has no use in games: its presence in the U3 engine's list of features is purely for show
[/ QUOTE ]
LOL, thats some comment! the U3 engine/reality engine or any of the new next-gen engines use normal mapping to improve the realism of the games. Eventually games will be as detailed as the current CG Animation, so normal mapping definately helps lessen the gap.
LOL, thats some comment! the U3 engine/reality engine or any of the new next-gen engines use normal mapping to improve the realism of the games. Eventually games will be as detailed as the current CG Animation, so normal mapping definately helps lessen the gap.
[/ QUOTE ]
Well damn, even properly labled and ludicrously phrased sarcasm doesn't seem to work on the net ._. This pains me like... like iodine in the communal colon of the net... Or something
Recovering from the typical New Year drinking has slowed me down so before finishing of the thread Im
going drop in a general tips list for doing this stuff.
Tips
1. Dont forget its not really Hi poly work, its generous lowpoly work that uses hi poly
assets to render out the design onto normal maps. Most people starting off on this tech forget what it is
that they are really doing and put too much articulation into the silhouette which requires you to spend too
many polys on the low poly later.
2. Try to model out all your low poly cages first without worrying about optimizing or turning quads into triangles
so that you can use this work as a guideline and cage to restrain you from forgetting what all
the hi poly assets are later going to be constrained to be processed down to.
3. Every part of your low poly needs to be capped and have a smoothing group, open edges will make it more
difficult to process a normal map and ensure the asset cannot correctly light ingame and it will be much
slower to render shadows from and upon.
4. Softer curves and angles produce better normal maps than overly tight chamfers and bevels because the normal
map that is rendered from the HI to the LOW is relative to the normals of the LOW. What this
means is that if you model a detailed Hipoly sphere and then a flat plane Lowpoly and process it down it
will process an enormous amount of colour information into the normal map in an attempt to map a flat
plane look like a sphere! If you however process the Hipoly information down to an identical sphere
Lowpoly, there will be almost no colour information in the normal map at all because its only required
when the normal map has to describe additional forms that are more complex than the Low poly asset.
It is vital that you understand this.
5. Mirroring is now flaky and requires work a around. We can no longer mirror a UVW Unwrap in the
centre of an object, we need to almost mirror it by ensuring that its a ¾ unwrap of the front
section and then it can mirror the rest of the object. In a nutshell, the Rorschach effect is no longer
applicable as it creates shadowing and lighting errors often. Normally, when unwrapping a face for
instance, people unwrap the front ¾ on a unique space and then mirror the rest apart from the back of
the head which follows the same ¾ unwrap rule. This rule should be applied to all objects in general now.
6. Assets that do not have a 100% unique unwrap now require a 2nd UVW channel where there are unique
UVW coordinates for all parts of the model. This 2nd UVW channel is for the light and shadow information
to work correctly ingame rather than trying to use the mirrored unwrap as it creates mirrored shadowing.
7. Processing normal maps in Max requires that all mirrored sections of the UVW coordinates must be
detached and moved away from the original coordinates or when the normal map has processed it
overlays the wireframe of the lowpoly over the top of the normal map.
8. It is often a requirement to process separate parts of the scene in separate files or processing passes because
of the amount of polygons being hi enough that Max or Melody or our inhouse tools cant handle it all
at once and needs small chunks. Typically once your scene starts hitting a 100meg in size this may be
a requirement.
9. The more objects you instance (like bolts and mirrored sections) in Max, the easier it is to process and
the smaller the file size and the easier it is to update. Using layers to neatly group all the sections and then
freezing the areas you are not working on is a good way to go to reduce waiting times between complex
operations.
10. PolyCruncher from www.mootools.com is a vital plugin when working between Max and Zbrush.
It is capable of optimizing zbrush chunks, generally between 75-90 percent without any real noticeable
difference in quality. When using it, always remember to use the select and optimize button as it causes
less crashes when selecting parts you want to optimize. Always keep your chunks below half a million
when optimizing them in PolyCruncher.
I think thats enough for now, Ill get back to this when Ive got more time.
A lot of these tips will be useless to you until you have
been going through the process for a while, but eventually they
should make sense
r.
Question:
Has anyone used PPL tech where the color space is sampled on a per polygon basis (IE: in every instance green isn't always up or down?)
To simplify my question: Have you ever made an oldschool model UV with mirroring and overlapping and had the normal maps render correctly? This question is especially directed to those who mix and match by using the Nvidia filter and a 3D app to generate some of their normal map details.
-R
What you shouldn't do with mix and matching is rotate the normalmap sections to fit into the texture space because that then orientates the normals incorrectly relative to what any given game engine is looking for.
Hope this helps.
[ QUOTE ]
5. Mirroring is now flaky and requires work a around. We can no longer mirror a UVW Unwrap in the
centre of an object, we need to almost mirror it by ensuring that its a ¾ unwrap of the front
section and then it can mirror the rest of the object ...
[/ QUOTE ]
Sounds like you're just shuffling the lighting discontinuity off to the side of the head, instead of leaving it at the midline. True? Or does the error actually disappear altogether?
[ QUOTE ]
6. Assets that do not have a 100% unique unwrap now require a 2nd UVW channel ... for the light and shadow information to work correctly ingame rather than trying to use the mirrored unwrap as it creates mirrored shadowing.
[/ QUOTE ]
Is this a replacement for calculating the bitangents to use in the shader? From all I've heard, that should fix (almost) all mirror-shading problems.
Or maybe you're using that 2nd UV for light-mapping tech like PRT?
At our current stage of development, we've put off implementing the binormal calculation so the coders can concentrate on other more pressing things. So the artists don't use any UV mirroring at all, and it's bugging the heck out of us, it can be such a waste of UV space.
We've created most of the pre-processor that calculates the proper bitangent "flow," and it does it automagically with no artist involvement. So it seems this step is do-able on the tools end. Anyhow, I haven't seen it spit out anything visually compelling yet, so I'm reserving judgement.
One last request, could you detail some of the work that goes into your speculars? I recall you said something about it in the Jobs section awhile back.
[ QUOTE ]
At our current stage of development, we've put off implementing the binormal calculation so the coders can concentrate on other more pressing things. So the artists don't use any UV mirroring at all, and it's bugging the heck out of us, it can be such a waste of UV space.
[/ QUOTE ]
I had the same frustrations with doom3 tech, source tech and splinter cell tech. I spent all that time learning howto make efficient UV's and that knowledge went to waste...at least with those PPL engines.
-R
....This is an engine rendering limitation, not a normal map generation issue.
[/ QUOTE ]Yeah I should have clarified, I spend most of my time on D3 tech forums (and thier ilke) so I keep forgetting there *are* other PPL engines out there
By using the 3/4 face unwrap method, we do not shuffle the problem away, we eradicate it and the 2nd UVW channel problems a unique set of lighting and shadowing coordinate information.
I do not know the technical explanation and I do not even understand much of your technical questions, I only understand from experience what I have seen work ingame.
Like in the case of the normal map i gave as an example here, although max gets confused rendering mirrored sections, as long as the 3/4 rule is observed, the UE3 engine handles it fine.
As for the specular question, I'll ask the big Moosey to check the thread out and see if he can spare time to address the texturing side of things because I chose to specialize at the start of the project and work only in 3d.
r.
Sorry about the techy bits. I'm still coming to grips with this mirroring thing, a bit impatient not having something to play with yet.
And thanks for asking Moose.
Lowpoly - http://www.polycount.com/cottages/rorshach/pimp/SciFi_Support1_low.zip
And thats me done! The Diffuse is just a mask like base
to make it easier for you to seperate pieces out from the whole.
The Heightmap and lightmap are just aides to help you work out the depth of things and construct your specular.
I realise theres a lot more Q&A that could be done but it's back to work for me tomorrow so I won't be adding more info
or assets to this thread.
It all gets easier with practise, all I can advise people is to simply practise and eventually they will get good with
the new tech and start enjoying themselves.
All the best for 2006 folks and watch out for Gears of War and UT2k7!
r.
G E A R S of W A R !
a word on the mirroring though, in doom tech games theres alot of mirroring going on, and it looks just fine for the most part, in q4 almost all of the marine and strogg heads are mirrored all the way down the middle, theres a tag in the doom 3 engine shaders called unsmoothedtangents which makes the seams disappear (for the most part).
I've made quite a few characters using that tech, and I've actually been able to do all the things I could do with oldschool models, mirroring down the center, mirroring chunks here and there. It also depends on how you render your normal map, main thing is to make sure is that the normals interpolate over the whole mesh and there aren't any breaks that you don't need, like for rendering I don't delete the overlapping part of the uvs I just scale it down and drop it in the corner somewhere and then just use that for rendering, but for the ingame mesh the uvs overlap.
hey ror that lightmap looking thing you got, is that just a gi thing rendered to texture or did you do something different? it kind of looks like a cavity map from zmapper.
r.
http://art.lee3dee.com/files/rorshach_U3_guide.pdf
by request on irc, here's an obj for those not using max
http://art.lee3dee.com/files/scfi_support.obj
got your processed normal and diffuse showing in DX9 so i can start to edit them. thanks for contributing, with the time you had off work.
edit: render fixed. xsi users, send me a PM if you would like my scene.
well, i think it's a little messy, but i was having fun doing so. i'll probably try another. these are screen grabs from the viewport. the first two have spec color maps and i faked a bloom effect on the red lights in photoshop. the second i darkened the diffuse map drastically to see what it would look like, and i thought it looked pretty rad. the third is using metalbump9 and has some quick lighting (no illumination or spec color maps).
here are the flats
below 50% the size
thanks again to ror.