Neurotic Programmer Masquerade

    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

    Install

    npm i whitestormjs

    DownloadsWeekly Downloads

    9

    Version

    0.11.2

    License

    CC

    Last publish

    Collaborators

    • alex2401