@galacean/engine-physics-lite 1.6.1 → 1.6.2

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 CHANGED
@@ -1389,7 +1389,7 @@
1389
1389
  }();
1390
1390
 
1391
1391
  //@ts-ignore
1392
- var version = "1.6.1";
1392
+ var version = "1.6.2";
1393
1393
  console.log("Galacean Engine Physics Lite Version: " + version);
1394
1394
 
1395
1395
  exports.LitePhysics = LitePhysics;
@@ -1,2 +1,2 @@
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 s(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 r(t,e){for(var i=0;i<e.length;i++){var s=e[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}function o(t,e,i){return e&&r(t.prototype,e),i&&r(t,i),t}function n(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}var a=/*#__PURE__*/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}(),l=/*#__PURE__*/function(){function t(){this._updateFlags=[]}var e=t.prototype;return e.register=function(){return new a(this._updateFlags)},e.distribute=function(){for(var t=this._updateFlags,e=t.length-1;e>=0;e--)t[e].flag=!0},t}(),h=/*#__PURE__*/function(){function t(){this._position=new e.Vector3,this._worldScale=new e.Vector3(1,1,1),this._transform=new c,this._invModelMatrix=new e.Matrix,this._rotation=new e.Vector3,this._transform.owner=this,this._inverseWorldMatFlag=this._transform.registerWorldChangeFlag()}var i=t.prototype;return i.setRotation=function(t){var i=this._rotation.set(e.MathUtil.degreeToRadian(t.x),e.MathUtil.degreeToRadian(t.y),e.MathUtil.degreeToRadian(t.z));e.Quaternion.rotationEuler(i.x,i.y,i.z,this._transform.rotationQuaternion)},i.setPosition=function(t){t!==this._position&&this._position.copyFrom(t),this._setLocalPose()},i.setWorldScale=function(t){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,s,r,o,n){void 0===n&&(n=!1);var a=t._tempPoint;i.getPoint(s,a),n||e.Vector3.transformCoordinate(a,this._transform.worldMatrix,a);var l=e.Vector3.distance(o,a);l<r.distance&&(r.point.copyFrom(a),r.distance=l,r.shapeID=this._id)},i._getLocalRay=function(i){var s=this._getInvModelMatrix(),r=t._ray;return e.Vector3.transformCoordinate(i.origin,s,r.origin),e.Vector3.transformNormal(i.direction,s,r.direction),r.direction.normalize(),r},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}();h._tempPos=new e.Vector3,h._tempRot=new e.Quaternion,h._tempScale=new e.Vector3,h._tempPoint=new e.Vector3,h._tempVector4=new e.Vector4,h._ray=new e.Ray;var c=/*#__PURE__*/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 l,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,s){this._rotationQuaternion.set(t,e,i,s),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),n(this._owner,u)))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),n(this._owner,u)))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),n(this._owner,u)))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),n(this._owner,u)))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 n(this._owner,h)&&(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 s=this._getParentTransform();s?(e.Quaternion.invert(s.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 s=this._getParentTransform();s?(e.Matrix.invert(s.worldMatrix,t._tempMat42),e.Matrix.multiply(t._tempMat42,i,this._localMatrix)):this._localMatrix.copyFrom(i),this.localMatrix=this._localMatrix,this._setDirtyFlagFalse(128)}}]),t}();c._tempQuat0=new e.Quaternion,c._tempMat42=new e.Matrix;var u=/*#__PURE__*/function(){function t(t){this._shapes=[],this._transform=new c,this._transform.owner=this,this._litePhysics=t}var e=t.prototype;return e.addShape=function(t){var e,i=t._collider;i!==this&&(i&&i.removeShape(t),this._shapes.push(t),t._collider=this,null==(e=this._scene)||e._addColliderShape(t))},e.removeShape=function(t){var e,i=this._shapes.indexOf(t);-1!==i&&(this._shapes.splice(i,1),t._collider=null,null==(e=this._scene)||e._removeColliderShape(t))},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,s=i.position,r=i.rotationQuaternion;t.set(s.x,s.y,s.z),e.set(r.x,r.y,r.z,r.w)},e.setCollisionLayer=function(t){this._litePhysics.setColliderLayer(this,t)},e.destroy=function(){},e._raycast=function(t,e,i){i.distance=Number.MAX_VALUE;for(var s=this._shapes,r=0,o=s.length;r<o;r++){var n=s[r];e(n._id)&&n._raycast(t,i)}return i.distance!=Number.MAX_VALUE},t}(),d=/*#__PURE__*/function(t){function i(e,i,s){var r;return(r=t.call(this,e)||this)._isStaticCollider=!1,r._transform.setPosition(i.x,i.y,i.z),r._transform.setRotationQuaternion(s.x,s.y,s.z,s.w),r}s(i,t);var r=i.prototype;return r.getInertiaTensor=function(t){return e.Logger.error("Physics-lite don't support getInertiaTensor. Use Physics-PhysX instead!"),t},r.getCenterOfMass=function(t){return e.Logger.error("Physics-lite don't support getCenterOfMass. Use Physics-PhysX instead!"),t},r.setMassAndUpdateInertia=function(t){e.Logger.error("Physics-lite don't support setMassAndUpdateInertia. Use Physics-PhysX instead!")},r.addForce=function(t){throw"Physics-lite don't support addForce. Use Physics-PhysX instead!"},r.addTorque=function(t){throw"Physics-lite don't support addTorque. Use Physics-PhysX instead!"},r.move=function(t,e){throw"Physics-lite don't support move. Use Physics-PhysX instead!"},r.sleep=function(){throw"Physics-lite don't support putToSleep. Use Physics-PhysX instead!"},r.isSleeping=function(){throw"Physics-lite don't support isSleeping. Use Physics-PhysX instead!"},r.setAngularDamping=function(t){e.Logger.error("Physics-lite don't support setAngularDamping. Use Physics-PhysX instead!")},r.getAngularVelocity=function(t){return e.Logger.error("Physics-lite don't support getAngularVelocity. Use Physics-PhysX instead!"),t},r.setAngularVelocity=function(t){e.Logger.error("Physics-lite don't support setAngularVelocity. Use Physics-PhysX instead!")},r.setCenterOfMass=function(t){e.Logger.error("Physics-lite don't support setCenterOfMass. Use Physics-PhysX instead!")},r.setCollisionDetectionMode=function(t){e.Logger.error("Physics-lite don't support setCollisionDetectionMode. Use Physics-PhysX instead!")},r.setConstraints=function(t){e.Logger.error("Physics-lite don't support setConstraints. Use Physics-PhysX instead!")},r.setInertiaTensor=function(t){e.Logger.error("Physics-lite don't support setInertiaTensor. Use Physics-PhysX instead!")},r.setUseGravity=function(t){e.Logger.error("Physics-lite don't support setUseGravity. Use Physics-PhysX instead!")},r.setIsKinematic=function(t){e.Logger.error("Physics-lite don't support setIsKinematic. Use Physics-PhysX instead!")},r.setLinearDamping=function(t){e.Logger.error("Physics-lite don't support setLinearDamping. Use Physics-PhysX instead!")},r.getLinearVelocity=function(t){return e.Logger.error("Physics-lite don't support getLinearVelocity. Use Physics-PhysX instead!"),t},r.setLinearVelocity=function(t){e.Logger.error("Physics-lite don't support setLinearVelocity. Use Physics-PhysX instead!")},r.setMass=function(t){e.Logger.error("Physics-lite don't support setMass. Use Physics-PhysX instead!")},r.setMaxAngularVelocity=function(t){e.Logger.error("Physics-lite don't support setMaxAngularVelocity. Use Physics-PhysX instead!")},r.setMaxDepenetrationVelocity=function(t){e.Logger.error("Physics-lite don't support setMaxDepenetrationVelocity. Use Physics-PhysX instead!")},r.setSleepThreshold=function(t){e.Logger.error("Physics-lite don't support setSleepThreshold. Use Physics-PhysX instead!")},r.setSolverIterations=function(t){e.Logger.error("Physics-lite don't support setSolverIterations. Use Physics-PhysX instead!")},r.wakeUp=function(){throw"Physics-lite don't support wakeUp. Use Physics-PhysX instead!"},i}(u),_=/*#__PURE__*/function(){function t(t,e,i,s,r){}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}(),p=function(){this.shapeID=-1,this.distance=0,this.point=new e.Vector3,this.normal=new e.Vector3},y=/*#__PURE__*/function(t){function i(i,s,r){var o;return(o=t.call(this)||this)._halfSize=new e.Vector3,o._sizeScale=new e.Vector3(1,1,1),o._boxMin=new e.Vector3(-.5,-.5,-.5),o._boxMax=new e.Vector3(.5,.5,.5),o._id=i,o._halfSize.set(.5*s.x,.5*s.y,.5*s.z),o._setBondingBox(),o}s(i,t);var r=i.prototype;return r.setPosition=function(e){t.prototype.setPosition.call(this,e),this._setBondingBox()},r.setWorldScale=function(e){t.prototype.setWorldScale.call(this,e),this._sizeScale.set(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),this._setBondingBox()},r.setSize=function(t){this._halfSize.set(.5*t.x,.5*t.y,.5*t.z),this._setBondingBox()},r.pointDistance=function(t){var s=h._tempPos,r=h._tempRot;this._transform.worldMatrix.decompose(s,r,h._tempScale);var o=this._transform.position,n=i._tempMatrix,a=i._tempInvMatrix,l=h._tempPoint,c=this._sizeScale,u=i._tempBox,d=this._boxMin,_=this._boxMax;l.copyFrom(d),l.subtract(o),l.divide(c),u.min.copyFrom(l),l.copyFrom(_),l.subtract(o),l.divide(c),u.max.copyFrom(l),e.Matrix.affineTransformation(c,r,s,n),e.Matrix.invert(n,a),e.Vector3.transformCoordinate(t,a,l);var p=u.min,y=u.max;l.x=Math.max(p.x,Math.min(l.x,y.x)),l.y=Math.max(p.y,Math.min(l.y,y.y)),l.z=Math.max(p.z,Math.min(l.z,y.z)),e.Vector3.transformCoordinate(l,n,l);var f=h._tempVector4;return e.Vector3.equals(l,t)?f.set(t.x,t.y,t.z,0):f.set(l.x,l.y,l.z,e.Vector3.distanceSquared(l,t)),f},r._raycast=function(t,e){var s=this._getLocalRay(t),r=this._sizeScale,o=this._halfSize,n=i._tempBox;n.min.set(-o.x*r.x,-o.y*r.y,-o.z*r.z),n.max.set(o.x*r.x,o.y*r.y,o.z*r.z);var a=s.intersectBox(n);return -1!==a&&(this._updateHitResult(s,a,e,t.origin),!0)},r._setBondingBox=function(){var t=this._transform.position,e=this._sizeScale,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}(h);y._tempBox=new e.BoundingBox,y._tempMatrix=new e.Matrix,y._tempInvMatrix=new e.Matrix;var f=/*#__PURE__*/function(t){function i(e,i,s){var r;return(r=t.call(this)||this)._radius=1,r._maxScale=1,r._radius=i,r._id=e,r}s(i,t);var r=i.prototype;return r.setRadius=function(t){this._radius=t},r.setWorldScale=function(e){t.prototype.setWorldScale.call(this,e),this._maxScale=Math.max(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))},r.pointDistance=function(t){var i=h._tempPos,s=this.worldRadius;this._transform.worldMatrix.decompose(i,h._tempRot,h._tempScale);var r=h._tempPoint;e.Vector3.subtract(t,i,r);var o=r.lengthSquared(),n=r.normalize();e.Vector3.scale(n,s,r),r.add(i);var a=h._tempVector4,l=e.Vector3.distanceSquared(r,t);return o<=s*s?a.set(t.x,t.y,t.z,0):a.set(r.x,r.y,r.z,l),a},r._raycast=function(t,s){var r=i._tempSphere;e.Vector3.transformCoordinate(this._transform.position,this._collider._transform.worldMatrix,r.center),r.radius=this.worldRadius;var o=t.intersectSphere(r);return -1!==o&&(this._updateHitResult(t,o,s,t.origin,!0),!0)},o(i,[{key:"worldRadius",get:function(){return this._radius*this._maxScale}}]),i}(h);f._tempSphere=new e.BoundingSphere;var g=/*#__PURE__*/function(){function t(t,i,s,r,o,n,a){this._staticColliders=[],this._dynamicColliders=[],this._sphere=new e.BoundingSphere,this._box=new e.BoundingBox,this._currentEvents=new e.DisorderedArray,this._eventMap={},this._eventPool=[],this._physics=t,this._onContactEnter=i,this._onContactExit=s,this._onContactStay=r,this._onTriggerEnter=o,this._onTriggerExit=n,this._onTriggerStay=a}var i=t.prototype;return i.overlapBox=function(t,e,i,s,r){throw Error("Method not implemented.")},i.overlapSphere=function(t,e,i,s){throw Error("Method not implemented.")},i.overlapCapsule=function(t,e,i,s,r,o){throw Error("Method not implemented.")},i.setGravity=function(t){console.log("Physics-lite don't support gravity. Use Physics-PhysX instead!")},i.addCollider=function(t){t._scene=this,(t._isStaticCollider?this._staticColliders:this._dynamicColliders).push(t);for(var e=t._shapes,i=0,s=e.length;i<s;i++)this._addColliderShape(e[i])},i.removeCollider=function(t){t._scene=null;var e=t._isStaticCollider?this._staticColliders:this._dynamicColliders,i=e.indexOf(t);i>-1&&e.splice(i,1);for(var s=t._shapes,r=0,o=s.length;r<o;r++)this._removeColliderShape(s[r])},i.update=function(t){for(var e=this._dynamicColliders,i=0,s=e.length;i<s;i++){var r=e[i];this._collisionDetection(r,this._staticColliders),this._collisionDetection(r,e)}this._fireEvent()},i.raycast=function(e,i,s,r){if(!r)return this._raycast(e,i,s,this._staticColliders,r)||this._raycast(e,i,s,this._dynamicColliders,r);var o=this._raycast(e,i,s,this._staticColliders,r);o&&(i=t._currentHit.distance);var n=this._raycast(e,i,s,this._dynamicColliders,r),a=o||n,l=t._hitResult;return a?r(l.shapeID,l.distance,l.point,l.normal):(l.shapeID=-1,l.distance=0,l.point.set(0,0,0),l.normal.set(0,0,0)),a},i.addCharacterController=function(t){throw Error("Physics-lite doesn't support addCharacterController. Use Physics-PhysX instead!")},i.removeCharacterController=function(t){throw Error("Physics-lite doesn't support removeCharacterController. Use Physics-PhysX instead!")},i.boxCast=function(t,e,i,s,r,o,n){throw Error("Physics-lite doesn't support boxCast. Use Physics-PhysX instead!")},i.sphereCast=function(t,e,i,s,r,o){throw Error("Physics-lite doesn't support sphereCast. Use Physics-PhysX instead!")},i.capsuleCast=function(t,e,i,s,r,o,n,a){throw Error("Physics-lite doesn't support capsuleCast. Use Physics-PhysX instead!")},i.overlapBoxAll=function(t,e,i,s){throw Error("Physics-lite doesn't support overlapBoxAll. Use Physics-PhysX instead!")},i.overlapSphereAll=function(t,e,i){throw Error("Physics-lite doesn't support overlapSphereAll. Use Physics-PhysX instead!")},i.overlapCapsuleAll=function(t,e,i,s,r){throw Error("Physics-lite doesn't support overlapCapsuleAll. Use Physics-PhysX instead!")},i.destroy=function(){},i._addColliderShape=function(t){this._eventMap[t._id]={}},i._removeColliderShape=function(t){var e=this._eventPool,i=this._currentEvents,s=this._eventMap,r=t._id;i.forEach(function(t,o){t.index1==r?(i.deleteByIndex(o),e.push(t)):t.index2==r&&(i.deleteByIndex(o),e.push(t),s[t.index1][r]=void 0)}),delete s[r]},i._getTrigger=function(t,e){var i;return this._eventPool.length?((i=this._eventPool.pop()).index1=t,i.index2=e):i=new P(t,e),this._eventMap[t][e]=i,i},i._collisionDetection=function(e,i){for(var s=e._shapes,r=0,o=s.length;r<o;r++){var a=s[r];if(n(a,y)){t._updateWorldBox(a,this._box);for(var l=0,h=i.length;l<h;l++){var c=i[l],u=c._shapes;if(this._checkColliderCollide(c,e))for(var d=0,_=u.length;d<_;d++){var p=u[d],g=p._id,P=a._id,m=g<P?this._eventMap[g][P]:this._eventMap[P][g];if((void 0===m||m.alreadyInvoked)&&p!=a&&this._boxCollision(p)){if(void 0===m){var x=g<P?this._getTrigger(g,P):this._getTrigger(P,g);x.state=0,x.alreadyInvoked=!1,this._currentEvents.add(x)}else 0===m.state?(m.state=1,m.alreadyInvoked=!1):1===m.state&&(m.alreadyInvoked=!1)}}}}else if(n(a,f)){t._upWorldSphere(a,this._sphere);for(var v=0,w=i.length;v<w;v++){var M=i[v],C=M._shapes;if(this._checkColliderCollide(M,e))for(var F=0,S=C.length;F<S;F++){var U=C[F],X=U._id,D=a._id,b=X<D?this._eventMap[X][D]:this._eventMap[D][X];if((void 0===b||b.alreadyInvoked)&&U!=a&&this._sphereCollision(U)){if(void 0===b){var L=X<D?this._getTrigger(X,D):this._getTrigger(D,X);L.state=0,L.alreadyInvoked=!1,this._currentEvents.add(L)}else 0===b.state?(b.state=1,b.alreadyInvoked=!1):1===b.state&&(b.alreadyInvoked=!1)}}}}}},i._fireEvent=function(){var t=this,e=this._eventPool,i=this._currentEvents;i.forEach(function(s,r){s.alreadyInvoked?(s.state=2,t._eventMap[s.index1][s.index2]=void 0,i.deleteByIndex(r),t._onTriggerExit(s.index1,s.index2),e.push(s)):0==s.state?(t._onTriggerEnter(s.index1,s.index2),s.alreadyInvoked=!0):1==s.state&&(t._onTriggerStay(s.index1,s.index2),s.alreadyInvoked=!0)})},i._boxCollision=function(i){if(n(i,y)){var s=t._tempBox;return t._updateWorldBox(i,s),e.CollisionUtil.intersectsBoxAndBox(s,this._box)}if(n(i,f)){var r=t._tempSphere;return t._upWorldSphere(i,r),e.CollisionUtil.intersectsSphereAndBox(r,this._box)}return!1},i._sphereCollision=function(i){if(n(i,y)){var s=t._tempBox;return t._updateWorldBox(i,s),e.CollisionUtil.intersectsSphereAndBox(this._sphere,s)}if(n(i,f)){var r=t._tempSphere;return t._upWorldSphere(i,r),e.CollisionUtil.intersectsSphereAndSphere(r,this._sphere)}return!1},i._raycast=function(e,i,s,r,o){for(var n=!1,a=t._currentHit,l=0,h=r.length;l<h;l++)if(r[l]._raycast(e,s,a)&&a.distance<i){if(!o)return!0;n=!0;var c=t._hitResult;c.normal.copyFrom(a.normal),c.point.copyFrom(a.point),c.distance=i=a.distance,c.shapeID=a.shapeID}return n},i._checkColliderCollide=function(t,e){var i=t._collisionLayer,s=e._collisionLayer;return i===s||this._physics.getColliderLayerCollision(i,s)},t._updateWorldBox=function(t,i){var s=t._transform.worldMatrix;i.min.copyFrom(t._boxMin),i.max.copyFrom(t._boxMax),e.BoundingBox.transform(i,s,i)},t._upWorldSphere=function(t,i){e.Vector3.transformCoordinate(t._transform.position,t._transform.worldMatrix,i.center),i.radius=t.worldRadius},t}();g._tempSphere=new e.BoundingSphere,g._tempBox=new e.BoundingBox,g._currentHit=new p,g._hitResult=new p;var P=function(t,e){this.alreadyInvoked=!1,this.index1=t,this.index2=e},m=/*#__PURE__*/function(t){function e(e,i,s){var r;return(r=t.call(this,e)||this)._isStaticCollider=!0,r._transform.setPosition(i.x,i.y,i.z),r._transform.setRotationQuaternion(s.x,s.y,s.z,s.w),r}return s(e,t),e}(u),x=/*#__PURE__*/function(){function t(){this._layerCollisionMatrix=[]}var e=t.prototype;return e.initialize=function(){return Promise.resolve()},e.createPhysicsManager=function(){return null},e.createPhysicsScene=function(t,e,i,s,r,o,n){return new g(this,e,i,s,r,o,n)},e.createStaticCollider=function(t,e){return new m(this,t,e)},e.createDynamicCollider=function(t,e){return new d(this,t,e)},e.createCharacterController=function(){throw"Physics-lite don't support createCharacterController. Use Physics-PhysX instead!"},e.createPhysicsMaterial=function(t,e,i,s,r){return new _(t,e,i,s,r)},e.createBoxColliderShape=function(t,e,i){return new y(t,e,i)},e.createSphereColliderShape=function(t,e,i){return new f(t,e,i)},e.createPlaneColliderShape=function(t,e){throw Error("Physics-lite doesn't support PlaneColliderShape. Use Physics-PhysX instead!")},e.createCapsuleColliderShape=function(t,e,i,s){throw Error("Physics-lite doesn't support CapsuleColliderShape. Use Physics-PhysX instead!")},e.createFixedJoint=function(t){throw Error("Physics-lite doesn't support FixedJoint. Use Physics-PhysX instead!")},e.createHingeJoint=function(t){throw Error("Physics-lite doesn't support HingeJoint. Use Physics-PhysX instead!")},e.createSpringJoint=function(t){throw Error("Physics-lite doesn't support SpringJoint. Use Physics-PhysX instead!")},e.setColliderLayer=function(t,e){t._collisionLayer=e},e.getColliderLayerCollision=function(t,e){var i,s=this._getColliderLayerIndex(t,e);return s>-1&&(null==(i=this._layerCollisionMatrix[s])||i)},e.setColliderLayerCollision=function(t,e,i){var s=this._getColliderLayerIndex(t,e);s>-1&&(this._layerCollisionMatrix[s]=i)},e.destroy=function(){},e._getColliderLayerIndex=function(t,e){if(32===t||32===e)return -1;var i=Math.min(t,e),s=Math.max(t,e);return s*(s+1)/2+i},t}(),v="1.6.1";console.log("Galacean Engine Physics Lite Version: "+v),t.LitePhysics=x,t.version=v,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 s(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 r(t,e){for(var i=0;i<e.length;i++){var s=e[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}function o(t,e,i){return e&&r(t.prototype,e),i&&r(t,i),t}function n(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}var a=/*#__PURE__*/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}(),l=/*#__PURE__*/function(){function t(){this._updateFlags=[]}var e=t.prototype;return e.register=function(){return new a(this._updateFlags)},e.distribute=function(){for(var t=this._updateFlags,e=t.length-1;e>=0;e--)t[e].flag=!0},t}(),h=/*#__PURE__*/function(){function t(){this._position=new e.Vector3,this._worldScale=new e.Vector3(1,1,1),this._transform=new c,this._invModelMatrix=new e.Matrix,this._rotation=new e.Vector3,this._transform.owner=this,this._inverseWorldMatFlag=this._transform.registerWorldChangeFlag()}var i=t.prototype;return i.setRotation=function(t){var i=this._rotation.set(e.MathUtil.degreeToRadian(t.x),e.MathUtil.degreeToRadian(t.y),e.MathUtil.degreeToRadian(t.z));e.Quaternion.rotationEuler(i.x,i.y,i.z,this._transform.rotationQuaternion)},i.setPosition=function(t){t!==this._position&&this._position.copyFrom(t),this._setLocalPose()},i.setWorldScale=function(t){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,s,r,o,n){void 0===n&&(n=!1);var a=t._tempPoint;i.getPoint(s,a),n||e.Vector3.transformCoordinate(a,this._transform.worldMatrix,a);var l=e.Vector3.distance(o,a);l<r.distance&&(r.point.copyFrom(a),r.distance=l,r.shapeID=this._id)},i._getLocalRay=function(i){var s=this._getInvModelMatrix(),r=t._ray;return e.Vector3.transformCoordinate(i.origin,s,r.origin),e.Vector3.transformNormal(i.direction,s,r.direction),r.direction.normalize(),r},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}();h._tempPos=new e.Vector3,h._tempRot=new e.Quaternion,h._tempScale=new e.Vector3,h._tempPoint=new e.Vector3,h._tempVector4=new e.Vector4,h._ray=new e.Ray;var c=/*#__PURE__*/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 l,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,s){this._rotationQuaternion.set(t,e,i,s),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),n(this._owner,u)))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),n(this._owner,u)))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),n(this._owner,u)))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),n(this._owner,u)))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 n(this._owner,h)&&(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 s=this._getParentTransform();s?(e.Quaternion.invert(s.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 s=this._getParentTransform();s?(e.Matrix.invert(s.worldMatrix,t._tempMat42),e.Matrix.multiply(t._tempMat42,i,this._localMatrix)):this._localMatrix.copyFrom(i),this.localMatrix=this._localMatrix,this._setDirtyFlagFalse(128)}}]),t}();c._tempQuat0=new e.Quaternion,c._tempMat42=new e.Matrix;var u=/*#__PURE__*/function(){function t(t){this._shapes=[],this._transform=new c,this._transform.owner=this,this._litePhysics=t}var e=t.prototype;return e.addShape=function(t){var e,i=t._collider;i!==this&&(i&&i.removeShape(t),this._shapes.push(t),t._collider=this,null==(e=this._scene)||e._addColliderShape(t))},e.removeShape=function(t){var e,i=this._shapes.indexOf(t);-1!==i&&(this._shapes.splice(i,1),t._collider=null,null==(e=this._scene)||e._removeColliderShape(t))},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,s=i.position,r=i.rotationQuaternion;t.set(s.x,s.y,s.z),e.set(r.x,r.y,r.z,r.w)},e.setCollisionLayer=function(t){this._litePhysics.setColliderLayer(this,t)},e.destroy=function(){},e._raycast=function(t,e,i){i.distance=Number.MAX_VALUE;for(var s=this._shapes,r=0,o=s.length;r<o;r++){var n=s[r];e(n._id)&&n._raycast(t,i)}return i.distance!=Number.MAX_VALUE},t}(),d=/*#__PURE__*/function(t){function i(e,i,s){var r;return(r=t.call(this,e)||this)._isStaticCollider=!1,r._transform.setPosition(i.x,i.y,i.z),r._transform.setRotationQuaternion(s.x,s.y,s.z,s.w),r}s(i,t);var r=i.prototype;return r.getInertiaTensor=function(t){return e.Logger.error("Physics-lite don't support getInertiaTensor. Use Physics-PhysX instead!"),t},r.getCenterOfMass=function(t){return e.Logger.error("Physics-lite don't support getCenterOfMass. Use Physics-PhysX instead!"),t},r.setMassAndUpdateInertia=function(t){e.Logger.error("Physics-lite don't support setMassAndUpdateInertia. Use Physics-PhysX instead!")},r.addForce=function(t){throw"Physics-lite don't support addForce. Use Physics-PhysX instead!"},r.addTorque=function(t){throw"Physics-lite don't support addTorque. Use Physics-PhysX instead!"},r.move=function(t,e){throw"Physics-lite don't support move. Use Physics-PhysX instead!"},r.sleep=function(){throw"Physics-lite don't support putToSleep. Use Physics-PhysX instead!"},r.isSleeping=function(){throw"Physics-lite don't support isSleeping. Use Physics-PhysX instead!"},r.setAngularDamping=function(t){e.Logger.error("Physics-lite don't support setAngularDamping. Use Physics-PhysX instead!")},r.getAngularVelocity=function(t){return e.Logger.error("Physics-lite don't support getAngularVelocity. Use Physics-PhysX instead!"),t},r.setAngularVelocity=function(t){e.Logger.error("Physics-lite don't support setAngularVelocity. Use Physics-PhysX instead!")},r.setCenterOfMass=function(t){e.Logger.error("Physics-lite don't support setCenterOfMass. Use Physics-PhysX instead!")},r.setCollisionDetectionMode=function(t){e.Logger.error("Physics-lite don't support setCollisionDetectionMode. Use Physics-PhysX instead!")},r.setConstraints=function(t){e.Logger.error("Physics-lite don't support setConstraints. Use Physics-PhysX instead!")},r.setInertiaTensor=function(t){e.Logger.error("Physics-lite don't support setInertiaTensor. Use Physics-PhysX instead!")},r.setUseGravity=function(t){e.Logger.error("Physics-lite don't support setUseGravity. Use Physics-PhysX instead!")},r.setIsKinematic=function(t){e.Logger.error("Physics-lite don't support setIsKinematic. Use Physics-PhysX instead!")},r.setLinearDamping=function(t){e.Logger.error("Physics-lite don't support setLinearDamping. Use Physics-PhysX instead!")},r.getLinearVelocity=function(t){return e.Logger.error("Physics-lite don't support getLinearVelocity. Use Physics-PhysX instead!"),t},r.setLinearVelocity=function(t){e.Logger.error("Physics-lite don't support setLinearVelocity. Use Physics-PhysX instead!")},r.setMass=function(t){e.Logger.error("Physics-lite don't support setMass. Use Physics-PhysX instead!")},r.setMaxAngularVelocity=function(t){e.Logger.error("Physics-lite don't support setMaxAngularVelocity. Use Physics-PhysX instead!")},r.setMaxDepenetrationVelocity=function(t){e.Logger.error("Physics-lite don't support setMaxDepenetrationVelocity. Use Physics-PhysX instead!")},r.setSleepThreshold=function(t){e.Logger.error("Physics-lite don't support setSleepThreshold. Use Physics-PhysX instead!")},r.setSolverIterations=function(t){e.Logger.error("Physics-lite don't support setSolverIterations. Use Physics-PhysX instead!")},r.wakeUp=function(){throw"Physics-lite don't support wakeUp. Use Physics-PhysX instead!"},i}(u),_=/*#__PURE__*/function(){function t(t,e,i,s,r){}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}(),p=function(){this.shapeID=-1,this.distance=0,this.point=new e.Vector3,this.normal=new e.Vector3},y=/*#__PURE__*/function(t){function i(i,s,r){var o;return(o=t.call(this)||this)._halfSize=new e.Vector3,o._sizeScale=new e.Vector3(1,1,1),o._boxMin=new e.Vector3(-.5,-.5,-.5),o._boxMax=new e.Vector3(.5,.5,.5),o._id=i,o._halfSize.set(.5*s.x,.5*s.y,.5*s.z),o._setBondingBox(),o}s(i,t);var r=i.prototype;return r.setPosition=function(e){t.prototype.setPosition.call(this,e),this._setBondingBox()},r.setWorldScale=function(e){t.prototype.setWorldScale.call(this,e),this._sizeScale.set(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),this._setBondingBox()},r.setSize=function(t){this._halfSize.set(.5*t.x,.5*t.y,.5*t.z),this._setBondingBox()},r.pointDistance=function(t){var s=h._tempPos,r=h._tempRot;this._transform.worldMatrix.decompose(s,r,h._tempScale);var o=this._transform.position,n=i._tempMatrix,a=i._tempInvMatrix,l=h._tempPoint,c=this._sizeScale,u=i._tempBox,d=this._boxMin,_=this._boxMax;l.copyFrom(d),l.subtract(o),l.divide(c),u.min.copyFrom(l),l.copyFrom(_),l.subtract(o),l.divide(c),u.max.copyFrom(l),e.Matrix.affineTransformation(c,r,s,n),e.Matrix.invert(n,a),e.Vector3.transformCoordinate(t,a,l);var p=u.min,y=u.max;l.x=Math.max(p.x,Math.min(l.x,y.x)),l.y=Math.max(p.y,Math.min(l.y,y.y)),l.z=Math.max(p.z,Math.min(l.z,y.z)),e.Vector3.transformCoordinate(l,n,l);var f=h._tempVector4;return e.Vector3.equals(l,t)?f.set(t.x,t.y,t.z,0):f.set(l.x,l.y,l.z,e.Vector3.distanceSquared(l,t)),f},r._raycast=function(t,e){var s=this._getLocalRay(t),r=this._sizeScale,o=this._halfSize,n=i._tempBox;n.min.set(-o.x*r.x,-o.y*r.y,-o.z*r.z),n.max.set(o.x*r.x,o.y*r.y,o.z*r.z);var a=s.intersectBox(n);return -1!==a&&(this._updateHitResult(s,a,e,t.origin),!0)},r._setBondingBox=function(){var t=this._transform.position,e=this._sizeScale,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}(h);y._tempBox=new e.BoundingBox,y._tempMatrix=new e.Matrix,y._tempInvMatrix=new e.Matrix;var f=/*#__PURE__*/function(t){function i(e,i,s){var r;return(r=t.call(this)||this)._radius=1,r._maxScale=1,r._radius=i,r._id=e,r}s(i,t);var r=i.prototype;return r.setRadius=function(t){this._radius=t},r.setWorldScale=function(e){t.prototype.setWorldScale.call(this,e),this._maxScale=Math.max(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))},r.pointDistance=function(t){var i=h._tempPos,s=this.worldRadius;this._transform.worldMatrix.decompose(i,h._tempRot,h._tempScale);var r=h._tempPoint;e.Vector3.subtract(t,i,r);var o=r.lengthSquared(),n=r.normalize();e.Vector3.scale(n,s,r),r.add(i);var a=h._tempVector4,l=e.Vector3.distanceSquared(r,t);return o<=s*s?a.set(t.x,t.y,t.z,0):a.set(r.x,r.y,r.z,l),a},r._raycast=function(t,s){var r=i._tempSphere;e.Vector3.transformCoordinate(this._transform.position,this._collider._transform.worldMatrix,r.center),r.radius=this.worldRadius;var o=t.intersectSphere(r);return -1!==o&&(this._updateHitResult(t,o,s,t.origin,!0),!0)},o(i,[{key:"worldRadius",get:function(){return this._radius*this._maxScale}}]),i}(h);f._tempSphere=new e.BoundingSphere;var g=/*#__PURE__*/function(){function t(t,i,s,r,o,n,a){this._staticColliders=[],this._dynamicColliders=[],this._sphere=new e.BoundingSphere,this._box=new e.BoundingBox,this._currentEvents=new e.DisorderedArray,this._eventMap={},this._eventPool=[],this._physics=t,this._onContactEnter=i,this._onContactExit=s,this._onContactStay=r,this._onTriggerEnter=o,this._onTriggerExit=n,this._onTriggerStay=a}var i=t.prototype;return i.overlapBox=function(t,e,i,s,r){throw Error("Method not implemented.")},i.overlapSphere=function(t,e,i,s){throw Error("Method not implemented.")},i.overlapCapsule=function(t,e,i,s,r,o){throw Error("Method not implemented.")},i.setGravity=function(t){console.log("Physics-lite don't support gravity. Use Physics-PhysX instead!")},i.addCollider=function(t){t._scene=this,(t._isStaticCollider?this._staticColliders:this._dynamicColliders).push(t);for(var e=t._shapes,i=0,s=e.length;i<s;i++)this._addColliderShape(e[i])},i.removeCollider=function(t){t._scene=null;var e=t._isStaticCollider?this._staticColliders:this._dynamicColliders,i=e.indexOf(t);i>-1&&e.splice(i,1);for(var s=t._shapes,r=0,o=s.length;r<o;r++)this._removeColliderShape(s[r])},i.update=function(t){for(var e=this._dynamicColliders,i=0,s=e.length;i<s;i++){var r=e[i];this._collisionDetection(r,this._staticColliders),this._collisionDetection(r,e)}this._fireEvent()},i.raycast=function(e,i,s,r){if(!r)return this._raycast(e,i,s,this._staticColliders,r)||this._raycast(e,i,s,this._dynamicColliders,r);var o=this._raycast(e,i,s,this._staticColliders,r);o&&(i=t._currentHit.distance);var n=this._raycast(e,i,s,this._dynamicColliders,r),a=o||n,l=t._hitResult;return a?r(l.shapeID,l.distance,l.point,l.normal):(l.shapeID=-1,l.distance=0,l.point.set(0,0,0),l.normal.set(0,0,0)),a},i.addCharacterController=function(t){throw Error("Physics-lite doesn't support addCharacterController. Use Physics-PhysX instead!")},i.removeCharacterController=function(t){throw Error("Physics-lite doesn't support removeCharacterController. Use Physics-PhysX instead!")},i.boxCast=function(t,e,i,s,r,o,n){throw Error("Physics-lite doesn't support boxCast. Use Physics-PhysX instead!")},i.sphereCast=function(t,e,i,s,r,o){throw Error("Physics-lite doesn't support sphereCast. Use Physics-PhysX instead!")},i.capsuleCast=function(t,e,i,s,r,o,n,a){throw Error("Physics-lite doesn't support capsuleCast. Use Physics-PhysX instead!")},i.overlapBoxAll=function(t,e,i,s){throw Error("Physics-lite doesn't support overlapBoxAll. Use Physics-PhysX instead!")},i.overlapSphereAll=function(t,e,i){throw Error("Physics-lite doesn't support overlapSphereAll. Use Physics-PhysX instead!")},i.overlapCapsuleAll=function(t,e,i,s,r){throw Error("Physics-lite doesn't support overlapCapsuleAll. Use Physics-PhysX instead!")},i.destroy=function(){},i._addColliderShape=function(t){this._eventMap[t._id]={}},i._removeColliderShape=function(t){var e=this._eventPool,i=this._currentEvents,s=this._eventMap,r=t._id;i.forEach(function(t,o){t.index1==r?(i.deleteByIndex(o),e.push(t)):t.index2==r&&(i.deleteByIndex(o),e.push(t),s[t.index1][r]=void 0)}),delete s[r]},i._getTrigger=function(t,e){var i;return this._eventPool.length?((i=this._eventPool.pop()).index1=t,i.index2=e):i=new P(t,e),this._eventMap[t][e]=i,i},i._collisionDetection=function(e,i){for(var s=e._shapes,r=0,o=s.length;r<o;r++){var a=s[r];if(n(a,y)){t._updateWorldBox(a,this._box);for(var l=0,h=i.length;l<h;l++){var c=i[l],u=c._shapes;if(this._checkColliderCollide(c,e))for(var d=0,_=u.length;d<_;d++){var p=u[d],g=p._id,P=a._id,m=g<P?this._eventMap[g][P]:this._eventMap[P][g];if((void 0===m||m.alreadyInvoked)&&p!=a&&this._boxCollision(p)){if(void 0===m){var x=g<P?this._getTrigger(g,P):this._getTrigger(P,g);x.state=0,x.alreadyInvoked=!1,this._currentEvents.add(x)}else 0===m.state?(m.state=1,m.alreadyInvoked=!1):1===m.state&&(m.alreadyInvoked=!1)}}}}else if(n(a,f)){t._upWorldSphere(a,this._sphere);for(var v=0,w=i.length;v<w;v++){var M=i[v],C=M._shapes;if(this._checkColliderCollide(M,e))for(var F=0,S=C.length;F<S;F++){var U=C[F],X=U._id,D=a._id,b=X<D?this._eventMap[X][D]:this._eventMap[D][X];if((void 0===b||b.alreadyInvoked)&&U!=a&&this._sphereCollision(U)){if(void 0===b){var L=X<D?this._getTrigger(X,D):this._getTrigger(D,X);L.state=0,L.alreadyInvoked=!1,this._currentEvents.add(L)}else 0===b.state?(b.state=1,b.alreadyInvoked=!1):1===b.state&&(b.alreadyInvoked=!1)}}}}}},i._fireEvent=function(){var t=this,e=this._eventPool,i=this._currentEvents;i.forEach(function(s,r){s.alreadyInvoked?(s.state=2,t._eventMap[s.index1][s.index2]=void 0,i.deleteByIndex(r),t._onTriggerExit(s.index1,s.index2),e.push(s)):0==s.state?(t._onTriggerEnter(s.index1,s.index2),s.alreadyInvoked=!0):1==s.state&&(t._onTriggerStay(s.index1,s.index2),s.alreadyInvoked=!0)})},i._boxCollision=function(i){if(n(i,y)){var s=t._tempBox;return t._updateWorldBox(i,s),e.CollisionUtil.intersectsBoxAndBox(s,this._box)}if(n(i,f)){var r=t._tempSphere;return t._upWorldSphere(i,r),e.CollisionUtil.intersectsSphereAndBox(r,this._box)}return!1},i._sphereCollision=function(i){if(n(i,y)){var s=t._tempBox;return t._updateWorldBox(i,s),e.CollisionUtil.intersectsSphereAndBox(this._sphere,s)}if(n(i,f)){var r=t._tempSphere;return t._upWorldSphere(i,r),e.CollisionUtil.intersectsSphereAndSphere(r,this._sphere)}return!1},i._raycast=function(e,i,s,r,o){for(var n=!1,a=t._currentHit,l=0,h=r.length;l<h;l++)if(r[l]._raycast(e,s,a)&&a.distance<i){if(!o)return!0;n=!0;var c=t._hitResult;c.normal.copyFrom(a.normal),c.point.copyFrom(a.point),c.distance=i=a.distance,c.shapeID=a.shapeID}return n},i._checkColliderCollide=function(t,e){var i=t._collisionLayer,s=e._collisionLayer;return i===s||this._physics.getColliderLayerCollision(i,s)},t._updateWorldBox=function(t,i){var s=t._transform.worldMatrix;i.min.copyFrom(t._boxMin),i.max.copyFrom(t._boxMax),e.BoundingBox.transform(i,s,i)},t._upWorldSphere=function(t,i){e.Vector3.transformCoordinate(t._transform.position,t._transform.worldMatrix,i.center),i.radius=t.worldRadius},t}();g._tempSphere=new e.BoundingSphere,g._tempBox=new e.BoundingBox,g._currentHit=new p,g._hitResult=new p;var P=function(t,e){this.alreadyInvoked=!1,this.index1=t,this.index2=e},m=/*#__PURE__*/function(t){function e(e,i,s){var r;return(r=t.call(this,e)||this)._isStaticCollider=!0,r._transform.setPosition(i.x,i.y,i.z),r._transform.setRotationQuaternion(s.x,s.y,s.z,s.w),r}return s(e,t),e}(u),x=/*#__PURE__*/function(){function t(){this._layerCollisionMatrix=[]}var e=t.prototype;return e.initialize=function(){return Promise.resolve()},e.createPhysicsManager=function(){return null},e.createPhysicsScene=function(t,e,i,s,r,o,n){return new g(this,e,i,s,r,o,n)},e.createStaticCollider=function(t,e){return new m(this,t,e)},e.createDynamicCollider=function(t,e){return new d(this,t,e)},e.createCharacterController=function(){throw"Physics-lite don't support createCharacterController. Use Physics-PhysX instead!"},e.createPhysicsMaterial=function(t,e,i,s,r){return new _(t,e,i,s,r)},e.createBoxColliderShape=function(t,e,i){return new y(t,e,i)},e.createSphereColliderShape=function(t,e,i){return new f(t,e,i)},e.createPlaneColliderShape=function(t,e){throw Error("Physics-lite doesn't support PlaneColliderShape. Use Physics-PhysX instead!")},e.createCapsuleColliderShape=function(t,e,i,s){throw Error("Physics-lite doesn't support CapsuleColliderShape. Use Physics-PhysX instead!")},e.createFixedJoint=function(t){throw Error("Physics-lite doesn't support FixedJoint. Use Physics-PhysX instead!")},e.createHingeJoint=function(t){throw Error("Physics-lite doesn't support HingeJoint. Use Physics-PhysX instead!")},e.createSpringJoint=function(t){throw Error("Physics-lite doesn't support SpringJoint. Use Physics-PhysX instead!")},e.setColliderLayer=function(t,e){t._collisionLayer=e},e.getColliderLayerCollision=function(t,e){var i,s=this._getColliderLayerIndex(t,e);return s>-1&&(null==(i=this._layerCollisionMatrix[s])||i)},e.setColliderLayerCollision=function(t,e,i){var s=this._getColliderLayerIndex(t,e);s>-1&&(this._layerCollisionMatrix[s]=i)},e.destroy=function(){},e._getColliderLayerIndex=function(t,e){if(32===t||32===e)return -1;var i=Math.min(t,e),s=Math.max(t,e);return s*(s+1)/2+i},t}(),v="1.6.2";console.log("Galacean Engine Physics Lite Version: "+v),t.LitePhysics=x,t.version=v,Object.defineProperty(t,"__esModule",{value:!0})});
2
2
  //# sourceMappingURL=browser.min.js.map
package/dist/main.js CHANGED
@@ -1389,7 +1389,7 @@ var LitePhysics = /*#__PURE__*/ function() {
1389
1389
  }();
1390
1390
 
1391
1391
  //@ts-ignore
1392
- var version = "1.6.1";
1392
+ var version = "1.6.2";
1393
1393
  console.log("Galacean Engine Physics Lite Version: " + version);
1394
1394
 
1395
1395
  exports.LitePhysics = LitePhysics;
package/dist/module.js CHANGED
@@ -1385,7 +1385,7 @@ var LitePhysics = /*#__PURE__*/ function() {
1385
1385
  }();
1386
1386
 
1387
1387
  //@ts-ignore
1388
- var version = "1.6.1";
1388
+ var version = "1.6.2";
1389
1389
  console.log("Galacean Engine Physics Lite Version: " + version);
1390
1390
 
1391
1391
  export { LitePhysics, version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/engine-physics-lite",
3
- "version": "1.6.1",
3
+ "version": "1.6.2",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -25,11 +25,11 @@
25
25
  "types/**/*"
26
26
  ],
27
27
  "devDependencies": {
28
- "@galacean/engine-design": "1.6.1",
29
- "@galacean/engine": "1.6.1"
28
+ "@galacean/engine-design": "1.6.2",
29
+ "@galacean/engine": "1.6.2"
30
30
  },
31
31
  "peerDependencies": {
32
- "@galacean/engine": "1.6.1"
32
+ "@galacean/engine": "1.6.2"
33
33
  },
34
34
  "scripts": {
35
35
  "b:types": "tsc"