I think I've come across a bug with how SceneLoader handles positioning. Not sure yet whether this is BJS 2.4, or the FBXExporter code that is being used to generate a .babylon file from the FBX that I exported from Blender.
When I load this file:
https://drive.google.com/open?id=0BzfS-gwTfPBtMFp1bzg5N1BLOWM
using BABYLON.SceneLoader.load()
I can't get the correct BoundingInfo for the lower equalizer bars (38_EQBars001); it provides the same bounding info as the upper equalizer bars (37_EQBars002).
e.g.
for (i = 0; i < myScene.meshes.length; i++){
myScene.meshes[i].refreshBoundingInfo();
console.log("found mesh with min: id = "+myScene.meshes[i].id+", "+myScene.meshes[i].getBoundingInfo().minimum.y+", and max"+myScene.meshes[i].getBoundingInfo().maximum.y);
}
returns the same min and max Y values for both equalizer meshes; even though they display correctly (e.g. not the same positions).
If you analyze the JSON of the .babylon file; you'll notice the position values for both meshes are almost identical. What is different is the rotation quaternion for both meshes - which makes sense because to create the 2nd set of equalizer bars, I cloned the first set and then rotated them into position; Thus my theory at this stage is that either the FBXConverter or BJS 2.4 aren't taking this into consideration.
I also read this forum:
However, using setTimeout in conjunction with refreshBoundingInfo() doesn't seem to have any positive effect.
The downside of this all is that I can't tangentially position this model next to anything else as I don't have correct bounding info.
Any help would be much appreciated.