@@ -160,6 +160,9 @@ class Bounds implements Collider {
public function transform( m : Matrix ) {
var xMin = xMin, yMin = yMin, zMin = zMin, xMax = xMax, yMax = yMax, zMax = zMax;
empty();
+ // if empty, keep empty
+ if( xMax < xMin && yMax < yMin && zMax < zMin )
+ return;
var v = new h3d.col.Point();
v.set(xMin, yMin, zMin);
v.transform(m);
@@ -426,18 +426,14 @@ class GpuParticles extends h3d.scene.MultiMaterial {
groups = [];
}
- override function getBounds(?b:h3d.col.Bounds, rec = true) {
- var b = super.getBounds(b, rec);
+ override function getBounds(?b:h3d.col.Bounds, rec = false) {
for( g in groups )
if( g.needRebuild ) {
var s = getScene();
if( s != null ) sync(@:privateAccess s.renderer.ctx);
break;
- var tmp = bounds.clone();
- tmp.transform(absPos);
- b.add(tmp);
- return b;
+ return super.getBounds(b, rec);
public dynamic function onEnd() {