Blender 3D Model Ambient Occlusion render as White [SOLVED]
The current issue am having with shadermap is that whenever I try to render the AO map
from a blender model it generates white AO. I do not know how to resolve this. I have attached
a couple of files MonkeyA.fbx, MonkeyA_cage.fbx, MonkeyB.fbx, MonkeyB_cage.fbx.
The Monkey A is exported with scale of 1:1 and Monkey B is exported with a 100 scale up factor.
I am also having trouble with the push cage. The scaling seems to be working but the push
cage just refuse to move at all. Also my WS normal generated from the 3d model give me
a black and white image, like a alpha mask of my UV map.
I read on the sticky someone was having trouble with imported normals on lightwave3d. I might
suspect it's the same issue since the push cage did not work as intended.
Attached is the rar files download from mega.co.nz
Ambient Occlusion rendered white.
WS Normals rendered as gray image from 3d model.
from a blender model it generates white AO. I do not know how to resolve this. I have attached
a couple of files MonkeyA.fbx, MonkeyA_cage.fbx, MonkeyB.fbx, MonkeyB_cage.fbx.
The Monkey A is exported with scale of 1:1 and Monkey B is exported with a 100 scale up factor.
I am also having trouble with the push cage. The scaling seems to be working but the push
cage just refuse to move at all. Also my WS normal generated from the 3d model give me
a black and white image, like a alpha mask of my UV map.
I read on the sticky someone was having trouble with imported normals on lightwave3d. I might
suspect it's the same issue since the push cage did not work as intended.
Attached is the rar files download from mega.co.nz
Ambient Occlusion rendered white.
WS Normals rendered as gray image from 3d model.
Comments
It looks like the model was exported without Normal data. I'm not sure what settings or script were used to export the FBX but I would start your investigation there.
I imported the "Monkey A" FBX file into Blender (2.7.4) then exported it to FBX with default exporter and settings. This time the Normals were included and I was able to bake AO and WS Normals in ShaderMap. See below.
Exaggerated Occlusion for demonstration..
So my meshes did not have normals! Hmm strange. I was still using 2.7.3 maybe it's time to upgrade. Anyhow you said you loaded the mesh into shadermap in debug mode ... are we able to debug such scenario on our version of shadermap 3?
Thanks for pointing me in the right direction, cheers.
Yes that is correct. Your meshes did not appear to have normals or at least they were not in a format that the Autodesk FBX SDK could read.
Debug is not available to end users. In this case I used Visual Studio to step through the source code for the ShaderMap FBX import plugin and viewed the normal data as it was being loaded for each vertex.
Best of luck getting this figured out. I am not sure upgrading from 2.7.3 will fix the issue. My guess is that it has something to do with your export settings or perhaps the model vertices simply have no normals or smoothing.
Cheers,
Neil
The blender dev improved the fbx export method on their end. So I guess the exporter on 2.7.3 seems
to be broken and I didn't know it until now. Cheers.
Extra Note :
Sure wish shadermap 3 would add a invisible 3d plane option during bake to emulate a floor plane for
some of the models what would benefit from one. Or else we did have to add the floor plane in our fbx
everytime we send it to bake an AO.
Thanks again!
Can you please give me a visual representation/better description of what you are requesting? Also why/how would a particular model benefit from the invisible floor plane? Thanks.
Most model would benefit from this additional tool. Basically it would be an option
to turn on a model plane in Shadermap. By default the plane would be place right
at the bottom of the loaded model. Then it could provide a slider for the user to
define the desired distance and size of the plane between the mesh and the
shadermap's internal floor plane.
Almost all physical models in the real world exist on a ground plane. And the only
thing I can think of that may not need a floor plane to bake are space stations , space
ships ... well not unless the space ship lands on a planet surface ... you would still end
up having a floor plane. So it makes sense to have a ground plane to build the Ambient
occlusion. Since ambient occlusion require polygon surfaces to compute the resulting
light bounce or rather occlusion.
Here are some workflow images of baking models for use in a archviz. Hope it helps
you understand where I am coming from.
You can see I have imported a plane on this particular Fbx file.
This one does not have a plane.
The money shot comparison , the one on the left have AO bake reflecting floor occlusion.
Cheers,
Hawkenfox.
if for some reason the artists need a wall plane instead of a ground plane.
Cheers,
Hawkenfox.