Motion actuator sets object into motion and/or rotation, there are different options from “teleporting” to physically push-rotate objects.
There are two ways of controlling motions, simple motion and servo control. Simple motion applies different kinds of motions directly while servo motion set a target speed and how quickly it reaches that speed.
The controls differ depending on what kind of physics settings the object has. Objects that are unaffected by gravity (Static, No collision, Occluder, Sensor) can only use two kinds of simple motion. The other kinds of physics objects (Dynamic, Rigid body, Soft body) can use servo control and all simple motion options.
Simple motion applies motions on axes. The simple motion block is organized in rows and columns. Rows for each type of motion, columns for axes and local on/off button. The three grey boxes on each row is the motion on the X,Y,Z axis (in that order), if you want a diagonal motion, add motions to more axes at the same time. The L button switches whether the motion will be added to the local or global axis. Global axis is always the same, as shown in the 3D window with red, green, blue arrows and lines. Global axes make the object always move in the same direction no matter which way it is rotated. Local axis are the objects own axes. This is the most common option and is default.
Rotation is done around the axis entered, clockwise if you are looking along the axis direction.
The types of simple motion are:
- Location (Loc)
- “Teleports” the objects. The object jumps the number of blender units entered, this can cause objects to go through other objects since it never passes the any of the coordinates between the start and end. Using the global settings will move the object on the global axis but not in global coordinates, if you wish to teleport an object to a coordinate it is recommended to use Python or Ipo.
- Rotation (Rot)
- Changes the object’s orientation, in the same manner as Location’s changes moves it. As soon as activated the object will be turned. One revolution is represented by the value 7.2 (i.e. 0.02 for one degree).
- Force is like giving the object a shove, it adds motion in a direction. But since it is added, the object will go faster and faster as long as Force is applied.
- Works like Force, but for rotation.
- Linear Velocity (LinV)
- Sets a velocity, the objects move in the entered speed along the axis. The add button makes the speed added to the existing speed instead. Linear velocity is interfering with gravity, object will fall slower, this can be solved by using servo control.
- Angular Velocity (AngV)
- Works like Linear Velocity, but for rotation.
- Slows the movement.
These types can be mixed in any way.
Servo control is a powerful way to achieve motion in the physical world. It consists in a servo controller that adjusts the force on the object in order to achieve a given speed, hence the name servo control.
Achieving speed through force is a very natural method because this is how the real world works. It produces natural movements, avoids the collision problem unlike Loc and interacts correctly with gravity unlike LinV. Servo motion uses force; it is only applicable to Dynamic object. It should not be used on Rigid body as it does not control the rotation, only the speed.
At the heart of the servo control motion actuator there is a PID servo controller: it measures the speed error (i.e. the difference between the target speed and the actual speed) and updates the force based on the error, by applying a force that is proportional to the error (the P coefficient) and proportional to the integral of the error (the I coefficient). The higher the coefficients, the “harder” the speed control (i.e. quick reaction); the lower the coefficients, the “softer” the speed control (i.e. slow reaction, sliding effect).
Additionally you can Limit the force along each axis so that the acceleration (or braking) force is limited. To compare with the cruise control in a car, the P and I coefficients define how precise will be the control and the Limit coefficients define the power of the engine (and the brakes), and thus how quickly it will reach the target speed.
Other options in the actuator are:
- Choose an object which the actuator owner uses as a reference for movement, for moving platforms for example. If empty it will use world reference.
- Target linear velocity, servo motion works with forces but tries to work up to and keep this velocity.
- This option limits velocity on axes, once chosen more options under will be available.
- The borders of the limit, velocity will never go outside these values.
You can achieve a great variety of movement styles with the Servo control motion actuator, for example, by not limiting the force along the transversal axis, you get a strong reaction to sliding, which is equivalent to anisotropic friction.
The servo motion actuator applies forces; it is therefore not compatible with other actuators that sets the force too, i.e. a simple motion force actuator or another servo motion, although it is possible to combine two servo motion actuators that works on different axis.