p2.js物理引擎学习

时间:2022-02-11 22:49:47

P2简介

P2是一款基于Javascript编写的HTML5 2D物理引擎,和Box2D、Nape等2D物理引擎一样,P2集成了各种复杂的物理公式和算法,可以帮助我们轻松的实现碰撞、反弹等物理现象的模拟。

学习资料

P2 API
认识HTML5物理引擎P2

p2.js GITHUB下载地址

元素介绍

World(世界),这就是一个模拟的物理世界,所有的刚体和约束创建后都要放进来。

Body(刚体),它是一块无限坚硬的物体。因此,在这块物体上任何两点之间的距离都被认为是固定的。Body(刚体)有自己的参数用来规定位置、质量和速度等,刚体的形状是由Shape创建的形状确定的。

Shape(形状),一个几何形状,可以是矩形、圆形等等。

Constraint(约束),constraint 是一个物理连接件,用来控制刚体的*度。在3d世界,物体有6个*度(3个平移坐标和3个旋转坐标)。在2d世界,物体只有3个*度(2个平移坐标和1个旋转坐标)。众所周知,人类世界是3d的,因此我们家里的门本来应该是有6个*度的,但是由于门的一侧被门铰链固定在墙上,它失去了另外5个*度,只能照着门铰链这个轴旋转了。门铰链就相当于一个constraint(约束)。

Contact constraint(接触约束),这是一个特别的约束,作用在于防止刚体之间的渗透重叠,并且它可以模拟摩擦和弹性。你无须创建这个约束,系统会自动创建它的。

Solver(求解器),物理世界的solver(求解器)专门用于处理约束情况。