Hi,
There is a way to have invisible objects trigger intersections. Instead of setting the visiblity of the object, disable rendering on the object. Example:
Code:
#Don't render the object, but allow it to be susceptible to collisions and picking
object.disable(viz.RENDERING)
Also, why do you perform an intersect test on each object separately, instead of doing them all at once? This would save you a lot of CPU time, especially if you have a lot of objects.