@galacean/engine-physics-lite 1.5.5 → 1.5.7
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 +1 -1
- package/dist/browser.min.js +1 -1
- package/dist/main.js +1 -1
- package/dist/module.js +1 -1
- package/package.json +4 -4
package/dist/browser.js
CHANGED
package/dist/browser.min.js
CHANGED
|
@@ -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.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"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.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 m(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,m=a._id,P=g<m?this._eventMap[g][m]:this._eventMap[m][g];if((void 0===P||P.alreadyInvoked)&&p!=a&&this._boxCollision(p)){if(void 0===P){var x=g<m?this._getTrigger(g,m):this._getTrigger(m,g);x.state=0,x.alreadyInvoked=!1,this._currentEvents.add(x)}else 0===P.state?(P.state=1,P.alreadyInvoked=!1):1===P.state&&(P.alreadyInvoked=!1)}}}}else if(n(a,f)){t._upWorldSphere(a,this._sphere);for(var v=0,M=i.length;v<M;v++){var w=i[v],C=w._shapes;if(this._checkColliderCollide(w,e))for(var F=0,S=C.length;F<S;F++){var U=C[F],D=U._id,L=a._id,T=D<L?this._eventMap[D][L]:this._eventMap[L][D];if((void 0===T||T.alreadyInvoked)&&U!=a&&this._sphereCollision(U)){if(void 0===T){var V=D<L?this._getTrigger(D,L):this._getTrigger(L,D);V.state=0,V.alreadyInvoked=!1,this._currentEvents.add(V)}else 0===T.state?(T.state=1,T.alreadyInvoked=!1):1===T.state&&(T.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 m=function(t,e){this.alreadyInvoked=!1,this.index1=t,this.index2=e},P=/*#__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 P(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"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!"},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.5.5";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.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"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.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 m(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,m=a._id,P=g<m?this._eventMap[g][m]:this._eventMap[m][g];if((void 0===P||P.alreadyInvoked)&&p!=a&&this._boxCollision(p)){if(void 0===P){var x=g<m?this._getTrigger(g,m):this._getTrigger(m,g);x.state=0,x.alreadyInvoked=!1,this._currentEvents.add(x)}else 0===P.state?(P.state=1,P.alreadyInvoked=!1):1===P.state&&(P.alreadyInvoked=!1)}}}}else if(n(a,f)){t._upWorldSphere(a,this._sphere);for(var v=0,M=i.length;v<M;v++){var w=i[v],C=w._shapes;if(this._checkColliderCollide(w,e))for(var F=0,S=C.length;F<S;F++){var U=C[F],D=U._id,L=a._id,T=D<L?this._eventMap[D][L]:this._eventMap[L][D];if((void 0===T||T.alreadyInvoked)&&U!=a&&this._sphereCollision(U)){if(void 0===T){var V=D<L?this._getTrigger(D,L):this._getTrigger(L,D);V.state=0,V.alreadyInvoked=!1,this._currentEvents.add(V)}else 0===T.state?(T.state=1,T.alreadyInvoked=!1):1===T.state&&(T.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 m=function(t,e){this.alreadyInvoked=!1,this.index1=t,this.index2=e},P=/*#__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 P(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"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!"},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.5.7";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
|
@@ -1350,7 +1350,7 @@ var LitePhysics = /*#__PURE__*/ function() {
|
|
|
1350
1350
|
}();
|
|
1351
1351
|
|
|
1352
1352
|
//@ts-ignore
|
|
1353
|
-
var version = "1.5.
|
|
1353
|
+
var version = "1.5.7";
|
|
1354
1354
|
console.log("Galacean Engine Physics Lite Version: " + version);
|
|
1355
1355
|
|
|
1356
1356
|
exports.LitePhysics = LitePhysics;
|
package/dist/module.js
CHANGED
|
@@ -1346,7 +1346,7 @@ var LitePhysics = /*#__PURE__*/ function() {
|
|
|
1346
1346
|
}();
|
|
1347
1347
|
|
|
1348
1348
|
//@ts-ignore
|
|
1349
|
-
var version = "1.5.
|
|
1349
|
+
var version = "1.5.7";
|
|
1350
1350
|
console.log("Galacean Engine Physics Lite Version: " + version);
|
|
1351
1351
|
|
|
1352
1352
|
export { LitePhysics, version };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@galacean/engine-physics-lite",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.7",
|
|
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
|
|
29
|
-
"@galacean/engine": "1.5.
|
|
28
|
+
"@galacean/engine": "1.5.7",
|
|
29
|
+
"@galacean/engine-design": "1.5.7"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
|
-
"@galacean/engine": "1.5.
|
|
32
|
+
"@galacean/engine": "1.5.7"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
35
|
"b:types": "tsc"
|