Steering of a submarine engine


the picture shows the front right side of a small submarine that I have modelled long time ago.
The task what I want to do now is to get the correct movement when pressing a key:
A = move forward
S = move up
X = move down
Y = move backwards

So the first thing I did was to set the “A” key for forward movement. After some googling I found a solution thats work, so that the frame of the propeller rotates 90° in X-axis and the propeller starts rotating. After release the “A” key the frame keeps its position and the propeller stops rotating.

So now I come to the main issue. When you now press the "S"key the submarine shall dive in positive Z-axis direction. Means the frame of the propeller needs to get in a horizontal postion. When you have pressed “A” then it needs to rotate back. When not, it needs to stay in the horizontal position. So how can I do this? Is it possible to do it without python script?


I would rig up the keys to apply a value to rotating the blades in conjunction with applyImpulse at the axis / center of the blades in the direction it would thrust.

ensure you are using rigid body, and also make sure to have rotational drag like water would.

thruster =object.children['bladeName']

correcting a typo in BPR’s code above

thruster = object.children['bladeName'].
object.applyForce(thruster.worldPosition, thruster.worldOrientation.col[2]*force)

ha ha ha, was still editing :3

_Eaggra, I hope this little .blend file can help you.

What did I post, did you help? solved the problem? Or was it a useless thing?

Answer me, please, anyway, I need to know. See you, hug!