oimo.js

作者: bbh123 | 来源:发表于2019-02-24 01:47 被阅读0次

    https://github.com/lo-th/Oimo.js

    world.add({

    type:'box',类型

    size:[0,0,0],大小

    pos:[0,0,0],位置

    rot:[0,90,0],旋转

    density:1,密度

    friction:1,摩擦

    restitution:1,恢复

    move:true,移动

    kinematic:true,动力学刚体不受物理影响

    posShape:[0,0,0],形状位置

    rotShape:[0,0,0],旋转形状

    belongsTo:形状所属的碰撞组的位

    collidesWith:形状碰撞的碰撞组的位

    config:{},4种形状配置

    neverSleep:true||kinematic的值,永远不休眠

    massPos:,方法未启用

    massRot:,方法未启用

    name:'kkkk',

    sleep:true,休眠

    })

    world.add({

    type:'jointDistance'类型

    axe1:[1,0,0],轴1

    axe2:[1,0,0],轴2

    pos1:[0,0,0],位置1

    pos2:[0,0,0,位置2

    min:0,&57.29578

    max:10,&0

    limit:[0,0]限制

    spring:[8,1]弹簧

    motor:[0,0]电机

    collision:false,碰撞

    body1:body.id/body.name,

    body2:body.id/body.name,

    name:'',

    })

    world=new OIMO.World({

    worldscale:1,

    timestep:1/60,

    iterations:8,迭代

    broadphase:2,//1,2,3广域碰撞判断

    info:false,

    random:true//启用约束随机数发生器

    gravity:[0,-9.8,0]

    })

    world.clear

    world.getInfo

    world.setGravity

    world.stop

    world.play

    world:true

    connectMesh(mesh)自动更新网格

    getPosition

    getQuaternion

    resetRotation(x,y,z)

    resetQuaternion(p)

    resetPosition(x,y,z)

    setRotation(rot) rot={x:x,y:y,z:z}

    setQuaternion(p)

    setPosition(x,y,z)

    applyImpulse(position,force)两个向量,没效果force值过小

    setupMass(type,AdjustPosition)未知

    new OIMO.Vec3(0, 0, 0)

    world.numRigidBodies//未知

    world.postLoop未知

    world.getContact未知

    DistanceJoint:limitMotor

    WheelJoint:

    rotationalLimitMotor1.setMotor(0,4)

    rotationalLimitMotor1.setSpring(0,4)

    rotationalLimitMotor1.setLimit(0,4)lowerLimit,upperLimit

    rotationalLimitMotor2

    translationalLimitMotor

    limitMotor.setMotor(0,4)motorSpeed转速,maxMotorForce最大力

    limitMotor.setSpring(8,1)frequency频率,dampingRatio阻尼比

    PrismaticJoint:limitMotor

    SliderJoint:rotationalLimitMotor,translationalLimitMotor

    HingeJoint:limitMotor

    jointBall:null

     Ø  静态刚体:静态刚体没有质量,没有速度,只可以手动来改变他的位置。

    Ø  棱柱刚体:棱柱刚体没有质量,但是可以有速度,可以自己更新位置。

    Ø  动态刚体:动态刚体有质量也有速度。

    Ø  关节限制:一个关节限制(joint limit)限定了一个关节的运动范围。例如中标的钟摆只能在某个范围角度内运动。Ø  关节马达(joint motor)一个关节马达能依照关节的自由度来驱动所连接的物体。例如你可以用一个齿轮来驱动钟摆的旋转。

    刚体有时候会相互穿透卡在一起,特别是在使用了关节将它们连接在一起以后。 卡在一起的刚体会努力要分开,但是为了满足关节的连接要求,它们又不得不卡在一起,结果是卡在一起的刚体会产生颤动

       休眠参数(allowSleep和awake):模拟是非常昂贵的,我们应当尽量减少模拟物体,当一个物体休息时,我们应当停止他们的模拟。

     形状(shape): 一块严格依附于物体(body)的3D碰撞集合结构(collision geomerty)。形状具有磨擦(friction)和恢复(restitution)的材料性质。形状可以通过关节添加到物体上

    相关文章

      网友评论

          本文标题:oimo.js

          本文链接:https://www.haomeiwen.com/subject/bmmhkftx.html