There seems to be a problem with the ‘mouseOverAny’ sensor in the Game Engine.
This is the setup:
- A mesh is deformed/controlled by an armature
- The armature has actions or is controlled by IK targets (doesn’t really matter)
- The mesh visually deforms in Game mode*
- This rules out the common error of not ‘running’ the armature through an Always/And/RunArmature.
If you add a mouseOver sensor to the game (through Python or logic bricks), it is using the original mesh position instead of the deformed one. So sometimes the sensor reports ‘None’ while the mouse is clearly on the deformed mesh, while other times it reports ‘MeshName’ while it is not on the mesh…
Here’s an example blend:
It shows a deformed mesh, tracking a sphere. The script outputs the name of the object detected by mouseOver. As you can see, it often says ‘Plane’ when the mouse is actually over the cube.
Is this a bug, a feature, or something I did wrong?