whitestormjs

0.11.2 • Public • Published

           

<p align="center"><i><b>Framework for developing 3D web apps with physics.</b></i></p>



FEATURES

  • Simple shape crafting — We use a JSON-like structure for creating objects from inputted data and adding them to your 3D world.

  • Physics with WebWorkers — We use the Physi.js library for calculating physics of 3D shapes with WebWorkers technology that allows for rendering and calculating physics in multiple threads.

  • Plugin system — Our framework supports plugins & components made by other users. You need to include them after whitestorm.js and follow provided instructions.

  • Automatization of rendering — Our framework does rendering automatically and doesn't need a to be called. Functionality like the resize function can be called automatically by setting additional parameters such as autoresize: true.

  • ES6 Features - Our framework is written using the latest features of ECMAScript 6 and ECMAScript 7 (beta) features and compiled with Babel.

  • Softbodies - WhitestormJS is the only engine (except native ammo.js) that supports softbodies.

PLAYGROUND 🚀

GAME EXAMPLE 🎮

INSTALLATION ⤬ USAGE

NODE

npm install whitestormjs

BROWSER

Include a script tag linking the WhitestormJS library in your head or after your body:

<script src="{path_to_lib}/whitestorm.js"></script>

After adding these libraries, you can configure your app:

const world = new WHS.World({
    stats: "fps", // fps, ms, mb or false if not need.
    autoresize: true,
 
    gravity: { // Physic gravity.
        x: 0,
        y: -100,
        z: 0
    },
    
    camera: {
      z: 50 // Move camera.
    }
});
 
const sphere = new WHS.Sphere({ // Create sphere object.
  geometry: {
    radius: 3
  },
 
  mass: 10, // Mass of physics object.
 
  material: {
    color: 0xffffff,
    kind: 'basic'
  },
 
  pos: {
    x: 0,
    y: 100,
    z: 0
  }
});
 
sphere.addTo(GAME);
sphere.getNative(); // Returns THREE.Mesh of this object.
 
world.start(); // Start animations and physics simulation.

Examples:

👾 BASIC:

💎 DESIGN:

🏂 FIRST-PERSON:

  • FPS / Shooter (First person example with Wagner effects and terrain. + fog) [TODO]
  • FPS / Fog (First person game with animated objects) [TODO]

🎳 PHYSICS:

🚀 PERFORMANCE:


📈 Changelog | 📖 Documentation | 🎮 Playground


Contributors:

Author

Contributor

Contributor

Contributor

Contributor

Contributor

Contributor


forthebadge Лицензия Creative Commons

Package Sidebar

Install

npm i whitestormjs

Weekly Downloads

4

Version

0.11.2

License

CC

Last publish

Collaborators

  • alex2401