Author : Nate Broach


Reply
Reply
 
Thread Tools Display Modes
Thunder's Avatar
Old (#1)
Ok, so there has been some disagreement between myself and a friend of mine *cough* oniram *cough* as to a technique I used to create a normal map. The technique I used is to add floating pieces. I had seen this be extremely effective on other normal maps so I figured, "why wouldn't it work with bigger objects?" because in the end it's all going on a plane anyway.

Here is the piece of the floor texture I'm making. It's a scifi floor btw.


Here is the image from a side perspective view where you can see that details are floating. everything except the main grate body(the box around and the x shape in the middle) are floating.



With the exception of one issue around the corners of the grate at the bottom(easily photoshopped out), I had no problems rendering it.



I'm trying to find out if there is truly a drawback to this when using it for floors. It's a quick and easy way to stack detail without having to worry about topology that much. Oh and excuse the screen grabs
Offline , null, 22 Posts, Join Date Feb 2010, Location Miami, Florida  
   Reply With Quote

kdm3d's Avatar
Old (#2)
the only drawback is a few extra steps when rendering your AO maps... but that a technique we use a lot here. It can be a lot cleaner, faster, and nondestructable workflow.
Offline , spline, 216 Posts, Join Date Oct 2009, Location Federal Way, Wa  
   Reply With Quote

Thunder's Avatar
Old (#3)
actually, oniram showed me a cooltrick by using scanline with light tracer(default settings). under the render setup you set filter to catmul-rom and enable global supersampling with hammersley at 1.0 quality. then set you apply a white material to the high poly and boom, eliminates the wierd AO errors with floating objects.
Offline , null, 22 Posts, Join Date Feb 2010, Location Miami, Florida  
   Reply With Quote

MoP's Avatar
Old (#4)
Yes, this technique has been in practise for as long as normal-mapping has been around in games.

If you looked at some of the source highpolys for Doom3's textures (made in Lightwave), they were stacked up a good 10-20 units out from each other and rendered as a flat normalmap using "renderbumpFlat" in Doom3.
Offline , MoP, 11,603 Posts, Join Date Oct 2004, Location London, UK  
   Reply With Quote

kdm3d's Avatar
Old (#5)
Quote:
Originally Posted by Thunder View Post
actually, oniram showed me a cooltrick by using scanline with light tracer(default settings). under the render setup you set filter to catmul-rom and enable global supersampling with hammersley at 1.0 quality. then set you apply a white material to the high poly and boom, eliminates the wierd AO errors with floating objects.

I'll have to try that out.. nice!
Offline , spline, 216 Posts, Join Date Oct 2009, Location Federal Way, Wa  
   Reply With Quote

thomasmahler's Avatar
Old (#6)
Super useful for highPoly inorganics and it's being used a lot for game models - same way Crazybump is being used for other stuff to enhance details or simulate detail that isn't really there.
Offline , line, 60 Posts, Join Date Jan 2008, Location Irvine  
   Reply With Quote

Eric Chadwick's Avatar
Old (#7)
They guys at Raven talked about using floaters too...
http://www.iddevnet.com/quake4/ArtRe...6e0ea75dee4afa
Offline , Polycount.com Editor, 6,669 Posts, Join Date Oct 2004, Location Boston USA  
   Reply With Quote

Oniram's Avatar
Old (#8)
well my main dispute was not with the floating geometry, being that was what i had advised you to do originally.. my major dispute was with the floating planes you used to clean up your modeling errors.
Offline , card carrying polycounter, 2,030 Posts, Join Date Apr 2007, Location Belmont, CA Send a message via Skype™ to Oniram  
   Reply With Quote

kdm3d's Avatar
Old (#9)
oh... well, sloppy as that is, its the final result that matters. In a time crunch, sometimes its better to hack something than spend hours trying to fix the problem. That being said... clean geo from the beginning is always the better way to go.
Offline , spline, 216 Posts, Join Date Oct 2009, Location Federal Way, Wa  
   Reply With Quote

Ghostscape's Avatar
Old (#10)
Quote:
Originally Posted by Oniram View Post
well my main dispute was not with the floating geometry, being that was what i had advised you to do originally.. my major dispute was with the floating planes you used to clean up your modeling errors.
If I have gross-as-fuck messy shading/meshflow in the interior of an inset area I will frequently put a plane or whatever in the bottom of it to hide that. I've been doing that in a production environment for 3 years and it has been nothing but useful, hope this helps

Seriously, end result is what matters, not workflow. If you sacrifice a goat to get your normal maps working and it does it consistently and efficiently, then sacrifice goats or use floaters or whatever. The only time a method isn't correct is when it doesn't give the desired output.
Offline , dedicated polycounter, 1,563 Posts, Join Date Aug 2006, Location Irvine, CA  
   Reply With Quote

Eric Chadwick's Avatar
Old (#11)
Quote:
Originally Posted by Thunder View Post
actually, oniram showed me a cooltrick by using scanline with light tracer(default settings). under the render setup you set filter to catmul-rom and enable global supersampling with hammersley at 1.0 quality. then set you apply a white material to the high poly and boom, eliminates the wierd AO errors with floating objects.
Hmm, I don't get it, what errors does this solve? Supersampling gives antialiasing around the edges of floaters, but it doesn't fix the problem where floaters don't cast good AO because they're too far away.

I thought EQ had a nice workaround for this.
Offline , Polycount.com Editor, 6,669 Posts, Join Date Oct 2004, Location Boston USA  
   Reply With Quote

Ruz's Avatar
Old (#12)
I found turning off padding ie setting it to '0' got rid of any floater artefacts.
you probably knew that already
http://www.mikerusby.com/
I thought Gore Vidal was a hairdresser then I looked him up and found he wasn't..
Offline , veteran polycounter, 4,390 Posts, Join Date Oct 2004, Location Uk(London)  
   Reply With Quote

Oniram's Avatar
Old (#13)
Quote:
Originally Posted by EricChadwick View Post
Hmm, I don't get it, what errors does this solve? Supersampling gives antialiasing around the edges of floaters, but it doesn't fix the problem where floaters don't cast good AO because they're too far away.

I thought EQ had a nice workaround for this.
here's what he was trying to say.

using mental ray naturally captures better line detail than scanline without supersampling. the preset Ambient Occlusion (MR) option for render to texture will leave shadows in areas that you absolutely do not want them. Light tracer filters that out pretty much when you render as a complete map with scanline. the supersampling is required (sometimes) just to account for the sharply filtered pixels.



Offline , card carrying polycounter, 2,030 Posts, Join Date Apr 2007, Location Belmont, CA Send a message via Skype™ to Oniram  
   Reply With Quote

Thunder's Avatar
Old (#14)
Thank you for the much clearer explanation. I just kind of said "do it and it will work" but you explained why.

On a more awesome note, you need to post a tutorial on the cage-import/export-ma-thingy so i can see and render out the AO for the foot locker (which i finished)
Offline , null, 22 Posts, Join Date Feb 2010, Location Miami, Florida  
   Reply With Quote

r_fletch_r's Avatar
Old (#15)
just set the max distance in the mentalray AO shader. its set to 0 by default which means occlusion rays will be cast an infinite distance. if you set it to a value lower than the distance between your floaters and the surface the problem is fixed.

This way you get to keep the falloff and Spread settings. giving you nice cavity shading that the light tracer cant do

Last edited by r_fletch_r; 04-14-2010 at 03:52 PM..
Offline , veteran polycounter, 2,970 Posts, Join Date Feb 2010, Location Ireland  
   Reply With Quote

SHEPEIRO's Avatar
Old (#16)
these tricks are never necessarily good or bad in themselves, if you only ever bake that asset once and use whatever quick fixes are available that can be a huge time saver, when your not sure of that it can be worth (often in hindsight) to build the asset properly, this is something i know yet frequently get wrong...most of the time i feel an urge to make the asset proppery just in case when it never needs to be, seams to fullfill a need...sorry for not adding anything to the topic particularly
senior lighting artist @ r*north
Offline , veteran polycounter, 3,422 Posts, Join Date May 2006, Location edinburgh  
   Reply With Quote

Oniram's Avatar
Old (#17)
Quote:
Originally Posted by r_fletch_r View Post
just set the max distance in the mentalray AO shader. its set to 0 by default which means occlusion rays will be cast an infinite distance. if you set it to a value lower than the distance between your floaters and the surface the problem is fixed.

This way you get to keep the falloff and Spread settings. giving you nice cavity shading that the light tracer cant do

so what happens to the rest of the objects that are meant to make AO that is further than the max distance you set?
Offline , card carrying polycounter, 2,030 Posts, Join Date Apr 2007, Location Belmont, CA Send a message via Skype™ to Oniram  
   Reply With Quote

r_fletch_r's Avatar
Old (#18)
Quote:
Originally Posted by Oniram View Post
so what happens to the rest of the objects that are meant to make AO that is further than the max distance you set?
Why would you float geometry that is supposed to be providing you with cavity/intersection shading. that makes no sense. If its supposed to be providing an indent then float it. if not just mate it with the surface.
Offline , veteran polycounter, 2,970 Posts, Join Date Feb 2010, Location Ireland  
   Reply With Quote

SHEPEIRO's Avatar
Old (#19)
if its quick two bakes...then blend in PS
senior lighting artist @ r*north
Offline , veteran polycounter, 3,422 Posts, Join Date May 2006, Location edinburgh  
   Reply With Quote

Oniram's Avatar
Old (#20)
Quote:
Originally Posted by r_fletch_r View Post
Why would you float geometry that is supposed to be providing you with cavity/intersection shading. that makes no sense. If its supposed to be providing an indent then float it. if not just mate it with the surface.
not necessarily floating geometry. heres an example. you have geometry floating 1 unit above your mesh. if you set the max distance to 1, will the AO cut off at 1 for the entire mesh? even if you have other pieces of the mesh (not necessarily floating) that create AO with a distance further than 1.
Offline , card carrying polycounter, 2,030 Posts, Join Date Apr 2007, Location Belmont, CA Send a message via Skype™ to Oniram  
   Reply With Quote

r_fletch_r's Avatar
Old (#21)
Quote:
Originally Posted by Oniram View Post
not necessarily floating geometry. heres an example. you have geometry floating 1 unit above your mesh. if you set the max distance to 1, will the AO cut off at 1 for the entire mesh? even if you have other pieces of the mesh (not necessarily floating) that create AO with a distance further than 1.
I'm not sure i get how you are conceptualizing this. so ill just explain it as i understand it

for every pixel rendered a cone of rays is shot from its world space position. these rays wont return hits for faces more than the max distance. so faces further than the max distance from the pixel will not cause occlusion shading. The end result is corners and contact areas will get shadowed but the floaters wont.







Last edited by r_fletch_r; 04-14-2010 at 05:00 PM..
Offline , veteran polycounter, 2,970 Posts, Join Date Feb 2010, Location Ireland  
   Reply With Quote

Oniram's Avatar
Old (#22)
ok. so i tried it out.. and i figured that unless i am doing something wrong, this does not come out as it should.. what is happening here is exactly what i was saying in my previous posts. not only does the AO still show up, but it does not get as much AO because everything past whatever the max distance setting is will be cut off.

Offline , card carrying polycounter, 2,030 Posts, Join Date Apr 2007, Location Belmont, CA Send a message via Skype™ to Oniram  
   Reply With Quote

Eric Chadwick's Avatar
Old (#23)
So just push your floaters up higher. They could be 100 units up, doesn't matter for the normal map bake.
Offline , Polycount.com Editor, 6,669 Posts, Join Date Oct 2004, Location Boston USA  
   Reply With Quote

r_fletch_r's Avatar
Old (#24)
Im coming from more of a rendering background than games. I'm intrigued as to why you want the AO to fill out your map so much. In my mind AO is to accentuate cavities and intersections. not light the entire object. when rendering scenes id always try and avoid broad AO regions as they look dirty and fake. Id usually rely on cast shadows for those sort of broad shadow details.
Im not saying your wrong im just interested in why its done this way

Last edited by r_fletch_r; 04-14-2010 at 05:12 PM..
Offline , veteran polycounter, 2,970 Posts, Join Date Feb 2010, Location Ireland  
   Reply With Quote

Oniram's Avatar
Old (#25)
Quote:
Originally Posted by r_fletch_r View Post
Im coming from more of a rendering background than games. I'm intrigued as to why you want the AO to fill out your map so much. In my mind AO is to accentuate cavities and intersections. not light the entire object. when rendering scenes id always try and avoid broad AO regions as they look dirty and fake. Id usually rely on cast shadows for those sort of broad shadow details.
Im not saying your wrong im just interested in why its done this way
fake is exactly why. because of a limit of polygons in games, its impossible to capture all the detail from a high poly mesh. baking the AO as an "extreme" is just a way to fake the shape of something so that it looks a lot more detailed than it really is. this way also it helps (speaking for myself here dunno is many other people think this way) for a base of what to do with a texture.
Offline , card carrying polycounter, 2,030 Posts, Join Date Apr 2007, Location Belmont, CA Send a message via Skype™ to Oniram  
   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Copyright 1998-2012 A. Risch