Beispiel #1
0
  public boolean insideFrustum() {
    Vector3f min = new Vector3f();
    Vector3f max = new Vector3f();
    body.getAabb(min, max);
    Vector3f dimHalved = max.minus(min).mul(0.5f);
    Vector3f center;

    if (origin.length() == 0
        || json.get("physics").get("bounds_type").asString().equals("CONVEX_HULL"))
      center = min.plus(dimHalved);
    else center = min.plus(dimHalved).plus(orientation().mult(origin).mul(scale()));

    return scene.cam.frustum.boundsInFrustum(
        center.x, center.y, center.z, dimHalved.x, dimHalved.y, dimHalved.z);
  }