From 5b8b802dfdf80ea8f4c14305edcf7886383cd422 Mon Sep 17 00:00:00 2001 From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com> Date: Fri, 19 May 2023 19:10:55 +0530 Subject: [PATCH] use fast transforms for colliders --- src/PathedInterior.hx | 1 + src/collision/CollisionEntity.hx | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/PathedInterior.hx b/src/PathedInterior.hx index 69844e4e..97ff4231 100644 --- a/src/PathedInterior.hx +++ b/src/PathedInterior.hx @@ -107,6 +107,7 @@ class PathedInterior extends InteriorObject { this.setRotationQuat(this.baseOrientation.clone()); this.collider.setTransform(this.getTransform()); + this.collider.fastTransform = true; this.path = cast this.simGroup.elements.filter((element) -> element._type == MissionElementType.Path)[0]; diff --git a/src/collision/CollisionEntity.hx b/src/collision/CollisionEntity.hx index 860a2e67..9808680d 100644 --- a/src/collision/CollisionEntity.hx +++ b/src/collision/CollisionEntity.hx @@ -36,6 +36,7 @@ class CollisionEntity implements IOctreeObject implements IBVHObject { public var go:GameObject; public var userData:Int; + public var fastTransform:Bool = false; public var difEdgeMap:Map; @@ -72,7 +73,7 @@ class CollisionEntity implements IOctreeObject implements IBVHObject { if (this.transform.equal(transform)) return; // Speedup - if (Util.mat3x3equal(this.transform, transform)) { + if (this.fastTransform && Util.mat3x3equal(this.transform, transform)) { var oldPos = this.transform.getPosition(); var newPos = transform.getPosition(); this.transform.setPosition(newPos);