Skip to content

CoderLearningCode/Sketchbook

Repository files navigation


Play it here! swift502.github.io/Sketchbook

Sketchbook

Package providing a pre-made configuration of 3D rendering and physics in a web-browser featuring several conventional gameplay mechanics and example 3D models.

Built on three.js and cannon.js.

Features

  • World
    • Three.js scene
    • Cannon.js physics
    • Variable, FPS independent time scale
    • FXAA anti-aliasing
    • Custom damped-spring simulation
  • Characters
    • Third-person camera
    • Raycast character controller with capsule collisions
    • Flexible state based animation system
    • Character AI

Not yet implemented

  • Vehicles
    • Cars
    • Airplanes
    • Helicopters
  • Characters
    • Ragdoll physics
    • Navmesh pathfinding

Usage

Exctracted from /docs.

HTML imports

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

JS

// Initialize sketchbook
let world = new Sketchbook.World();

// Spawn player
let player = world.SpawnCharacter();
player.Control();

// Spawn Bob
let bob = world.SpawnCharacter();
bob.setBehaviour(new Sketchbook.CharacterAI.FollowCharacter(player));

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%