From a cursory look, it looks like blend2bam in conjunction with panda3d-simplepbr should be able to handle this without trouble, since it uses a fairly standard Principled BSDF setup.
Let us know if you are encountering issues with it.
You can use blend2bam like @rdb suggested. I use it as it is able to export large blend files. If you want .egg files, use bam2egg after using blend2bam.
What exactly do you mean by “you cant set the background colour”? Are you suggesting that the colour doesn’t appear at all?
Please note that simplepbr uses gamma-correct rendering, so the colours may appear somewhat different; the background colour matching your chosen colour with gamma correction should be (0.112, 0.174, 0.174).
Do you have the textures, too? They’re not included in the .blend file, so that’s why there are no textures appearing in Panda either. Maybe you could send me a new file with the textures packed in?
I could identify several other problems with your materials. For one, you have no coordinates defined for any of your textures, so there is no way to sample them:
You need to use an UV Map node with the correct UV set selected. Also select the correct UV set on the Normal Map node. Like so:
Since you are using normal maps, you also need to make sure that you have enabled them in simplepbr:
simplepbr.init(use_normal_maps=True)
Your normal maps are also marked as “sRGB” color space, which will cause incorrect results. You should select “Non-Color” (for the normal maps, not for the base color textures!), as shown above.
Everything shows up fine in blender. I packed the textures, added a UV map, set the normals to non-color, but im having a lot of trouble with this one step.
Personally I like to just export to .gltf (which is an embedded .glb) from the Blender export menu. I use blend2bam for any Actors, because of the good armature support.
It’s a little finicky to get the UV mapping (I usually do a cube projection) and texturing just so. But it’s definitely possible to get a good result. I would recommend using the latest Blender version.