Normand Briere
2019-09-28 57f4646563d6757f65ddc00ca38975c352d76de7
PhysicsNode.java
....@@ -140,6 +140,8 @@
140140 // initPhysics();
141141 //
142142 // assert(dynamicsWorld == staticdynamicsWorld);
143
+ if (groundTransform != null) // marche pas
144
+ groundTransform.origin.set(0f, -floor - 10, 0f);
143145
144146 GetDynamics().stepSimulation(ms / 1000000.f);
145147 }
....@@ -159,10 +161,14 @@
159161
160162 // if (transientDynamicsWorld == null)
161163 // initPhysics();
162
-
164
+
165
+ groundTransform.origin.set(0f, -floor - 10, 0f);
166
+
163167 GetDynamics().stepSimulation(ms / 1000000.f);
164168 }
165169
170
+ transient Transform groundTransform;
171
+
166172 public void initPhysics()
167173 {
168174 //if (dynamicsWorld != null) // && staticdynamicsWorld == null)
....@@ -201,34 +207,35 @@
201207 // Setup a big ground box
202208 // {
203209 CollisionShape groundShape = new BoxShape(new Vector3f(boxsize, 10f, boxsize));
204
- Transform groundTransform = new Transform();
205
- groundTransform.setIdentity();
206
- groundTransform.origin.set(0f, -floor - 10, 0f);
207
- localCreateRigidBody(0f, groundTransform, groundShape);
210
+ Transform transform = new Transform();
211
+ transform.setIdentity();
212
+ transform.origin.set(0f, -floor - 10, 0f);
213
+ localCreateRigidBody(0f, transform, groundShape);
214
+
215
+ groundTransform = transform;
216
+ groundShape = new BoxShape(new Vector3f(boxsize, boxsize, boxsize));
217
+ transform = new Transform();
218
+ transform.setIdentity();
219
+ transform.origin.set(0f, boxsize/2, -boxsize-1);
220
+ localCreateRigidBody(0f, transform, groundShape);
208221
209222 groundShape = new BoxShape(new Vector3f(boxsize, boxsize, boxsize));
210
- groundTransform = new Transform();
211
- groundTransform.setIdentity();
212
- groundTransform.origin.set(0f, boxsize/2, -boxsize-1);
213
- localCreateRigidBody(0f, groundTransform, groundShape);
223
+ transform = new Transform();
224
+ transform.setIdentity();
225
+ transform.origin.set(-boxsize-1, boxsize/2, 0f);
226
+ localCreateRigidBody(0f, transform, groundShape);
214227
215228 groundShape = new BoxShape(new Vector3f(boxsize, boxsize, boxsize));
216
- groundTransform = new Transform();
217
- groundTransform.setIdentity();
218
- groundTransform.origin.set(-boxsize-1, boxsize/2, 0f);
219
- localCreateRigidBody(0f, groundTransform, groundShape);
229
+ transform = new Transform();
230
+ transform.setIdentity();
231
+ transform.origin.set(boxsize+1, boxsize/2, 0f);
232
+ localCreateRigidBody(0f, transform, groundShape);
220233
221234 groundShape = new BoxShape(new Vector3f(boxsize, boxsize, boxsize));
222
- groundTransform = new Transform();
223
- groundTransform.setIdentity();
224
- groundTransform.origin.set(boxsize+1, boxsize/2, 0f);
225
- localCreateRigidBody(0f, groundTransform, groundShape);
226
-
227
- groundShape = new BoxShape(new Vector3f(boxsize, boxsize, boxsize));
228
- groundTransform = new Transform();
229
- groundTransform.setIdentity();
230
- groundTransform.origin.set(0f, boxsize/2, boxsize+1);
231
- localCreateRigidBody(0f, groundTransform, groundShape);
235
+ transform = new Transform();
236
+ transform.setIdentity();
237
+ transform.origin.set(0f, boxsize/2, boxsize+1);
238
+ localCreateRigidBody(0f, transform, groundShape);
232239
233240 transientDynamicsWorld.setGravity(new Vector3f(0.075f, -gravity, wind));
234241