oimo.js

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

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

推荐阅读更多精彩内容

  • 首先要熟悉一些基本的力学名词及相关公式 刚体(Rigidbody):刚体是指在运动中和受到力的作用后,形状和大小不...
    FLY旳影子阅读 11,673评论 0 11
  • 一、物理编辑器的使用 在本系列博客的第一篇就介绍了如何使用Box2D内置的几种方式创建刚体的材质,然而我们在开发游...
    babybus_newapp阅读 3,106评论 0 4
  • 1.Transform 位置:世界坐标,当地坐标,通过属性和方法操作;使用属性的时候默认是世界坐标 调整位置: 通...
    Joe_Game阅读 914评论 0 0
  • 婚礼按理说本事件无比快乐的事情,特别是对于自己的父母而言,孩子长大了,拥有了爱情,找到了人生的伴侣。孩子成了家,是...
    虹培阅读 304评论 0 0
  • 黑夜把你的眼睛擦得再亮 我也只看见你的忧伤 微光把你的背影拉得再长 我也只看见你的寂寞 酒精把你的灵魂吞掉 我也只...
    清銮书阅读 495评论 1 2