This article describes a way to „pick and move objects“ in Blender Game Engine.
Unfortunately a lot of published code is not working with the current version of Blender or depends on specific objects within the scene.
I wrote the code to try some 3D Collision Shapes. In order to do that, i wanted to have the objects movable to see how they interact with other objects.
Let me know if you see any improvements and leave a comment if it’s useful for you.
The code does the following:
- pick an object with left or right mouse click
- move it as long as the mouse is clicked, release it otherwise
- move on x/y plane with LMB, move on y/z plane with RMB
Currently i’m fine with moving them with 3DOF, so i can move them in X,Y and Z direction.
I have written this little script, which is triggered by MouseOverAny, Left Mouse Button Click and Right Mouse Button Click.
I’ve assigned the sensors to the camera, which i thought is probably the only object that will stay within the scene.
import bge
cont = bge.logic.getCurrentController()
LMB = cont.sensors["LMB"]
RMB = cont.sensors["RMB"]
if LMB.positive | RMB.positive:
mouseOver = cont.sensors["MouseOver"]
obj = mouseOver.hitObject
mouseX = mouseOver.hitPosition[0]
mouseY = mouseOver.hitPosition[1]
mouseZ = mouseOver.hitPosition[2]
if LMB.positive:
obj.position[0] = mouseX
obj.position[1] = mouseY
if RMB.positive:
obj.position[1] = mouseY
obj.position[2] = mouseZThe assignments can be seen here:
As i’ve received some good information through YouTube videos, let me know if anyone is interested in seeing some videos from Anagram as well.
I’ve added a linked object and want to move it. How can I do?
If you want to move linked objects, you have to make them a proxy.
CTRL + ALT + P
will do so.


