I am trying to model a suction cup in Blender 2.75a. I don't know where to get started. More specifically here is what I want to do:

  1. Create a suction cup/pad that can stick to vertical walls.
  2. Control the sticking of that pad on a vertical surface via game engine.

I am doing this to model a hook onto which I want to hang a cube (a simple pendulum in my case) which has some mass. And yes I want to do it via a suction pad only.

Update 1

On EpicM's suggestion, I tried modelling it as a cloth using rubber material. But that didn't work out. Using soft body seems to work fine. But the main concern now is how to vary the air pressure inside the cup so as to control when to stick and when to release.I am new to blender and hence have no experience using scripts. An example will be very helpful.


EDIT: Completely rewrote this answer, as I found a much better solution. In action

Basically you can connect two rigid bodies then keyframe their connection to decide when to turn it on or off.

Here's how: After you set up your rigid bodies, select your cube, then your suction cup object, then connect the two using the physics tab. This will constrain the cube to the cup in a rigid body responsive manner (unlike ordinary constraints that make a mess). Step 1

Then all you need to do is to select the empty that represents the relationship between the two objects, and animate the "enabled" property on the constraint.

Animate the constraint

I guess you'll just have to figure out the rest about implementing this in BGE (which enables dynamically controlling animations).



You could use the cloth simulation with the material set to rubber to simulate how the shape of the suction cup changes. If you want to get a more physically accurate model of how the suction cup would work then writing a script to simulate it would also work.


Cup to surface A very simple method to "stick" an object to another is to parent them together. This way the child object will move with the parent object - it "sticks".

You can dynamically change this relationship either with the parent actuator or via Python [setParent(), removeParent()]. You can move the child relative to the parent or relative to the scene. As the child will not be a physics object, you can use location changes "Loc:" of the motion actuator.

Pendulum to cup To add a pendulum (which I guess should be a rigid body) I suggest to establish a rigid body constraint between the cup and the pendulum. This way they both are bound together via physics rather then parent/child. This allows the pendulum to swing and react on forces.

I hope it helps

Remark: The BGE is a game engine which means it should entertain, rather than a physics simulation which is supposed to simulate real conditions as precise as possible.

Therefore I strongly suggest to focus on the effect rather than the cause.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.