From 57f4646563d6757f65ddc00ca38975c352d76de7 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Fri, 27 Sep 2019 20:06:14 -0400 Subject: [PATCH] Wireframe, box mode, and ragdoll zoffset. --- PhysicsNode.java | 53 ++++++++++++++++++++++++++++++----------------------- 1 files changed, 30 insertions(+), 23 deletions(-) diff --git a/PhysicsNode.java b/PhysicsNode.java index e3b6fc9..423ac33 100644 --- a/PhysicsNode.java +++ b/PhysicsNode.java @@ -140,6 +140,8 @@ // initPhysics(); // // assert(dynamicsWorld == staticdynamicsWorld); + if (groundTransform != null) // marche pas + groundTransform.origin.set(0f, -floor - 10, 0f); GetDynamics().stepSimulation(ms / 1000000.f); } @@ -159,10 +161,14 @@ // if (transientDynamicsWorld == null) // initPhysics(); - + + groundTransform.origin.set(0f, -floor - 10, 0f); + GetDynamics().stepSimulation(ms / 1000000.f); } + transient Transform groundTransform; + public void initPhysics() { //if (dynamicsWorld != null) // && staticdynamicsWorld == null) @@ -201,34 +207,35 @@ // Setup a big ground box // { CollisionShape groundShape = new BoxShape(new Vector3f(boxsize, 10f, boxsize)); - Transform groundTransform = new Transform(); - groundTransform.setIdentity(); - groundTransform.origin.set(0f, -floor - 10, 0f); - localCreateRigidBody(0f, groundTransform, groundShape); + Transform transform = new Transform(); + transform.setIdentity(); + transform.origin.set(0f, -floor - 10, 0f); + localCreateRigidBody(0f, transform, groundShape); + + groundTransform = transform; + groundShape = new BoxShape(new Vector3f(boxsize, boxsize, boxsize)); + transform = new Transform(); + transform.setIdentity(); + transform.origin.set(0f, boxsize/2, -boxsize-1); + localCreateRigidBody(0f, transform, groundShape); groundShape = new BoxShape(new Vector3f(boxsize, boxsize, boxsize)); - groundTransform = new Transform(); - groundTransform.setIdentity(); - groundTransform.origin.set(0f, boxsize/2, -boxsize-1); - localCreateRigidBody(0f, groundTransform, groundShape); + transform = new Transform(); + transform.setIdentity(); + transform.origin.set(-boxsize-1, boxsize/2, 0f); + localCreateRigidBody(0f, transform, groundShape); groundShape = new BoxShape(new Vector3f(boxsize, boxsize, boxsize)); - groundTransform = new Transform(); - groundTransform.setIdentity(); - groundTransform.origin.set(-boxsize-1, boxsize/2, 0f); - localCreateRigidBody(0f, groundTransform, groundShape); + transform = new Transform(); + transform.setIdentity(); + transform.origin.set(boxsize+1, boxsize/2, 0f); + localCreateRigidBody(0f, transform, groundShape); groundShape = new BoxShape(new Vector3f(boxsize, boxsize, boxsize)); - groundTransform = new Transform(); - groundTransform.setIdentity(); - groundTransform.origin.set(boxsize+1, boxsize/2, 0f); - localCreateRigidBody(0f, groundTransform, groundShape); - - groundShape = new BoxShape(new Vector3f(boxsize, boxsize, boxsize)); - groundTransform = new Transform(); - groundTransform.setIdentity(); - groundTransform.origin.set(0f, boxsize/2, boxsize+1); - localCreateRigidBody(0f, groundTransform, groundShape); + transform = new Transform(); + transform.setIdentity(); + transform.origin.set(0f, boxsize/2, boxsize+1); + localCreateRigidBody(0f, transform, groundShape); transientDynamicsWorld.setGravity(new Vector3f(0.075f, -gravity, wind)); -- Gitblit v1.6.2