MCPcopy
hub / github.com/playcanvas/engine

github.com/playcanvas/engine @v.147.1 sqlite

repository ↗ · DeepWiki ↗ · release v.147.1 ↗
454 symbols 729 edges 285 files 31 documented · 7%
README

PlayCanvas

PlayCanvas WebGL Game Engine

PlayCanvas is an open-source game engine. It uses HTML5 and WebGL to run games and other interactive 3D content in all modern browsers without the need for a plugin.

Published games

Many games have been published using the PlayCanvas engine. Here is a small selection.

Swooop Dungeon Fury Accelerally Going Around

You can see more games on the PlayCanvas website.

Features

The PlayCanvas Engine is a fully feature 3D game engine.

  • Graphics
    • WebGL-based 3D renderer
    • Ambient, directional, point and spot lights
    • Static and Skinned Meshes
    • Skinned animation support
    • Shadows
    • Seamless default material support from Maya, 3DS Max, Blender, etc.
    • Full model export pipeline from Maya, 3DS Max, Blender, etc via PlayCanvas Tools
    • PostFX library, bloom, bokah, edge detect, fxaa, vignette, etc
  • Collision & Physics
    • Full integration with 3D rigid-body physics engine ammo.js
  • Audio
    • 3D Positional audio via Web Audio API
  • Resource Loading
    • Simple and powerful resource loading
  • Entity / Component System
    • Built-in components for model rendering, animation, audio sources, rigidbodies, collision, trigger volumes
  • Scripting system
    • Write game behaviours by attaching Javascript to game entities.
  • Input
    • Mouse, Keyboard, Touch, Gamepad support

Examples

Take a look at in the examples directory

How to build

The PlayCanvas Engine uses the python and the Closure Compiler to build which requires Java.

cd build
python build.py

Documentation

Full documentation available on the PlayCanvas Developer site including API reference

Getting Help

Answers - Use PlayCanvas Answers to ask specific questions about how to achieve something with the engine

Forums - Use the forum to have more general conversions about PlayCanvas and the Engine

Contributing

What to help us make the best damn 3D engine on the web? Great!

Github Issues

Please use Github issues to report bugs or request features.

Reporting bugs

Please follow these steps to report a bug

  1. Search for related issues - search the existing issues so that you don't create duplicates

  2. Create a testcase - Please create the smallest isolated testcase that you can that reproduces your bug

  3. Share as much information as possible - everything little helps, OS, browser version, all that stuff.

PlayCanvas Platform

The PlayCanvas Engine is an open-source game engine which you can use to create games or render 3D in the browser. In addition to the free and open-source engine we also make the PlayCanvas development platform which features a level design tool, asset management and a hosting and publishing service.

License

The PlayCanvas Engine is released under the MIT license. See LICENSE file.

Core symbols most depended-on inside this repo

jack
called by 23
tests/qunit/jack.js
simulate
called by 22
tests/input/simulate_event.js
id
called by 16
tests/qunit/qunit.js
_createVec2
called by 14
src/scene/scene_phongmaterial.js
extend
called by 13
tests/qunit/qunit.js
plusMinus
called by 12
src/scene/scene_particleemitter.js
escapeInnerText
called by 11
tests/qunit/qunit.js
runLoggingCallbacks
called by 11
tests/qunit/qunit.js

Shape

Function 451
Method 2
Class 1

Languages

TypeScript99%
Python1%

Modules by API surface

tests/qunit/jack.js75 symbols
tests/qunit/qunit.js30 symbols
contrib/rsvp-3.0.6.min.js20 symbols
tests/resources/test_resourceloader.js13 symbols
src/scene/scene_forwardrenderer.js7 symbols
tests/qunit/junitlogger.js6 symbols
src/scene/scene_skinpartition.js6 symbols
src/net/net_socket.js6 symbols
src/input/input_mouse.js6 symbols
src/graphics/graphics_vertexiterator.js6 symbols
src/graphics/graphics_device.js6 symbols
tests/input/test_keyboard.js5 symbols

For agents

$ claude mcp add engine \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact