大炮.js 为可可创造者
网络的轻量级 三维物理
灵感来自 3个j 财务报告和审定财务报表 弹药.js在网络上缺乏物理引擎的驱动下,大炮来了. 刚性的身体物理引擎包括简单的相撞探测,各种身体形状,接触,摩擦和约束.
演示文稿 - 说吧 文档 - 说吧 渲染提示 - 说吧 国家防范机制一揽子计划 - 说吧 光盘N
浏览器安装
包括 大炮. js (英语) 或者说 加农炮.min.js 在你的html中,你结束了:
<script src="cannon.min.js"></script>
节点.js 安装
通过 npm 为 Cocos 创建者安装 :
用途 : npm install @cocos/cannon --save键。
示例
下面的样本代码在平面上创建出一个球体,将模拟步骤,并打印出球体模拟到控制台. 请注意,Cannon.js使用 SI 单位 (米、公斤、第二等).
// Setup our world
var world = new CANNON.World();
world.gravity.set(0, 0, -9.82); // m/s²
// Create a sphere
var radius = 1; // m
var sphereBody = new CANNON.Body({
mass: 5, // kg
position: new CANNON.Vec3(0, 0, 10), // m
shape: new CANNON.Sphere(radius)
});
world.addBody(sphereBody);
// Create a plane
var groundBody = new CANNON.Body({
mass: 0 // mass == 0 makes the body static
});
var groundShape = new CANNON.Plane();
groundBody.addShape(groundShape);
world.addBody(groundBody);
var fixedTimeStep = 1.0 / 60.0; // seconds
var maxSubSteps = 3;
// Start the simulation loop
var lastTime;
(function simloop(time){
requestAnimationFrame(simloop);
if(lastTime !== undefined){
var dt = (time - lastTime) / 1000;
world.step(fixedTimeStep, dt, maxSubSteps);
}
console.log("Sphere z position: " + sphereBody.position.z);
lastTime = time;
})();
如果你想知道如何使用加农炮.js 并配有渲染引擎,例如: 三.js,见: 实例。 。 。 .
特征
- 刚性身体动态
- 异地相撞探测
- 接触、摩擦和归还
- 制约因素
- 点(a.k.a.球/口袋接合)
- 距离
- 兴格(带有可选的马达)
- 锁定
- 圆锥形
- Gauss-Seidel 制约解析器和岛分算法
- 碰撞过滤器
- 身体睡觉
- 试验SPH/流体支持
- 各种形状和相撞算法(见下表)
| 球体 | 飞机 | 方框 | 顶端 | 颗粒 | 高度场 | 特里梅什语Name | |
|---|---|---|---|---|---|---|---|
| 球体 | 对 | 对 | 对 | 对 | 对 | 对 | 对 |
| 飞机 | - 说吧 | - 说吧 | 对 | 对 | 对 | - 说吧 | 对 |
| 方框 | - 说吧 | - 说吧 | 对 | 对 | 对 | 对 | (待办) |
| 圆柱 | - 说吧 | - 说吧 | 对 | 对 | 对 | 对 | (待办) |
| 顶端 | - 说吧 | - 说吧 | - 说吧 | 对 | 对 | 对 | (待办) |
| 颗粒 | - 说吧 | - 说吧 | - 说吧 | - 说吧 | - 说吧 | (待办) | (待办) |
| 高度场 | - 说吧 | - 说吧 | - 说吧 | - 说吧 | - 说吧 | - 说吧 | (待办) |
| 特里梅什语Name | - 说吧 | - 说吧 | - 说吧 | - 说吧 | - 说吧 | - 说吧 | - 说吧 |
待办
简单的待办事宜有标记 @todo 在代码。 Github Issues可以而且也应该被用于做拖把.
帮助
创建一个 问题 如果你需要帮助.