Skip to content

CoderLearningCode/Sketchbook

Repository files navigation


Play it here!

Sketchbook

3D rendering and physics library for game projects on the web, featuring a few conventional gameplay mechanics and basic 3D models.

Built on three.js and cannon.js.

Features

  • World
    • Three.js scene
    • Cannon.js physics
    • Variable timescale
    • Frame skipping
    • FXAA anti-aliasing
    • Custom damped-spring simulation
  • Characters
    • Third-person camera
    • Raycast character controller with capsule collisions
    • General state system
    • Character AI

Not yet implemented

  • Vehicles
    • Cars
    • Airplanes
    • Helicopters

All planned features can be found in the project pages.

Usage

This creates a fullscreen canvas, initializes the physics and rendering, adds a character and lets you control him.

let world = new Sketchbook.World();

let player = new Sketchbook.Character({
    position: new THREE.Vector3(1.13, 3, -2.2),
});
LoadCharacterModel(player);
world.add(player);
player.takeControl();

Check out the examples to learn specifics about using Sketchbook.

Installation

Simply import the library in your project, along with provided build of cannon.js and a three.js version of your choice, and you're ready to go.

<script src="three.min.js"></script>
<script src="cannon.min.js"></script> <!-- Only use provided build, official package is extremely outdated! -->
<script src="sketchbook.min.js"></script>

About

3D playground built on three.js and cannon.js

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 91.3%
  • CSS 8.6%
  • HTML 0.1%