I don’t know what might be happening for you, but for what it’s worth, we’re also finding the ray caster can fail to return expected intersections in some circumstances. I haven’t dug into why, but it could easily be explained be the presence of skinned mesh, if that throws it off.
Animated mesh bounding boxes change as the animation progresses, so computing the bounding box of a skinnedmesh with no animation applied will get the bounds of the bind pose which is often tiny/giant/wrong.
You might want to just make an educated guess and then just set it directly as a test like…
child.boundingBox = new THREE.Box();
let sz = 100; //Adjust this until it works try like 1, 10, 100, 1000, etc
child.boundingBox.min.set(-sz ,-sz ,-sz );
child.boundingBox.max.set( sz , sz , sz );
as a guess…
Otherwise… you could try playing your idle animation or whatever and then compute the boundingbox on the first frame, but that’s a bit fiddly.
That was a good idea. I put some BoxHelper on them and now I see that none of these boxes are in the location of the models, have huge overlapping sizes. However when I force this smaller size they are positioned on the scene in the same pattern as the models, they just have an offset to the models