Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
Cannon JS - Motor de física 3D
Página 1 de 1
Cannon JS - Motor de física 3D
Sobre
Cannon JS é um motor de física 3D leve e simples para a web.
Características
Solucionador de restrições de Gauss-Seidel e algoritmo de divisão de ilha
Filtros de colisão
Corpo dormindo
SPH experimental/suporte de fluido
Várias formas e algoritmos de colisão
Instalação no navegador
Basta incluir cannon.js ou cannon.min.js em seu html e pronto:
Instalação via Node.js
Instale o pacote cannon via NPM:
Exemplo
O código de exemplo abaixo cria uma esfera em um plano, executa a simulação e imprime a simulação de esfera no console. Observe que Cannon.js usa unidades SI (metro, quilograma, segundo etc.).
Links úteis
Site oficial
Github
Cannon JS é um motor de física 3D leve e simples para a web.
Características
- Dinâmica de corpo rígido
- Detecção de colisão discreta
- Contatos, fricção e restituição
- Restrições
- PointToPoint (também conhecido como junta de esfera/soquete)
- Distância
- Dobradiça (com motor opcional)
- Trancar
- ConeTwist
Instalação no navegador
Basta incluir cannon.js ou cannon.min.js em seu html e pronto:
- Código:
<script src="cannon.min.js"></script>
Instalação via Node.js
Instale o pacote cannon via NPM:
- Código:
npm install --save cannon
- Código:
npm install --save schteppe/cannon.js
Exemplo
O código de exemplo abaixo cria uma esfera em um plano, executa a simulação e imprime a simulação de esfera no console. Observe que Cannon.js usa unidades SI (metro, quilograma, segundo etc.).
- Código:
// 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;
})();
Links úteis
Site oficial
Github
Tópicos semelhantes
» Motor Rokc
» Company The Maker's .Net - motor orpg 2D
» Projeto Vertigo [2d Tile-Based-Side Scrolling Motor]
» Company The Maker's .Net - motor orpg 2D
» Projeto Vertigo [2d Tile-Based-Side Scrolling Motor]
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos