Skip to content

Commit

Permalink
Merge pull request layabox#1189 from INEEDSSD/Master3.0
Browse files Browse the repository at this point in the history
fix: Fix Rigidbody Cancollision set error.
  • Loading branch information
lirongf authored Aug 25, 2023
2 parents 76456be + 6eda83a commit 9252db7
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 10 deletions.
81 changes: 72 additions & 9 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,35 @@ const packsDef = [
'./layaAir/laya/d3/Input3D.ts',
'./layaAir/laya/d3/MouseTouch.ts',
'./layaAir/laya/d3/Touch.ts',
'./layaAir/laya/d3/Physics3D.ts',
'./layaAir/laya/d3/ModuleDef.ts',
'./layaAir/laya/d3/RenderObjs/**/*.*',
'./layaAir/laya/d3/ModuleDef.ts',
'./layaAir/ILaya3D.ts',
'./layaAir/Laya3D.ts',
'./layaAir/laya/d3/physics/**/*.*',
// interface and enum
'./layaAir/laya/Physics3D/interface/**/*.*',
'./layaAir/laya/Physics3D/physicsEnum/**/*.*',
'./layaAir/laya/d3/physics/HitResult.ts',
],
},
{
'libName': "3DPhysics",
'input': [
'./layaAir/laya/d3/physics/constraints/**/*.*',
'./layaAir/laya/d3/physics/shape/**/*.*',
'./layaAir/laya/d3/Physics3D.ts',
'./layaAir/laya/d3/ModuleDef.ts',
'./layaAir/laya/d3/physics/CharacterController.ts',
'./layaAir/laya/d3/physics/Collision.ts',
'./layaAir/laya/d3/physics/Constraint3D.ts',
'./layaAir/laya/d3/physics/ContactPoint.ts',
'./layaAir/laya/d3/physics/PhysicsCollider.ts',
'./layaAir/laya/d3/physics/PhysicsColliderComponent.ts',
'./layaAir/laya/d3/physics/PhysicsSettings.ts',
'./layaAir/laya/d3/physics/PhysicsUpdateList.ts',
'./layaAir/laya/d3/physics/RaycastVehicle.ts',
'./layaAir/laya/d3/physics/RaycastWheel.ts',
'./layaAir/laya/d3/physics/Rigidbody3D.ts',
],
},
{
Expand All @@ -83,12 +106,40 @@ const packsDef = [
'./layaAir/laya/gltf/**/*.*',
],
},
// {
// 'libName': "bullet",
// 'input': [
// './layaAir/laya/d3/physics/**/*.*',
// ],
// },
{
'libName': "btPhysics",
'input': [
// use this compile order to solve C_D problem
'./layaAir/laya/Physics3D/Bullet/Shape/btBoxColliderShape.ts',
'./layaAir/laya/Physics3D/Bullet/Shape/btCapsuleColliderShape.ts',
'./layaAir/laya/Physics3D/Bullet/Shape/btCompoundColliderShape.ts',
'./layaAir/laya/Physics3D/Bullet/Shape/btConeColliderShape.ts',
'./layaAir/laya/Physics3D/Bullet/Shape/btCylinderColliderShape.ts',
'./layaAir/laya/Physics3D/Bullet/Shape/btMeshColliderShape.ts',
'./layaAir/laya/Physics3D/Bullet/Shape/btSphereColliderShape.ts',
'./layaAir/laya/Physics3D/Bullet/Shape/btColliderShape.ts',

'./layaAir/laya/Physics3D/Bullet/Joint/btJoint.ts',
'./layaAir/laya/Physics3D/Bullet/Joint/btCustomJoint.ts',
'./layaAir/laya/Physics3D/Bullet/Joint/btFixedJoint.ts',
'./layaAir/laya/Physics3D/Bullet/Joint/btHingJoint.ts',
'./layaAir/laya/Physics3D/Bullet/Joint/btSpringJoint.ts',

'./layaAir/laya/Physics3D/Bullet/Collider/btCollider.ts',
'./layaAir/laya/Physics3D/Bullet/Collider/btCharacterCollider.ts',
'./layaAir/laya/Physics3D/Bullet/Collider/btRigidBodyCollider.ts',
'./layaAir/laya/Physics3D/Bullet/Collider/btStaticCollider.ts',

'./layaAir/laya/Physics3D/Bullet/btInteractive.ts',
'./layaAir/laya/Physics3D/Bullet/CollisionTool.ts',
'./layaAir/laya/Physics3D/Bullet/PhysicsUpdateList.ts',
'./layaAir/laya/Physics3D/Bullet/btPhysicsCreateUtil.ts',
'./layaAir/laya/Physics3D/Bullet/btPhysicsManager.ts',

// './layaAir/laya/Physics3D/Bullet/**/*.*',

],
},
{
'libName': 'device',
'input': [
Expand Down Expand Up @@ -318,7 +369,7 @@ gulp.task("buildJs", async () => {
gulp.task("copyJsLibs", async () => {
return gulp.src([
'./src/layaAir/jsLibs/laya.physics3D.wasm.wasm', './src/layaAir/jsLibs/*.js',
'!./src/layaAir/jsLibs/{box2d.js,cannon.js}'])
'!./src/layaAir/jsLibs/{box2d.js,cannon.js,laya.physics3D.js}']) // 由于laya.physics3D.js是bullet引擎内容,已经移动到btPhysics.js里面了这里去掉就行
.pipe(gulp.dest('./build/libs'));
});

Expand All @@ -331,6 +382,17 @@ gulp.task('concatBox2dPhysics', () => {
.pipe(gulp.dest('./build/libs/'));
});

//合并laya.Physics3D.js(bullet物理引擎库) 和 编译出来的btPhysics.js,实现完全分离
gulp.task('concatPhysics3DTobtPhysics', () => {
return gulp.src([
'./build/libs/laya.btPhysics.js',
'./src/layaAir/jsLibs/laya.Physics3D.js',
])
.pipe(concat('laya.btPhysics.js'))
.pipe(gulp.dest('./build/libs/'));
});


gulp.task('genDts', () => {
rimrafSync("./build/temp");
rimrafSync("./build/types");
Expand Down Expand Up @@ -445,4 +507,5 @@ gulp.task('genDts', () => {
gulp.task('build',
gulp.series('compile', 'buildJs', 'copyJsLibs',
'concatBox2dPhysics',
'concatPhysics3DTobtPhysics',
'genDts'));
2 changes: 1 addition & 1 deletion src/layaAir/laya/Physics3D/Bullet/Collider/btCollider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ export class btCollider implements ICollider {

setCanCollideWith(value: number) {
if (value != this._canCollideWith) {
this._collisionGroup = value;
this._canCollideWith = value;
this._physicsManager.removeCollider(this);
this._physicsManager.addCollider(this);
}
Expand Down

0 comments on commit 9252db7

Please sign in to comment.