@galacean/engine-physics-lite 1.4.0-alpha.2 → 1.4.0-alpha.3

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
@@ -1298,7 +1298,7 @@
1298
1298
  }();
1299
1299
 
1300
1300
  //@ts-ignore
1301
- var version = "1.4.0-alpha.2";
1301
+ var version = "1.4.0-alpha.3";
1302
1302
  console.log("Galacean PhysicsLite version: " + version);
1303
1303
 
1304
1304
  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 n(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&&n(t.prototype,e),i&&n(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=/*#__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}(),h=/*#__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}(),l=/*#__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,n,o,r){void 0===r&&(r=!1);var a=t._tempPoint;i.getPoint(s,a),r||e.Vector3.transformCoordinate(a,this._transform.worldMatrix,a);var h=e.Vector3.distance(o,a);h<n.distance&&(n.point.copyFrom(a),n.distance=h,n.shapeID=this._id)},i._getLocalRay=function(i){var s=this._getInvModelMatrix(),n=t._ray;return e.Vector3.transformCoordinate(i.origin,s,n.origin),e.Vector3.transformNormal(i.direction,s,n.direction),n.direction.normalize(),n},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}();l._tempPos=new e.Vector3,l._tempRot=new e.Quaternion,l._tempScale=new e.Vector3,l._tempPoint=new e.Vector3,l._tempVector4=new e.Vector4,l._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 h,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),r(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),r(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),r(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),r(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 r(this._owner,l)&&(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(){this._shapes=[],this._transform=new c,this._transform.owner=this}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,n=i.rotationQuaternion;t.set(s.x,s.y,s.z),e.set(n.x,n.y,n.z,n.w)},e.destroy=function(){},e._raycast=function(t,e,i){i.distance=Number.MAX_VALUE;for(var s=this._shapes,n=0,o=s.length;n<o;n++){var r=s[n];e(r._id)&&r._raycast(t,i)}return i.distance!=Number.MAX_VALUE},t}(),d=/*#__PURE__*/function(t){function i(e,i){var s;return(s=t.call(this)||this)._isStaticCollider=!1,s._transform.setPosition(e.x,e.y,e.z),s._transform.setRotationQuaternion(i.x,i.y,i.z,i.w),s}s(i,t);var n=i.prototype;return n.getInertiaTensor=function(t){return e.Logger.error("Physics-lite don't support getInertiaTensor. Use Physics-PhysX instead!"),t},n.getCenterOfMass=function(t){return e.Logger.error("Physics-lite don't support getCenterOfMass. Use Physics-PhysX instead!"),t},n.setMassAndUpdateInertia=function(t){e.Logger.error("Physics-lite don't support setMassAndUpdateInertia. Use Physics-PhysX instead!")},n.addForce=function(t){throw"Physics-lite don't support addForce. Use Physics-PhysX instead!"},n.addTorque=function(t){throw"Physics-lite don't support addTorque. Use Physics-PhysX instead!"},n.move=function(t,e){throw"Physics-lite don't support move. Use Physics-PhysX instead!"},n.sleep=function(){throw"Physics-lite don't support putToSleep. Use Physics-PhysX instead!"},n.isSleeping=function(){throw"Physics-lite don't support isSleeping. Use Physics-PhysX instead!"},n.getAngularDamping=function(){throw"Physics-lite don't support getAngularDamping. Use Physics-PhysX instead!"},n.setAngularDamping=function(t){e.Logger.error("Physics-lite don't support setAngularDamping. Use Physics-PhysX instead!")},n.getAngularVelocity=function(t){return e.Logger.error("Physics-lite don't support getAngularVelocity. Use Physics-PhysX instead!"),t},n.setAngularVelocity=function(t){e.Logger.error("Physics-lite don't support setAngularVelocity. Use Physics-PhysX instead!")},n.setCenterOfMass=function(t){e.Logger.error("Physics-lite don't support setCenterOfMass. Use Physics-PhysX instead!")},n.setCollisionDetectionMode=function(t){e.Logger.error("Physics-lite don't support setCollisionDetectionMode. Use Physics-PhysX instead!")},n.setConstraints=function(t){e.Logger.error("Physics-lite don't support setConstraints. Use Physics-PhysX instead!")},n.setInertiaTensor=function(t){e.Logger.error("Physics-lite don't support setInertiaTensor. Use Physics-PhysX instead!")},n.setUseGravity=function(t){throw"Physics-lite don't support setUseGravity. Use Physics-PhysX instead!"},n.setIsKinematic=function(t){e.Logger.error("Physics-lite don't support setIsKinematic. Use Physics-PhysX instead!")},n.getLinearDamping=function(){throw"Physics-lite don't support getLinearDamping. Use Physics-PhysX instead!"},n.setLinearDamping=function(t){e.Logger.error("Physics-lite don't support setLinearDamping. Use Physics-PhysX instead!")},n.getLinearVelocity=function(t){return e.Logger.error("Physics-lite don't support getLinearVelocity. Use Physics-PhysX instead!"),t},n.setLinearVelocity=function(t){e.Logger.error("Physics-lite don't support setLinearVelocity. Use Physics-PhysX instead!")},n.setMass=function(t){e.Logger.error("Physics-lite don't support setMass. Use Physics-PhysX instead!")},n.setMaxAngularVelocity=function(t){e.Logger.error("Physics-lite don't support setMaxAngularVelocity. Use Physics-PhysX instead!")},n.getMaxDepenetrationVelocity=function(){throw"Physics-lite don't support getMaxDepenetrationVelocity. Use Physics-PhysX instead!"},n.setMaxDepenetrationVelocity=function(t){e.Logger.error("Physics-lite don't support setMaxDepenetrationVelocity. Use Physics-PhysX instead!")},n.setSleepThreshold=function(t){e.Logger.error("Physics-lite don't support setSleepThreshold. Use Physics-PhysX instead!")},n.setSolverIterations=function(t){e.Logger.error("Physics-lite don't support setSolverIterations. Use Physics-PhysX instead!")},n.wakeUp=function(){throw"Physics-lite don't support wakeUp. Use Physics-PhysX instead!"},i}(u),_=/*#__PURE__*/function(){function t(t,e,i,s,n){}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,n){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 n=i.prototype;return n.setPosition=function(e){t.prototype.setPosition.call(this,e),this._setBondingBox()},n.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()},n.setSize=function(t){this._halfSize.set(.5*t.x,.5*t.y,.5*t.z),this._setBondingBox()},n.pointDistance=function(t){var s=l._tempPos,n=l._tempRot;this._transform.worldMatrix.decompose(s,n,l._tempScale);var o=this._transform.position,r=i._tempMatrix,a=i._tempInvMatrix,h=l._tempPoint,c=this._sizeScale,u=i._tempBox,d=this._boxMin,_=this._boxMax;h.copyFrom(d),h.subtract(o),h.divide(c),u.min.copyFrom(h),h.copyFrom(_),h.subtract(o),h.divide(c),u.max.copyFrom(h),e.Matrix.affineTransformation(c,n,s,r),e.Matrix.invert(r,a),e.Vector3.transformCoordinate(t,a,h);var p=u.min,y=u.max;h.x=Math.max(p.x,Math.min(h.x,y.x)),h.y=Math.max(p.y,Math.min(h.y,y.y)),h.z=Math.max(p.z,Math.min(h.z,y.z)),e.Vector3.transformCoordinate(h,r,h);var f=l._tempVector4;return e.Vector3.equals(h,t)?f.set(t.x,t.y,t.z,0):f.set(h.x,h.y,h.z,e.Vector3.distanceSquared(h,t)),f},n._raycast=function(t,e){var s=this._getLocalRay(t),n=this._sizeScale,o=this._halfSize,r=i._tempBox;r.min.set(-o.x*n.x,-o.y*n.y,-o.z*n.z),r.max.set(o.x*n.x,o.y*n.y,o.z*n.z);var a=s.intersectBox(r);return -1!==a&&(this._updateHitResult(s,a,e,t.origin),!0)},n._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}(l);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 n;return(n=t.call(this)||this)._radius=1,n._maxScale=1,n._radius=i,n._id=e,n}s(i,t);var n=i.prototype;return n.setRadius=function(t){this._radius=t},n.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))},n.pointDistance=function(t){var i=l._tempPos,s=this.worldRadius;this._transform.worldMatrix.decompose(i,l._tempRot,l._tempScale);var n=l._tempPoint;e.Vector3.subtract(t,i,n);var o=n.lengthSquared(),r=n.normalize();e.Vector3.scale(r,s,n),n.add(i);var a=l._tempVector4,h=e.Vector3.distanceSquared(n,t);return o<=s*s?a.set(t.x,t.y,t.z,0):a.set(n.x,n.y,n.z,h),a},n._raycast=function(t,s){var n=i._tempSphere;e.Vector3.transformCoordinate(this._transform.position,this._collider._transform.worldMatrix,n.center),n.radius=this.worldRadius;var o=t.intersectSphere(n);return -1!==o&&(this._updateHitResult(t,o,s,t.origin,!0),!0)},o(i,[{key:"worldRadius",get:function(){return this._radius*this._maxScale}}]),i}(l);f._tempSphere=new e.BoundingSphere;var g=/*#__PURE__*/function(){function t(t,i,s,n,o,r){this._staticColliders=[],this._dynamicColliders=[],this._sphere=new e.BoundingSphere,this._box=new e.BoundingBox,this._currentEvents=new e.DisorderedArray,this._eventMap={},this._eventPool=[],this._onContactEnter=t,this._onContactExit=i,this._onContactStay=s,this._onTriggerEnter=n,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.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,n=0,o=s.length;n<o;n++)this._removeColliderShape(s[n])},i.update=function(t){for(var e=this._dynamicColliders,i=0,s=e.length;i<s;i++){var n=e[i];this._collisionDetection(n,this._staticColliders),this._collisionDetection(n,e)}this._fireEvent()},i.raycast=function(e,i,s,n){if(!n)return this._raycast(e,i,s,this._staticColliders,n)||this._raycast(e,i,s,this._dynamicColliders,n);var o=this._raycast(e,i,s,this._staticColliders,n);o&&(i=t._currentHit.distance);var r=this._raycast(e,i,s,this._dynamicColliders,n),a=o||r,h=t._hitResult;return a?n(h.shapeID,h.distance,h.point,h.normal):(h.shapeID=-1,h.distance=0,h.point.set(0,0,0),h.normal.set(0,0,0)),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._addColliderShape=function(t){this._eventMap[t._id]={}},i._removeColliderShape=function(t){var e=this._eventPool,i=this._currentEvents,s=this._eventMap,n=t._id;i.forEach(function(t,o){t.index1==n?(i.deleteByIndex(o),e.push(t)):t.index2==n&&(i.deleteByIndex(o),e.push(t),s[t.index1][n]=void 0)}),delete s[n]},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 s=e._shapes,n=0,o=s.length;n<o;n++){var a=s[n];if(r(a,y)){t._updateWorldBox(a,this._box);for(var h=0,l=i.length;h<l;h++)for(var c=i[h]._shapes,u=0,d=c.length;u<d;u++){var _=c[u],p=_._id,g=a._id,m=p<g?this._eventMap[p][g]:this._eventMap[g][p];if((void 0===m||m.alreadyInvoked)&&_!=a&&this._boxCollision(_)){if(void 0===m){var P=p<g?this._getTrigger(p,g):this._getTrigger(g,p);P.state=0,P.alreadyInvoked=!1,this._currentEvents.add(P)}else 0===m.state?(m.state=1,m.alreadyInvoked=!1):1===m.state&&(m.alreadyInvoked=!1)}}}else if(r(a,f)){t._upWorldSphere(a,this._sphere);for(var x=0,v=i.length;x<v;x++)for(var w=i[x]._shapes,M=0,C=w.length;M<C;M++){var F=w[M],S=F._id,U=a._id,D=S<U?this._eventMap[S][U]:this._eventMap[U][S];if((void 0===D||D.alreadyInvoked)&&F!=a&&this._sphereCollision(F)){if(void 0===D){var V=S<U?this._getTrigger(S,U):this._getTrigger(U,S);V.state=0,V.alreadyInvoked=!1,this._currentEvents.add(V)}else 0===D.state?(D.state=1,D.alreadyInvoked=!1):1===D.state&&(D.alreadyInvoked=!1)}}}}},i._fireEvent=function(){var t=this,e=this._eventPool,i=this._currentEvents;i.forEach(function(s,n){s.alreadyInvoked?(s.state=2,t._eventMap[s.index1][s.index2]=void 0,i.deleteByIndex(n),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(r(i,y)){var s=t._tempBox;return t._updateWorldBox(i,s),e.CollisionUtil.intersectsBoxAndBox(s,this._box)}if(r(i,f)){var n=t._tempSphere;return t._upWorldSphere(i,n),e.CollisionUtil.intersectsSphereAndBox(n,this._box)}return!1},i._sphereCollision=function(i){if(r(i,y)){var s=t._tempBox;return t._updateWorldBox(i,s),e.CollisionUtil.intersectsSphereAndBox(this._sphere,s)}if(r(i,f)){var n=t._tempSphere;return t._upWorldSphere(i,n),e.CollisionUtil.intersectsSphereAndSphere(n,this._sphere)}return!1},i._raycast=function(e,i,s,n,o){for(var r=!1,a=t._currentHit,h=0,l=n.length;h<l;h++)if(n[h]._raycast(e,s,a)&&a.distance<i){if(!o)return!0;r=!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 r},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 m=function(t,e){this.alreadyInvoked=!1,this.index1=t,this.index2=e},P=/*#__PURE__*/function(t){function e(e,i){var s;return(s=t.call(this)||this)._isStaticCollider=!0,s._transform.setPosition(e.x,e.y,e.z),s._transform.setRotationQuaternion(i.x,i.y,i.z,i.w),s}return s(e,t),e}(u),x=/*#__PURE__*/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,s,n,o,r){return new g(e,i,s,n,o,r)},e.createStaticCollider=function(t,e){return new P(t,e)},e.createDynamicCollider=function(t,e){return new d(t,e)},e.createCharacterController=function(){throw"Physics-lite don't support createCharacterController. Use Physics-PhysX instead!"},e.createPhysicsMaterial=function(t,e,i,s,n){return new _(t,e,i,s,n)},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"Physics-lite don't support PlaneColliderShape. Use Physics-PhysX instead!"},e.createCapsuleColliderShape=function(t,e,i,s){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}(),v="1.4.0-alpha.2";console.log("Galacean PhysicsLite 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 n(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&&n(t.prototype,e),i&&n(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=/*#__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}(),h=/*#__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}(),l=/*#__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,n,o,r){void 0===r&&(r=!1);var a=t._tempPoint;i.getPoint(s,a),r||e.Vector3.transformCoordinate(a,this._transform.worldMatrix,a);var h=e.Vector3.distance(o,a);h<n.distance&&(n.point.copyFrom(a),n.distance=h,n.shapeID=this._id)},i._getLocalRay=function(i){var s=this._getInvModelMatrix(),n=t._ray;return e.Vector3.transformCoordinate(i.origin,s,n.origin),e.Vector3.transformNormal(i.direction,s,n.direction),n.direction.normalize(),n},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}();l._tempPos=new e.Vector3,l._tempRot=new e.Quaternion,l._tempScale=new e.Vector3,l._tempPoint=new e.Vector3,l._tempVector4=new e.Vector4,l._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 h,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),r(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),r(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),r(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),r(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 r(this._owner,l)&&(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(){this._shapes=[],this._transform=new c,this._transform.owner=this}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,n=i.rotationQuaternion;t.set(s.x,s.y,s.z),e.set(n.x,n.y,n.z,n.w)},e.destroy=function(){},e._raycast=function(t,e,i){i.distance=Number.MAX_VALUE;for(var s=this._shapes,n=0,o=s.length;n<o;n++){var r=s[n];e(r._id)&&r._raycast(t,i)}return i.distance!=Number.MAX_VALUE},t}(),d=/*#__PURE__*/function(t){function i(e,i){var s;return(s=t.call(this)||this)._isStaticCollider=!1,s._transform.setPosition(e.x,e.y,e.z),s._transform.setRotationQuaternion(i.x,i.y,i.z,i.w),s}s(i,t);var n=i.prototype;return n.getInertiaTensor=function(t){return e.Logger.error("Physics-lite don't support getInertiaTensor. Use Physics-PhysX instead!"),t},n.getCenterOfMass=function(t){return e.Logger.error("Physics-lite don't support getCenterOfMass. Use Physics-PhysX instead!"),t},n.setMassAndUpdateInertia=function(t){e.Logger.error("Physics-lite don't support setMassAndUpdateInertia. Use Physics-PhysX instead!")},n.addForce=function(t){throw"Physics-lite don't support addForce. Use Physics-PhysX instead!"},n.addTorque=function(t){throw"Physics-lite don't support addTorque. Use Physics-PhysX instead!"},n.move=function(t,e){throw"Physics-lite don't support move. Use Physics-PhysX instead!"},n.sleep=function(){throw"Physics-lite don't support putToSleep. Use Physics-PhysX instead!"},n.isSleeping=function(){throw"Physics-lite don't support isSleeping. Use Physics-PhysX instead!"},n.getAngularDamping=function(){throw"Physics-lite don't support getAngularDamping. Use Physics-PhysX instead!"},n.setAngularDamping=function(t){e.Logger.error("Physics-lite don't support setAngularDamping. Use Physics-PhysX instead!")},n.getAngularVelocity=function(t){return e.Logger.error("Physics-lite don't support getAngularVelocity. Use Physics-PhysX instead!"),t},n.setAngularVelocity=function(t){e.Logger.error("Physics-lite don't support setAngularVelocity. Use Physics-PhysX instead!")},n.setCenterOfMass=function(t){e.Logger.error("Physics-lite don't support setCenterOfMass. Use Physics-PhysX instead!")},n.setCollisionDetectionMode=function(t){e.Logger.error("Physics-lite don't support setCollisionDetectionMode. Use Physics-PhysX instead!")},n.setConstraints=function(t){e.Logger.error("Physics-lite don't support setConstraints. Use Physics-PhysX instead!")},n.setInertiaTensor=function(t){e.Logger.error("Physics-lite don't support setInertiaTensor. Use Physics-PhysX instead!")},n.setUseGravity=function(t){throw"Physics-lite don't support setUseGravity. Use Physics-PhysX instead!"},n.setIsKinematic=function(t){e.Logger.error("Physics-lite don't support setIsKinematic. Use Physics-PhysX instead!")},n.getLinearDamping=function(){throw"Physics-lite don't support getLinearDamping. Use Physics-PhysX instead!"},n.setLinearDamping=function(t){e.Logger.error("Physics-lite don't support setLinearDamping. Use Physics-PhysX instead!")},n.getLinearVelocity=function(t){return e.Logger.error("Physics-lite don't support getLinearVelocity. Use Physics-PhysX instead!"),t},n.setLinearVelocity=function(t){e.Logger.error("Physics-lite don't support setLinearVelocity. Use Physics-PhysX instead!")},n.setMass=function(t){e.Logger.error("Physics-lite don't support setMass. Use Physics-PhysX instead!")},n.setMaxAngularVelocity=function(t){e.Logger.error("Physics-lite don't support setMaxAngularVelocity. Use Physics-PhysX instead!")},n.getMaxDepenetrationVelocity=function(){throw"Physics-lite don't support getMaxDepenetrationVelocity. Use Physics-PhysX instead!"},n.setMaxDepenetrationVelocity=function(t){e.Logger.error("Physics-lite don't support setMaxDepenetrationVelocity. Use Physics-PhysX instead!")},n.setSleepThreshold=function(t){e.Logger.error("Physics-lite don't support setSleepThreshold. Use Physics-PhysX instead!")},n.setSolverIterations=function(t){e.Logger.error("Physics-lite don't support setSolverIterations. Use Physics-PhysX instead!")},n.wakeUp=function(){throw"Physics-lite don't support wakeUp. Use Physics-PhysX instead!"},i}(u),_=/*#__PURE__*/function(){function t(t,e,i,s,n){}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,n){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 n=i.prototype;return n.setPosition=function(e){t.prototype.setPosition.call(this,e),this._setBondingBox()},n.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()},n.setSize=function(t){this._halfSize.set(.5*t.x,.5*t.y,.5*t.z),this._setBondingBox()},n.pointDistance=function(t){var s=l._tempPos,n=l._tempRot;this._transform.worldMatrix.decompose(s,n,l._tempScale);var o=this._transform.position,r=i._tempMatrix,a=i._tempInvMatrix,h=l._tempPoint,c=this._sizeScale,u=i._tempBox,d=this._boxMin,_=this._boxMax;h.copyFrom(d),h.subtract(o),h.divide(c),u.min.copyFrom(h),h.copyFrom(_),h.subtract(o),h.divide(c),u.max.copyFrom(h),e.Matrix.affineTransformation(c,n,s,r),e.Matrix.invert(r,a),e.Vector3.transformCoordinate(t,a,h);var p=u.min,y=u.max;h.x=Math.max(p.x,Math.min(h.x,y.x)),h.y=Math.max(p.y,Math.min(h.y,y.y)),h.z=Math.max(p.z,Math.min(h.z,y.z)),e.Vector3.transformCoordinate(h,r,h);var f=l._tempVector4;return e.Vector3.equals(h,t)?f.set(t.x,t.y,t.z,0):f.set(h.x,h.y,h.z,e.Vector3.distanceSquared(h,t)),f},n._raycast=function(t,e){var s=this._getLocalRay(t),n=this._sizeScale,o=this._halfSize,r=i._tempBox;r.min.set(-o.x*n.x,-o.y*n.y,-o.z*n.z),r.max.set(o.x*n.x,o.y*n.y,o.z*n.z);var a=s.intersectBox(r);return -1!==a&&(this._updateHitResult(s,a,e,t.origin),!0)},n._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}(l);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 n;return(n=t.call(this)||this)._radius=1,n._maxScale=1,n._radius=i,n._id=e,n}s(i,t);var n=i.prototype;return n.setRadius=function(t){this._radius=t},n.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))},n.pointDistance=function(t){var i=l._tempPos,s=this.worldRadius;this._transform.worldMatrix.decompose(i,l._tempRot,l._tempScale);var n=l._tempPoint;e.Vector3.subtract(t,i,n);var o=n.lengthSquared(),r=n.normalize();e.Vector3.scale(r,s,n),n.add(i);var a=l._tempVector4,h=e.Vector3.distanceSquared(n,t);return o<=s*s?a.set(t.x,t.y,t.z,0):a.set(n.x,n.y,n.z,h),a},n._raycast=function(t,s){var n=i._tempSphere;e.Vector3.transformCoordinate(this._transform.position,this._collider._transform.worldMatrix,n.center),n.radius=this.worldRadius;var o=t.intersectSphere(n);return -1!==o&&(this._updateHitResult(t,o,s,t.origin,!0),!0)},o(i,[{key:"worldRadius",get:function(){return this._radius*this._maxScale}}]),i}(l);f._tempSphere=new e.BoundingSphere;var g=/*#__PURE__*/function(){function t(t,i,s,n,o,r){this._staticColliders=[],this._dynamicColliders=[],this._sphere=new e.BoundingSphere,this._box=new e.BoundingBox,this._currentEvents=new e.DisorderedArray,this._eventMap={},this._eventPool=[],this._onContactEnter=t,this._onContactExit=i,this._onContactStay=s,this._onTriggerEnter=n,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.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,n=0,o=s.length;n<o;n++)this._removeColliderShape(s[n])},i.update=function(t){for(var e=this._dynamicColliders,i=0,s=e.length;i<s;i++){var n=e[i];this._collisionDetection(n,this._staticColliders),this._collisionDetection(n,e)}this._fireEvent()},i.raycast=function(e,i,s,n){if(!n)return this._raycast(e,i,s,this._staticColliders,n)||this._raycast(e,i,s,this._dynamicColliders,n);var o=this._raycast(e,i,s,this._staticColliders,n);o&&(i=t._currentHit.distance);var r=this._raycast(e,i,s,this._dynamicColliders,n),a=o||r,h=t._hitResult;return a?n(h.shapeID,h.distance,h.point,h.normal):(h.shapeID=-1,h.distance=0,h.point.set(0,0,0),h.normal.set(0,0,0)),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._addColliderShape=function(t){this._eventMap[t._id]={}},i._removeColliderShape=function(t){var e=this._eventPool,i=this._currentEvents,s=this._eventMap,n=t._id;i.forEach(function(t,o){t.index1==n?(i.deleteByIndex(o),e.push(t)):t.index2==n&&(i.deleteByIndex(o),e.push(t),s[t.index1][n]=void 0)}),delete s[n]},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 s=e._shapes,n=0,o=s.length;n<o;n++){var a=s[n];if(r(a,y)){t._updateWorldBox(a,this._box);for(var h=0,l=i.length;h<l;h++)for(var c=i[h]._shapes,u=0,d=c.length;u<d;u++){var _=c[u],p=_._id,g=a._id,m=p<g?this._eventMap[p][g]:this._eventMap[g][p];if((void 0===m||m.alreadyInvoked)&&_!=a&&this._boxCollision(_)){if(void 0===m){var P=p<g?this._getTrigger(p,g):this._getTrigger(g,p);P.state=0,P.alreadyInvoked=!1,this._currentEvents.add(P)}else 0===m.state?(m.state=1,m.alreadyInvoked=!1):1===m.state&&(m.alreadyInvoked=!1)}}}else if(r(a,f)){t._upWorldSphere(a,this._sphere);for(var x=0,v=i.length;x<v;x++)for(var w=i[x]._shapes,M=0,C=w.length;M<C;M++){var F=w[M],S=F._id,U=a._id,D=S<U?this._eventMap[S][U]:this._eventMap[U][S];if((void 0===D||D.alreadyInvoked)&&F!=a&&this._sphereCollision(F)){if(void 0===D){var V=S<U?this._getTrigger(S,U):this._getTrigger(U,S);V.state=0,V.alreadyInvoked=!1,this._currentEvents.add(V)}else 0===D.state?(D.state=1,D.alreadyInvoked=!1):1===D.state&&(D.alreadyInvoked=!1)}}}}},i._fireEvent=function(){var t=this,e=this._eventPool,i=this._currentEvents;i.forEach(function(s,n){s.alreadyInvoked?(s.state=2,t._eventMap[s.index1][s.index2]=void 0,i.deleteByIndex(n),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(r(i,y)){var s=t._tempBox;return t._updateWorldBox(i,s),e.CollisionUtil.intersectsBoxAndBox(s,this._box)}if(r(i,f)){var n=t._tempSphere;return t._upWorldSphere(i,n),e.CollisionUtil.intersectsSphereAndBox(n,this._box)}return!1},i._sphereCollision=function(i){if(r(i,y)){var s=t._tempBox;return t._updateWorldBox(i,s),e.CollisionUtil.intersectsSphereAndBox(this._sphere,s)}if(r(i,f)){var n=t._tempSphere;return t._upWorldSphere(i,n),e.CollisionUtil.intersectsSphereAndSphere(n,this._sphere)}return!1},i._raycast=function(e,i,s,n,o){for(var r=!1,a=t._currentHit,h=0,l=n.length;h<l;h++)if(n[h]._raycast(e,s,a)&&a.distance<i){if(!o)return!0;r=!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 r},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 m=function(t,e){this.alreadyInvoked=!1,this.index1=t,this.index2=e},P=/*#__PURE__*/function(t){function e(e,i){var s;return(s=t.call(this)||this)._isStaticCollider=!0,s._transform.setPosition(e.x,e.y,e.z),s._transform.setRotationQuaternion(i.x,i.y,i.z,i.w),s}return s(e,t),e}(u),x=/*#__PURE__*/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,s,n,o,r){return new g(e,i,s,n,o,r)},e.createStaticCollider=function(t,e){return new P(t,e)},e.createDynamicCollider=function(t,e){return new d(t,e)},e.createCharacterController=function(){throw"Physics-lite don't support createCharacterController. Use Physics-PhysX instead!"},e.createPhysicsMaterial=function(t,e,i,s,n){return new _(t,e,i,s,n)},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"Physics-lite don't support PlaneColliderShape. Use Physics-PhysX instead!"},e.createCapsuleColliderShape=function(t,e,i,s){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}(),v="1.4.0-alpha.3";console.log("Galacean PhysicsLite 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
@@ -1298,7 +1298,7 @@ var LitePhysics = /*#__PURE__*/ function() {
1298
1298
  }();
1299
1299
 
1300
1300
  //@ts-ignore
1301
- var version = "1.4.0-alpha.2";
1301
+ var version = "1.4.0-alpha.3";
1302
1302
  console.log("Galacean PhysicsLite version: " + version);
1303
1303
 
1304
1304
  exports.LitePhysics = LitePhysics;
package/dist/module.js CHANGED
@@ -1294,7 +1294,7 @@ var LitePhysics = /*#__PURE__*/ function() {
1294
1294
  }();
1295
1295
 
1296
1296
  //@ts-ignore
1297
- var version = "1.4.0-alpha.2";
1297
+ var version = "1.4.0-alpha.3";
1298
1298
  console.log("Galacean PhysicsLite version: " + version);
1299
1299
 
1300
1300
  export { LitePhysics, version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/engine-physics-lite",
3
- "version": "1.4.0-alpha.2",
3
+ "version": "1.4.0-alpha.3",
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.4.0-alpha.2",
29
- "@galacean/engine": "1.4.0-alpha.2"
28
+ "@galacean/engine-design": "1.4.0-alpha.3",
29
+ "@galacean/engine": "1.4.0-alpha.3"
30
30
  },
31
31
  "peerDependencies": {
32
- "@galacean/engine": "1.4.0-alpha.2"
32
+ "@galacean/engine": "1.4.0-alpha.3"
33
33
  },
34
34
  "scripts": {
35
35
  "b:types": "tsc"