oimo.js

2019-02-24  本文已影响0人  bbh123

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

上一篇 下一篇

猜你喜欢

热点阅读