All Projects → swift502 → Sketchbook

swift502 / Sketchbook

Licence: mit
3D playground built on three.js and cannon.js

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Sketchbook

Aframe
🅰️ web framework for building virtual reality experiences.
Stars: ✭ 13,428 (+3232.01%)
Mutual labels:  game-engine, 3d, threejs
Glas
WebGL in WebAssembly with AssemblyScript
Stars: ✭ 278 (-31.02%)
Mutual labels:  game-engine, 3d, threejs
Roygbiv
A 3D engine for the Web
Stars: ✭ 499 (+23.82%)
Mutual labels:  game-engine, 3d, threejs
Lba2remake
A Little Big Adventure 2 / Twinsen's Odyssey reimplementation in JavaScript / Three.js / React
Stars: ✭ 116 (-71.22%)
Mutual labels:  game-engine, 3d, threejs
Arsenal
Blender game engine written in Rust.
Stars: ✭ 214 (-46.9%)
Mutual labels:  game-engine, 3d
Engine
A basic cross-platform 3D game engine
Stars: ✭ 208 (-48.39%)
Mutual labels:  game-engine, 3d
3D-Engine-OpenGL-4
3D Graphics Engine For Games | C++ OpenGL 4.1
Stars: ✭ 19 (-95.29%)
Mutual labels:  game-engine, 3d
3dio Js
JavaScript toolkit for interior apps
Stars: ✭ 255 (-36.72%)
Mutual labels:  3d, threejs
React Three Editable
👀 ✏️ Edit your react-three-fiber scene with a visual editor without giving up control over your code.
Stars: ✭ 261 (-35.24%)
Mutual labels:  3d, threejs
Enable3d
🕹️ Standalone 3D Framework / Physics for three.js (using ammo.js) / 3D extension for Phaser 3
Stars: ✭ 271 (-32.75%)
Mutual labels:  3d, threejs
React Postprocessing
📬 postprocessing for react-three-fiber
Stars: ✭ 311 (-22.83%)
Mutual labels:  3d, threejs
Babylon.js
Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework.
Stars: ✭ 15,479 (+3740.94%)
Mutual labels:  game-engine, 3d
Ava
A tiny unlicensed 3D game engine in C; with C++ and Lua interfaces. Written in 32 random ̷d̷a̷y̷s̷ m̷o̷n̷t̷h̷s̷ years.
Stars: ✭ 287 (-28.78%)
Mutual labels:  game-engine, 3d
React Particles Webgl
🔆 A 2D/3D particle library built on React, Three.js and WebGL
Stars: ✭ 330 (-18.11%)
Mutual labels:  3d, threejs
Px3d
Experimental pixel 3d engine
Stars: ✭ 252 (-37.47%)
Mutual labels:  game-engine, threejs
Babylonhx
Port of Babylon.js 3D engine to Haxe.
Stars: ✭ 182 (-54.84%)
Mutual labels:  game-engine, 3d
Armory
3D Engine with Blender Integration
Stars: ✭ 2,350 (+483.13%)
Mutual labels:  game-engine, 3d
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+825.06%)
Mutual labels:  game-engine, 3d
Expo Voxel
🎮🌳 Voxel Terrain made in React Native. ∛
Stars: ✭ 169 (-58.06%)
Mutual labels:  game-engine, threejs
Vxr
General purpose engine written in C++ with emphasis on materials rendering (PBR, clear coat, anisotropy, iridescence)
Stars: ✭ 181 (-55.09%)
Mutual labels:  game-engine, 3d


Live demo

badge badge badge

📒 Sketchbook

Simple web based game engine built on three.js and cannon.js focused on third-person character controls and related gameplay mechanics.

Mostly a playground for exploring how conventional third person gameplay mechanics found in modern games work and recreating them in a general way.

Features

  • World
    • Three.js scene
    • Cannon.js physics
    • Variable timescale
    • Frame skipping
    • FXAA anti-aliasing
  • Characters
    • Third-person camera
    • Raycast character controller with capsule collisions
    • General state system
    • Character AI
  • Vehicles
    • Cars
    • Airplanes
    • Helicopters

All planned features can be found in the GitHub Projects.

Usage

You can define your own scenes in Blender, and then read them with Sketchbook. Sketchbook needs to run on a local server such as http-server or webpack-dev-server to be able to load external assets.

Script tag

  1. Import:
<script src="sketchbook.min.js"></script>
  1. Load a glb scene defined in Blender:
const world = new Sketchbook.World('scene.glb');

NPM

  1. Install:
npm i sketchbook
  1. Import:
import { World } from 'sketchbook';
  1. Load a glb scene defined in Blender:
const world = new World('scene.glb');

Contributing

  1. Get latest Node.js
  2. Fork this repository
  3. Run npm install
  4. Run npm run dev
  5. Make changes and test them out at http://localhost:8080
  6. Commit and make a pull request!

Blender source files

Source .blend files, including the main demo scene, and other graphical assets used by the main demo are available here: https://drive.google.com/drive/folders/1ZbziXLAW3yAn3e_s-6UO6jMIJWaglqDG?usp=sharing

Credits

Big thank you to each of the following github users for contributing to Sketchbook:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].