Blender 2.64: Game Engine
Lamps & Shadows
It is now possible to color shadows with a color other than black.
Simplified Shadow Panel
The shadow panel has been simplified whilst "Blender Game" renderer is active and there are some new options, a drop down menu for to choose the Shadow Buffer Type and some settings for the Variance Shadow Buffer.
Variance Shadow Buffer
This new shadow buffer type allows for softer shadows with 3 options to set the quality. Note however that it can be more taxing on performance than the simple shadow buffer.
Sun Lamps Shadows
You can now get shadows when using a sun lamp, the shadows will be cast using an orthographic projection.
Lamp Video Textures
Lamps can now use video textures as a texture for the light color.
Image textures with a resolution that is not a power of two, are now handled more efficiently on modern graphics card. Rather than rescaling them to a power of two resolution, they are now loaded directly, which saves on loading time and GPU memory.
DDS image textures with DXT1, DXT3 and DXT5 compression are now loaded directly as compressed textures into GPU memory. This makes texture loading considerably faster for such image files.
However, one must be careful to create such DDS textures in an OpenGL compatible format, that is, with the textured flipped vertically. This is needed because the convention for OpenGL is different than DirectX, and flipping compressed textures would undo any performance benefits they have in loading time. Most DDS tools have an option to flip the texture on save. If the texture is not flipped already, it's possible with GLSL materials to set the Y Size in the Mapping panel to -1 instead.
Support for physics linear and angular thresholds and deactivation time from the user interface and Python API was added.
The linear and angular thresholds set the speed limit (in m/s) and rotation limit (in rad/s) under which a rigid bodies will go to sleep (stop moving) if it stays below the limits for a time equal or longer than the deactivation time (sleeping is disabled when deactivation time is set to 0). These settings help reducing the processing spent on Physics simulation during the game.
Previously they were only accessible from python but not working because of a bug. Now the python functions are working and the settings are available in the Physics panel of the World settings when using the Blender Game render engine.
Character Physics Type
A new "Character" physics type was added in the game engine, for simulation instead of full-blown dynamics. It is appropriate for player-controlled characters, for which the other physics types often result unexpected results (bouncing off walls, sliding etc.) and for which simple kinematics offers much more precision. (patch details)
"Character" can be chosen like any other physics type in the Physics section of the properties window. Current settings for tweaking are:
- Step Height to make the object automatically climb small steps if it collides with them
- Fall Speed: the maximum speed that the object can have when falling
- Jump Speed: currently not used
Known problem: there is a crash if the Compound option is set in the physics panel of the Character object.
Example character physics .blend for the video below.
- Two functions bge.logic.getClipboard() and setClipboard() added for reading and writing to the system clipboard.
- bgl module methods added for new OpenGL version with GLSL 1.2 shader supportnew methods (r46444)
- PhysicsConstraints module now has methods setDeactivationLinearTreshold(float), setDeactivationAngularTreshold(float) and setDeactivationTime(time)