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)的材料性质。形状可以通过关节添加到物体上