I've seen a lot of materials posted here and other places and some of them leave the AO slot (or whatever the equivalent is in other programs) unplugged. I was wondering what's your reason to do that if you do?
According to the official
Marmoset workflow on PBR,, an ambient occlusion texture is needed to stop incoming light from ambient light sources.
Replies
Ok then there is no reason what so ever to not use it. It is entirely physically correct. It will allow you to light an object without it occluding direct lights.
Nope. With metalness you can store the metalnes map in the Red channel, the AO in the Blue channel, and then gloss in the green channel. Doesn't really matter what channel you store them. The point is you aren't using any extra textures. You actullay end up with 3 textures that way Albedo, Normals, and Metalness/AO/Gloss maps.
^^^^You do realize you just tried to school someone that has more UE experience that all of us combined right? :poly142:
I didn't try to school anyone. Also that knowledge is hardly specific to UE.
Nothing wrong with using AO maps for your portfolio pieces imo though.
TECHNOLOGY, HO!
Yeah but using an alpha channel is just as expenisve as using a full rbg map so you would actually be using the memory of 4 textures at that point which isn't cheaper.
Really have to learn UE4 now !!
@Warren: Now that's interesting. I thought most compression algorithms compress the R,B, and Alpha channels in the same way and leave a bit more room for the green one. Are there any good articles/papers dealing with this sort of stuff?
//edit: It just crossed my mind that the Normal Map could be cut down to two channels, which would make room for the AO map. That will probably require modifying the engine's normal map handling process, though. So either with or without alpha channels, I too have come to the conclusion that there is no point in not storing AO separately.
I wish knew more technically to speak to specifics, but from what I have heard from tech artists alpha channels are really expensive especially if you need any sort of detail in them. So just as expenisve to have full rgb map as it would to add an 8 or 16 bit alpha channel. It would be especially preferable to do a full rgb and channel pack than it would be to add an alpha channel to 2 textures.
So one RGBA texture uses the same memory as 2 RGB textures. Or so I've been told... I used to try and pack my spec into the alpha channel of the diffuse and was politely asked to stop.
About halfway down the page he shows filesize of 3 textures with alphas vs 4 textures (the 3 alphas packed into RGB of the 4th image). 1 RGBA appears to take 1366kb, while 1 RGB takes 683kb, so 3x1366 = 4098kb vs 4x683 = 2732kb.
If you have an AO texture that is in your shader that is separate from your Diffuse you are doing it right. Not needed and an extra texture look up, but for folio stuff no reason not too.
do not forget that the AO you get by default from your bake is way too strong for realistic AO out of the box, implying you use default settings from xnormal etc
Maybe writing my own shader that uses a separate image to store gloss, specular and even an alpha into RGB channels would be a good idea. It means having three images using RGB and no alpha channels would be used. ^_^ Before, I was using two textures with RGBA (diffuse with specular, normal with gloss, and a numeral value for transparency).
To jump back on the topic of the thread, to show off your work you should be using the AO anyway. Many ways of packing that AO map in with other maps though.
I did some tests in UE4, and found the difference between using AO is night and day.
Here is AO when being lit directly by the sun and skylight,
Here is AO when the sun is facing away from the object (so only the skylight is providing light)
As you can see, you need AO to provide indirect shadowing in your object! This is very important for UE4 users when real time global illumination is kinda lacking right now.
And here's the material. AO only goes in the AO slot. DO NOT BAKE IT IN YOUR DIFFUSE/ALBEDO.