From BlenderWiki
[edit] 2.49b Release
[edit] Improvements 2.49b
- Game Engine Physics support for reinstancePhysics mesh from Python and the dynamic actuator.
- ReplaceMesh Actuator option to replace the physics mesh and display mesh + python api options.
- Video: http://www.graphicall.org/ftp/ideasman42/reinstance.ogv
- Blend demo file: http://www.graphicall.org/ftp/ideasman42/reinstance_demo.blend
- Mouse focus sensor "pulse" option to pulse TRUE when the object under the mouse changes.
[edit] Bullet Bugfixes 2.49b
- Crash fix when a parent compound object didn't have a physics controller.
- Fix for the torque actuator x -& y-axis not working.
[edit] Bullet Bugfixes 2.49a
- Fix for Torque and 6DOF constraints
- Applied torque breaks rigid bodies in game engine
[edit] 2.49 Release
[edit] Bullet Physics SDK update
- New generic 6dof constraint with run-time configurable limits, motors and springs to allow for physics-based vehicles, forklift, robots and ragdolls.
- Add support to lock individual axis during rigid body simulation, for translation and rotation. This makes it easier to do 1D or 2D physics (tetris, blockout) - set the physics type to rigid body and open the advanced popup.
- Added min/max linear velocity values which can prevent unstable physics by objects moving too fast. It can also be accessed by python to accelerate or throttle objects in their current direction.
- Improved dampening formula for dynamic and rigid objects, a value of 1.0 will not move the object at all.
- As usual, users can expect some different results with old files
[edit] Physics Integration
- GameObject "mass" attribute writeable & the setMass actuator.
- Dynamically update the coumpound parent shape when parenting or unparenting to a compound object.
- Recording physics no longer has problems with axis flipping
[edit] Sensor Object Type
New sensor object to generalize Near and Radar sensor, static-static collision capability.
A new type of "Sensor" physics object is available in the GE for advanced collision management. It's called Sensor for its similarities with the physics objects that underlie the Near and Radar sensors. Like the Near and Radar object it is:
- static and ghost
- invisible by default
- always active to ensure correct collision detection
- capable of detecting both static and dynamic objects
- ignoring collision with their parent
- capable of broadphase filtering based on:
- Actor option: the collisioning object must have the Actor flag set to be detected
- property/material: as specified in the collision sensors attached to it.
Broadphase filtering is important for performance reason: the collision points will be computed only for the objects that pass the broahphase filter.
- automatically removed from the simulation when no collision sensor is active on it
Unlike the Near and Radar object it can:
- take any shape, including triangle mesh
- be made visible for debugging (just use the Visible actuator)
- have multiple collision sensors using it
Other than that, the sensor objects are ordinary objects. You can move them freely or parent them. When parented to a dynamic object, they can provide advanced collision control to this object.
The type of collision capability depends on the shape:
- box, sphere, cylinder, cone, convex hull provide volume detection.
- triangle mesh provides surface detection but you can give some volume to the suface by increasing the margin in the Advanced Settings panel. The margin applies on both sides of the surface.
Performance tip:
- Sensor objects perform better than Near and Radar: they do less synchronizations because of the Scenegraph optimizations and they can have multiple collision sensors on them (with different property filtering for example).
- Always prefer simple shape (box, sphere) to complex shape whenever possible.
- Always use broadphase filtering (avoid collision sensor with empty propery/material)
- Use collision sensor only when you need them. When no collision sensor is active on the sensor object, it is removed from the simulation and consume no CPU.
Known limitations:
- When running Blender in debug mode, you will see one warning line of the console:
"warning btCollisionDispatcher::needsCollision: static-static collision!"
In release mode this message is not printed. - Collision margin has no effect on sphere, cone and cylinder shape.
Other performance improvements:
- Remove unnecessary interpolation for Near and Radar objects and by extension sensor objects.
- Use direct matrix copy instead of quaternion to synchronize orientation.
[edit] Adjustable Frame/Logic/Physics Rate
BGE: GUI control over frame rate, logic rate, physics rate and physics subrate.
Four new buttons in World settings to control frame rate:
- fps: Nominal frame rate in frame per second.
Also sets the physics timestep = 1/fps - phys: Maximum number of physics timestep per game frame in case the actual fps is less than nominal. This allows the physics to keep up with real time even if the graphics slows down the game.
- sub: Fixed number of simulation substeps per physic timestep.
Improves the precision of the physics simulation. Useful for fast moving objects for example. - log: Maximum number of logic steps per game frame in case the actual fps is less than nominal. This allows the logic system to follow the physics simulation.
Upper bound = phys
(setting the value higher than phys has no effect).
On games with heavy logic system, it is useful to set this value to 1, to keep logic time under control.
All these values were already accessible from Python except phys:
- GameLogic.getMaxPhysicsFrame(): Gets the maximum number of physics frame per render frame.
- GameLogic.setMaxPhysicsFrame(phys): Sets the maximum number of physics timestep that are executed per render frame.
Higher value allows physics to keep up with realtime even if graphics slows down the game.
Physics timestep is fixed and equal to 1/tickrate (see setLogicTicRate)
maxphysics/ticrate is the maximum delay of the renderer that physics can compensate.
phys: integer
[edit] 2.43 Release
[edit] Rigid body dynamics improvements in Blender 2.43
[edit] Download new 2.43 physics demos
Download the demos and example files - press pkey to start most of them - most have text describing their usage:
http://download.blender.org/demo/test/physics-2.43-physics-testfiles-5.zip
[edit] Make a Rube Goldberg style physics machine and win a Playstation 3 or Wii
Visit http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=775 for more info.
[edit] Main improvements
[edit] Rigid body Constraint GUI for authoring and simulation
- Ball-socket, hinge and generic rigid body constraints can be added using buttons in the Blender user interface. This helps building robots, ragdolls, constructions like a door hinge and a water mill
[edit] Physics simulation baking/recording into animations (IPO)
- Blender 2.43 improves the support of baking of rigid body dynamics into animation IPO frames. It records the orientation and position of dynamic objects while running the game engine when the option is enabled in the Game Menu.
- A new hotkey can quickly bake without showing the game engine graphics: Hold left SHIFT+CTRL+ALT and press P for quick baking.
[edit] Compound objects
- Multiple collision shapes can be combined as compound collision objects for a single rigid body. This allows a better approximation of concave and hollow objects by doing a convex decomposition and adding each convex part to the compound. Children that are directly parented to the rigid body can be used to create Compound Rigid Bodies (make sure to clear parent inverse)
[edit] Bullet 2.x Physics Support
- Upgraded to Bullet 2.x Physics library
- Visit http://bulletphysics.com for Physics Tips in the Wiki and Physics Support in the Forum
[edit] FPS Template
- A new first-person-shooter template for character games is included in the physics test files. This template serves as a starting point for moving a character through a world. Dynamic (non rigid body) is more compatible with Sumo. This helps with character motion.
[edit] Improved COLLADA Physics import/export
- Blender 2.43 has improved Collada compatibility using the recent version of ColladaBlender 0.3.137. This includes import and export of the xml based Collada .dae files with data for collision detection and rigid body physics information.
[edit] Physics debugging
- A new option in the Game menu "Show Physics Visualization" helps fixing issues with collision detection and physics.
[edit] Graphics and Logic improvements in Blender 2.43
[edit] Download Graphics Demos
- Download Blender 2.43 Graphics Demos
- Download lightmap tutorial:
http://www.continuousphysics.com/ftp/pub/test/index.php?dir=blender/&file=lightmap-tutorial1707.zip
[edit] Lightmap support
- Added support for lightmaps, generated by Blender Render Baking.
- Browse this lightmap tutorial on-line
http://www.continuousphysics.com/lightmap/LightMapTutorial.html
[edit] Logic fixes
- Property and Message Sensor triggering fixes
[edit] Mouse-look on Mac OSX
- setMousePosition is fixed for Mac OS X. This enabled First-Person-Shooter style mouse look.
[edit] 2.42 Release
[edit] gameengine
prepared physics/game engine infrastructure for
vehicle support.
fixed a python related bug with physics contraints fixed some line-ending problem with
blenderbuttons.c
makefile/scons/projectfiles need to add
source/gameengine/Ketsji/KX_VehicleWrapper.cpp
added more game-engine physics vehicle
infrastructure.
[edit] improved shader support
Improved OpenGL Shader Language support for game engine. The python interface is much simplified.
Drawback is that scripts need to be updated next release. Testfiles:
http://www.continuousphysics.com/ftp/pub/test/index.php?dir=blender/&file=demos-2.42.zip
[edit] vehicle physics
Log: more vehicle preparation and some bullet collision detection bugfixes (related to collision margin)
Log: allow typed constraints (for future hinge/vehicles etc)
[edit] physics
added 'disable sleeping' option for rigidbodies. + bugfix of out of sync wheels for vehicle
[edit] physics
Synchronized Bullet physics to latest version. - Changed license from MIT to ZLib. - Added 3D Sweep and Prune contribution - More stable native constraint solver Sorry for any inconvenience caused by this checkin. All Blender buildsystems require update: added files and moved files.
[edit] constraints
disabled restitution in the new iterative contact constraint.
[edit] physics
more Bullet physics improvements, mainly stability and performance related.
AddObjectActuator has new python method to immediately create objects (this allows to create multiple objects in 1 frame in different positions)
[edit] game engine
applied Charlies patch for game engine graphics. display list support, and bumpmapping shader improvements.
[edit] gameengine
added hinge constraint support to Bullet physics
[edit] physics
enabled ipo in combination with physics (no friction effect from kinematic to dynamic transferred yet)
[edit] physics
added support for 'Ghost' object and collision sensor (preliminary)
[edit] physics
- fixed Bullet noResponse/ghost mode - added ccd option (future use, very basic and inefficient) - some internal Bullet refactoring/improvements
[edit] physics
- Added support for kinematic objects (interaction between rigidbodies), deriving linear/angular velocity from previous transform/current transform and deltatime.
- Made another attempt to migrate from Sumo to Bullet: import of older files automatically switch to Bullet, but you can override it, and save the file in 2.42 version. then it stays Sumo physics.
[edit] 2.41 Release
[edit] Physics and Game Engine
Fixed several bugs:
- python refcounting related and Bullet related (basic add/remove object support, bounding volume hierarchy).
- more game engine bug-fixes, hooked up 'formfactor' as inertia tensor tweaker, friction/restitution, more scaling related fixes.
- make clear that 'concave mesh' is really for static triangle mesh. too many people try to make it moving, it is for landscapes/static environment.
- rgidbody dynamics fixes (scaling again) to make Happy 2006 domino simulation to work.
See happy_2006_4.blend or happy_2006_blend.zip for the baked dominos. - remove constraint fixed, Bullet timestep now subdivides Blender game engine timestep, so it runs 60 hertz, SphereShape reverted to old style, so no support for non-uniform scaled spheres for now,
- fixed ApplyForce in physicscontroller, and crashing radar sensor
[edit] 2.40 Release
[edit] Bullet
Log: Added type for Bullet collision detection and physics engine. This will improve collision detection and physics for the game engine (Ketsji). Bullet can optionally use the ODE quickstep solver.
added raycast support for bullet (no triangle-mesh support, soon) added python methods for 'getHitObject', getRayDirection, getHitPosition and getHitNormal for mouse over sensor, which makes it easy for a shootout.blend demo :)
fixed sphere shape, added non-uniform scaling (making it an ellipsoid) removed bug-fixing comments
-better naming for collision bounds: polytope -> convex polytope polyheder -> concave mesh -better naming: frequency -> the pulse delay
added more debug text, enabled the bullet penalty solver, instead of ode solver by default, added a better demo.
Log: new game-menu option 'Record Game Physics to Ipo' it bakes physics objects transform into ipo, every frame of the running gameengine. When you disable and run the game again, it clears the ipo's again just for physics objects at the moment.
added the "mouse over any", makes the sensor more useful
when recording physics keyframes, always run at a fixed framerate (not variable/real-time)







![[]](/skins/blender/open.png)
