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

shadermap_issue_AO.jpg
Ambient Occlusion rendered white.

shadermap_issue1.jpg
WS Normals rendered as gray image from 3d model.

Comments

  • That is strange. My first thought, like yours, was that the Normals are not being loaded or are not included in the FBX file. I confirmed the latter by loading your attached FBX models with ShaderMap in debug mode. Each normal imported by the FBX SDK is the same (0.0, 0.0, 0.0). That's no good.

    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..

    12_16_2015_a.jpg

    12_16_2015_b.jpg
  • Oooh?
    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.
  • hawkenfox wrote:
    Oooh?
    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
  • Hey yeah , I updated the blender to the latest 2.76b version and it seems to have the issue resolved it.
    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.

    shadermap_AO.jpg

    Thanks again!
  • 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.

    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.
  • RSI wrote:
    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.

    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.

    Render_w_plane.jpg
    You can see I have imported a plane on this particular Fbx file.

    Render_wo_plane.jpg
    This one does not have a plane.

    Result_wo_plane.jpg
    The money shot comparison , the one on the left have AO bake reflecting floor occlusion.

    Cheers,
    Hawkenfox.
  • If you guys are feeling adventurous you could even make the plane rotate around the model
    if for some reason the artists need a wall plane instead of a ground plane.

    Cheers,
    Hawkenfox.
Sign In or Register to comment.