Normand Briere
2019-11-07 dbbcbd6f6bd5b9c6eb194130ab471045faaf4955
com/bulletphysics/dynamics/RigidBody.java
....@@ -216,9 +216,15 @@
216216
217217 static Vector3f g = new Vector3f();
218218 static Vector3f w = new Vector3f();
219
+
219220 static public Vector3f wind = new Vector3f();
220221 static public Vector3f pos = new Vector3f();
221222
223
+ static public Vector3f min = new Vector3f();
224
+ static public Vector3f max = new Vector3f();
225
+
226
+ static public boolean justclicked;
227
+
222228 public void applyGravity() {
223229 if (isStaticOrKinematicObject())
224230 return;
....@@ -226,18 +232,36 @@
226232 g.y = gravity.y;
227233 applyCentralForce(g);
228234
235
+ if (pos.x == 0 && pos.y == 0 && pos.z == 0)
236
+ return;
237
+
238
+ justclicked = false;
239
+
229240 wind.set(pos);
230241 wind.x -= worldTransform.origin.x;
231242 wind.y -= worldTransform.origin.y;
232243 wind.z -= worldTransform.origin.z;
233244
245
+// this.collisionShape.getAabb(worldTransform, min, max);
246
+//
247
+// if (pos.x < min.x || pos.x > max.x)
248
+// return;
249
+// if (pos.y < min.y || pos.y > max.y)
250
+// return;
251
+// if (pos.z < min.z || pos.z > max.z)
252
+// return;
253
+
234254 float dot = pos.x * wind.x + pos.y * wind.y + pos.z * wind.z;
235255
236
- dot = 10;
256
+ dot = 100;
237257
238258 w.x = wind.x * gravity.z * dot;
239259 w.y = wind.y * gravity.z * dot;
240260 w.z = wind.z * gravity.z * dot;
261
+
262
+ System.out.print("min = " + min);
263
+ System.out.println("; max = " + max);
264
+
241265 applyCentralForce(w);
242266 }
243267