From cb37a129d1adb403019c96e798e86e2da9667f15 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Sun, 17 Nov 2019 17:56:04 -0500 Subject: [PATCH] Maze --- com/bulletphysics/dynamics/RigidBody.java | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 45 insertions(+), 1 deletions(-) diff --git a/com/bulletphysics/dynamics/RigidBody.java b/com/bulletphysics/dynamics/RigidBody.java index 98e8092..e7d2735 100755 --- a/com/bulletphysics/dynamics/RigidBody.java +++ b/com/bulletphysics/dynamics/RigidBody.java @@ -214,11 +214,55 @@ } } + 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; - applyCentralForce(gravity); + g.y = gravity.y; + applyCentralForce(g); + + 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 = 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); } public void setGravity(Vector3f acceleration) { -- Gitblit v1.6.2