Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-06-17BGE bug #18931: YoFrankie bug in 249-trunk (works in 248).Benoit Bolsee
2009-06-01BGE bug fix: dynamically added sensor objects didn't have their physic shape ↵Benoit Bolsee
synchronized with movement.
2009-05-17BGE: new sensor object to generalize Near and Radar sensor, static-static ↵Benoit Bolsee
collision capbility. 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. Other bug fix: - Fix Near/Radar position error on newly activated objects. This was causing several detection problems in YoFrankie - Fix margin not passed correctly to gImpact shape. - Disable force/velocity actions on static objects
2009-04-30BGE bug #18091: Hitbox of object X doesn't move along when object X is ↵Benoit Bolsee
parented to object Y.
2009-04-28BGE: reenable object activation for static object, otherwise their physic ↵Benoit Bolsee
shape is not updated when they move due to parent relation.
2009-04-27BGE bug #18624: Collision detection fails on parented objects. Partial fix, ↵Benoit Bolsee
parented shape now moves with the parent but still the parent near detector detects the child only in the zone where it was parented.
2009-04-27Don't always activate a Bullet rigid bodyErwin Coumans
If you want to keep a rigid body awake, please use the GUI 'No Sleeping' option for Rigid bodies.
2009-04-14BGE PhysicsCampbell Barton
Clamp objects min/max velocity. Accessed with bullet physics from the advanced button with dynamic and rigid body objects. - useful for preventing unstable physics in cases where objects move too fast. - can add linear velocity with the motion actuator to give smooth motion transitions, without moving too fast. - minimum velocity means objects don't stop moving. - python scripts can adjust these values speedup or throttle velocity in the existing direction. Also made copy properties from an object with no properties work (in case you want to clear all props)
2009-04-08BGE patch #18051: add localInertia attribute to GameObject.Benoit Bolsee
2009-04-08BGE Scenegraph and View frustrum culling improvement.Benoit Bolsee
This commit contains a number of performance improvements for the BGE in the Scenegraph (parent relation between objects in the scene) and view frustrum culling. The scenegraph improvement consists in avoiding position update if the object has not moved since last update and the removal of redundant updates and synchronization with the physics engine. The view frustrum culling improvement consists in using the DBVT broadphase facility of Bullet to build a tree of graphical objects in the scene. The elements of the tree are Aabb boxes (Aligned Axis Bounding Boxes) enclosing the objects. This provides good precision in closed and opened scenes. This new culling system is enabled by default but just in case, it can be disabled with a button in the World settings. There is no do_version in this commit but it will be added before the 2.49 release. For now you must manually enable the DBVT culling option in World settings when you open an old file. The above improvements speed up scenegraph and culling up to 5x. However, this performance improvement is only visible when you have hundreds or thousands of objects. The main interest of the DBVT tree is to allow easy occlusion culling and automatic LOD system. This will be the object of further improvements.
2009-02-25remove warnings for the BGECampbell Barton
- variables that shadow vers declared earlier - Py_Fatal print an error to the stderr - gcc was complaining about the order of initialized vars (for classes) - const return values for ints and bools didnt do anything. - braces for ambiguous if statements
2009-01-15BGE patch 18065: gameobj mass writeable + setmass actuator. This patch ↵Benoit Bolsee
allows to change the mass of a dynamic or rigid body object during the game. Two methods are available: in a Python script by setting the mass attribute of the game object; by logic brick with the Edit Object->Dynamics->Set Mass actuator. The mass can only be set on dynamic objects and must be a positive floating point value.
2009-01-14BGE patch: dynamically update the coumpound parent shape when parenting to a ↵Benoit Bolsee
compound object. This patch modifies the way the setParent actuator and KX_GameObject::setParent() function works when parenting to a compound object: the collision shape of the object being parented is dynamically added to the coumpound shape. Similarly, unparenting an object from a compound object will cause the child collision shape to be dynamically removed from the parent shape provided that is was previously added with setParent. Note: * This also works if the object is parented to a child of a compound object: the collision shape is added to the compound shape of the top parent. * The collision shape is added with the transformation (position, scale and orientation) it had at the time of the parenting. * The child shape is rigidly attached to the compound shape, the transformation is not affected by any further change in position/scale/orientation of the child object. * While the child shape is added to the compound shape, the child object is removed from the dynamic world to avoid superposition of shapes (one for the object itself and one for the compound child shape). This means that collision sensors on the child object are disabled while the child object is parent to a compound object. * There is no difference when setParent is used on a non-compound object: the child object is automatically changed to a static ghost object to avoid bad interaction with the parent shape; collision sensors on the child object continue to be active while the object is parented. * The child shape dynamically added to a compound shape modifies the inertia of the compound object but not the mass. It participates to collision detection as any other "static" child shape.
2008-12-06BGE bug #17731 fixed: No sleeping Button disables dynamics of an object if ↵Benoit Bolsee
it's parented+unparented
2008-10-01BGE bug #17688 fixed: Near Sensor Reset not working (for Gamekit)Benoit Bolsee
Implementation of the PHY_IPhysicsController::SetMargin(), GetMargin(), SetRadius() and GetRadius() for Bullet and Sumo to allow resetting the Near sensor radius. For bullet use the new setUnscaledRadius() function to change sphere radius. In pPreparation of a Fh constraint actuator: - Add KX_IPhysicsController::GetRadius() - Fix implementation of KX_BulletPhysicsController::GetVelocity() (velocity at a point in geometric coordinate) - Don't try to set velocity on static object (Bullet will assert) - Add KX_GameObject::GetVelocity() for C access to local velocity
2008-09-29Add Fh/Rot Fh to Bullet.Erwin Coumans
2008-09-25avoid crash and apply force for soft bodies.Erwin Coumans
copy normals for soft body vertices, to get proper lighting
2008-07-22== Grease Pencil ==Joshua Leung
Grease Pencil is a tool which allows you to draw freehand in some views, allowing you to annotate/scribble over the contents of that view in either 2d or 3d. This facilitates many easier communication and planning abilities. To use, simply enable it from the View menu (choose 'Grease Pencil...' and click 'Use Grease Pencil'). Then, click+drag using the left-mouse button and the shift-key held to draw a stroke. For more information, check the following page on the wiki: http://wiki.blender.org/index.php/User:Aligorith/247_Grease_Pencil
2008-07-21BGE patch: Optimization of bullet adaptation layer - part 1.Benoit Bolsee
First batch of optimizaton of the bullet adaptation layer in the BGE. - remove circular motion state update. - optimization of physic adaptation layer for bullet: bypass unecessary conversion of rotation matrix to quaternion and back. - remove double updates during object replication.
2008-07-20BGE bug fix (for 2.47): setParent() fix, third part: set mass to 0 when ↵Benoit Bolsee
parenting. Allow loc/scale/orientation change on child object with physic controller.
2008-07-19BGE bug fix (good for 2.47): remove static-static collision messages on the ↵Benoit Bolsee
console since previous SetParent fix. The physical object is set to static+ghost while the object is parented. This behavior will be made optional in a future release. The DisableDynamics actuator will also make the object static except that the ghost/non-ghost flag is preserved.
2008-07-18BGE bug fix (good for 2.47): SetParent actuator did not work on dynamic ↵Benoit Bolsee
objects. Dynamics will now be disabled automatically and the object will be set ghost for the duration of the parenting; this is to avoid static interaction with the parent object. The dynamic state is restored when the parenting is removed with RemoveParent actuator. This fix also applies to setParent() and removeParent() python functions.
2008-06-24BGE patch: Add damping and clamping option to motion actuator.Benoit Bolsee
This patch introduces two options for the motion actuator: damping: number of frames to reach the target velocity. It takes into account the startup velocityin the target velocity direction and add 1/damping fraction of target velocity until the full velocity is reached. Works only with linear and angular velocity. It will be extended to delta and force motion method in a future release. clamping: apply the force and torque as long as the target velocity is not reached. If this option is set, the velocity specified in linV or angV are not applied to the object but used as target velocity. You should also specify a force in force or torque field: the force will be applied as long as the velocity along the axis of the vector set in linV or angV is not reached. Works best in low friction environment.
2008-03-10BGE fix: game object to controller links consistancy maintained regardless ↵Benoit Bolsee
of order of deletion AddObject actuator forces last created object to hang in memory even after object is removed from scene => bad link between object and physic controller that causes Blender to crash in case a python script tries to use it (bad programming anyway). This patch avoids the crash by maintaining consistent links at all time.
2006-12-16contribution from RCRuiz:Erwin Coumans
drawing of rigidbody constraint pivots, and allow passing of full constraint frame.
2006-12-01- enabled compound collision objects, requires 'clear parent inverse'Erwin Coumans
- fixed some issues with kinematic objects, introduced during Bullet 2.x upgrade
2006-11-21Removed old Blender/extern/bullet, and upgraded game engine to use Bullet 2.xErwin Coumans
All platforms/build systems: either upgrade to use extern/bullet2, or disable the game engine until the build is fixed.
2006-06-22bugfix:: added objects didn't have proper physics id (they used the physics ↵Erwin Coumans
id from the 'hidden layer' original.
2006-06-22fixed restore/suspendDynamics bugErwin Coumans
2006-06-22workaround for a irregularity/bug in physics system (happens very seldom, ↵Erwin Coumans
just 1 report so far, linear velocity/AABB becomes NaN)
2006-06-19bugfix/workaround for problem with hard-coded collision margins being too large.Erwin Coumans
2006-04-24fixed collision sensor for dynamically created objects using Bullet physicsErwin Coumans
2005-12-31Fixed several bugs: python refcounting related and Bullet related (basic ↵Erwin Coumans
add/remove object support, bounding volume hierarchy). Added a few files, updated the Bullet scons. Vc6/7 Bullet projectfiles need to add a couple of files: 'Bullet/CollisionShapes/BvhTriangleMeshShape.cpp', 'Bullet/CollisionShapes/ConvexTriangleCallback.cpp', 'Bullet/CollisionShapes/EmptyShape.cpp', 'Bullet/CollisionShapes/OptimizedBvh.cpp', 'Bullet/CollisionShapes/TriangleCallback.cpp', 'Bullet/CollisionShapes/TriangleIndexVertexArray.cpp', 'Bullet/NarrowPhaseCollision/ManifoldContactAddResult.cpp'. Sorry, no armatures fix yet.
2005-08-17some more fixes in the raycast/mouse overErwin Coumans
2005-08-08some more work on bullet raycastErwin Coumans
2005-08-05fixed the mouse-over sensor,Erwin Coumans
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 :)
2005-07-18more preparations for bullet physics, and some eol issues with SCA_Joystick*Erwin Coumans
2005-07-17another file behind the #USE_BULLETErwin Coumans
2005-07-17preparation for bullet physicsErwin Coumans