2018-09-15

canno

world.broadphase = new CANNON.SAPBroadphase(world);

world.broadphase.useBoundingBoxes=true

world.broadphase.autoDetectAxis()

spe.js

_triggerSingleEmitter

    // if ( pos instanceof THREE.Vector3 )

oimo

removeRigidBody 中mesh=null

world.js 中 intersectTest  是多余的么?

updateManifold

            if (numBuffers===0){

                if (this.body1.onCollide){

                    this.body1.onCollide(this.body2, this.points[0].position)

                }

                if (this.body2.onCollide){

                    this.body2.onCollide(this.body1, this.points[0].position)

                }               

            }

        if( this.touching || this.dist < 0.001 ) this.close = true;

manifold.addPoint( psx + dx * rads, psy + dy * rads, psz + dz * rads, dx, dy, dz, len - rad2, this.flip );

            var lp1x=p.localPoint1.x;

            var lp1y=p.localPoint1.y;

            var lp1z=p.localPoint1.z;

            var lp2x=p.localPoint2.x;

            var lp2y=p.localPoint2.y;

            var lp2z=p.localPoint2.z;  不需要增加var变量

constraint.restitution

constraint.friction  可以优化,只计算一次,放在if(num==0)判断后

var gVel = new Vec3().addScaledVector( this.gravity, this.timeStep );  不需要每次计算

game

球间留间隙,减少碰撞点

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容