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
diff options
context:
space:
mode:
authorNorman Lin <nlin@nlin.net>2002-10-19 17:49:00 +0400
committerNorman Lin <nlin@nlin.net>2002-10-19 17:49:00 +0400
commitae459bfc120e2fa388e6c82b7da26ac03a300bb8 (patch)
treeb263ad81e30025642c0600decf43458ac6f4ed0d
parent1ca9bded7330a5a3b5797ed853e3beb70093f113 (diff)
added notes on collisions between dynas and "static moving" geometry (kinematically controlled)
-rw-r--r--source/gameengine/Physics/BlOde/OdePhysicsController.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/gameengine/Physics/BlOde/OdePhysicsController.cpp b/source/gameengine/Physics/BlOde/OdePhysicsController.cpp
index 85ef9cd17ab..db869aca58e 100644
--- a/source/gameengine/Physics/BlOde/OdePhysicsController.cpp
+++ b/source/gameengine/Physics/BlOde/OdePhysicsController.cpp
@@ -97,6 +97,17 @@
/// \todo moving infinite mass objects should impart extra impulse to objects they collide with
///
/// currently ODE's ERP pushes them apart but doesn't account for their motion.
+/// you have to detect if one body in a collision is a non-dyna. This
+/// requires adding a new accessor method to
+/// KX_IPhysicsInterfaceController to access the hidden m_isDyna variable,
+/// currently it can only be written, not read). If one of the bodies in a
+/// collision is a non-dyna, then impart an extra impulse based on the
+/// motion of the static object (using its last 2 frames as an approximation
+/// of its linear and angular velocity). Linear velocity is easy to
+/// approximate, but angular? you have orientation at this frame and
+/// orientation at previous frame. The question is what is the angular
+/// velocity which would have taken you from the previous frame's orientation
+/// to this frame's orientation?
///
/// \todo allow tweaking bounding volume size
///