Socket
Socket
Sign inDemoInstall

whitestormjs

Package Overview
Dependencies
12
Maintainers
1
Versions
36
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    whitestormjs

Framework for developing 3D web apps with physics.


Version published
Weekly downloads
4
decreased by-89.74%
Maintainers
1
Install size
22.0 MB
Created
Weekly downloads
 

Readme

Source

           

<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 :rocket:

GAME EXAMPLE :video_game:

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:

:space_invader: BASIC:
:gem: DESIGN:
:snowboarder: FIRST-PERSON:
  • FPS / Shooter (First person example with Wagner effects and terrain. + fog) [TODO]
  • FPS / Fog (First person game with animated objects) [TODO]
:bowling: PHYSICS:
:rocket: PERFORMANCE:

:chart_with_upwards_trend: Changelog | :book: Documentation | :video_game: Playground

Contributors:

Author

Contributor

Contributor

Contributor

Contributor

Contributor

Contributor


forthebadge Лицензия Creative Commons

Keywords

FAQs

Last updated on 04 Sep 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc