I want to send a model to someone who needs it in FBX format, but it has an AO map. Every tutorial I’ve been able to find says that you need to connect your BSDF shader to an overlay node with your albedo image and the AO map. However, FBX doesn’t allow overlay nodes and just deletes both of your maps if you try to export with it.

Is there any way within Blender to associate an AO map with an FBX file on export (so that the FBX file has a path to the AO file, the same as it does for the albedo/metallic/roughness/normal maps)?


.fbx doesn't include textures. You can save the AO map as a separate image file and have the other person apply it to the mesh once they import the .fbx into whatever app they are using.

  • $\begingroup$ This link has more information on the pros and cons of .fbx files. threekit.com/blog/when-should-you-use-fbx-3d-file-format $\endgroup$ Mar 8 at 0:04
  • $\begingroup$ Yes, but if you import an FBX with separate images and appropriate pathing, it will connect all image textures to the BSDF automatically. This works great for most kinds of textures that don't absolutely require Blender nodes, but you can't use an AO map without one. Should I assume that anybody I send the AO map to will have to set it up manually on their end? $\endgroup$ Mar 9 at 0:16
  • 1
    $\begingroup$ I'm not sure what app the other user is using; however, while .fbx files do not include texture information, the do include uvs. So assuming you unwrapped your object (you would have to to bake ao) all the other user should have to do is plug the ao map into their bsdf and it should appear correctly. $\endgroup$ Mar 9 at 3:58
  • $\begingroup$ I believe what the OP is trying to accomplish (same as myself at the moment) is to have an AO file associated with an FBX file when exporting that FBX file. Meaning that the .fbx would contain a path to the AO file the same as it does for the albedo/metalness/roughness/normal maps. Therefore when loading the asset via another program or api (assimp in my case) you can tell that the file has an AO and that it should be loaded into the engine. So while this answer may be a workaround for a specific case, it does not answer the core question. $\endgroup$ May 24 at 16:54
  • $\begingroup$ @nullReference The FBX exporter does not export an AO map. You can check what gets exported in the source code. So you'll have to convey it via a side channel, like the answer says. $\endgroup$
    – scurest
    May 24 at 20:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.