2.47 New Feature Notes

Here’s most of the notes I could find on the new 2.47 features. Please post any others that you think will helpful.

State Machine:

States tutorial by Lostinspace:

New Actuators and Sensors: Servo Control, Distance Constraint, Orientation Constraint, Actuator Sensor, Sensor Lvl Option

Servo Motion Actuator, in greater detail:

Dupligroups in the Game Engine

IPO Actuator Changes

NAND, NOR, XOR, XNOR controllers, usefull to create complementary outputs to start and stop actuators synchronously.

GameLogic.globalDict, a place where data can be stored even when new blend files are loaded.

GLSL is not in the 2.47 release. It is still available in the Apricot branch. Advanced builds can be found at graphicall.org.

Delay sensor: The sensor fires after a specified amount of frames have passed… then, it can stay on for a specified amount of frames, and it can repeat forever, or do just once.

Some simple uses:
Use it to delay playing animations.
Use it to turn off or change states after a certain amount of time.

Done!Yes, it’s done!

A “states” tutorial by lostinspace:

can someone make a tut on servo motion?

For five dollars

Copy-Paste from your other thread, Alienkid10. Take the time to read it.

From Ben2610

Servo motion 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 motion.

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 dLoc and interacts correctly with gravity unlike linV.

At the heart of the servo motion actuator there is a PID servo controller: it measures the speed error (= 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 (= quick reaction); the lower the coefficients, the “softer” the speed control (=slow reaction, sliding effect).
Additionally you can limit the force along each axis so that the accelaration (or braking) force is limited.

To compare with the cruise control in a car, the P and I coefficient define how precise will be the control and the limit coefficients define the power of the engine and thus how quickly it will reach the target speed.

You can achieve a great variety of movement styles with the servo motion actuator, for example, by not limiting the force along the transversal axis, you get a strong reaction to sliding, which is equivalent to anysotropic 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.

Here for example a request for Franky’s falling behavior during the Apricot dev: when Franky is falling, its falling speed should be limited (say to 10), as if there was air friction. The idea is to compensate the gravity when the speed reaches the limit. These settings will achieve the goal:


Local flag is not set => the speed is measured and the force is applied in global coordinates, required as we are compensating the gravity.
By setting small force limits on the X and Y axis, the horizontal movements of Franky are not disturbed, just a small friction.
The speed target of -9 on the Z axis sets the target falling speed.
The max force of 15 is sufficient to compensate the gravity (assuming the object mass is 1 and gravity is 9.81, the weigth is 9,81). If the object is heavier, increase that limit.
The min force of 0 means that the servo motion controller will no be able to speed-up the falling (would require negative force), Franky will fall naturally until it reaches -9 from which speed the servo motion will start to apply a positive force to block the speed.
The I coefficient of 0 means no bouncing in the speed: Franky will not slow down, it will simply stop falling faster.
The P coefficient of 10 means that a speed error of 1 is necessary to achieve a negative force that is high enough to compensate the gravity => the actual falling speed will be -10. Note that P is independent to mass: the actual force applied = Perrormass.

I have read it, but I still don’t understand it!(why else would I ask AGAIN?)

keep reading it until you get it… or ask more specific questions about parts you don’t understand.

ok then how do I make my char slid like as if on ice? Also what does the slider bar “D” do?

I assume lowering the max force to just enough to slow things down very slowly and setting P to a lower value would do it.

I hear D shouldn’t be changed, you should be very careful in tweaking that. Also you might want to tick the little ‘L’ button.

Cool thread. I was dying to get hands on the new features in game engine for 2.47.

Over the last weekend, i tinkered around with the states and wrote this semi-tutorial. Hope it is useful to you folks.



@ Iluvblender…thanks that’s a cool tut…

is there a tutorial somehwere about doing vehicles in blender’s game engine?

ooooh, now my mouth is watering.

–>finally finished, a more in depth state machine tutorial.
My tut is quite long. .but it goes more into how state work and how to use invert and subtract.

I recommend trying lostinspaces tut first.

I saw that in the apricot premier there is animated water.Is it realtime? Is there a tutorial how to achieve it?

Still no hardcoded MIDI Interface in Blender ?!

Here’s a link to thread where Ben2610 explains how to get something to happen at the end of an IPO.


a thread explaining how to use python to change the bit state masks…