Hey I was wondering what the best workflow would be for tiling textures and AO. Say I have a large tiling texture for a building or something that will be covering a building or something that needs shadowing etc. What would be the best way to get an AO for something like that? Would it be best to just use vert paint? What do most of you do? Thanks..
Replies
http://www.moddb.com/games/cc-renegade/tutorials/lightmap-tutorial (except don't set Flatten Map spacing to 0!)
http://www.translucency.com/araya/
I assume you mean storing AO in vertex colors. Really this is a pretty poor solution, and i've used it pretty extensively, it has far too many cons. Its really big pain to have to split up your mesh to prepare it for vert-ao, chopping in extra segments near things that intersect, etc. Really big pain to do that stuff, and the quality is just never going to be as good as using an image in the first place. So you're doing a lot more work, for a lot less quality, and maybe marginal texture memory savings at best. Not worth it in my book.
You can use a composite map if you want to see your AO on the model with the diffuse. Just be sure you set your AO Map to use UV channel 2.
The mini tut I posted takes about 30sec-2min, looks long and convoluted but its quick and easy.
Eric might be able to fill in the holes on this one but I think doing a second UV channel doubles your vert count? I'm not sure if vertex paint does the same thing? So there could be a resource trade off also?
With that being said, for some objects it might not really matter too much visually. I've done a bunch of trees using vertex paint, and it was much easier to do than it was to use a AO texture map and they looked much better than they would have with an AO texture map.
But for buildings with a lot of ornamentation, I would stick with a proper AO texture map on a second UV set.
Also note that after baking an AO map, adding extra grime to this map can be a very nice way to break up any tiling that may be showing up from textures in the first UV set.
http://graphics.cs.umass.edu/pubs/srt/
Not sure if theres an available Max plugin for this, but I'd imagine Unreal or Hammer would have it.
This looks like a realtime solution for radiosity/AO, and no mainstream engines can do this well that I know of. Even in the examples, they are only getting 15 fps for a single static object in a very simple environment. Throw in 24 characters running around calling dozens of animations, add in several dozen weapons each calling unique particle effects, and add take into account a much larger environment calling dozens of diffuse/spec/normal/opacity/reflection texture maps, and that 15 fps will be more like 1.5 fps.
Sure, it's a pretty good algorithm, but I doubt it's ready for games right at the moment. If this could be used in Max or Maya, it might be a faster lighting baker, but all of the big packages have very nice lighting options of comparible quality already. Most aren't too terrible lengthy for rendering to texture either.
If we could get real-time lighting that looked this good, we'd all be happy campers due to the time saved in baking out and touching up AO/lightmaps. But as it stands now, no engine can do this and everything else. We can still get similar good looking baked results, but the question is how do we store this data. Vertex colors are tedious to setup. Lightmaps on a second UV set look great, but greatly increase the UV vert count, and the textures themselves have to load and take up space on disc.
It's pick your poison at this point, and play to the strengths of the engine that you are using. There will absolutely be some kind of compromises made, and we've got to dance that line between efficiency and aesthetics.