@galacean/engine-physics-lite 0.0.0-experimental-double11.4 → 0.0.0-experimental-double11.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +122 -91
- package/dist/browser.min.js +1 -1
- package/dist/main.js +122 -91
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +122 -91
- package/dist/module.js +122 -92
- package/dist/module.js.map +1 -1
- package/package.json +4 -4
- package/types/LitePhysics.d.ts +8 -2
- package/types/LitePhysicsManager.d.ts +1 -77
- package/types/index.d.ts +1 -0
- package/types/shape/LiteBoxColliderShape.d.ts +0 -1
- package/types/shape/LiteColliderShape.d.ts +3 -2
package/dist/browser.js
CHANGED
|
@@ -90,6 +90,8 @@
|
|
|
90
90
|
* Abstract class for collider shapes.
|
|
91
91
|
*/ var LiteColliderShape = /*#__PURE__*/ function() {
|
|
92
92
|
function LiteColliderShape() {
|
|
93
|
+
/** @internal */ this._position = new engine.Vector3();
|
|
94
|
+
/** @internal */ this._worldScale = new engine.Vector3(1, 1, 1);
|
|
93
95
|
/** @internal */ this._transform = new LiteTransform();
|
|
94
96
|
/** @internal */ this._invModelMatrix = new engine.Matrix();
|
|
95
97
|
this._transform.owner = this;
|
|
@@ -104,7 +106,18 @@
|
|
|
104
106
|
/**
|
|
105
107
|
* {@inheritDoc IColliderShape.setPosition }
|
|
106
108
|
*/ _proto.setPosition = function setPosition(position) {
|
|
107
|
-
|
|
109
|
+
if (position !== this._position) {
|
|
110
|
+
this._position.copyFrom(position);
|
|
111
|
+
}
|
|
112
|
+
this._setLocalPose();
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* {@inheritDoc IColliderShape.setWorldScale }
|
|
116
|
+
*/ _proto.setWorldScale = function setWorldScale(scale) {
|
|
117
|
+
if (scale !== this._worldScale) {
|
|
118
|
+
this._worldScale.copyFrom(scale);
|
|
119
|
+
}
|
|
120
|
+
this._setLocalPose();
|
|
108
121
|
};
|
|
109
122
|
/**
|
|
110
123
|
* {@inheritDoc IColliderShape.setContactOffset }
|
|
@@ -158,6 +171,11 @@
|
|
|
158
171
|
}
|
|
159
172
|
return this._invModelMatrix;
|
|
160
173
|
};
|
|
174
|
+
_proto._setLocalPose = function _setLocalPose() {
|
|
175
|
+
var shapePosition = LiteColliderShape._tempPoint;
|
|
176
|
+
engine.Vector3.multiply(this._position, this._worldScale, shapePosition);
|
|
177
|
+
this._transform.position = shapePosition;
|
|
178
|
+
};
|
|
161
179
|
return LiteColliderShape;
|
|
162
180
|
}();
|
|
163
181
|
(function() {
|
|
@@ -545,11 +563,11 @@
|
|
|
545
563
|
|
|
546
564
|
/**
|
|
547
565
|
* A dynamic collider can act with self-defined movement or physical force
|
|
548
|
-
*/ var LiteDynamicCollider = /*#__PURE__*/ function(
|
|
549
|
-
_inherits(LiteDynamicCollider,
|
|
566
|
+
*/ var LiteDynamicCollider = /*#__PURE__*/ function(LiteCollider1) {
|
|
567
|
+
_inherits(LiteDynamicCollider, LiteCollider1);
|
|
550
568
|
function LiteDynamicCollider(position, rotation) {
|
|
551
569
|
var _this;
|
|
552
|
-
_this =
|
|
570
|
+
_this = LiteCollider1.call(this) || this;
|
|
553
571
|
_this._transform.setPosition(position.x, position.y, position.z);
|
|
554
572
|
_this._transform.setRotationQuaternion(rotation.x, rotation.y, rotation.z, rotation.w);
|
|
555
573
|
return _this;
|
|
@@ -653,6 +671,42 @@
|
|
|
653
671
|
return LiteDynamicCollider;
|
|
654
672
|
}(LiteCollider);
|
|
655
673
|
|
|
674
|
+
/**
|
|
675
|
+
* Physics material describes how to handle colliding objects (friction, bounciness).
|
|
676
|
+
*/ var LitePhysicsMaterial = /*#__PURE__*/ function() {
|
|
677
|
+
function LitePhysicsMaterial(staticFriction, dynamicFriction, bounciness, frictionCombine, bounceCombine) {}
|
|
678
|
+
var _proto = LitePhysicsMaterial.prototype;
|
|
679
|
+
/**
|
|
680
|
+
* {@inheritDoc IPhysicsMaterial.setBounciness }
|
|
681
|
+
*/ _proto.setBounciness = function setBounciness(value) {
|
|
682
|
+
throw "Physics-lite don't support physics material. Use Physics-PhysX instead!";
|
|
683
|
+
};
|
|
684
|
+
/**
|
|
685
|
+
* {@inheritDoc IPhysicsMaterial.setDynamicFriction }
|
|
686
|
+
*/ _proto.setDynamicFriction = function setDynamicFriction(value) {
|
|
687
|
+
throw "Physics-lite don't support physics material. Use Physics-PhysX instead!";
|
|
688
|
+
};
|
|
689
|
+
/**
|
|
690
|
+
* {@inheritDoc IPhysicsMaterial.setStaticFriction }
|
|
691
|
+
*/ _proto.setStaticFriction = function setStaticFriction(value) {
|
|
692
|
+
throw "Physics-lite don't support physics material. Use Physics-PhysX instead!";
|
|
693
|
+
};
|
|
694
|
+
/**
|
|
695
|
+
* {@inheritDoc IPhysicsMaterial.setBounceCombine }
|
|
696
|
+
*/ _proto.setBounceCombine = function setBounceCombine(value) {
|
|
697
|
+
throw "Physics-lite don't support physics material. Use Physics-PhysX instead!";
|
|
698
|
+
};
|
|
699
|
+
/**
|
|
700
|
+
* {@inheritDoc IPhysicsMaterial.setFrictionCombine }
|
|
701
|
+
*/ _proto.setFrictionCombine = function setFrictionCombine(value) {
|
|
702
|
+
throw "Physics-lite don't support physics material. Use Physics-PhysX instead!";
|
|
703
|
+
};
|
|
704
|
+
/**
|
|
705
|
+
* {@inheritDoc IPhysicsMaterial.destroy }
|
|
706
|
+
*/ _proto.destroy = function destroy() {};
|
|
707
|
+
return LitePhysicsMaterial;
|
|
708
|
+
}();
|
|
709
|
+
|
|
656
710
|
/**
|
|
657
711
|
* High-performance unordered array, delete uses exchange method to improve performance, internal capacity only increases.
|
|
658
712
|
*/ var DisorderedArray = /*#__PURE__*/ function() {
|
|
@@ -711,13 +765,12 @@
|
|
|
711
765
|
|
|
712
766
|
/**
|
|
713
767
|
* Box collider shape in Lite.
|
|
714
|
-
*/ var LiteBoxColliderShape = /*#__PURE__*/ function(
|
|
715
|
-
_inherits(LiteBoxColliderShape,
|
|
768
|
+
*/ var LiteBoxColliderShape = /*#__PURE__*/ function(LiteColliderShape1) {
|
|
769
|
+
_inherits(LiteBoxColliderShape, LiteColliderShape1);
|
|
716
770
|
function LiteBoxColliderShape(uniqueID, size, material) {
|
|
717
771
|
var _this;
|
|
718
|
-
_this =
|
|
772
|
+
_this = LiteColliderShape1.call(this) || this;
|
|
719
773
|
_this._halfSize = new engine.Vector3();
|
|
720
|
-
_this._scale = new engine.Vector3(1, 1, 1);
|
|
721
774
|
/** @internal */ _this._boxMin = new engine.Vector3(-0.5, -0.5, -0.5);
|
|
722
775
|
/** @internal */ _this._boxMax = new engine.Vector3(0.5, 0.5, 0.5);
|
|
723
776
|
_this._id = uniqueID;
|
|
@@ -729,14 +782,14 @@
|
|
|
729
782
|
/**
|
|
730
783
|
* {@inheritDoc IColliderShape.setPosition }
|
|
731
784
|
*/ _proto.setPosition = function setPosition(position) {
|
|
732
|
-
|
|
785
|
+
LiteColliderShape1.prototype.setPosition.call(this, position);
|
|
733
786
|
this._setBondingBox();
|
|
734
787
|
};
|
|
735
788
|
/**
|
|
736
789
|
* {@inheritDoc IColliderShape.setWorldScale }
|
|
737
790
|
*/ _proto.setWorldScale = function setWorldScale(scale) {
|
|
738
|
-
|
|
739
|
-
this.
|
|
791
|
+
LiteColliderShape1.prototype.setWorldScale.call(this, scale);
|
|
792
|
+
this._setBondingBox();
|
|
740
793
|
};
|
|
741
794
|
/**
|
|
742
795
|
* {@inheritDoc IBoxColliderShape.setSize }
|
|
@@ -749,8 +802,8 @@
|
|
|
749
802
|
*/ _proto._raycast = function _raycast(ray, hit) {
|
|
750
803
|
var localRay = this._getLocalRay(ray);
|
|
751
804
|
var boundingBox = LiteBoxColliderShape._tempBox;
|
|
752
|
-
boundingBox.min.set(-this._halfSize.x * this.
|
|
753
|
-
boundingBox.max.set(this._halfSize.x * this.
|
|
805
|
+
boundingBox.min.set(-this._halfSize.x * this._worldScale.x, -this._halfSize.y * this._worldScale.y, -this._halfSize.z * this._worldScale.z);
|
|
806
|
+
boundingBox.max.set(this._halfSize.x * this._worldScale.x, this._halfSize.y * this._worldScale.y, this._halfSize.z * this._worldScale.z);
|
|
754
807
|
var rayDistance = localRay.intersectBox(boundingBox);
|
|
755
808
|
if (rayDistance !== -1) {
|
|
756
809
|
this._updateHitResult(localRay, rayDistance, hit, ray.origin);
|
|
@@ -760,10 +813,11 @@
|
|
|
760
813
|
}
|
|
761
814
|
};
|
|
762
815
|
_proto._setBondingBox = function _setBondingBox() {
|
|
763
|
-
var
|
|
816
|
+
var position = this._transform.position;
|
|
817
|
+
var scale = this._worldScale;
|
|
764
818
|
var halfSize = this._halfSize;
|
|
765
|
-
|
|
766
|
-
|
|
819
|
+
this._boxMin.set(-halfSize.x * scale.x + position.x, -halfSize.y * scale.y + position.y, -halfSize.z * scale.z + position.z);
|
|
820
|
+
this._boxMax.set(halfSize.x * scale.x + position.x, halfSize.y * scale.y + position.y, halfSize.z * scale.z + position.z);
|
|
767
821
|
};
|
|
768
822
|
return LiteBoxColliderShape;
|
|
769
823
|
}(LiteColliderShape);
|
|
@@ -773,11 +827,11 @@
|
|
|
773
827
|
|
|
774
828
|
/**
|
|
775
829
|
* Sphere collider shape in Lite.
|
|
776
|
-
*/ var LiteSphereColliderShape = /*#__PURE__*/ function(
|
|
777
|
-
_inherits(LiteSphereColliderShape,
|
|
830
|
+
*/ var LiteSphereColliderShape = /*#__PURE__*/ function(LiteColliderShape1) {
|
|
831
|
+
_inherits(LiteSphereColliderShape, LiteColliderShape1);
|
|
778
832
|
function LiteSphereColliderShape(uniqueID, radius, material) {
|
|
779
833
|
var _this;
|
|
780
|
-
_this =
|
|
834
|
+
_this = LiteColliderShape1.call(this) || this;
|
|
781
835
|
_this._radius = 1;
|
|
782
836
|
_this._maxScale = 1;
|
|
783
837
|
_this._radius = radius;
|
|
@@ -793,6 +847,7 @@
|
|
|
793
847
|
/**
|
|
794
848
|
* {@inheritDoc IColliderShape.setWorldScale }
|
|
795
849
|
*/ _proto.setWorldScale = function setWorldScale(scale) {
|
|
850
|
+
LiteColliderShape1.prototype.setWorldScale.call(this, scale);
|
|
796
851
|
this._maxScale = Math.max(scale.x, scale.y, scale.z);
|
|
797
852
|
};
|
|
798
853
|
/**
|
|
@@ -825,8 +880,8 @@
|
|
|
825
880
|
|
|
826
881
|
/**
|
|
827
882
|
* A manager is a collection of colliders and constraints which can interact.
|
|
828
|
-
*/ var
|
|
829
|
-
function
|
|
883
|
+
*/ var LitePhysicsScene = /*#__PURE__*/ function() {
|
|
884
|
+
function LitePhysicsScene(onContactEnter, onContactExit, onContactStay, onTriggerEnter, onTriggerExit, onTriggerStay) {
|
|
830
885
|
this._colliders = [];
|
|
831
886
|
this._sphere = new engine.BoundingSphere();
|
|
832
887
|
this._box = new engine.BoundingBox();
|
|
@@ -840,7 +895,7 @@
|
|
|
840
895
|
this._onTriggerExit = onTriggerExit;
|
|
841
896
|
this._onTriggerStay = onTriggerStay;
|
|
842
897
|
}
|
|
843
|
-
var _proto =
|
|
898
|
+
var _proto = LitePhysicsScene.prototype;
|
|
844
899
|
/**
|
|
845
900
|
* {@inheritDoc IPhysicsManager.setGravity }
|
|
846
901
|
*/ _proto.setGravity = function setGravity(value) {
|
|
@@ -893,23 +948,25 @@
|
|
|
893
948
|
var colliders = this._colliders;
|
|
894
949
|
var hitResult;
|
|
895
950
|
if (hit) {
|
|
896
|
-
hitResult =
|
|
951
|
+
hitResult = LitePhysicsScene._hitResult;
|
|
897
952
|
}
|
|
898
953
|
var isHit = false;
|
|
899
|
-
var curHit =
|
|
954
|
+
var curHit = LitePhysicsScene._currentHit;
|
|
900
955
|
for(var i = 0, len = colliders.length; i < len; i++){
|
|
901
956
|
var collider = colliders[i];
|
|
902
|
-
if (collider._raycast(ray, onRaycast, curHit)
|
|
957
|
+
if (collider._raycast(ray, onRaycast, curHit)) {
|
|
903
958
|
isHit = true;
|
|
904
|
-
if (
|
|
905
|
-
hitResult
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
959
|
+
if (curHit.distance < distance) {
|
|
960
|
+
if (hitResult) {
|
|
961
|
+
hitResult.normal.copyFrom(curHit.normal);
|
|
962
|
+
hitResult.point.copyFrom(curHit.point);
|
|
963
|
+
hitResult.distance = curHit.distance;
|
|
964
|
+
hitResult.shapeID = curHit.shapeID;
|
|
965
|
+
} else {
|
|
966
|
+
return true;
|
|
967
|
+
}
|
|
968
|
+
distance = curHit.distance;
|
|
911
969
|
}
|
|
912
|
-
distance = curHit.distance;
|
|
913
970
|
}
|
|
914
971
|
}
|
|
915
972
|
if (!isHit && hitResult) {
|
|
@@ -950,7 +1007,7 @@
|
|
|
950
1007
|
for(var i = 0, len = myColliderShapes.length; i < len; i++){
|
|
951
1008
|
var myShape = myColliderShapes[i];
|
|
952
1009
|
if (_instanceof(myShape, LiteBoxColliderShape)) {
|
|
953
|
-
|
|
1010
|
+
LitePhysicsScene._updateWorldBox(myShape, this._box);
|
|
954
1011
|
for(var j = 0, len1 = colliders.length; j < len1; j++){
|
|
955
1012
|
var colliderShape = colliders[j]._shapes;
|
|
956
1013
|
for(var k = 0, len2 = colliderShape.length; k < len2; k++){
|
|
@@ -977,7 +1034,7 @@
|
|
|
977
1034
|
}
|
|
978
1035
|
}
|
|
979
1036
|
} else if (_instanceof(myShape, LiteSphereColliderShape)) {
|
|
980
|
-
|
|
1037
|
+
LitePhysicsScene._upWorldSphere(myShape, this._sphere);
|
|
981
1038
|
for(var j1 = 0, len3 = colliders.length; j1 < len3; j1++){
|
|
982
1039
|
var colliderShape1 = colliders[j1]._shapes;
|
|
983
1040
|
for(var k1 = 0, len4 = colliderShape1.length; k1 < len4; k1++){
|
|
@@ -1029,24 +1086,24 @@
|
|
|
1029
1086
|
};
|
|
1030
1087
|
_proto._boxCollision = function _boxCollision(other) {
|
|
1031
1088
|
if (_instanceof(other, LiteBoxColliderShape)) {
|
|
1032
|
-
var box =
|
|
1033
|
-
|
|
1089
|
+
var box = LitePhysicsScene._tempBox;
|
|
1090
|
+
LitePhysicsScene._updateWorldBox(other, box);
|
|
1034
1091
|
return engine.CollisionUtil.intersectsBoxAndBox(box, this._box);
|
|
1035
1092
|
} else if (_instanceof(other, LiteSphereColliderShape)) {
|
|
1036
|
-
var sphere =
|
|
1037
|
-
|
|
1093
|
+
var sphere = LitePhysicsScene._tempSphere;
|
|
1094
|
+
LitePhysicsScene._upWorldSphere(other, sphere);
|
|
1038
1095
|
return engine.CollisionUtil.intersectsSphereAndBox(sphere, this._box);
|
|
1039
1096
|
}
|
|
1040
1097
|
return false;
|
|
1041
1098
|
};
|
|
1042
1099
|
_proto._sphereCollision = function _sphereCollision(other) {
|
|
1043
1100
|
if (_instanceof(other, LiteBoxColliderShape)) {
|
|
1044
|
-
var box =
|
|
1045
|
-
|
|
1101
|
+
var box = LitePhysicsScene._tempBox;
|
|
1102
|
+
LitePhysicsScene._updateWorldBox(other, box);
|
|
1046
1103
|
return engine.CollisionUtil.intersectsSphereAndBox(this._sphere, box);
|
|
1047
1104
|
} else if (_instanceof(other, LiteSphereColliderShape)) {
|
|
1048
|
-
var sphere =
|
|
1049
|
-
|
|
1105
|
+
var sphere = LitePhysicsScene._tempSphere;
|
|
1106
|
+
LitePhysicsScene._upWorldSphere(other, sphere);
|
|
1050
1107
|
return engine.CollisionUtil.intersectsSphereAndSphere(sphere, this._sphere);
|
|
1051
1108
|
}
|
|
1052
1109
|
return false;
|
|
@@ -1055,7 +1112,7 @@
|
|
|
1055
1112
|
* Calculate the bounding box in world space from boxCollider.
|
|
1056
1113
|
* @param boxCollider - The boxCollider to calculate
|
|
1057
1114
|
* @param out - The calculated boundingBox
|
|
1058
|
-
*/
|
|
1115
|
+
*/ LitePhysicsScene._updateWorldBox = function _updateWorldBox(boxCollider, out) {
|
|
1059
1116
|
var mat = boxCollider._transform.worldMatrix;
|
|
1060
1117
|
out.min.copyFrom(boxCollider._boxMin);
|
|
1061
1118
|
out.max.copyFrom(boxCollider._boxMax);
|
|
@@ -1065,23 +1122,23 @@
|
|
|
1065
1122
|
* Get the sphere info of the given sphere collider in world space.
|
|
1066
1123
|
* @param sphereCollider - The given sphere collider
|
|
1067
1124
|
* @param out - The calculated boundingSphere
|
|
1068
|
-
*/
|
|
1125
|
+
*/ LitePhysicsScene._upWorldSphere = function _upWorldSphere(sphereCollider, out) {
|
|
1069
1126
|
engine.Vector3.transformCoordinate(sphereCollider._transform.position, sphereCollider._transform.worldMatrix, out.center);
|
|
1070
1127
|
out.radius = sphereCollider.worldRadius;
|
|
1071
1128
|
};
|
|
1072
|
-
return
|
|
1129
|
+
return LitePhysicsScene;
|
|
1073
1130
|
}();
|
|
1074
1131
|
(function() {
|
|
1075
|
-
|
|
1132
|
+
LitePhysicsScene._tempSphere = new engine.BoundingSphere();
|
|
1076
1133
|
})();
|
|
1077
1134
|
(function() {
|
|
1078
|
-
|
|
1135
|
+
LitePhysicsScene._tempBox = new engine.BoundingBox();
|
|
1079
1136
|
})();
|
|
1080
1137
|
(function() {
|
|
1081
|
-
|
|
1138
|
+
LitePhysicsScene._currentHit = new LiteHitResult();
|
|
1082
1139
|
})();
|
|
1083
1140
|
(function() {
|
|
1084
|
-
|
|
1141
|
+
LitePhysicsScene._hitResult = new LiteHitResult();
|
|
1085
1142
|
})();
|
|
1086
1143
|
var /**
|
|
1087
1144
|
* Physics state
|
|
@@ -1099,50 +1156,14 @@
|
|
|
1099
1156
|
this.index2 = index2;
|
|
1100
1157
|
};
|
|
1101
1158
|
|
|
1102
|
-
/**
|
|
1103
|
-
* Physics material describes how to handle colliding objects (friction, bounciness).
|
|
1104
|
-
*/ var LitePhysicsMaterial = /*#__PURE__*/ function() {
|
|
1105
|
-
function LitePhysicsMaterial(staticFriction, dynamicFriction, bounciness, frictionCombine, bounceCombine) {}
|
|
1106
|
-
var _proto = LitePhysicsMaterial.prototype;
|
|
1107
|
-
/**
|
|
1108
|
-
* {@inheritDoc IPhysicsMaterial.setBounciness }
|
|
1109
|
-
*/ _proto.setBounciness = function setBounciness(value) {
|
|
1110
|
-
throw "Physics-lite don't support physics material. Use Physics-PhysX instead!";
|
|
1111
|
-
};
|
|
1112
|
-
/**
|
|
1113
|
-
* {@inheritDoc IPhysicsMaterial.setDynamicFriction }
|
|
1114
|
-
*/ _proto.setDynamicFriction = function setDynamicFriction(value) {
|
|
1115
|
-
throw "Physics-lite don't support physics material. Use Physics-PhysX instead!";
|
|
1116
|
-
};
|
|
1117
|
-
/**
|
|
1118
|
-
* {@inheritDoc IPhysicsMaterial.setStaticFriction }
|
|
1119
|
-
*/ _proto.setStaticFriction = function setStaticFriction(value) {
|
|
1120
|
-
throw "Physics-lite don't support physics material. Use Physics-PhysX instead!";
|
|
1121
|
-
};
|
|
1122
|
-
/**
|
|
1123
|
-
* {@inheritDoc IPhysicsMaterial.setBounceCombine }
|
|
1124
|
-
*/ _proto.setBounceCombine = function setBounceCombine(value) {
|
|
1125
|
-
throw "Physics-lite don't support physics material. Use Physics-PhysX instead!";
|
|
1126
|
-
};
|
|
1127
|
-
/**
|
|
1128
|
-
* {@inheritDoc IPhysicsMaterial.setFrictionCombine }
|
|
1129
|
-
*/ _proto.setFrictionCombine = function setFrictionCombine(value) {
|
|
1130
|
-
throw "Physics-lite don't support physics material. Use Physics-PhysX instead!";
|
|
1131
|
-
};
|
|
1132
|
-
/**
|
|
1133
|
-
* {@inheritDoc IPhysicsMaterial.destroy }
|
|
1134
|
-
*/ _proto.destroy = function destroy() {};
|
|
1135
|
-
return LitePhysicsMaterial;
|
|
1136
|
-
}();
|
|
1137
|
-
|
|
1138
1159
|
/**
|
|
1139
1160
|
* A static collider component that will not move.
|
|
1140
1161
|
* @remarks Mostly used for object which always stays at the same place and never moves around.
|
|
1141
|
-
*/ var LiteStaticCollider = /*#__PURE__*/ function(
|
|
1142
|
-
_inherits(LiteStaticCollider,
|
|
1162
|
+
*/ var LiteStaticCollider = /*#__PURE__*/ function(LiteCollider1) {
|
|
1163
|
+
_inherits(LiteStaticCollider, LiteCollider1);
|
|
1143
1164
|
function LiteStaticCollider(position, rotation) {
|
|
1144
1165
|
var _this;
|
|
1145
|
-
_this =
|
|
1166
|
+
_this = LiteCollider1.call(this) || this;
|
|
1146
1167
|
_this._transform.setPosition(position.x, position.y, position.z);
|
|
1147
1168
|
_this._transform.setRotationQuaternion(rotation.x, rotation.y, rotation.z, rotation.w);
|
|
1148
1169
|
return _this;
|
|
@@ -1160,8 +1181,13 @@
|
|
|
1160
1181
|
};
|
|
1161
1182
|
/**
|
|
1162
1183
|
* {@inheritDoc IPhysics.createPhysicsManager }
|
|
1163
|
-
*/ _proto.createPhysicsManager = function createPhysicsManager(
|
|
1164
|
-
return
|
|
1184
|
+
*/ _proto.createPhysicsManager = function createPhysicsManager() {
|
|
1185
|
+
return null;
|
|
1186
|
+
};
|
|
1187
|
+
/**
|
|
1188
|
+
* {@inheritDoc IPhysics.createPhysicsScene }
|
|
1189
|
+
*/ _proto.createPhysicsScene = function createPhysicsScene(physicsManager, onContactBegin, onContactEnd, onContactPersist, onTriggerBegin, onTriggerEnd, onTriggerPersist) {
|
|
1190
|
+
return new LitePhysicsScene(onContactBegin, onContactEnd, onContactPersist, onTriggerBegin, onTriggerEnd, onTriggerPersist);
|
|
1165
1191
|
};
|
|
1166
1192
|
/**
|
|
1167
1193
|
* {@inheritDoc IPhysics.createStaticCollider }
|
|
@@ -1221,7 +1247,12 @@
|
|
|
1221
1247
|
return LitePhysics;
|
|
1222
1248
|
}();
|
|
1223
1249
|
|
|
1250
|
+
//@ts-ignore
|
|
1251
|
+
var version = "0.0.0-experimental-double11.6";
|
|
1252
|
+
console.log("Galacean PhysicsLite version: " + version);
|
|
1253
|
+
|
|
1224
1254
|
exports.LitePhysics = LitePhysics;
|
|
1255
|
+
exports.version = version;
|
|
1225
1256
|
|
|
1226
1257
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
1227
1258
|
|
package/dist/browser.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports,require("@galacean/engine")):"function"==typeof define&&define.amd?define(["exports","@galacean/engine"],i):i(((t="undefined"!=typeof globalThis?globalThis:t||self).Galacean=t.Galacean||{},t.Galacean.PhysicsLite={}),t.Galacean)}(this,function(t,i){"use strict";function e(t,i){return(e=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function n(t,i){if("function"!=typeof i&&null!==i)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),i&&e(t,i)}function s(t,i){for(var e=0;e<i.length;e++){var n=i[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function o(t,i,e){return i&&s(t.prototype,i),e&&s(t,e),t}function r(t,i){return null!=i&&"undefined"!=typeof Symbol&&i[Symbol.hasInstance]?!!i[Symbol.hasInstance](t):t instanceof i}var a,h,l,c,u=function(){function t(t){void 0===t&&(t=[]),this._flags=t,this.flag=!0,this._flags.push(this)}return t.prototype.destroy=function(){i.Utils.removeFromArray(this._flags,this),this._flags=null},t}(),d=function(){function t(){this._updateFlags=[]}var i=t.prototype;return i.register=function(){return new u(this._updateFlags)},i.distribute=function(){for(var t=this._updateFlags,i=t.length-1;i>=0;i--)t[i].flag=!0},t}(),_=function(){function t(){this._transform=new p,this._invModelMatrix=new i.Matrix,this._transform.owner=this,this._inverseWorldMatFlag=this._transform.registerWorldChangeFlag()}var e=t.prototype;return e.setRotation=function(t){console.log("Physics-lite don't support setRotation. Use Physics-PhysX instead!")},e.setPosition=function(t){this._transform.setPosition(t.x,t.y,t.z)},e.setContactOffset=function(t){console.log("Physics-lite don't support setContactOffset. Use Physics-PhysX instead!")},e.setMaterial=function(t){console.log("Physics-lite don't support setMaterial. Use Physics-PhysX instead!")},e.setUniqueID=function(t){this._id=t},e.setIsTrigger=function(t){console.log("Physics-lite don't support setIsTrigger. Use Physics-PhysX instead!")},e.destroy=function(){},e._updateHitResult=function(e,n,s,o,r){void 0===r&&(r=!1);var a=t._tempPoint;e.getPoint(n,a),r||i.Vector3.transformCoordinate(a,this._transform.worldMatrix,a);var h=i.Vector3.distance(o,a);h<s.distance&&(s.point.copyFrom(a),s.distance=h,s.shapeID=this._id)},e._getLocalRay=function(e){var n=this._getInvModelMatrix(),s=t._ray;return i.Vector3.transformCoordinate(e.origin,n,s.origin),i.Vector3.transformNormal(e.direction,n,s.direction),s.direction.normalize(),s},e._getInvModelMatrix=function(){return this._inverseWorldMatFlag.flag&&(i.Matrix.invert(this._transform.worldMatrix,this._invModelMatrix),this._inverseWorldMatFlag.flag=!1),this._invModelMatrix},t}();_._ray=new i.Ray,_._tempPoint=new i.Vector3;var p=function(){function t(){this._position=new i.Vector3,this._rotation=new i.Vector3,this._rotationQuaternion=new i.Quaternion,this._scale=new i.Vector3(1,1,1),this._worldRotationQuaternion=new i.Quaternion,this._localMatrix=new i.Matrix,this._worldMatrix=new i.Matrix,this._updateFlagManager=new d,this._isParentDirty=!0,this._parentTransformCache=null,this._dirtyFlag=188}var e=t.prototype;return e.setPosition=function(t,i,e){this._position.set(t,i,e),this.position=this._position},e.setRotationQuaternion=function(t,i,e,n){this._rotationQuaternion.set(t,i,e,n),this.rotationQuaternion=this._rotationQuaternion},e.setScale=function(t,i,e){this._scale.set(t,i,e),this.scale=this._scale},e.registerWorldChangeFlag=function(){return this._updateFlagManager.register()},e._updateWorldPositionFlag=function(){if(!this._isContainDirtyFlags(132)&&(this._worldAssociatedChange(132),r(this._owner,f)))for(var t=this._owner._shapes,i=0,e=t.length;i<e;i++)t[i]._transform._updateWorldPositionFlag()},e._updateWorldRotationFlag=function(){if(!this._isContainDirtyFlags(152)&&(this._worldAssociatedChange(152),r(this._owner,f)))for(var t=this._owner._shapes,i=0,e=t.length;i<e;i++)t[i]._transform._updateWorldRotationFlag()},e._updateWorldScaleFlag=function(){if(!this._isContainDirtyFlags(160)&&(this._worldAssociatedChange(160),r(this._owner,f)))for(var t=this._owner._shapes,i=0,e=t.length;i<e;i++)t[i]._transform._updateWorldScaleFlag()},e._updateAllWorldFlag=function(){if(!this._isContainDirtyFlags(188)&&(this._worldAssociatedChange(188),r(this._owner,f)))for(var t=this._owner._shapes,i=0,e=t.length;i<e;i++)t[i]._transform._updateAllWorldFlag()},e._getParentTransform=function(){if(!this._isParentDirty)return this._parentTransformCache;var t=null;return r(this._owner,_)&&(t=this._owner._collider._transform),this._parentTransformCache=t,this._isParentDirty=!1,t},e._isContainDirtyFlags=function(t){return(this._dirtyFlag&t)===t},e._isContainDirtyFlag=function(t){return(this._dirtyFlag&t)!=0},e._setDirtyFlagTrue=function(t){this._dirtyFlag|=t},e._setDirtyFlagFalse=function(t){this._dirtyFlag&=~t},e._worldAssociatedChange=function(t){this._dirtyFlag|=t,this._updateFlagManager.distribute()},o(t,[{key:"owner",set:function(t){this._owner=t}},{key:"position",get:function(){return this._position},set:function(t){this._position!==t&&this._position.copyFrom(t),this._setDirtyFlagTrue(64),this._updateWorldPositionFlag()}},{key:"rotationQuaternion",get:function(){return this._isContainDirtyFlag(2)&&(i.Quaternion.rotationEuler(i.MathUtil.degreeToRadian(this._rotation.x),i.MathUtil.degreeToRadian(this._rotation.y),i.MathUtil.degreeToRadian(this._rotation.z),this._rotationQuaternion),this._setDirtyFlagFalse(2)),this._rotationQuaternion},set:function(t){this._rotationQuaternion!==t&&this._rotationQuaternion.copyFrom(t),this._setDirtyFlagTrue(65),this._setDirtyFlagFalse(2),this._updateWorldRotationFlag()}},{key:"worldRotationQuaternion",get:function(){if(this._isContainDirtyFlag(16)){var t=this._getParentTransform();null!=t?i.Quaternion.multiply(t.worldRotationQuaternion,this.rotationQuaternion,this._worldRotationQuaternion):this._worldRotationQuaternion.copyFrom(this.rotationQuaternion),this._setDirtyFlagFalse(16)}return this._worldRotationQuaternion},set:function(e){this._worldRotationQuaternion!==e&&this._worldRotationQuaternion.copyFrom(e);var n=this._getParentTransform();n?(i.Quaternion.invert(n.worldRotationQuaternion,t._tempQuat0),i.Quaternion.multiply(e,t._tempQuat0,this._rotationQuaternion)):this._rotationQuaternion.copyFrom(e),this.rotationQuaternion=this._rotationQuaternion,this._setDirtyFlagFalse(16)}},{key:"scale",get:function(){return this._scale},set:function(t){this._scale!==t&&this._scale.copyFrom(t),this._setDirtyFlagTrue(64),this._updateWorldScaleFlag()}},{key:"localMatrix",get:function(){return this._isContainDirtyFlag(64)&&(i.Matrix.affineTransformation(this._scale,this.rotationQuaternion,this._position,this._localMatrix),this._setDirtyFlagFalse(64)),this._localMatrix},set:function(t){this._localMatrix!==t&&this._localMatrix.copyFrom(t),this._localMatrix.decompose(this._position,this._rotationQuaternion,this._scale),this._setDirtyFlagTrue(1),this._setDirtyFlagFalse(64),this._updateAllWorldFlag()}},{key:"worldMatrix",get:function(){if(this._isContainDirtyFlag(128)){var t=this._getParentTransform();t?i.Matrix.multiply(t.worldMatrix,this.localMatrix,this._worldMatrix):this._worldMatrix.copyFrom(this.localMatrix),this._setDirtyFlagFalse(128)}return this._worldMatrix},set:function(e){this._worldMatrix!==e&&this._worldMatrix.copyFrom(e);var n=this._getParentTransform();n?(i.Matrix.invert(n.worldMatrix,t._tempMat42),i.Matrix.multiply(t._tempMat42,e,this._localMatrix)):this._localMatrix.copyFrom(e),this.localMatrix=this._localMatrix,this._setDirtyFlagFalse(128)}}]),t}();p._tempQuat0=new i.Quaternion,p._tempMat42=new i.Matrix,(a=l||(l={}))[a.LocalEuler=1]="LocalEuler",a[a.LocalQuat=2]="LocalQuat",a[a.WorldPosition=4]="WorldPosition",a[a.WorldEuler=8]="WorldEuler",a[a.WorldQuat=16]="WorldQuat",a[a.WorldScale=32]="WorldScale",a[a.LocalMatrix=64]="LocalMatrix",a[a.WorldMatrix=128]="WorldMatrix",a[a.WmWp=132]="WmWp",a[a.WmWeWq=152]="WmWeWq",a[a.WmWpWeWq=156]="WmWpWeWq",a[a.WmWs=160]="WmWs",a[a.WmWpWs=164]="WmWpWs",a[a.WmWpWeWqWs=188]="WmWpWeWqWs";var f=function(){function t(){this._shapes=[],this._transform=new p,this._transform.owner=this}var i=t.prototype;return i.addShape=function(t){var i=t._collider;i!==this&&(i&&i.removeShape(t),this._shapes.push(t),t._collider=this)},i.removeShape=function(t){var i=this._shapes.indexOf(t);-1!==i&&(this._shapes.splice(i,1),t._collider=null)},i.setWorldTransform=function(t,i){this._transform.setPosition(t.x,t.y,t.z),this._transform.setRotationQuaternion(i.x,i.y,i.z,i.w)},i.getWorldTransform=function(t,i){var e=this._transform,n=e.position,s=e.rotationQuaternion;t.set(n.x,n.y,n.z),i.set(s.x,s.y,s.z,s.w)},i.destroy=function(){},i._raycast=function(t,i,e){e.distance=Number.MAX_VALUE;for(var n=this._shapes,s=0,o=n.length;s<o;s++){var r=n[s];i(r._id)&&r._raycast(t,e)}return e.distance!=Number.MAX_VALUE},t}(),y=function(t){function i(i,e){var n;return(n=t.call(this)||this)._transform.setPosition(i.x,i.y,i.z),n._transform.setRotationQuaternion(e.x,e.y,e.z,e.w),n}n(i,t);var e=i.prototype;return e.addForce=function(t){throw"Physics-lite don't support addForce. Use Physics-PhysX instead!"},e.addTorque=function(t){throw"Physics-lite don't support addTorque. Use Physics-PhysX instead!"},e.move=function(t,i){throw"Physics-lite don't support move. Use Physics-PhysX instead!"},e.sleep=function(){throw"Physics-lite don't support putToSleep. Use Physics-PhysX instead!"},e.setAngularDamping=function(t){throw"Physics-lite don't support setAngularDamping. Use Physics-PhysX instead!"},e.setAngularVelocity=function(t){throw"Physics-lite don't support setAngularVelocity. Use Physics-PhysX instead!"},e.setCenterOfMass=function(t){throw"Physics-lite don't support setCenterOfMass. Use Physics-PhysX instead!"},e.setCollisionDetectionMode=function(t){throw"Physics-lite don't support setCollisionDetectionMode. Use Physics-PhysX instead!"},e.setConstraints=function(t){throw"Physics-lite don't support setConstraints. Use Physics-PhysX instead!"},e.setInertiaTensor=function(t){throw"Physics-lite don't support setInertiaTensor. Use Physics-PhysX instead!"},e.setIsKinematic=function(t){throw"Physics-lite don't support setIsKinematic. Use Physics-PhysX instead!"},e.setLinearDamping=function(t){throw"Physics-lite don't support setLinearDamping. Use Physics-PhysX instead!"},e.setLinearVelocity=function(t){throw"Physics-lite don't support setLinearVelocity. Use Physics-PhysX instead!"},e.setMass=function(t){throw"Physics-lite don't support setMass. Use Physics-PhysX instead!"},e.setMaxAngularVelocity=function(t){throw"Physics-lite don't support setMaxAngularVelocity. Use Physics-PhysX instead!"},e.setMaxDepenetrationVelocity=function(t){throw"Physics-lite don't support setMaxDepenetrationVelocity. Use Physics-PhysX instead!"},e.setSleepThreshold=function(t){throw"Physics-lite don't support setSleepThreshold. Use Physics-PhysX instead!"},e.setSolverIterations=function(t){throw"Physics-lite don't support setSolverIterations. Use Physics-PhysX instead!"},e.wakeUp=function(){throw"Physics-lite don't support wakeUp. Use Physics-PhysX instead!"},i}(f),g=function(){function t(t){void 0===t&&(t=0),this.length=0,this._elements=Array(t)}var i=t.prototype;return i.add=function(t){this.length===this._elements.length?this._elements.push(t):this._elements[this.length]=t,this.length++},i.delete=function(t){var i=this._elements.indexOf(t);this.deleteByIndex(i)},i.get=function(t){if(t>=this.length)throw"Index is out of range.";return this._elements[t]},i.deleteByIndex=function(t){var i=this._elements,e=null,n=this.length-1;return t!==n&&(e=i[n],i[t]=e),this.length--,e},i.garbageCollection=function(){this._elements.length=this.length},t}(),m=function(){this.shapeID=-1,this.distance=0,this.point=new i.Vector3,this.normal=new i.Vector3},P=function(t){function e(e,n,s){var o;return(o=t.call(this)||this)._halfSize=new i.Vector3,o._scale=new i.Vector3(1,1,1),o._boxMin=new i.Vector3(-.5,-.5,-.5),o._boxMax=new i.Vector3(.5,.5,.5),o._id=e,o._halfSize.set(.5*n.x,.5*n.y,.5*n.z),o._setBondingBox(),o}n(e,t);var s=e.prototype;return s.setPosition=function(i){t.prototype.setPosition.call(this,i),this._setBondingBox()},s.setWorldScale=function(t){this._transform.position=this._transform.position.multiply(t),this._scale.copyFrom(t)},s.setSize=function(t){this._halfSize.set(.5*t.x,.5*t.y,.5*t.z),this._setBondingBox()},s._raycast=function(t,i){var n=this._getLocalRay(t),s=e._tempBox;s.min.set(-this._halfSize.x*this._scale.x,-this._halfSize.y*this._scale.y,-this._halfSize.z*this._scale.z),s.max.set(this._halfSize.x*this._scale.x,this._halfSize.y*this._scale.y,this._halfSize.z*this._scale.z);var o=n.intersectBox(s);return -1!==o&&(this._updateHitResult(n,o,i,t.origin),!0)},s._setBondingBox=function(){var t=this._transform.position,e=this._halfSize;i.Vector3.add(t,e,this._boxMax),i.Vector3.subtract(t,e,this._boxMin)},e}(_);P._tempBox=new i.BoundingBox;var x=function(t){function e(i,e,n){var s;return(s=t.call(this)||this)._radius=1,s._maxScale=1,s._radius=e,s._id=i,s}n(e,t);var s=e.prototype;return s.setRadius=function(t){this._radius=t},s.setWorldScale=function(t){this._maxScale=Math.max(t.x,t.y,t.z)},s._raycast=function(t,n){var s=e._tempSphere;i.Vector3.transformCoordinate(this._transform.position,this._collider._transform.worldMatrix,s.center),s.radius=this.worldRadius;var o=t.intersectSphere(s);return -1!==o&&(this._updateHitResult(t,o,n,t.origin,!0),!0)},o(e,[{key:"worldRadius",get:function(){return this._radius*this._maxScale}}]),e}(_);x._tempSphere=new i.BoundingSphere;var v=function(){function t(t,e,n,s,o,r){this._colliders=[],this._sphere=new i.BoundingSphere,this._box=new i.BoundingBox,this._currentEvents=new g,this._eventMap={},this._eventPool=[],this._onContactEnter=t,this._onContactExit=e,this._onContactStay=n,this._onTriggerEnter=s,this._onTriggerExit=o,this._onTriggerStay=r}var e=t.prototype;return e.setGravity=function(t){console.log("Physics-lite don't support gravity. Use Physics-PhysX instead!")},e.addColliderShape=function(t){this._eventMap[t._id]={}},e.removeColliderShape=function(t){for(var i=this._eventPool,e=this._currentEvents,n=t._id,s=e.length-1;s>=0;s--){var o=e.get(s);(o.index1==n||o.index2==n)&&(e.deleteByIndex(s),i.push(o))}delete this._eventMap[n]},e.addCollider=function(t){this._colliders.push(t)},e.removeCollider=function(t){var i=this._colliders.indexOf(t);-1!==i&&this._colliders.splice(i,1)},e.update=function(t){for(var i=this._colliders,e=0,n=i.length;e<n;e++)this._collisionDetection(t,i[e]);this._fireEvent()},e.raycast=function(i,e,n,s){var o,r=this._colliders;s&&(o=t._hitResult);for(var a=!1,h=t._currentHit,l=0,c=r.length;l<c;l++)if(r[l]._raycast(i,n,h)&&h.distance<e){if(a=!0,!o)return!0;o.normal.copyFrom(h.normal),o.point.copyFrom(h.point),o.distance=h.distance,o.shapeID=h.shapeID,e=h.distance}return!a&&o?(o.shapeID=-1,o.distance=0,o.point.set(0,0,0),o.normal.set(0,0,0)):a&&o&&s(o.shapeID,o.distance,o.point,o.normal),a},e.addCharacterController=function(t){throw"Physics-lite don't support addCharacterController. Use Physics-PhysX instead!"},e.removeCharacterController=function(t){throw"Physics-lite don't support removeCharacterController. Use Physics-PhysX instead!"},e._getTrigger=function(t,i){var e;return this._eventPool.length?((e=this._eventPool.pop()).index1=t,e.index2=i):e=new w(t,i),this._eventMap[t][i]=e,e},e._collisionDetection=function(i,e){for(var n=this._colliders,s=e._shapes,o=0,a=s.length;o<a;o++){var h=s[o];if(r(h,P)){t._updateWorldBox(h,this._box);for(var l=0,c=n.length;l<c;l++)for(var u=n[l]._shapes,d=0,_=u.length;d<_;d++){var p=u[d],f=p._id,y=h._id,g=f<y?this._eventMap[f][y]:this._eventMap[y][f];if((void 0===g||g.alreadyInvoked)&&p!=h&&this._boxCollision(p)){if(void 0===g){var m=f<y?this._getTrigger(f,y):this._getTrigger(y,f);m.state=0,m.alreadyInvoked=!1,this._currentEvents.add(m)}else 0===g.state?(g.state=1,g.alreadyInvoked=!1):1===g.state&&(g.alreadyInvoked=!1)}}}else if(r(h,x)){t._upWorldSphere(h,this._sphere);for(var v=0,w=n.length;v<w;v++)for(var M=n[v]._shapes,F=0,C=M.length;F<C;F++){var W=M[F],S=W._id,U=h._id,D=S<U?this._eventMap[S][U]:this._eventMap[U][S];if((void 0===D||D.alreadyInvoked)&&W!=h&&this._sphereCollision(W)){if(void 0===D){var Q=S<U?this._getTrigger(S,U):this._getTrigger(U,S);Q.state=0,Q.alreadyInvoked=!1,this._currentEvents.add(Q)}else 0===D.state?(D.state=1,D.alreadyInvoked=!1):1===D.state&&(D.alreadyInvoked=!1)}}}}},e._fireEvent=function(){for(var t=this._eventPool,i=this._currentEvents,e=i.length-1;e>=0;e--){var n=i.get(e);n.alreadyInvoked?(n.state=2,this._eventMap[n.index1][n.index2]=void 0,this._onTriggerExit(n.index1,n.index2),i.deleteByIndex(e),t.push(n)):0==n.state?(this._onTriggerEnter(n.index1,n.index2),n.alreadyInvoked=!0):1==n.state&&(this._onTriggerStay(n.index1,n.index2),n.alreadyInvoked=!0)}},e._boxCollision=function(e){if(r(e,P)){var n=t._tempBox;return t._updateWorldBox(e,n),i.CollisionUtil.intersectsBoxAndBox(n,this._box)}if(r(e,x)){var s=t._tempSphere;return t._upWorldSphere(e,s),i.CollisionUtil.intersectsSphereAndBox(s,this._box)}return!1},e._sphereCollision=function(e){if(r(e,P)){var n=t._tempBox;return t._updateWorldBox(e,n),i.CollisionUtil.intersectsSphereAndBox(this._sphere,n)}if(r(e,x)){var s=t._tempSphere;return t._upWorldSphere(e,s),i.CollisionUtil.intersectsSphereAndSphere(s,this._sphere)}return!1},t._updateWorldBox=function(t,e){var n=t._transform.worldMatrix;e.min.copyFrom(t._boxMin),e.max.copyFrom(t._boxMax),i.BoundingBox.transform(e,n,e)},t._upWorldSphere=function(t,e){i.Vector3.transformCoordinate(t._transform.position,t._transform.worldMatrix,e.center),e.radius=t.worldRadius},t}();v._tempSphere=new i.BoundingSphere,v._tempBox=new i.BoundingBox,v._currentHit=new m,v._hitResult=new m,(h=c||(c={}))[h.Enter=0]="Enter",h[h.Stay=1]="Stay",h[h.Exit=2]="Exit";var w=function(t,i){this.alreadyInvoked=!1,this.index1=t,this.index2=i},M=function(){function t(t,i,e,n,s){}var i=t.prototype;return i.setBounciness=function(t){throw"Physics-lite don't support physics material. Use Physics-PhysX instead!"},i.setDynamicFriction=function(t){throw"Physics-lite don't support physics material. Use Physics-PhysX instead!"},i.setStaticFriction=function(t){throw"Physics-lite don't support physics material. Use Physics-PhysX instead!"},i.setBounceCombine=function(t){throw"Physics-lite don't support physics material. Use Physics-PhysX instead!"},i.setFrictionCombine=function(t){throw"Physics-lite don't support physics material. Use Physics-PhysX instead!"},i.destroy=function(){},t}(),F=function(t){function i(i,e){var n;return(n=t.call(this)||this)._transform.setPosition(i.x,i.y,i.z),n._transform.setRotationQuaternion(e.x,e.y,e.z,e.w),n}return n(i,t),i}(f),C=function(){function t(){}var i=t.prototype;return i.initialize=function(){return Promise.resolve()},i.createPhysicsManager=function(t,i,e,n,s,o){return new v(t,i,e,n,s,o)},i.createStaticCollider=function(t,i){return new F(t,i)},i.createDynamicCollider=function(t,i){return new y(t,i)},i.createCharacterController=function(){throw"Physics-lite don't support createCharacterController. Use Physics-PhysX instead!"},i.createPhysicsMaterial=function(t,i,e,n,s){return new M(t,i,e,n,s)},i.createBoxColliderShape=function(t,i,e){return new P(t,i,e)},i.createSphereColliderShape=function(t,i,e){return new x(t,i,e)},i.createPlaneColliderShape=function(t,i){throw"Physics-lite don't support PlaneColliderShape. Use Physics-PhysX instead!"},i.createCapsuleColliderShape=function(t,i,e,n){throw"Physics-lite don't support CapsuleColliderShape. Use Physics-PhysX instead!"},i.createFixedJoint=function(t){throw"Physics-lite don't support CapsuleColliderShape. Use Physics-PhysX instead!"},i.createHingeJoint=function(t){throw"Physics-lite don't support CapsuleColliderShape. Use Physics-PhysX instead!"},i.createSpringJoint=function(t){throw"Physics-lite don't support CapsuleColliderShape. Use Physics-PhysX instead!"},t}();t.LitePhysics=C,Object.defineProperty(t,"__esModule",{value:!0})});
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@galacean/engine")):"function"==typeof define&&define.amd?define(["exports","@galacean/engine"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).Galacean=t.Galacean||{},t.Galacean.PhysicsLite={}),t.Galacean)}(this,function(t,e){"use strict";function i(t,e){return(i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function n(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}function s(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function o(t,e,i){return e&&s(t.prototype,e),i&&s(t,i),t}function r(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}var a,l,h,c,u=function(){function t(t){void 0===t&&(t=[]),this._flags=t,this.flag=!0,this._flags.push(this)}return t.prototype.destroy=function(){e.Utils.removeFromArray(this._flags,this),this._flags=null},t}(),d=function(){function t(){this._updateFlags=[]}var e=t.prototype;return e.register=function(){return new u(this._updateFlags)},e.distribute=function(){for(var t=this._updateFlags,e=t.length-1;e>=0;e--)t[e].flag=!0},t}(),_=function(){function t(){this._position=new e.Vector3,this._worldScale=new e.Vector3(1,1,1),this._transform=new p,this._invModelMatrix=new e.Matrix,this._transform.owner=this,this._inverseWorldMatFlag=this._transform.registerWorldChangeFlag()}var i=t.prototype;return i.setRotation=function(t){console.log("Physics-lite don't support setRotation. Use Physics-PhysX instead!")},i.setPosition=function(t){t!==this._position&&this._position.copyFrom(t),this._setLocalPose()},i.setWorldScale=function(t){t!==this._worldScale&&this._worldScale.copyFrom(t),this._setLocalPose()},i.setContactOffset=function(t){console.log("Physics-lite don't support setContactOffset. Use Physics-PhysX instead!")},i.setMaterial=function(t){console.log("Physics-lite don't support setMaterial. Use Physics-PhysX instead!")},i.setUniqueID=function(t){this._id=t},i.setIsTrigger=function(t){console.log("Physics-lite don't support setIsTrigger. Use Physics-PhysX instead!")},i.destroy=function(){},i._updateHitResult=function(i,n,s,o,r){void 0===r&&(r=!1);var a=t._tempPoint;i.getPoint(n,a),r||e.Vector3.transformCoordinate(a,this._transform.worldMatrix,a);var l=e.Vector3.distance(o,a);l<s.distance&&(s.point.copyFrom(a),s.distance=l,s.shapeID=this._id)},i._getLocalRay=function(i){var n=this._getInvModelMatrix(),s=t._ray;return e.Vector3.transformCoordinate(i.origin,n,s.origin),e.Vector3.transformNormal(i.direction,n,s.direction),s.direction.normalize(),s},i._getInvModelMatrix=function(){return this._inverseWorldMatFlag.flag&&(e.Matrix.invert(this._transform.worldMatrix,this._invModelMatrix),this._inverseWorldMatFlag.flag=!1),this._invModelMatrix},i._setLocalPose=function(){var i=t._tempPoint;e.Vector3.multiply(this._position,this._worldScale,i),this._transform.position=i},t}();_._ray=new e.Ray,_._tempPoint=new e.Vector3;var p=function(){function t(){this._position=new e.Vector3,this._rotation=new e.Vector3,this._rotationQuaternion=new e.Quaternion,this._scale=new e.Vector3(1,1,1),this._worldRotationQuaternion=new e.Quaternion,this._localMatrix=new e.Matrix,this._worldMatrix=new e.Matrix,this._updateFlagManager=new d,this._isParentDirty=!0,this._parentTransformCache=null,this._dirtyFlag=188}var i=t.prototype;return i.setPosition=function(t,e,i){this._position.set(t,e,i),this.position=this._position},i.setRotationQuaternion=function(t,e,i,n){this._rotationQuaternion.set(t,e,i,n),this.rotationQuaternion=this._rotationQuaternion},i.setScale=function(t,e,i){this._scale.set(t,e,i),this.scale=this._scale},i.registerWorldChangeFlag=function(){return this._updateFlagManager.register()},i._updateWorldPositionFlag=function(){if(!this._isContainDirtyFlags(132)&&(this._worldAssociatedChange(132),r(this._owner,y)))for(var t=this._owner._shapes,e=0,i=t.length;e<i;e++)t[e]._transform._updateWorldPositionFlag()},i._updateWorldRotationFlag=function(){if(!this._isContainDirtyFlags(152)&&(this._worldAssociatedChange(152),r(this._owner,y)))for(var t=this._owner._shapes,e=0,i=t.length;e<i;e++)t[e]._transform._updateWorldRotationFlag()},i._updateWorldScaleFlag=function(){if(!this._isContainDirtyFlags(160)&&(this._worldAssociatedChange(160),r(this._owner,y)))for(var t=this._owner._shapes,e=0,i=t.length;e<i;e++)t[e]._transform._updateWorldScaleFlag()},i._updateAllWorldFlag=function(){if(!this._isContainDirtyFlags(188)&&(this._worldAssociatedChange(188),r(this._owner,y)))for(var t=this._owner._shapes,e=0,i=t.length;e<i;e++)t[e]._transform._updateAllWorldFlag()},i._getParentTransform=function(){if(!this._isParentDirty)return this._parentTransformCache;var t=null;return r(this._owner,_)&&(t=this._owner._collider._transform),this._parentTransformCache=t,this._isParentDirty=!1,t},i._isContainDirtyFlags=function(t){return(this._dirtyFlag&t)===t},i._isContainDirtyFlag=function(t){return(this._dirtyFlag&t)!=0},i._setDirtyFlagTrue=function(t){this._dirtyFlag|=t},i._setDirtyFlagFalse=function(t){this._dirtyFlag&=~t},i._worldAssociatedChange=function(t){this._dirtyFlag|=t,this._updateFlagManager.distribute()},o(t,[{key:"owner",set:function(t){this._owner=t}},{key:"position",get:function(){return this._position},set:function(t){this._position!==t&&this._position.copyFrom(t),this._setDirtyFlagTrue(64),this._updateWorldPositionFlag()}},{key:"rotationQuaternion",get:function(){return this._isContainDirtyFlag(2)&&(e.Quaternion.rotationEuler(e.MathUtil.degreeToRadian(this._rotation.x),e.MathUtil.degreeToRadian(this._rotation.y),e.MathUtil.degreeToRadian(this._rotation.z),this._rotationQuaternion),this._setDirtyFlagFalse(2)),this._rotationQuaternion},set:function(t){this._rotationQuaternion!==t&&this._rotationQuaternion.copyFrom(t),this._setDirtyFlagTrue(65),this._setDirtyFlagFalse(2),this._updateWorldRotationFlag()}},{key:"worldRotationQuaternion",get:function(){if(this._isContainDirtyFlag(16)){var t=this._getParentTransform();null!=t?e.Quaternion.multiply(t.worldRotationQuaternion,this.rotationQuaternion,this._worldRotationQuaternion):this._worldRotationQuaternion.copyFrom(this.rotationQuaternion),this._setDirtyFlagFalse(16)}return this._worldRotationQuaternion},set:function(i){this._worldRotationQuaternion!==i&&this._worldRotationQuaternion.copyFrom(i);var n=this._getParentTransform();n?(e.Quaternion.invert(n.worldRotationQuaternion,t._tempQuat0),e.Quaternion.multiply(i,t._tempQuat0,this._rotationQuaternion)):this._rotationQuaternion.copyFrom(i),this.rotationQuaternion=this._rotationQuaternion,this._setDirtyFlagFalse(16)}},{key:"scale",get:function(){return this._scale},set:function(t){this._scale!==t&&this._scale.copyFrom(t),this._setDirtyFlagTrue(64),this._updateWorldScaleFlag()}},{key:"localMatrix",get:function(){return this._isContainDirtyFlag(64)&&(e.Matrix.affineTransformation(this._scale,this.rotationQuaternion,this._position,this._localMatrix),this._setDirtyFlagFalse(64)),this._localMatrix},set:function(t){this._localMatrix!==t&&this._localMatrix.copyFrom(t),this._localMatrix.decompose(this._position,this._rotationQuaternion,this._scale),this._setDirtyFlagTrue(1),this._setDirtyFlagFalse(64),this._updateAllWorldFlag()}},{key:"worldMatrix",get:function(){if(this._isContainDirtyFlag(128)){var t=this._getParentTransform();t?e.Matrix.multiply(t.worldMatrix,this.localMatrix,this._worldMatrix):this._worldMatrix.copyFrom(this.localMatrix),this._setDirtyFlagFalse(128)}return this._worldMatrix},set:function(i){this._worldMatrix!==i&&this._worldMatrix.copyFrom(i);var n=this._getParentTransform();n?(e.Matrix.invert(n.worldMatrix,t._tempMat42),e.Matrix.multiply(t._tempMat42,i,this._localMatrix)):this._localMatrix.copyFrom(i),this.localMatrix=this._localMatrix,this._setDirtyFlagFalse(128)}}]),t}();p._tempQuat0=new e.Quaternion,p._tempMat42=new e.Matrix,(a=h||(h={}))[a.LocalEuler=1]="LocalEuler",a[a.LocalQuat=2]="LocalQuat",a[a.WorldPosition=4]="WorldPosition",a[a.WorldEuler=8]="WorldEuler",a[a.WorldQuat=16]="WorldQuat",a[a.WorldScale=32]="WorldScale",a[a.LocalMatrix=64]="LocalMatrix",a[a.WorldMatrix=128]="WorldMatrix",a[a.WmWp=132]="WmWp",a[a.WmWeWq=152]="WmWeWq",a[a.WmWpWeWq=156]="WmWpWeWq",a[a.WmWs=160]="WmWs",a[a.WmWpWs=164]="WmWpWs",a[a.WmWpWeWqWs=188]="WmWpWeWqWs";var y=function(){function t(){this._shapes=[],this._transform=new p,this._transform.owner=this}var e=t.prototype;return e.addShape=function(t){var e=t._collider;e!==this&&(e&&e.removeShape(t),this._shapes.push(t),t._collider=this)},e.removeShape=function(t){var e=this._shapes.indexOf(t);-1!==e&&(this._shapes.splice(e,1),t._collider=null)},e.setWorldTransform=function(t,e){this._transform.setPosition(t.x,t.y,t.z),this._transform.setRotationQuaternion(e.x,e.y,e.z,e.w)},e.getWorldTransform=function(t,e){var i=this._transform,n=i.position,s=i.rotationQuaternion;t.set(n.x,n.y,n.z),e.set(s.x,s.y,s.z,s.w)},e.destroy=function(){},e._raycast=function(t,e,i){i.distance=Number.MAX_VALUE;for(var n=this._shapes,s=0,o=n.length;s<o;s++){var r=n[s];e(r._id)&&r._raycast(t,i)}return i.distance!=Number.MAX_VALUE},t}(),f=function(t){function e(e,i){var n;return(n=t.call(this)||this)._transform.setPosition(e.x,e.y,e.z),n._transform.setRotationQuaternion(i.x,i.y,i.z,i.w),n}n(e,t);var i=e.prototype;return i.addForce=function(t){throw"Physics-lite don't support addForce. Use Physics-PhysX instead!"},i.addTorque=function(t){throw"Physics-lite don't support addTorque. Use Physics-PhysX instead!"},i.move=function(t,e){throw"Physics-lite don't support move. Use Physics-PhysX instead!"},i.sleep=function(){throw"Physics-lite don't support putToSleep. Use Physics-PhysX instead!"},i.setAngularDamping=function(t){throw"Physics-lite don't support setAngularDamping. Use Physics-PhysX instead!"},i.setAngularVelocity=function(t){throw"Physics-lite don't support setAngularVelocity. Use Physics-PhysX instead!"},i.setCenterOfMass=function(t){throw"Physics-lite don't support setCenterOfMass. Use Physics-PhysX instead!"},i.setCollisionDetectionMode=function(t){throw"Physics-lite don't support setCollisionDetectionMode. Use Physics-PhysX instead!"},i.setConstraints=function(t){throw"Physics-lite don't support setConstraints. Use Physics-PhysX instead!"},i.setInertiaTensor=function(t){throw"Physics-lite don't support setInertiaTensor. Use Physics-PhysX instead!"},i.setIsKinematic=function(t){throw"Physics-lite don't support setIsKinematic. Use Physics-PhysX instead!"},i.setLinearDamping=function(t){throw"Physics-lite don't support setLinearDamping. Use Physics-PhysX instead!"},i.setLinearVelocity=function(t){throw"Physics-lite don't support setLinearVelocity. Use Physics-PhysX instead!"},i.setMass=function(t){throw"Physics-lite don't support setMass. Use Physics-PhysX instead!"},i.setMaxAngularVelocity=function(t){throw"Physics-lite don't support setMaxAngularVelocity. Use Physics-PhysX instead!"},i.setMaxDepenetrationVelocity=function(t){throw"Physics-lite don't support setMaxDepenetrationVelocity. Use Physics-PhysX instead!"},i.setSleepThreshold=function(t){throw"Physics-lite don't support setSleepThreshold. Use Physics-PhysX instead!"},i.setSolverIterations=function(t){throw"Physics-lite don't support setSolverIterations. Use Physics-PhysX instead!"},i.wakeUp=function(){throw"Physics-lite don't support wakeUp. Use Physics-PhysX instead!"},e}(y),g=function(){function t(t,e,i,n,s){}var e=t.prototype;return e.setBounciness=function(t){throw"Physics-lite don't support physics material. Use Physics-PhysX instead!"},e.setDynamicFriction=function(t){throw"Physics-lite don't support physics material. Use Physics-PhysX instead!"},e.setStaticFriction=function(t){throw"Physics-lite don't support physics material. Use Physics-PhysX instead!"},e.setBounceCombine=function(t){throw"Physics-lite don't support physics material. Use Physics-PhysX instead!"},e.setFrictionCombine=function(t){throw"Physics-lite don't support physics material. Use Physics-PhysX instead!"},e.destroy=function(){},t}(),m=function(){function t(t){void 0===t&&(t=0),this.length=0,this._elements=Array(t)}var e=t.prototype;return e.add=function(t){this.length===this._elements.length?this._elements.push(t):this._elements[this.length]=t,this.length++},e.delete=function(t){var e=this._elements.indexOf(t);this.deleteByIndex(e)},e.get=function(t){if(t>=this.length)throw"Index is out of range.";return this._elements[t]},e.deleteByIndex=function(t){var e=this._elements,i=null,n=this.length-1;return t!==n&&(i=e[n],e[t]=i),this.length--,i},e.garbageCollection=function(){this._elements.length=this.length},t}(),P=function(){this.shapeID=-1,this.distance=0,this.point=new e.Vector3,this.normal=new e.Vector3},x=function(t){function i(i,n,s){var o;return(o=t.call(this)||this)._halfSize=new e.Vector3,o._boxMin=new e.Vector3(-.5,-.5,-.5),o._boxMax=new e.Vector3(.5,.5,.5),o._id=i,o._halfSize.set(.5*n.x,.5*n.y,.5*n.z),o._setBondingBox(),o}n(i,t);var s=i.prototype;return s.setPosition=function(e){t.prototype.setPosition.call(this,e),this._setBondingBox()},s.setWorldScale=function(e){t.prototype.setWorldScale.call(this,e),this._setBondingBox()},s.setSize=function(t){this._halfSize.set(.5*t.x,.5*t.y,.5*t.z),this._setBondingBox()},s._raycast=function(t,e){var n=this._getLocalRay(t),s=i._tempBox;s.min.set(-this._halfSize.x*this._worldScale.x,-this._halfSize.y*this._worldScale.y,-this._halfSize.z*this._worldScale.z),s.max.set(this._halfSize.x*this._worldScale.x,this._halfSize.y*this._worldScale.y,this._halfSize.z*this._worldScale.z);var o=n.intersectBox(s);return -1!==o&&(this._updateHitResult(n,o,e,t.origin),!0)},s._setBondingBox=function(){var t=this._transform.position,e=this._worldScale,i=this._halfSize;this._boxMin.set(-i.x*e.x+t.x,-i.y*e.y+t.y,-i.z*e.z+t.z),this._boxMax.set(i.x*e.x+t.x,i.y*e.y+t.y,i.z*e.z+t.z)},i}(_);x._tempBox=new e.BoundingBox;var v=function(t){function i(e,i,n){var s;return(s=t.call(this)||this)._radius=1,s._maxScale=1,s._radius=i,s._id=e,s}n(i,t);var s=i.prototype;return s.setRadius=function(t){this._radius=t},s.setWorldScale=function(e){t.prototype.setWorldScale.call(this,e),this._maxScale=Math.max(e.x,e.y,e.z)},s._raycast=function(t,n){var s=i._tempSphere;e.Vector3.transformCoordinate(this._transform.position,this._collider._transform.worldMatrix,s.center),s.radius=this.worldRadius;var o=t.intersectSphere(s);return -1!==o&&(this._updateHitResult(t,o,n,t.origin,!0),!0)},o(i,[{key:"worldRadius",get:function(){return this._radius*this._maxScale}}]),i}(_);v._tempSphere=new e.BoundingSphere;var w=function(){function t(t,i,n,s,o,r){this._colliders=[],this._sphere=new e.BoundingSphere,this._box=new e.BoundingBox,this._currentEvents=new m,this._eventMap={},this._eventPool=[],this._onContactEnter=t,this._onContactExit=i,this._onContactStay=n,this._onTriggerEnter=s,this._onTriggerExit=o,this._onTriggerStay=r}var i=t.prototype;return i.setGravity=function(t){console.log("Physics-lite don't support gravity. Use Physics-PhysX instead!")},i.addColliderShape=function(t){this._eventMap[t._id]={}},i.removeColliderShape=function(t){for(var e=this._eventPool,i=this._currentEvents,n=t._id,s=i.length-1;s>=0;s--){var o=i.get(s);(o.index1==n||o.index2==n)&&(i.deleteByIndex(s),e.push(o))}delete this._eventMap[n]},i.addCollider=function(t){this._colliders.push(t)},i.removeCollider=function(t){var e=this._colliders.indexOf(t);-1!==e&&this._colliders.splice(e,1)},i.update=function(t){for(var e=this._colliders,i=0,n=e.length;i<n;i++)this._collisionDetection(t,e[i]);this._fireEvent()},i.raycast=function(e,i,n,s){var o,r=this._colliders;s&&(o=t._hitResult);for(var a=!1,l=t._currentHit,h=0,c=r.length;h<c;h++)if(r[h]._raycast(e,n,l)&&(a=!0,l.distance<i)){if(!o)return!0;o.normal.copyFrom(l.normal),o.point.copyFrom(l.point),o.distance=l.distance,o.shapeID=l.shapeID,i=l.distance}return!a&&o?(o.shapeID=-1,o.distance=0,o.point.set(0,0,0),o.normal.set(0,0,0)):a&&o&&s(o.shapeID,o.distance,o.point,o.normal),a},i.addCharacterController=function(t){throw"Physics-lite don't support addCharacterController. Use Physics-PhysX instead!"},i.removeCharacterController=function(t){throw"Physics-lite don't support removeCharacterController. Use Physics-PhysX instead!"},i._getTrigger=function(t,e){var i;return this._eventPool.length?((i=this._eventPool.pop()).index1=t,i.index2=e):i=new M(t,e),this._eventMap[t][e]=i,i},i._collisionDetection=function(e,i){for(var n=this._colliders,s=i._shapes,o=0,a=s.length;o<a;o++){var l=s[o];if(r(l,x)){t._updateWorldBox(l,this._box);for(var h=0,c=n.length;h<c;h++)for(var u=n[h]._shapes,d=0,_=u.length;d<_;d++){var p=u[d],y=p._id,f=l._id,g=y<f?this._eventMap[y][f]:this._eventMap[f][y];if((void 0===g||g.alreadyInvoked)&&p!=l&&this._boxCollision(p)){if(void 0===g){var m=y<f?this._getTrigger(y,f):this._getTrigger(f,y);m.state=0,m.alreadyInvoked=!1,this._currentEvents.add(m)}else 0===g.state?(g.state=1,g.alreadyInvoked=!1):1===g.state&&(g.alreadyInvoked=!1)}}}else if(r(l,v)){t._upWorldSphere(l,this._sphere);for(var P=0,w=n.length;P<w;P++)for(var M=n[P]._shapes,F=0,S=M.length;F<S;F++){var W=M[F],C=W._id,U=l._id,D=C<U?this._eventMap[C][U]:this._eventMap[U][C];if((void 0===D||D.alreadyInvoked)&&W!=l&&this._sphereCollision(W)){if(void 0===D){var Q=C<U?this._getTrigger(C,U):this._getTrigger(U,C);Q.state=0,Q.alreadyInvoked=!1,this._currentEvents.add(Q)}else 0===D.state?(D.state=1,D.alreadyInvoked=!1):1===D.state&&(D.alreadyInvoked=!1)}}}}},i._fireEvent=function(){for(var t=this._eventPool,e=this._currentEvents,i=e.length-1;i>=0;i--){var n=e.get(i);n.alreadyInvoked?(n.state=2,this._eventMap[n.index1][n.index2]=void 0,this._onTriggerExit(n.index1,n.index2),e.deleteByIndex(i),t.push(n)):0==n.state?(this._onTriggerEnter(n.index1,n.index2),n.alreadyInvoked=!0):1==n.state&&(this._onTriggerStay(n.index1,n.index2),n.alreadyInvoked=!0)}},i._boxCollision=function(i){if(r(i,x)){var n=t._tempBox;return t._updateWorldBox(i,n),e.CollisionUtil.intersectsBoxAndBox(n,this._box)}if(r(i,v)){var s=t._tempSphere;return t._upWorldSphere(i,s),e.CollisionUtil.intersectsSphereAndBox(s,this._box)}return!1},i._sphereCollision=function(i){if(r(i,x)){var n=t._tempBox;return t._updateWorldBox(i,n),e.CollisionUtil.intersectsSphereAndBox(this._sphere,n)}if(r(i,v)){var s=t._tempSphere;return t._upWorldSphere(i,s),e.CollisionUtil.intersectsSphereAndSphere(s,this._sphere)}return!1},t._updateWorldBox=function(t,i){var n=t._transform.worldMatrix;i.min.copyFrom(t._boxMin),i.max.copyFrom(t._boxMax),e.BoundingBox.transform(i,n,i)},t._upWorldSphere=function(t,i){e.Vector3.transformCoordinate(t._transform.position,t._transform.worldMatrix,i.center),i.radius=t.worldRadius},t}();w._tempSphere=new e.BoundingSphere,w._tempBox=new e.BoundingBox,w._currentHit=new P,w._hitResult=new P,(l=c||(c={}))[l.Enter=0]="Enter",l[l.Stay=1]="Stay",l[l.Exit=2]="Exit";var M=function(t,e){this.alreadyInvoked=!1,this.index1=t,this.index2=e},F=function(t){function e(e,i){var n;return(n=t.call(this)||this)._transform.setPosition(e.x,e.y,e.z),n._transform.setRotationQuaternion(i.x,i.y,i.z,i.w),n}return n(e,t),e}(y),S=function(){function t(){}var e=t.prototype;return e.initialize=function(){return Promise.resolve()},e.createPhysicsManager=function(){return null},e.createPhysicsScene=function(t,e,i,n,s,o,r){return new w(e,i,n,s,o,r)},e.createStaticCollider=function(t,e){return new F(t,e)},e.createDynamicCollider=function(t,e){return new f(t,e)},e.createCharacterController=function(){throw"Physics-lite don't support createCharacterController. Use Physics-PhysX instead!"},e.createPhysicsMaterial=function(t,e,i,n,s){return new g(t,e,i,n,s)},e.createBoxColliderShape=function(t,e,i){return new x(t,e,i)},e.createSphereColliderShape=function(t,e,i){return new v(t,e,i)},e.createPlaneColliderShape=function(t,e){throw"Physics-lite don't support PlaneColliderShape. Use Physics-PhysX instead!"},e.createCapsuleColliderShape=function(t,e,i,n){throw"Physics-lite don't support CapsuleColliderShape. Use Physics-PhysX instead!"},e.createFixedJoint=function(t){throw"Physics-lite don't support CapsuleColliderShape. Use Physics-PhysX instead!"},e.createHingeJoint=function(t){throw"Physics-lite don't support CapsuleColliderShape. Use Physics-PhysX instead!"},e.createSpringJoint=function(t){throw"Physics-lite don't support CapsuleColliderShape. Use Physics-PhysX instead!"},t}(),W="0.0.0-experimental-double11.6";console.log("Galacean PhysicsLite version: "+W),t.LitePhysics=S,t.version=W,Object.defineProperty(t,"__esModule",{value:!0})});
|