From e8908d5b90d44e43b9da885bc0202fb665a912d0 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Mon, 30 Sep 2019 20:00:22 -0400 Subject: [PATCH] klein --- com/bulletphysics/dynamics/RigidBody.java | 34 +++++++++++++++++++++++++++++----- 1 files changed, 29 insertions(+), 5 deletions(-) diff --git a/com/bulletphysics/dynamics/RigidBody.java b/com/bulletphysics/dynamics/RigidBody.java index 75a9ea1..4d96feb 100755 --- a/com/bulletphysics/dynamics/RigidBody.java +++ b/com/bulletphysics/dynamics/RigidBody.java @@ -216,9 +216,15 @@ static Vector3f g = new Vector3f(); static Vector3f w = new Vector3f(); + static public Vector3f wind = new Vector3f(); static public Vector3f pos = new Vector3f(); + static public Vector3f min = new Vector3f(); + static public Vector3f max = new Vector3f(); + + static public boolean justclicked; + public void applyGravity() { if (isStaticOrKinematicObject()) return; @@ -226,18 +232,36 @@ g.y = gravity.y; applyCentralForce(g); - wind.set(pos); - wind.x -= worldTransform.origin.x; - wind.y -= worldTransform.origin.y; - wind.z -= worldTransform.origin.z; + if (pos.x == 0 && pos.y == 0 && pos.z == 0) + return; + justclicked = false; + +// wind.set(pos); +// wind.x -= worldTransform.origin.x; +// wind.y -= worldTransform.origin.y; +// wind.z -= worldTransform.origin.z; + + this.collisionShape.getAabb(worldTransform, min, max); + + if (pos.x < min.x || pos.x > max.x) + return; + if (pos.y < min.y || pos.y > max.y) + return; + if (pos.z < min.z || pos.z > max.z) + return; + float dot = pos.x * wind.x + pos.y * wind.y + pos.z * wind.z; - dot = 10; + dot = 100; w.x = wind.x * gravity.z * dot; w.y = wind.y * gravity.z * dot; w.z = wind.z * gravity.z * dot; + + System.out.print("min = " + min); + System.out.println("; max = " + max); + applyCentralForce(w); } -- Gitblit v1.6.2