@galacean/engine-physics-physx 1.5.14 → 1.5.15
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.PhysicsPhysX={}),t.Galacean)}(this,function(t,e){"use strict";function i(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}function n(t,e){return(n=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function o(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&&n(t,e)}var s,a,r=/*#__PURE__*/function(){function t(t){this._controllers=new e.DisorderedArray,this._contractOffset=.02,this._worldScale=new e.Vector3(1,1,1),this._position=new e.Vector3,this._rotation=new e.Vector3,this._axis=null,this._physXRotation=new e.Quaternion,this._shapeFlags=3,this._physXPhysics=t}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.rotationYawPitchRoll(i.y,i.x,i.z,this._physXRotation),this._axis&&e.Quaternion.multiply(this._physXRotation,this._axis,this._physXRotation),this._physXRotation.normalize(),this._setLocalPose()},i.setPosition=function(t){t!==this._position&&this._position.copyFrom(t);for(var e=this._controllers,i=0,n=e.length;i<n;i++)e.get(i)._updateShapePosition(this._position,this._worldScale);this._setLocalPose()},i.setWorldScale=function(t){this._worldScale.set(Math.abs(t.x),Math.abs(t.y),Math.abs(t.z)),this._setLocalPose();for(var e=this._controllers,i=0,n=e.length;i<n;i++)e.get(i)._updateShapePosition(this._position,this._worldScale)},i.setContactOffset=function(t){this._contractOffset=t;var e=this._controllers;if(e.length)for(var i,n=0,o=e.length;n<o;n++)null==(i=e.get(n)._pxController)||i.setContactOffset(t);else this._pxShape.setContactOffset(t)},i.setMaterial=function(t){this._pxMaterial=t._pxMaterial,this._pxShape.setMaterial(this._pxMaterial)},i.setIsTrigger=function(t){this._modifyFlag(1,!t),this._modifyFlag(4,t),this._setShapeFlags(this._shapeFlags)},i.pointDistance=function(e){var i=this._pxGeometry.pointDistance(this._pxShape.getGlobalPose(),e),n=i.closestPoint,o=t._tempVector4;return o.set(n.x,n.y,n.z,i.distance),o},i.destroy=function(){this._pxShape.release(),this._pxGeometry.delete()},i._setShapeFlags=function(t){this._shapeFlags=t;var e=new this._physXPhysics._physX.PxShapeFlags(this._shapeFlags);this._pxShape.setFlags(e),e.delete()},i._setLocalPose=function(){var i=t.transform;e.Vector3.multiply(this._position,this._worldScale,i.translation),i.rotation=this._physXRotation,this._pxShape.setLocalPose(i)},i._initialize=function(t,e){this._id=e,this._pxMaterial=t._pxMaterial;var i=new this._physXPhysics._physX.PxShapeFlags(this._shapeFlags);this._pxShape=this._physXPhysics._pxPhysics.createShape(this._pxGeometry,t._pxMaterial,!0,i),i.delete(),this._pxShape.setUUID(e)},i._modifyFlag=function(t,e){this._shapeFlags=e?this._shapeFlags|t:this._shapeFlags&~t},t}();r._tempVector4=new e.Vector4,r.halfSqrt=.70710678118655,r.transform={translation:new e.Vector3,rotation:null};var l=/*#__PURE__*/function(t){function i(i,n,o,s){(a=t.call(this,i)||this)._halfSize=new e.Vector3;var a,r=a._halfSize;return r.set(.5*o.x,.5*o.y,.5*o.z),a._pxGeometry=new i._physX.PxBoxGeometry(r.x,r.y,r.z),a._initialize(s,n),a._setLocalPose(),a}o(i,t);var n=i.prototype;return n.setSize=function(t){var n=this._halfSize,o=i._tempHalfExtents;n.set(.5*t.x,.5*t.y,.5*t.z),e.Vector3.multiply(n,this._worldScale,o),this._pxGeometry.halfExtents=o,this._pxShape.setGeometry(this._pxGeometry),this._updateController(o)},n.setRotation=function(e){t.prototype.setRotation.call(this,e),this._controllers.length>0&&console.warn("Box character controller `rotation` is not supported in PhysX and will be ignored")},n.setWorldScale=function(n){t.prototype.setWorldScale.call(this,n);var o=i._tempHalfExtents;e.Vector3.multiply(this._halfSize,this._worldScale,o),this._pxGeometry.halfExtents=o,this._pxShape.setGeometry(this._pxGeometry),this._updateController(o)},n._updateController=function(t){for(var e=this._controllers,i=0,n=e.length;i<n;i++){var o=e.get(i)._pxController;o&&(o.setHalfHeight(t.y),o.setHalfSideExtent(t.x),o.setHalfForwardExtent(t.z))}},i}(r);l._tempHalfExtents=new e.Vector3;var h=/*#__PURE__*/function(t){function i(i,n,o,s,a){var l;return(l=t.call(this,i)||this)._upAxis=1,l._radius=o,l._halfHeight=.5*s,l._axis=new e.Quaternion(0,0,r.halfSqrt,r.halfSqrt),l._physXRotation.copyFrom(l._axis),l._pxGeometry=new i._physX.PxCapsuleGeometry(l._radius,l._halfHeight),l._initialize(a,n),l._setLocalPose(),l}o(i,t);var n=i.prototype;return n.setRadius=function(t){this._radius=t;var e,i=this._worldScale;switch(this._upAxis){case 0:this._pxGeometry.radius=this._radius*Math.max(i.y,i.z);break;case 1:this._pxGeometry.radius=this._radius*Math.max(i.x,i.z);break;case 2:this._pxGeometry.radius=this._radius*Math.max(i.x,i.y)}this._pxShape.setGeometry(this._pxGeometry);for(var n=this._pxGeometry.radius,o=this._controllers,s=0,a=o.length;s<a;s++)null==(e=o.get(s)._pxController)||e.setRadius(n)},n.setHeight=function(t){this._halfHeight=.5*t;var e,i=this._worldScale;switch(this._upAxis){case 0:this._pxGeometry.halfHeight=this._halfHeight*i.x;break;case 1:this._pxGeometry.halfHeight=this._halfHeight*i.y;break;case 2:this._pxGeometry.halfHeight=this._halfHeight*i.z}this._pxShape.setGeometry(this._pxGeometry);for(var n=2*this._pxGeometry.halfHeight,o=this._controllers,s=0,a=o.length;s<a;s++)null==(e=o.get(s)._pxController)||e.setHeight(n)},n.setRotation=function(e){t.prototype.setRotation.call(this,e),this._controllers.length>0&&console.warn("Capsule character controller `rotation` is not supported in PhysX and will be ignored")},n.setUpAxis=function(t){var i=this._rotation,n=this._axis,o=this._physXRotation;switch(this._upAxis=t,this._upAxis){case 0:n.set(0,0,0,1);break;case 1:n.set(0,0,r.halfSqrt,r.halfSqrt);break;case 2:n.set(0,r.halfSqrt,0,r.halfSqrt)}i?(e.Quaternion.rotationYawPitchRoll(i.y,i.x,i.z,o),e.Quaternion.multiply(o,n,o)):o.copyFrom(n),this._setLocalPose(),this._controllers.length>0&&console.warn("Capsule character controller `upAxis` is not supported in PhysX and will be ignored")},n.setWorldScale=function(e){t.prototype.setWorldScale.call(this,e);var i=this._worldScale,n=this._pxGeometry;switch(this._upAxis){case 0:n.radius=this._radius*Math.max(i.y,i.z),n.halfHeight=this._halfHeight*i.x;break;case 1:n.radius=this._radius*Math.max(i.x,i.z),n.halfHeight=this._halfHeight*i.y;break;case 2:n.radius=this._radius*Math.max(i.x,i.y),n.halfHeight=this._halfHeight*i.z}this._pxShape.setGeometry(n);for(var o=n.radius,s=2*n.halfHeight,a=this._controllers,r=0,l=a.length;r<l;r++){var h=a.get(r)._pxController;h&&(h.setRadius(o),h.setHeight(s))}},i}(r),c=((s={})[s.X=0]="X",s[s.Y=1]="Y",s[s.Z=2]="Z",s),_=/*#__PURE__*/function(){function t(t){this._scene=null,this._shapeScaledPosition=new e.Vector3,this._worldPosition=null,this._physXPhysics=t}var n=t.prototype;return n.move=function(t,e,i){var n,o;return null!=(o=null==(n=this._pxController)?void 0:n.move(t,e,i))?o:0},n.setWorldPosition=function(t){this._worldPosition=t,this._updateNativePosition()},n.getWorldPosition=function(t){this._pxController&&(t.copyFrom(this._pxController.getPosition()),t.subtract(this._shapeScaledPosition))},n.setStepOffset=function(t){var e;null==(e=this._pxController)||e.setStepOffset(t)},n.setNonWalkableMode=function(t){var e;null==(e=this._pxController)||e.setNonWalkableMode(t)},n.setUpDirection=function(t){var e;null==(e=this._pxController)||e.setUpDirection(t)},n.setSlopeLimit=function(t){var e;null==(e=this._pxController)||e.setSlopeLimit(Math.cos(t*Math.PI/180))},n.addShape=function(t){var e,i;this._updateShapePosition(t._position,t._worldScale),this._pxManager&&this._createPXController(this._pxManager,t),this._shape=t,t._controllers.add(this),null==(e=this._pxController)||e.setContactOffset(t._contractOffset),null==(i=this._scene)||i._addColliderShape(t._id)},n.removeShape=function(t){var e;this._destroyPXController(),this._shape=null,t._controllers.delete(this),null==(e=this._scene)||e._removeColliderShape(t._id)},n.setCollisionLayer=function(t){var e,i=null==(e=this._pxController)?void 0:e.getActor();i&&this._physXPhysics._physX.setGroup(i,t)},n.destroy=function(){this._destroyPXController()},n._createPXController=function(t,e){var n;if(i(e,l))(n=new this._physXPhysics._physX.PxBoxControllerDesc).halfHeight=e._halfSize.y,n.halfSideExtent=e._halfSize.x,n.halfForwardExtent=e._halfSize.z,e._rotation.lengthSquared()>0&&console.warn("Box character controller `rotation` is not supported in PhysX and will be ignored");else if(i(e,h))(n=new this._physXPhysics._physX.PxCapsuleControllerDesc).radius=e._radius,n.height=2*e._halfHeight,n.climbingMode=1,e._rotation.lengthSquared()>0&&console.warn("Capsule character controller `rotation` is not supported in PhysX and will be ignored"),e._upAxis!==c.Y&&console.warn("Capsule character controller `upAxis` is not supported in PhysX and will be ignored");else throw"unsupported shape type";n.setMaterial(e._pxMaterial),this._pxController=t._getControllerManager().createController(n),n.delete(),this._pxController.setUUID(e._id),this._updateNativePosition()},n._destroyPXController=function(){this._pxController&&(this._pxController.release(),this._pxController=null)},n._updateShapePosition=function(t,i){e.Vector3.multiply(t,i,this._shapeScaledPosition),this._updateNativePosition()},n._updateNativePosition=function(){var i=this._worldPosition;this._pxController&&i&&(e.Vector3.add(i,this._shapeScaledPosition,t._tempVec),this._pxController.setPosition(t._tempVec))},t}();_._tempVec=new e.Vector3;var p=/*#__PURE__*/function(){function t(t){this._scene=null,this._shapes=[],this._physXPhysics=t}var e=t.prototype;return e.addShape=function(t){var e;this._pxActor.attachShape(t._pxShape),this._shapes.push(t),null==(e=this._scene)||e._addColliderShape(t._id)},e.removeShape=function(t){this._pxActor.detachShape(t._pxShape,!0);var e,i=this._shapes;i.splice(i.indexOf(t),1),null==(e=this._scene)||e._removeColliderShape(t._id)},e.setWorldTransform=function(t,e){this._pxActor.setGlobalPose(this._transform(t,e),!0)},e.getWorldTransform=function(t,e){var i=this._pxActor.getGlobalPose();t.set(i.translation.x,i.translation.y,i.translation.z),e.set(i.rotation.x,i.rotation.y,i.rotation.z,i.rotation.w)},e.setCollisionLayer=function(t){this._physXPhysics._physX.setGroup(this._pxActor,t)},e.destroy=function(){this._pxActor.release()},e._transform=function(e,i){var n=t._tempTransform;return n.translation=e,n.rotation=i.normalize(),n},t}();p._tempTransform={translation:null,rotation:null};var u=/*#__PURE__*/function(t){function n(e,i,n){var o,s=(o=t.call(this,e)||this)._transform(i,n);return o._pxActor=e._pxPhysics.createRigidDynamic(s),o}o(n,t);var s=n.prototype;return s.setLinearDamping=function(t){this._pxActor.setLinearDamping(t)},s.setAngularDamping=function(t){this._pxActor.setAngularDamping(t)},s.getLinearVelocity=function(t){var e=this._pxActor.getLinearVelocity();return t.set(e.x,e.y,e.z)},s.setLinearVelocity=function(t){this._pxActor.setLinearVelocity(t,!0)},s.getAngularVelocity=function(t){var i=this._pxActor.getAngularVelocity();return t.set(e.MathUtil.radianToDegree(i.x),e.MathUtil.radianToDegree(i.y),e.MathUtil.radianToDegree(i.z))},s.setAngularVelocity=function(t){n._tempTranslation.set(e.MathUtil.degreeToRadian(t.x),e.MathUtil.degreeToRadian(t.y),e.MathUtil.degreeToRadian(t.z)),this._pxActor.setAngularVelocity(n._tempTranslation,!0)},s.setMass=function(t){this._pxActor.setMass(t)},s.getCenterOfMass=function(t){var e=this._pxActor.getCMassLocalPose().translation;return t.set(e.x,e.y,e.z)},s.setCenterOfMass=function(t){this._pxActor.setCMassLocalPose(t)},s.setInertiaTensor=function(t){this._pxActor.setMassSpaceInertiaTensor(t)},s.getInertiaTensor=function(t){var e=this._pxActor.getMassSpaceInertiaTensor();return t.set(e.x,e.y,e.z)},s.setMassAndUpdateInertia=function(t){this._pxActor.setMassAndUpdateInertia(t)},s.setMaxAngularVelocity=function(t){this._pxActor.setMaxAngularVelocity(e.MathUtil.degreeToRadian(t))},s.setMaxDepenetrationVelocity=function(t){this._pxActor.setMaxDepenetrationVelocity(t)},s.setSleepThreshold=function(t){this._pxActor.setSleepThreshold(t)},s.setSolverIterations=function(t){this._pxActor.setSolverIterationCounts(t,1)},s.setCollisionDetectionMode=function(t){var e=this._physXPhysics._physX;switch(t){case 1:this._pxActor.setRigidBodyFlag(e.PxRigidBodyFlag.eENABLE_CCD,!0);break;case 2:this._pxActor.setRigidBodyFlag(e.PxRigidBodyFlag.eENABLE_CCD,!1),this._pxActor.setRigidBodyFlag(e.PxRigidBodyFlag.eENABLE_CCD_FRICTION,!0);break;case 3:this._pxActor.setRigidBodyFlag(e.PxRigidBodyFlag.eENABLE_CCD,!1),this._pxActor.setRigidBodyFlag(e.PxRigidBodyFlag.eENABLE_SPECULATIVE_CCD,!0);break;case 0:this._pxActor.setRigidBodyFlag(e.PxRigidBodyFlag.eENABLE_CCD,!1),this._pxActor.setRigidBodyFlag(e.PxRigidBodyFlag.eENABLE_CCD_FRICTION,!1),this._pxActor.setRigidBodyFlag(e.PxRigidBodyFlag.eENABLE_SPECULATIVE_CCD,!1)}},s.setUseGravity=function(t){this._pxActor.setActorFlag(this._physXPhysics._physX.PxActorFlag.eDISABLE_GRAVITY,!t)},s.setIsKinematic=function(t){t?this._pxActor.setRigidBodyFlag(this._physXPhysics._physX.PxRigidBodyFlag.eKINEMATIC,!0):this._pxActor.setRigidBodyFlag(this._physXPhysics._physX.PxRigidBodyFlag.eKINEMATIC,!1)},s.setConstraints=function(t){this._pxActor.setRigidDynamicLockFlags(t)},s.addForce=function(t){this._pxActor.addForce({x:t.x,y:t.y,z:t.z})},s.addTorque=function(t){this._pxActor.addTorque({x:t.x,y:t.y,z:t.z})},s.move=function(t,o){if(o){this._pxActor.setKinematicTarget(t,o);return}var s=n._tempTranslation,a=n._tempRotation;this.getWorldTransform(s,a),i(t,e.Vector3)?this._pxActor.setKinematicTarget(t,a):this._pxActor.setKinematicTarget(s,t)},s.sleep=function(){return this._pxActor.putToSleep()},s.isSleeping=function(){return this._pxActor.isSleeping()},s.wakeUp=function(){return this._pxActor.wakeUp()},n}(p);u._tempTranslation=new e.Vector3,u._tempRotation=new e.Quaternion;var d=function(){this._eventMap={}},f=/*#__PURE__*/function(){function t(t,e,i,n,o,s){this._physXPhysics=t;var a=t._pxPhysics.createMaterial(e,i,n);a.setFrictionCombineMode(o),a.setRestitutionCombineMode(s),this._pxMaterial=a}var e=t.prototype;return e.setBounciness=function(t){this._pxMaterial.setRestitution(t)},e.setDynamicFriction=function(t){this._pxMaterial.setDynamicFriction(t)},e.setStaticFriction=function(t){this._pxMaterial.setStaticFriction(t)},e.setBounceCombine=function(t){this._pxMaterial.setRestitutionCombineMode(t)},e.setFrictionCombine=function(t){this._pxMaterial.setFrictionCombineMode(t)},e.destroy=function(){this._pxMaterial.release()},t}(),x=/*#__PURE__*/function(){function t(t,i,n,o,s,a,r,l){var h=this;this._pxControllerManager=null,this._currentEvents=new e.DisorderedArray,this._eventPool=[],this._physXPhysics=t,this._physXManager=i;var c=t._physX;this._pxRaycastHit=new c.PxRaycastHit,this._pxFilterData=new c.PxQueryFilterData,this._pxFilterData.flags=new c.PxQueryFlags(7),this._onContactEnter=n,this._onContactExit=o,this._onContactStay=s,this._onTriggerEnter=a,this._onTriggerExit=r,this._onTriggerStay=l;var _=t._pxPhysics;this._physXSimulationCallbackInstance=c.PxSimulationEventCallback.implement({onContactBegin:function(t){h._onContactEnter(t)},onContactEnd:function(t){h._onContactExit(t)},onContactPersist:function(t){h._onContactStay(t)},onTriggerBegin:function(t,e){var i=t<e?h._getTrigger(t,e):h._getTrigger(e,t);i.state=0,h._currentEvents.add(i)},onTriggerEnd:function(t,e){var i;if(t<e){var n=h._physXManager._eventMap[t];i=n[e],n[e]=void 0}else{var o=h._physXManager._eventMap[e];i=o[t],o[t]=void 0}i.state=2}});var p=c.getDefaultSceneDesc(_.getTolerancesScale(),0,this._physXSimulationCallbackInstance);this._pxScene=_.createScene(p),p.delete()}var i=t.prototype;return i.setGravity=function(t){this._pxScene.setGravity(t)},i.addCollider=function(t){t._scene=this,this._pxScene.addActor(t._pxActor,null);for(var e=t._shapes,i=0,n=e.length;i<n;i++)this._addColliderShape(e[i]._id)},i.removeCollider=function(t){t._scene=null,this._pxScene.removeActor(t._pxActor,!0);for(var e=t._shapes,i=0,n=e.length;i<n;i++)this._removeColliderShape(e[i]._id)},i.addCharacterController=function(t){if(t._scene=this,!t._pxController){var e=t._shape;if(e){var i=t._pxManager;i!==this&&(i&&t._destroyPXController(),t._createPXController(this,e)),this._addColliderShape(e._id)}}t._pxManager=this},i.removeCharacterController=function(t){t._scene=null,t._pxManager=null,t._destroyPXController();var e=t._shape;e&&this._removeColliderShape(e._id)},i.update=function(t){this._simulate(t),this._fetchResults(),this._fireEvent()},i.raycast=function(e,i,n,o){var s=this._pxRaycastHit;i=Math.min(i,34e37);var a=this._physXPhysics._physX.PxQueryFilterCallback.implement({preFilter:function(t,e,i){return n(e)?2:0},postFilter:function(t,e){}}),r=this._pxScene.raycastSingle(e.origin,e.direction,i,s,this._pxFilterData,a);if(a.delete(),r&&void 0!=o){var l=t._tempPosition,h=t._tempNormal,c=s.position,_=s.normal;l.set(c.x,c.y,c.z),h.set(_.x,_.y,_.z),o(s.getShape().getUUID(),s.distance,l,h)}return r},i.destroy=function(){var t;this._physXSimulationCallbackInstance.delete(),this._pxRaycastHit.delete(),this._pxFilterData.flags.delete(),this._pxFilterData.delete(),null==(t=this._pxControllerManager)||t.release(),this._pxScene.release()},i._getControllerManager=function(){var t=this._pxControllerManager;return null===t&&(this._pxControllerManager=t=this._pxScene.createControllerManager()),t},i._addColliderShape=function(t){this._physXManager._eventMap[t]=Object.create(null)},i._removeColliderShape=function(t){var e=this._eventPool,i=this._currentEvents,n=this._physXManager._eventMap;i.forEach(function(o,s){o.index1==t?(i.deleteByIndex(s),e.push(o)):o.index2==t&&(i.deleteByIndex(s),e.push(o),n[o.index1][t]=void 0)}),delete n[t]},i._simulate=function(t){this._pxScene.simulate(t,!0)},i._fetchResults=function(t){void 0===t&&(t=!0),this._pxScene.fetchResults(t)},i._getTrigger=function(t,e){var i;return this._eventPool.length?((i=this._eventPool.pop()).index1=t,i.index2=e):i=new y(t,e),this._physXManager._eventMap[t][e]=i,i},i._fireEvent=function(){var t=this,e=this._eventPool,i=this._currentEvents;i.forEach(function(n,o){0==n.state?(t._onTriggerEnter(n.index1,n.index2),n.state=1):1==n.state?t._onTriggerStay(n.index1,n.index2):2==n.state&&(i.deleteByIndex(o),t._onTriggerExit(n.index1,n.index2),e.push(n))})},t}();x._tempPosition=new e.Vector3,x._tempNormal=new e.Vector3;var y=function(t,e){this.index1=t,this.index2=e},g=/*#__PURE__*/function(t){function e(e,i,n){var o;return(o=t.call(this,e)||this)._pxActor=e._pxPhysics.createRigidStatic(o._transform(i,n)),o}return o(e,t),e}(p),m=((a={})[a.Auto=0]="Auto",a[a.WebAssembly=1]="WebAssembly",a[a.JavaScript=2]="JavaScript",a),v=/*#__PURE__*/function(){function t(t){this._rotation=new e.Quaternion,this._breakForce=Number.MAX_VALUE,this._breakTorque=Number.MAX_VALUE,this._physXPhysics=t}var i=t.prototype;return i.setConnectedCollider=function(t){var e;this._pxJoint.setActors((null==(e=this._collider)?void 0:e._pxActor)||null,(null==t?void 0:t._pxActor)||null)},i.setAnchor=function(e){this._setLocalPose(0,e,t._defaultQuat),this._anchor=e},i.setConnectedAnchor=function(t){this._setLocalPose(1,t,this._rotation),this._connectedAnchor=t},i.setRotation=function(t){this._setLocalPose(1,this._connectedAnchor,t),this._rotation.copyFrom(t)},i.setMassScale=function(t){this._pxJoint.setInvMassScale0(1/t)},i.setConnectedMassScale=function(t){this._pxJoint.setInvMassScale1(1/t)},i.setInertiaScale=function(t){this._pxJoint.setInvInertiaScale0(t)},i.setConnectedInertiaScale=function(t){this._pxJoint.setInvInertiaScale1(t)},i.setBreakForce=function(t){this._breakForce=t,this._pxJoint.setBreakForce(this._breakForce,this._breakTorque)},i.setBreakTorque=function(t){this._breakTorque=t,this._pxJoint.setBreakForce(this._breakForce,this._breakTorque)},i.destroy=function(){this._pxJoint&&(this._pxJoint.release(),this._collider=null)},i._setLocalPose=function(t,e,i){this._pxJoint.setLocalPose(t,e,i)},t}();v._defaultVec=new e.Vector3,v._defaultQuat=new e.Quaternion;var S=/*#__PURE__*/function(t){function e(e,i){var n;return(n=t.call(this,e)||this)._collider=i,n._pxJoint=e._pxPhysics.createFixedJoint(i._pxActor,v._defaultVec,v._defaultQuat,null,v._defaultVec,v._defaultQuat),n}return o(e,t),e}(v),A=/*#__PURE__*/function(t){function i(i,n){var o;return(o=t.call(this,i)||this)._axisRotationQuaternion=new e.Quaternion,o._connectedAxisRotationQuaternion=new e.Quaternion,o._collider=n,o._pxJoint=i._pxPhysics.createRevoluteJoint(n._pxActor,v._defaultVec,v._defaultQuat,null,v._defaultVec,v._defaultQuat),o}o(i,t);var n=i.prototype;return n.setRotation=function(t){var e=this._axis;this._rotation.copyFrom(t),e&&this.setAxis(e)},n.setAxis=function(t){this._axis=t;var n=i._xAxis,o=this._axisRotationQuaternion;n.set(1,0,0);var s=Math.acos(e.Vector3.dot(n,t));e.Vector3.cross(n,t,n),e.Quaternion.rotationAxisAngle(n,s,o),this._setLocalPose(0,this._anchor,o);var a=this._connectedAxisRotationQuaternion;e.Quaternion.multiply(this._rotation,o,a),this._setLocalPose(1,this._connectedAnchor,a)},n.setAnchor=function(t){this._setLocalPose(0,t,this._axisRotationQuaternion),this._anchor=t},n.setConnectedAnchor=function(t){this._setLocalPose(1,t,this._connectedAxisRotationQuaternion),this._connectedAnchor=t},n.getAngle=function(){return e.MathUtil.radianToDegree(this._pxJoint.getAngle())},n.getVelocity=function(){return this._pxJoint.getVelocity()},n.setHardLimit=function(t,i,n){this._pxJoint.setHardLimit(e.MathUtil.degreeToRadian(t),e.MathUtil.degreeToRadian(i),n)},n.setSoftLimit=function(t,i,n,o){this._pxJoint.setSoftLimit(e.MathUtil.degreeToRadian(t),e.MathUtil.degreeToRadian(i),n,o)},n.setDriveVelocity=function(t,e){void 0===e&&(e=!0),this._pxJoint.setDriveVelocity(t,e)},n.setDriveForceLimit=function(t){this._pxJoint.setDriveForceLimit(t)},n.setDriveGearRatio=function(t){this._pxJoint.setDriveGearRatio(t)},n.setHingeJointFlag=function(t,e){this._pxJoint.setRevoluteJointFlag(t,e)},i}(v);A._xAxis=new e.Vector3(1,0,0);var P=/*#__PURE__*/function(t){function e(e,i){var n;return(n=t.call(this,e)||this)._collider=i,n._pxJoint=e._pxPhysics.createDistanceJoint(null,v._defaultVec,v._defaultQuat,i._pxActor,v._defaultVec,v._defaultQuat),n._pxJoint.setDistanceJointFlag(2,!0),n._pxJoint.setDistanceJointFlag(4,!0),n._pxJoint.setDistanceJointFlag(8,!0),n}o(e,t);var i=e.prototype;return i.setMinDistance=function(t){this._pxJoint.setMinDistance(t)},i.setMaxDistance=function(t){this._pxJoint.setMaxDistance(t)},i.setTolerance=function(t){this._pxJoint.setTolerance(t)},i.setStiffness=function(t){this._pxJoint.setStiffness(t)},i.setDamping=function(t){this._pxJoint.setDamping(t)},e}(v),C=/*#__PURE__*/function(t){function i(i,n,o){var s;return(s=t.call(this,i)||this)._axis=new e.Quaternion(0,0,r.halfSqrt,r.halfSqrt),s._physXRotation.copyFrom(s._axis),s._pxGeometry=new i._physX.PxPlaneGeometry,s._initialize(o,n),s._setLocalPose(),s}return o(i,t),i}(r),M=/*#__PURE__*/function(t){function e(e,i,n,o){var s;return(s=t.call(this,e)||this)._maxScale=1,s._radius=n,s._pxGeometry=new e._physX.PxSphereGeometry(s._radius*s._maxScale),s._initialize(o,i),s._setLocalPose(),s}o(e,t);var i=e.prototype;return i.setRadius=function(t){this._radius=t,this._pxGeometry.radius=t*this._maxScale,this._pxShape.setGeometry(this._pxGeometry)},i.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)),this._pxGeometry.radius=this._radius*this._maxScale,this._pxShape.setGeometry(this._pxGeometry)},e}(r),w=/*#__PURE__*/function(){function t(t,e){var i,n;void 0===t&&(t=m.Auto),this._initializeState=0,this._runTimeMode=t,this._wasmModeUrl=null!=(i=null==e?void 0:e.wasmModeUrl)?i:"https://mdn.alipayobjects.com/rms/afts/file/A*_sSyR5oWKjkAAAAAAAAAAAAAARQnAQ/physx.release.js",this._downgradeModeUrl=null!=(n=null==e?void 0:e.javaScriptModeUrl)?n:"https://mdn.alipayobjects.com/rms/afts/file/A*3frOSZNS8RwAAAAAAAAAAAAAARQnAQ/physx.release.downgrade.js"}var e=t.prototype;return e.initialize=function(){var t=this;if(2===this._initializeState)return Promise.resolve();if(1===this._initializeState)return this._initializePromise;var e=this._runTimeMode,n=new Promise(function(n,o){var s=document.createElement("script");document.body.appendChild(s),s.async=!0,s.onload=n,s.onerror=o,e==m.Auto&&(e=!function(){try{var t;if(("undefined"==typeof WebAssembly?"undefined":(t=WebAssembly)&&"undefined"!=typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)=="object"&&"function"==typeof WebAssembly.instantiate){var e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(i(e,WebAssembly.Module))return i(new WebAssembly.Instance(e),WebAssembly.Instance)}}catch(t){}return!1}()?m.JavaScript:m.WebAssembly),e==m.JavaScript?s.src=t._downgradeModeUrl:e==m.WebAssembly&&(s.src=t._wasmModeUrl)}),o=new Promise(function(e,i){n.then(function(){return window.PHYSX().then(function(i){t._init(i),t._initializeState=2,t._initializePromise=null,console.log("PhysX loaded."),e()},i)},i).catch(i)});return this._initializePromise=o,o},e.destroy=function(){this._physX.PxCloseExtensions(),this._pxPhysics.release(),this._pxFoundation.release(),this._defaultErrorCallback.delete(),this._allocator.delete(),this._tolerancesScale.delete()},e.createPhysicsManager=function(){return new d},e.createPhysicsScene=function(t,e,i,n,o,s,a){return new x(this,t,e,i,n,o,s,a)},e.createStaticCollider=function(t,e){return new g(this,t,e)},e.createDynamicCollider=function(t,e){return new u(this,t,e)},e.createCharacterController=function(){return new _(this)},e.createPhysicsMaterial=function(t,e,i,n,o){return new f(this,t,e,i,n,o)},e.createBoxColliderShape=function(t,e,i){return new l(this,t,e,i)},e.createSphereColliderShape=function(t,e,i){return new M(this,t,e,i)},e.createPlaneColliderShape=function(t,e){return new C(this,t,e)},e.createCapsuleColliderShape=function(t,e,i,n){return new h(this,t,e,i,n)},e.createFixedJoint=function(t){return new S(this,t)},e.createHingeJoint=function(t){return new A(this,t)},e.createSpringJoint=function(t){return new P(this,t)},e.getColliderLayerCollision=function(t,e){return this._physX.getGroupCollisionFlag(t,e)},e.setColliderLayerCollision=function(t,e,i){this._physX.setGroupCollisionFlag(t,e,i)},e._init=function(t){var e=t.PX_PHYSICS_VERSION,i=new t.PxDefaultErrorCallback,n=new t.PxDefaultAllocator,o=t.PxCreateFoundation(e,n,i),s=new t.PxTolerancesScale,a=t.PxCreatePhysics(e,o,s,!1,null);t.PxInitExtensions(a,null),this._physX=t,this._pxFoundation=o,this._pxPhysics=a,this._defaultErrorCallback=i,this._allocator=n,this._tolerancesScale=s},t}(),b="1.5.14";console.log("Galacean Engine Physics PhysX Version: "+b),t.PhysXPhysics=w,t.PhysXRuntimeMode=m,t.version=b,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.PhysicsPhysX={}),t.Galacean)}(this,function(t,e){"use strict";function i(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}function n(t,e){return(n=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function o(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&&n(t,e)}var s,a,r=/*#__PURE__*/function(){function t(t){this._controllers=new e.DisorderedArray,this._contractOffset=.02,this._worldScale=new e.Vector3(1,1,1),this._position=new e.Vector3,this._rotation=new e.Vector3,this._axis=null,this._physXRotation=new e.Quaternion,this._shapeFlags=3,this._physXPhysics=t}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.rotationYawPitchRoll(i.y,i.x,i.z,this._physXRotation),this._axis&&e.Quaternion.multiply(this._physXRotation,this._axis,this._physXRotation),this._physXRotation.normalize(),this._setLocalPose()},i.setPosition=function(t){t!==this._position&&this._position.copyFrom(t);for(var e=this._controllers,i=0,n=e.length;i<n;i++)e.get(i)._updateShapePosition(this._position,this._worldScale);this._setLocalPose()},i.setWorldScale=function(t){this._worldScale.set(Math.abs(t.x),Math.abs(t.y),Math.abs(t.z)),this._setLocalPose();for(var e=this._controllers,i=0,n=e.length;i<n;i++)e.get(i)._updateShapePosition(this._position,this._worldScale)},i.setContactOffset=function(t){this._contractOffset=t;var e=this._controllers;if(e.length)for(var i,n=0,o=e.length;n<o;n++)null==(i=e.get(n)._pxController)||i.setContactOffset(t);else this._pxShape.setContactOffset(t)},i.setMaterial=function(t){this._pxMaterial=t._pxMaterial,this._pxShape.setMaterial(this._pxMaterial)},i.setIsTrigger=function(t){this._modifyFlag(1,!t),this._modifyFlag(4,t),this._setShapeFlags(this._shapeFlags)},i.pointDistance=function(e){var i=this._pxGeometry.pointDistance(this._pxShape.getGlobalPose(),e),n=i.closestPoint,o=t._tempVector4;return o.set(n.x,n.y,n.z,i.distance),o},i.destroy=function(){this._pxShape.release(),this._pxGeometry.delete()},i._setShapeFlags=function(t){this._shapeFlags=t;var e=new this._physXPhysics._physX.PxShapeFlags(this._shapeFlags);this._pxShape.setFlags(e),e.delete()},i._setLocalPose=function(){var i=t.transform;e.Vector3.multiply(this._position,this._worldScale,i.translation),i.rotation=this._physXRotation,this._pxShape.setLocalPose(i)},i._initialize=function(t,e){this._id=e,this._pxMaterial=t._pxMaterial;var i=new this._physXPhysics._physX.PxShapeFlags(this._shapeFlags);this._pxShape=this._physXPhysics._pxPhysics.createShape(this._pxGeometry,t._pxMaterial,!0,i),i.delete(),this._pxShape.setUUID(e)},i._modifyFlag=function(t,e){this._shapeFlags=e?this._shapeFlags|t:this._shapeFlags&~t},t}();r._tempVector4=new e.Vector4,r.halfSqrt=.70710678118655,r.transform={translation:new e.Vector3,rotation:null};var l=/*#__PURE__*/function(t){function i(i,n,o,s){(a=t.call(this,i)||this)._halfSize=new e.Vector3;var a,r=a._halfSize;return r.set(.5*o.x,.5*o.y,.5*o.z),a._pxGeometry=new i._physX.PxBoxGeometry(r.x,r.y,r.z),a._initialize(s,n),a._setLocalPose(),a}o(i,t);var n=i.prototype;return n.setSize=function(t){var n=this._halfSize,o=i._tempHalfExtents;n.set(.5*t.x,.5*t.y,.5*t.z),e.Vector3.multiply(n,this._worldScale,o),this._pxGeometry.halfExtents=o,this._pxShape.setGeometry(this._pxGeometry),this._updateController(o)},n.setRotation=function(e){t.prototype.setRotation.call(this,e),this._controllers.length>0&&console.warn("Box character controller `rotation` is not supported in PhysX and will be ignored")},n.setWorldScale=function(n){t.prototype.setWorldScale.call(this,n);var o=i._tempHalfExtents;e.Vector3.multiply(this._halfSize,this._worldScale,o),this._pxGeometry.halfExtents=o,this._pxShape.setGeometry(this._pxGeometry),this._updateController(o)},n._updateController=function(t){for(var e=this._controllers,i=0,n=e.length;i<n;i++){var o=e.get(i)._pxController;o&&(o.setHalfHeight(t.y),o.setHalfSideExtent(t.x),o.setHalfForwardExtent(t.z))}},i}(r);l._tempHalfExtents=new e.Vector3;var h=/*#__PURE__*/function(t){function i(i,n,o,s,a){var l;return(l=t.call(this,i)||this)._upAxis=1,l._radius=o,l._halfHeight=.5*s,l._axis=new e.Quaternion(0,0,r.halfSqrt,r.halfSqrt),l._physXRotation.copyFrom(l._axis),l._pxGeometry=new i._physX.PxCapsuleGeometry(l._radius,l._halfHeight),l._initialize(a,n),l._setLocalPose(),l}o(i,t);var n=i.prototype;return n.setRadius=function(t){this._radius=t;var e,i=this._worldScale;switch(this._upAxis){case 0:this._pxGeometry.radius=this._radius*Math.max(i.y,i.z);break;case 1:this._pxGeometry.radius=this._radius*Math.max(i.x,i.z);break;case 2:this._pxGeometry.radius=this._radius*Math.max(i.x,i.y)}this._pxShape.setGeometry(this._pxGeometry);for(var n=this._pxGeometry.radius,o=this._controllers,s=0,a=o.length;s<a;s++)null==(e=o.get(s)._pxController)||e.setRadius(n)},n.setHeight=function(t){this._halfHeight=.5*t;var e,i=this._worldScale;switch(this._upAxis){case 0:this._pxGeometry.halfHeight=this._halfHeight*i.x;break;case 1:this._pxGeometry.halfHeight=this._halfHeight*i.y;break;case 2:this._pxGeometry.halfHeight=this._halfHeight*i.z}this._pxShape.setGeometry(this._pxGeometry);for(var n=2*this._pxGeometry.halfHeight,o=this._controllers,s=0,a=o.length;s<a;s++)null==(e=o.get(s)._pxController)||e.setHeight(n)},n.setRotation=function(e){t.prototype.setRotation.call(this,e),this._controllers.length>0&&console.warn("Capsule character controller `rotation` is not supported in PhysX and will be ignored")},n.setUpAxis=function(t){var i=this._rotation,n=this._axis,o=this._physXRotation;switch(this._upAxis=t,this._upAxis){case 0:n.set(0,0,0,1);break;case 1:n.set(0,0,r.halfSqrt,r.halfSqrt);break;case 2:n.set(0,r.halfSqrt,0,r.halfSqrt)}i?(e.Quaternion.rotationYawPitchRoll(i.y,i.x,i.z,o),e.Quaternion.multiply(o,n,o)):o.copyFrom(n),this._setLocalPose(),this._controllers.length>0&&console.warn("Capsule character controller `upAxis` is not supported in PhysX and will be ignored")},n.setWorldScale=function(e){t.prototype.setWorldScale.call(this,e);var i=this._worldScale,n=this._pxGeometry;switch(this._upAxis){case 0:n.radius=this._radius*Math.max(i.y,i.z),n.halfHeight=this._halfHeight*i.x;break;case 1:n.radius=this._radius*Math.max(i.x,i.z),n.halfHeight=this._halfHeight*i.y;break;case 2:n.radius=this._radius*Math.max(i.x,i.y),n.halfHeight=this._halfHeight*i.z}this._pxShape.setGeometry(n);for(var o=n.radius,s=2*n.halfHeight,a=this._controllers,r=0,l=a.length;r<l;r++){var h=a.get(r)._pxController;h&&(h.setRadius(o),h.setHeight(s))}},i}(r),c=((s={})[s.X=0]="X",s[s.Y=1]="Y",s[s.Z=2]="Z",s),_=/*#__PURE__*/function(){function t(t){this._scene=null,this._shapeScaledPosition=new e.Vector3,this._worldPosition=null,this._physXPhysics=t}var n=t.prototype;return n.move=function(t,e,i){var n,o;return null!=(o=null==(n=this._pxController)?void 0:n.move(t,e,i))?o:0},n.setWorldPosition=function(t){this._worldPosition=t,this._updateNativePosition()},n.getWorldPosition=function(t){this._pxController&&(t.copyFrom(this._pxController.getPosition()),t.subtract(this._shapeScaledPosition))},n.setStepOffset=function(t){var e;null==(e=this._pxController)||e.setStepOffset(t)},n.setNonWalkableMode=function(t){var e;null==(e=this._pxController)||e.setNonWalkableMode(t)},n.setUpDirection=function(t){var e;null==(e=this._pxController)||e.setUpDirection(t)},n.setSlopeLimit=function(t){var e;null==(e=this._pxController)||e.setSlopeLimit(Math.cos(t*Math.PI/180))},n.addShape=function(t){var e,i;this._updateShapePosition(t._position,t._worldScale),this._pxManager&&this._createPXController(this._pxManager,t),this._shape=t,t._controllers.add(this),null==(e=this._pxController)||e.setContactOffset(t._contractOffset),null==(i=this._scene)||i._addColliderShape(t._id)},n.removeShape=function(t){var e;this._destroyPXController(),this._shape=null,t._controllers.delete(this),null==(e=this._scene)||e._removeColliderShape(t._id)},n.setCollisionLayer=function(t){var e,i=null==(e=this._pxController)?void 0:e.getActor();i&&this._physXPhysics._physX.setGroup(i,t)},n.destroy=function(){this._destroyPXController()},n._createPXController=function(t,e){var n;if(i(e,l))(n=new this._physXPhysics._physX.PxBoxControllerDesc).halfHeight=e._halfSize.y,n.halfSideExtent=e._halfSize.x,n.halfForwardExtent=e._halfSize.z,e._rotation.lengthSquared()>0&&console.warn("Box character controller `rotation` is not supported in PhysX and will be ignored");else if(i(e,h))(n=new this._physXPhysics._physX.PxCapsuleControllerDesc).radius=e._radius,n.height=2*e._halfHeight,n.climbingMode=1,e._rotation.lengthSquared()>0&&console.warn("Capsule character controller `rotation` is not supported in PhysX and will be ignored"),e._upAxis!==c.Y&&console.warn("Capsule character controller `upAxis` is not supported in PhysX and will be ignored");else throw"unsupported shape type";n.setMaterial(e._pxMaterial),this._pxController=t._getControllerManager().createController(n),n.delete(),this._pxController.setUUID(e._id),this._updateNativePosition()},n._destroyPXController=function(){this._pxController&&(this._pxController.release(),this._pxController=null)},n._updateShapePosition=function(t,i){e.Vector3.multiply(t,i,this._shapeScaledPosition),this._updateNativePosition()},n._updateNativePosition=function(){var i=this._worldPosition;this._pxController&&i&&(e.Vector3.add(i,this._shapeScaledPosition,t._tempVec),this._pxController.setPosition(t._tempVec))},t}();_._tempVec=new e.Vector3;var p=/*#__PURE__*/function(){function t(t){this._scene=null,this._shapes=[],this._physXPhysics=t}var e=t.prototype;return e.addShape=function(t){var e;this._pxActor.attachShape(t._pxShape),this._shapes.push(t),null==(e=this._scene)||e._addColliderShape(t._id)},e.removeShape=function(t){this._pxActor.detachShape(t._pxShape,!0);var e,i=this._shapes;i.splice(i.indexOf(t),1),null==(e=this._scene)||e._removeColliderShape(t._id)},e.setWorldTransform=function(t,e){this._pxActor.setGlobalPose(this._transform(t,e),!0)},e.getWorldTransform=function(t,e){var i=this._pxActor.getGlobalPose();t.set(i.translation.x,i.translation.y,i.translation.z),e.set(i.rotation.x,i.rotation.y,i.rotation.z,i.rotation.w)},e.setCollisionLayer=function(t){this._physXPhysics._physX.setGroup(this._pxActor,t)},e.destroy=function(){this._pxActor.release()},e._transform=function(e,i){var n=t._tempTransform;return n.translation=e,n.rotation=i.normalize(),n},t}();p._tempTransform={translation:null,rotation:null};var u=/*#__PURE__*/function(t){function n(e,i,n){var o,s=(o=t.call(this,e)||this)._transform(i,n);return o._pxActor=e._pxPhysics.createRigidDynamic(s),o}o(n,t);var s=n.prototype;return s.setLinearDamping=function(t){this._pxActor.setLinearDamping(t)},s.setAngularDamping=function(t){this._pxActor.setAngularDamping(t)},s.getLinearVelocity=function(t){var e=this._pxActor.getLinearVelocity();return t.set(e.x,e.y,e.z)},s.setLinearVelocity=function(t){this._pxActor.setLinearVelocity(t,!0)},s.getAngularVelocity=function(t){var i=this._pxActor.getAngularVelocity();return t.set(e.MathUtil.radianToDegree(i.x),e.MathUtil.radianToDegree(i.y),e.MathUtil.radianToDegree(i.z))},s.setAngularVelocity=function(t){n._tempTranslation.set(e.MathUtil.degreeToRadian(t.x),e.MathUtil.degreeToRadian(t.y),e.MathUtil.degreeToRadian(t.z)),this._pxActor.setAngularVelocity(n._tempTranslation,!0)},s.setMass=function(t){this._pxActor.setMass(t)},s.getCenterOfMass=function(t){var e=this._pxActor.getCMassLocalPose().translation;return t.set(e.x,e.y,e.z)},s.setCenterOfMass=function(t){this._pxActor.setCMassLocalPose(t)},s.setInertiaTensor=function(t){this._pxActor.setMassSpaceInertiaTensor(t)},s.getInertiaTensor=function(t){var e=this._pxActor.getMassSpaceInertiaTensor();return t.set(e.x,e.y,e.z)},s.setMassAndUpdateInertia=function(t){this._pxActor.setMassAndUpdateInertia(t)},s.setMaxAngularVelocity=function(t){this._pxActor.setMaxAngularVelocity(e.MathUtil.degreeToRadian(t))},s.setMaxDepenetrationVelocity=function(t){this._pxActor.setMaxDepenetrationVelocity(t)},s.setSleepThreshold=function(t){this._pxActor.setSleepThreshold(t)},s.setSolverIterations=function(t){this._pxActor.setSolverIterationCounts(t,1)},s.setCollisionDetectionMode=function(t){var e=this._physXPhysics._physX;switch(t){case 1:this._pxActor.setRigidBodyFlag(e.PxRigidBodyFlag.eENABLE_CCD,!0);break;case 2:this._pxActor.setRigidBodyFlag(e.PxRigidBodyFlag.eENABLE_CCD,!1),this._pxActor.setRigidBodyFlag(e.PxRigidBodyFlag.eENABLE_CCD_FRICTION,!0);break;case 3:this._pxActor.setRigidBodyFlag(e.PxRigidBodyFlag.eENABLE_CCD,!1),this._pxActor.setRigidBodyFlag(e.PxRigidBodyFlag.eENABLE_SPECULATIVE_CCD,!0);break;case 0:this._pxActor.setRigidBodyFlag(e.PxRigidBodyFlag.eENABLE_CCD,!1),this._pxActor.setRigidBodyFlag(e.PxRigidBodyFlag.eENABLE_CCD_FRICTION,!1),this._pxActor.setRigidBodyFlag(e.PxRigidBodyFlag.eENABLE_SPECULATIVE_CCD,!1)}},s.setUseGravity=function(t){this._pxActor.setActorFlag(this._physXPhysics._physX.PxActorFlag.eDISABLE_GRAVITY,!t)},s.setIsKinematic=function(t){t?this._pxActor.setRigidBodyFlag(this._physXPhysics._physX.PxRigidBodyFlag.eKINEMATIC,!0):this._pxActor.setRigidBodyFlag(this._physXPhysics._physX.PxRigidBodyFlag.eKINEMATIC,!1)},s.setConstraints=function(t){this._pxActor.setRigidDynamicLockFlags(t)},s.addForce=function(t){this._pxActor.addForce({x:t.x,y:t.y,z:t.z})},s.addTorque=function(t){this._pxActor.addTorque({x:t.x,y:t.y,z:t.z})},s.move=function(t,o){if(o){this._pxActor.setKinematicTarget(t,o);return}var s=n._tempTranslation,a=n._tempRotation;this.getWorldTransform(s,a),i(t,e.Vector3)?this._pxActor.setKinematicTarget(t,a):this._pxActor.setKinematicTarget(s,t)},s.sleep=function(){return this._pxActor.putToSleep()},s.isSleeping=function(){return this._pxActor.isSleeping()},s.wakeUp=function(){return this._pxActor.wakeUp()},n}(p);u._tempTranslation=new e.Vector3,u._tempRotation=new e.Quaternion;var d=function(){this._eventMap={}},f=/*#__PURE__*/function(){function t(t,e,i,n,o,s){this._physXPhysics=t;var a=t._pxPhysics.createMaterial(e,i,n);a.setFrictionCombineMode(o),a.setRestitutionCombineMode(s),this._pxMaterial=a}var e=t.prototype;return e.setBounciness=function(t){this._pxMaterial.setRestitution(t)},e.setDynamicFriction=function(t){this._pxMaterial.setDynamicFriction(t)},e.setStaticFriction=function(t){this._pxMaterial.setStaticFriction(t)},e.setBounceCombine=function(t){this._pxMaterial.setRestitutionCombineMode(t)},e.setFrictionCombine=function(t){this._pxMaterial.setFrictionCombineMode(t)},e.destroy=function(){this._pxMaterial.release()},t}(),x=/*#__PURE__*/function(){function t(t,i,n,o,s,a,r,l){var h=this;this._pxControllerManager=null,this._currentEvents=new e.DisorderedArray,this._eventPool=[],this._physXPhysics=t,this._physXManager=i;var c=t._physX;this._pxRaycastHit=new c.PxRaycastHit,this._pxFilterData=new c.PxQueryFilterData,this._pxFilterData.flags=new c.PxQueryFlags(7),this._onContactEnter=n,this._onContactExit=o,this._onContactStay=s,this._onTriggerEnter=a,this._onTriggerExit=r,this._onTriggerStay=l;var _=t._pxPhysics;this._physXSimulationCallbackInstance=c.PxSimulationEventCallback.implement({onContactBegin:function(t){h._onContactEnter(t)},onContactEnd:function(t){h._onContactExit(t)},onContactPersist:function(t){h._onContactStay(t)},onTriggerBegin:function(t,e){var i=t<e?h._getTrigger(t,e):h._getTrigger(e,t);i.state=0,h._currentEvents.add(i)},onTriggerEnd:function(t,e){var i;if(t<e){var n=h._physXManager._eventMap[t];i=n[e],n[e]=void 0}else{var o=h._physXManager._eventMap[e];i=o[t],o[t]=void 0}i.state=2}});var p=c.getDefaultSceneDesc(_.getTolerancesScale(),0,this._physXSimulationCallbackInstance);this._pxScene=_.createScene(p),p.delete()}var i=t.prototype;return i.setGravity=function(t){this._pxScene.setGravity(t)},i.addCollider=function(t){t._scene=this,this._pxScene.addActor(t._pxActor,null);for(var e=t._shapes,i=0,n=e.length;i<n;i++)this._addColliderShape(e[i]._id)},i.removeCollider=function(t){t._scene=null,this._pxScene.removeActor(t._pxActor,!0);for(var e=t._shapes,i=0,n=e.length;i<n;i++)this._removeColliderShape(e[i]._id)},i.addCharacterController=function(t){if(t._scene=this,!t._pxController){var e=t._shape;if(e){var i=t._pxManager;i!==this&&(i&&t._destroyPXController(),t._createPXController(this,e)),this._addColliderShape(e._id)}}t._pxManager=this},i.removeCharacterController=function(t){t._scene=null,t._pxManager=null,t._destroyPXController();var e=t._shape;e&&this._removeColliderShape(e._id)},i.update=function(t){this._simulate(t),this._fetchResults(),this._fireEvent()},i.raycast=function(e,i,n,o){var s=this._pxRaycastHit;i=Math.min(i,34e37);var a=this._physXPhysics._physX.PxQueryFilterCallback.implement({preFilter:function(t,e,i){return n(e)?2:0},postFilter:function(t,e){}}),r=this._pxScene.raycastSingle(e.origin,e.direction,i,s,this._pxFilterData,a);if(a.delete(),r&&void 0!=o){var l=t._tempPosition,h=t._tempNormal,c=s.position,_=s.normal;l.set(c.x,c.y,c.z),h.set(_.x,_.y,_.z),o(s.getShape().getUUID(),s.distance,l,h)}return r},i.destroy=function(){var t;this._physXSimulationCallbackInstance.delete(),this._pxRaycastHit.delete(),this._pxFilterData.flags.delete(),this._pxFilterData.delete(),null==(t=this._pxControllerManager)||t.release(),this._pxScene.release()},i._getControllerManager=function(){var t=this._pxControllerManager;return null===t&&(this._pxControllerManager=t=this._pxScene.createControllerManager()),t},i._addColliderShape=function(t){this._physXManager._eventMap[t]=Object.create(null)},i._removeColliderShape=function(t){var e=this._eventPool,i=this._currentEvents,n=this._physXManager._eventMap;i.forEach(function(o,s){o.index1==t?(i.deleteByIndex(s),e.push(o)):o.index2==t&&(i.deleteByIndex(s),e.push(o),n[o.index1][t]=void 0)}),delete n[t]},i._simulate=function(t){this._pxScene.simulate(t,!0)},i._fetchResults=function(t){void 0===t&&(t=!0),this._pxScene.fetchResults(t)},i._getTrigger=function(t,e){var i;return this._eventPool.length?((i=this._eventPool.pop()).index1=t,i.index2=e):i=new y(t,e),this._physXManager._eventMap[t][e]=i,i},i._fireEvent=function(){var t=this,e=this._eventPool,i=this._currentEvents;i.forEach(function(n,o){0==n.state?(t._onTriggerEnter(n.index1,n.index2),n.state=1):1==n.state?t._onTriggerStay(n.index1,n.index2):2==n.state&&(i.deleteByIndex(o),t._onTriggerExit(n.index1,n.index2),e.push(n))})},t}();x._tempPosition=new e.Vector3,x._tempNormal=new e.Vector3;var y=function(t,e){this.index1=t,this.index2=e},g=/*#__PURE__*/function(t){function e(e,i,n){var o;return(o=t.call(this,e)||this)._pxActor=e._pxPhysics.createRigidStatic(o._transform(i,n)),o}return o(e,t),e}(p),m=((a={})[a.Auto=0]="Auto",a[a.WebAssembly=1]="WebAssembly",a[a.JavaScript=2]="JavaScript",a),v=/*#__PURE__*/function(){function t(t){this._rotation=new e.Quaternion,this._breakForce=Number.MAX_VALUE,this._breakTorque=Number.MAX_VALUE,this._physXPhysics=t}var i=t.prototype;return i.setConnectedCollider=function(t){var e;this._pxJoint.setActors((null==(e=this._collider)?void 0:e._pxActor)||null,(null==t?void 0:t._pxActor)||null)},i.setAnchor=function(e){this._setLocalPose(0,e,t._defaultQuat),this._anchor=e},i.setConnectedAnchor=function(t){this._setLocalPose(1,t,this._rotation),this._connectedAnchor=t},i.setRotation=function(t){this._setLocalPose(1,this._connectedAnchor,t),this._rotation.copyFrom(t)},i.setMassScale=function(t){this._pxJoint.setInvMassScale0(1/t)},i.setConnectedMassScale=function(t){this._pxJoint.setInvMassScale1(1/t)},i.setInertiaScale=function(t){this._pxJoint.setInvInertiaScale0(t)},i.setConnectedInertiaScale=function(t){this._pxJoint.setInvInertiaScale1(t)},i.setBreakForce=function(t){this._breakForce=t,this._pxJoint.setBreakForce(this._breakForce,this._breakTorque)},i.setBreakTorque=function(t){this._breakTorque=t,this._pxJoint.setBreakForce(this._breakForce,this._breakTorque)},i.destroy=function(){this._pxJoint&&(this._pxJoint.release(),this._collider=null)},i._setLocalPose=function(t,e,i){this._pxJoint.setLocalPose(t,e,i)},t}();v._defaultVec=new e.Vector3,v._defaultQuat=new e.Quaternion;var S=/*#__PURE__*/function(t){function e(e,i){var n;return(n=t.call(this,e)||this)._collider=i,n._pxJoint=e._pxPhysics.createFixedJoint(i._pxActor,v._defaultVec,v._defaultQuat,null,v._defaultVec,v._defaultQuat),n}return o(e,t),e}(v),A=/*#__PURE__*/function(t){function i(i,n){var o;return(o=t.call(this,i)||this)._axisRotationQuaternion=new e.Quaternion,o._connectedAxisRotationQuaternion=new e.Quaternion,o._collider=n,o._pxJoint=i._pxPhysics.createRevoluteJoint(n._pxActor,v._defaultVec,v._defaultQuat,null,v._defaultVec,v._defaultQuat),o}o(i,t);var n=i.prototype;return n.setRotation=function(t){var e=this._axis;this._rotation.copyFrom(t),e&&this.setAxis(e)},n.setAxis=function(t){this._axis=t;var n=i._xAxis,o=this._axisRotationQuaternion;n.set(1,0,0);var s=Math.acos(e.Vector3.dot(n,t));e.Vector3.cross(n,t,n),e.Quaternion.rotationAxisAngle(n,s,o),this._setLocalPose(0,this._anchor,o);var a=this._connectedAxisRotationQuaternion;e.Quaternion.multiply(this._rotation,o,a),this._setLocalPose(1,this._connectedAnchor,a)},n.setAnchor=function(t){this._setLocalPose(0,t,this._axisRotationQuaternion),this._anchor=t},n.setConnectedAnchor=function(t){this._setLocalPose(1,t,this._connectedAxisRotationQuaternion),this._connectedAnchor=t},n.getAngle=function(){return e.MathUtil.radianToDegree(this._pxJoint.getAngle())},n.getVelocity=function(){return this._pxJoint.getVelocity()},n.setHardLimit=function(t,i,n){this._pxJoint.setHardLimit(e.MathUtil.degreeToRadian(t),e.MathUtil.degreeToRadian(i),n)},n.setSoftLimit=function(t,i,n,o){this._pxJoint.setSoftLimit(e.MathUtil.degreeToRadian(t),e.MathUtil.degreeToRadian(i),n,o)},n.setDriveVelocity=function(t,e){void 0===e&&(e=!0),this._pxJoint.setDriveVelocity(t,e)},n.setDriveForceLimit=function(t){this._pxJoint.setDriveForceLimit(t)},n.setDriveGearRatio=function(t){this._pxJoint.setDriveGearRatio(t)},n.setHingeJointFlag=function(t,e){this._pxJoint.setRevoluteJointFlag(t,e)},i}(v);A._xAxis=new e.Vector3(1,0,0);var P=/*#__PURE__*/function(t){function e(e,i){var n;return(n=t.call(this,e)||this)._collider=i,n._pxJoint=e._pxPhysics.createDistanceJoint(null,v._defaultVec,v._defaultQuat,i._pxActor,v._defaultVec,v._defaultQuat),n._pxJoint.setDistanceJointFlag(2,!0),n._pxJoint.setDistanceJointFlag(4,!0),n._pxJoint.setDistanceJointFlag(8,!0),n}o(e,t);var i=e.prototype;return i.setMinDistance=function(t){this._pxJoint.setMinDistance(t)},i.setMaxDistance=function(t){this._pxJoint.setMaxDistance(t)},i.setTolerance=function(t){this._pxJoint.setTolerance(t)},i.setStiffness=function(t){this._pxJoint.setStiffness(t)},i.setDamping=function(t){this._pxJoint.setDamping(t)},e}(v),C=/*#__PURE__*/function(t){function i(i,n,o){var s;return(s=t.call(this,i)||this)._axis=new e.Quaternion(0,0,r.halfSqrt,r.halfSqrt),s._physXRotation.copyFrom(s._axis),s._pxGeometry=new i._physX.PxPlaneGeometry,s._initialize(o,n),s._setLocalPose(),s}return o(i,t),i}(r),M=/*#__PURE__*/function(t){function e(e,i,n,o){var s;return(s=t.call(this,e)||this)._maxScale=1,s._radius=n,s._pxGeometry=new e._physX.PxSphereGeometry(s._radius*s._maxScale),s._initialize(o,i),s._setLocalPose(),s}o(e,t);var i=e.prototype;return i.setRadius=function(t){this._radius=t,this._pxGeometry.radius=t*this._maxScale,this._pxShape.setGeometry(this._pxGeometry)},i.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)),this._pxGeometry.radius=this._radius*this._maxScale,this._pxShape.setGeometry(this._pxGeometry)},e}(r),w=/*#__PURE__*/function(){function t(t,e){var i,n;void 0===t&&(t=m.Auto),this._initializeState=0,this._runTimeMode=t,this._wasmModeUrl=null!=(i=null==e?void 0:e.wasmModeUrl)?i:"https://mdn.alipayobjects.com/rms/afts/file/A*_sSyR5oWKjkAAAAAAAAAAAAAARQnAQ/physx.release.js",this._downgradeModeUrl=null!=(n=null==e?void 0:e.javaScriptModeUrl)?n:"https://mdn.alipayobjects.com/rms/afts/file/A*3frOSZNS8RwAAAAAAAAAAAAAARQnAQ/physx.release.downgrade.js"}var e=t.prototype;return e.initialize=function(){var t=this;if(2===this._initializeState)return Promise.resolve();if(1===this._initializeState)return this._initializePromise;var e=this._runTimeMode,n=new Promise(function(n,o){var s=document.createElement("script");document.body.appendChild(s),s.async=!0,s.onload=n,s.onerror=o,e==m.Auto&&(e=!function(){try{var t;if(("undefined"==typeof WebAssembly?"undefined":(t=WebAssembly)&&"undefined"!=typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)=="object"&&"function"==typeof WebAssembly.instantiate){var e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(i(e,WebAssembly.Module))return i(new WebAssembly.Instance(e),WebAssembly.Instance)}}catch(t){}return!1}()?m.JavaScript:m.WebAssembly),e==m.JavaScript?s.src=t._downgradeModeUrl:e==m.WebAssembly&&(s.src=t._wasmModeUrl)}),o=new Promise(function(e,i){n.then(function(){return window.PHYSX().then(function(i){t._init(i),t._initializeState=2,t._initializePromise=null,console.log("PhysX loaded."),e()},i)},i).catch(i)});return this._initializePromise=o,o},e.destroy=function(){this._physX.PxCloseExtensions(),this._pxPhysics.release(),this._pxFoundation.release(),this._defaultErrorCallback.delete(),this._allocator.delete(),this._tolerancesScale.delete()},e.createPhysicsManager=function(){return new d},e.createPhysicsScene=function(t,e,i,n,o,s,a){return new x(this,t,e,i,n,o,s,a)},e.createStaticCollider=function(t,e){return new g(this,t,e)},e.createDynamicCollider=function(t,e){return new u(this,t,e)},e.createCharacterController=function(){return new _(this)},e.createPhysicsMaterial=function(t,e,i,n,o){return new f(this,t,e,i,n,o)},e.createBoxColliderShape=function(t,e,i){return new l(this,t,e,i)},e.createSphereColliderShape=function(t,e,i){return new M(this,t,e,i)},e.createPlaneColliderShape=function(t,e){return new C(this,t,e)},e.createCapsuleColliderShape=function(t,e,i,n){return new h(this,t,e,i,n)},e.createFixedJoint=function(t){return new S(this,t)},e.createHingeJoint=function(t){return new A(this,t)},e.createSpringJoint=function(t){return new P(this,t)},e.getColliderLayerCollision=function(t,e){return this._physX.getGroupCollisionFlag(t,e)},e.setColliderLayerCollision=function(t,e,i){this._physX.setGroupCollisionFlag(t,e,i)},e._init=function(t){var e=t.PX_PHYSICS_VERSION,i=new t.PxDefaultErrorCallback,n=new t.PxDefaultAllocator,o=t.PxCreateFoundation(e,n,i),s=new t.PxTolerancesScale,a=t.PxCreatePhysics(e,o,s,!1,null);t.PxInitExtensions(a,null),this._physX=t,this._pxFoundation=o,this._pxPhysics=a,this._defaultErrorCallback=i,this._allocator=n,this._tolerancesScale=s},t}(),b="1.5.15";console.log("Galacean Engine Physics PhysX Version: "+b),t.PhysXPhysics=w,t.PhysXRuntimeMode=m,t.version=b,Object.defineProperty(t,"__esModule",{value:!0})});
|
|
2
2
|
//# sourceMappingURL=browser.min.js.map
|
package/dist/main.js
CHANGED
|
@@ -1518,7 +1518,7 @@ PhysXHingeJoint._xAxis = new engine.Vector3(1, 0, 0);
|
|
|
1518
1518
|
}();
|
|
1519
1519
|
|
|
1520
1520
|
//@ts-ignore
|
|
1521
|
-
var version = "1.5.
|
|
1521
|
+
var version = "1.5.15";
|
|
1522
1522
|
console.log("Galacean Engine Physics PhysX Version: " + version);
|
|
1523
1523
|
|
|
1524
1524
|
exports.PhysXPhysics = PhysXPhysics;
|
package/dist/module.js
CHANGED
|
@@ -1514,7 +1514,7 @@ PhysXHingeJoint._xAxis = new Vector3(1, 0, 0);
|
|
|
1514
1514
|
}();
|
|
1515
1515
|
|
|
1516
1516
|
//@ts-ignore
|
|
1517
|
-
var version = "1.5.
|
|
1517
|
+
var version = "1.5.15";
|
|
1518
1518
|
console.log("Galacean Engine Physics PhysX Version: " + version);
|
|
1519
1519
|
|
|
1520
1520
|
export { PhysXPhysics, PhysXRuntimeMode, version };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@galacean/engine-physics-physx",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.15",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
"types/**/*"
|
|
27
27
|
],
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@galacean/engine": "1.5.
|
|
30
|
-
"@galacean/engine
|
|
29
|
+
"@galacean/engine-design": "1.5.15",
|
|
30
|
+
"@galacean/engine": "1.5.15"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"@galacean/engine": "1.5.
|
|
33
|
+
"@galacean/engine": "1.5.15"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
|
36
36
|
"b:types": "tsc"
|