[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-3333":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":41,"readmeContent":42,"aiSummary":43,"trendingCount":16,"starSnapshotCount":16,"syncStatus":44,"lastSyncTime":45,"discoverSource":46},3333,"engine","playcanvas\u002Fengine","playcanvas","Powerful web graphics runtime built on WebGL, WebGPU, WebXR and glTF","https:\u002F\u002Fplaycanvas.com",null,"JavaScript",16004,1914,340,569,0,7,60,526,34,44.85,"MIT License",false,"main",[26,27,28,29,30,31,32,33,34,7,35,36,37,38,39,40],"3d-gaussian-splatting","game-development","game-engine","gamedev","gaussian-splatting","gltf","hacktoberfest","javascript","nodejs","typescript","virtual-reality","webgl","webgl2","webgpu","webxr","2026-06-12 02:00:48","# PlayCanvas Engine\n\n[![NPM Version](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fplaycanvas)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fplaycanvas)\n[![NPM Downloads](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdw\u002Fplaycanvas)](https:\u002F\u002Fnpmtrends.com\u002Fplaycanvas)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fl\u002Fplaycanvas)](https:\u002F\u002Fgithub.com\u002Fplaycanvas\u002Fengine\u002Fblob\u002Fmain\u002FLICENSE)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-5865F2?style=flat&logo=discord&logoColor=white&color=black)](https:\u002F\u002Fdiscord.gg\u002FRSaMRzg)\n[![Reddit](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FReddit-FF4500?style=flat&logo=reddit&logoColor=white&color=black)](https:\u002F\u002Fwww.reddit.com\u002Fr\u002FPlayCanvas)\n[![X](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FX-000000?style=flat&logo=x&logoColor=white&color=black)](https:\u002F\u002Fx.com\u002Fintent\u002Ffollow?screen_name=playcanvas)\n\n| [User Manual](https:\u002F\u002Fdeveloper.playcanvas.com\u002Fuser-manual\u002Fengine\u002F) | [API Reference](https:\u002F\u002Fapi.playcanvas.com\u002Fengine\u002F) | [Examples](https:\u002F\u002Fplaycanvas.github.io) | [Blog](https:\u002F\u002Fblog.playcanvas.com) | [Forum](https:\u002F\u002Fforum.playcanvas.com) |\n\nPlayCanvas is an open-source game engine built on WebGL2 and WebGPU. Use it to create interactive 3D apps, games and visualizations that run in any browser on any device.\n\n[English](https:\u002F\u002Fgithub.com\u002Fplaycanvas\u002Fengine\u002Fblob\u002Fdev\u002FREADME.md)\n[中文](https:\u002F\u002Fgithub.com\u002Fplaycanvas\u002Fengine\u002Fblob\u002Fdev\u002FREADME-zh.md)\n[日本語](https:\u002F\u002Fgithub.com\u002Fplaycanvas\u002Fengine\u002Fblob\u002Fdev\u002FREADME-ja.md)\n[한글](https:\u002F\u002Fgithub.com\u002Fplaycanvas\u002Fengine\u002Fblob\u002Fdev\u002FREADME-kr.md)\n\n## Install\n\n```sh\nnpm install playcanvas\n```\n\nOr scaffold a full project in seconds with [`create-playcanvas`](https:\u002F\u002Fgithub.com\u002Fplaycanvas\u002Fcreate-playcanvas):\n\n```sh\nnpm create playcanvas@latest\n```\n\n## Usage\n\nHere's a super-simple Hello World example - a spinning cube!\n\n```js\nimport {\n  Application,\n  Color,\n  Entity,\n  FILLMODE_FILL_WINDOW,\n  RESOLUTION_AUTO\n} from 'playcanvas';\n\nconst canvas = document.createElement('canvas');\ndocument.body.appendChild(canvas);\n\nconst app = new Application(canvas);\n\n\u002F\u002F fill the available space at full resolution\napp.setCanvasFillMode(FILLMODE_FILL_WINDOW);\napp.setCanvasResolution(RESOLUTION_AUTO);\n\n\u002F\u002F ensure canvas is resized when window changes size\nwindow.addEventListener('resize', () => app.resizeCanvas());\n\n\u002F\u002F create box entity\nconst box = new Entity('cube');\nbox.addComponent('render', {\n  type: 'box'\n});\napp.root.addChild(box);\n\n\u002F\u002F create camera entity\nconst camera = new Entity('camera');\ncamera.addComponent('camera', {\n  clearColor: new Color(0.1, 0.2, 0.3)\n});\napp.root.addChild(camera);\ncamera.setPosition(0, 0, 3);\n\n\u002F\u002F create directional light entity\nconst light = new Entity('light');\nlight.addComponent('light');\napp.root.addChild(light);\nlight.setEulerAngles(45, 0, 0);\n\n\u002F\u002F rotate the box according to the delta time since the last frame\napp.on('update', dt => box.rotate(10 * dt, 20 * dt, 30 * dt));\n\napp.start();\n```\n\nWant to play with the code yourself? Edit it on [CodePen](https:\u002F\u002Fcodepen.io\u002Fplaycanvas\u002Fpen\u002FNPbxMj).\n\nA full guide to setting up a local development environment based on the PlayCanvas Engine can be found [here](https:\u002F\u002Fdeveloper.playcanvas.com\u002Fuser-manual\u002Fengine\u002Fstandalone\u002F).\n\n## Features\n\nPlayCanvas is a fully-featured game engine.\n\n* 🧊 **Graphics** - Advanced 2D + 3D graphics engine built on WebGL2 & WebGPU\n* 💠 **Gaussian Splatting** - First-class support for loading and rendering [3D Gaussian Splats](https:\u002F\u002Fdeveloper.playcanvas.com\u002Fuser-manual\u002Fgraphics\u002Fgaussian-splatting\u002F)\n* 🥽 **XR** - Built-in support for immersive AR and VR experiences via [WebXR](https:\u002F\u002Fdeveloper.playcanvas.com\u002Fuser-manual\u002Fxr\u002F)\n* ⚛️ **Physics** - Full integration with 3D rigid-body physics engine [ammo.js](https:\u002F\u002Fgithub.com\u002Fkripken\u002Fammo.js)\n* 🏃 **Animation** - Powerful state-based animations for characters and arbitrary scene properties\n* 🎮 **Input** - Mouse, keyboard, touch and gamepad APIs\n* 🔊 **Sound** - 3D positional sounds built on the Web Audio API\n* 📦 **Assets** - Asynchronous streaming system built on [glTF 2.0](https:\u002F\u002Fwww.khronos.org\u002Fgltf\u002F), [Draco](https:\u002F\u002Fgoogle.github.io\u002Fdraco\u002F) and [Basis](https:\u002F\u002Fgithub.com\u002FBinomialLLC\u002Fbasis_universal) compression\n* 📜 **Scripts** - Write game behaviors in TypeScript or JavaScript\n\n## Ecosystem\n\nBuild with PlayCanvas your way:\n\n| Package | Description |\n| ------- | ----------- |\n| [`playcanvas`](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fplaycanvas) | Core engine (you are here) |\n| [`@playcanvas\u002Freact`](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@playcanvas\u002Freact) | React renderer for PlayCanvas |\n| [`@playcanvas\u002Fweb-components`](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@playcanvas\u002Fweb-components) | Declarative 3D via Custom Elements |\n| [`create-playcanvas`](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fcreate-playcanvas) | Project scaffolding CLI |\n| [PlayCanvas Editor](https:\u002F\u002Fgithub.com\u002Fplaycanvas\u002Feditor) | Browser-based visual editor |\n\n## Project Showcase\n\n[Many games and apps](https:\u002F\u002Fgithub.com\u002Fplaycanvas\u002Fawesome-playcanvas) have been published using the PlayCanvas engine. Here is a small selection:\n\n[![Seemore](https:\u002F\u002Fs3-eu-west-1.amazonaws.com\u002Fimages.playcanvas.com\u002Fprojects\u002F14705\u002F319531\u002FO4J4VU-image-25.jpg)](https:\u002F\u002Fplaycanv.as\u002Fp\u002FMflWvdTW\u002F) [![After The Flood](https:\u002F\u002Fs3-eu-west-1.amazonaws.com\u002Fimages.playcanvas.com\u002Fprojects\u002F14928\u002F440410\u002F98554E-image-25.jpg)](https:\u002F\u002Fplaycanv.as\u002Fp\u002F44MRmJRU\u002F) [![Casino](https:\u002F\u002Fs3-eu-west-1.amazonaws.com\u002Fimages.playcanvas.com\u002Fprojects\u002F14928\u002F349824\u002FU88HJQ-image-25.jpg)](https:\u002F\u002Fplaycanv.as\u002Fp\u002FLpmXGUe6\u002F)  \n[![Swooop](https:\u002F\u002Fs3-eu-west-1.amazonaws.com\u002Fimages.playcanvas.com\u002Fprojects\u002F12\u002F4763\u002FTKYXB8-image-25.jpg)](https:\u002F\u002Fplaycanv.as\u002Fp\u002FJtL2iqIH\u002F) [![dev Archer](https:\u002F\u002Fs3-eu-west-1.amazonaws.com\u002Fimages.playcanvas.com\u002Fprojects\u002F12\u002F415995\u002F10A5A9-image-25.jpg)](https:\u002F\u002Fplaycanv.as\u002Fp\u002FJERg21J8\u002F) [![Gaussian Splat Statues](https:\u002F\u002Fs3-eu-west-1.amazonaws.com\u002Fimages.playcanvas.com\u002Fprojects\u002F12\u002F1224723\u002F266D9C-image-25.jpg)](https:\u002F\u002Fplaycanv.as\u002Fp\u002FcLkf99ZV\u002F)  \n[![Car](https:\u002F\u002Fs3-eu-west-1.amazonaws.com\u002Fimages.playcanvas.com\u002Fprojects\u002F12\u002F347824\u002F7ULQ3Y-image-25.jpg)](https:\u002F\u002Fplaycanv.as\u002Fp\u002FRqJJ9oU9\u002F) [![Star-Lord](https:\u002F\u002Fs3-eu-west-1.amazonaws.com\u002Fimages.playcanvas.com\u002Fprojects\u002F12\u002F333626\u002FBGQN9H-image-25.jpg)](https:\u002F\u002Fplaycanv.as\u002Fp\u002FSA7hVBLt\u002F) [![Global Illumination](https:\u002F\u002Fs3-eu-west-1.amazonaws.com\u002Fimages.playcanvas.com\u002Fprojects\u002F4373\u002F625081\u002F6AB32D-image-25.jpg)](https:\u002F\u002Fplaycanv.as\u002Fp\u002FZV4PW6wr\u002F )\n\nYou can see more games on the [PlayCanvas website](https:\u002F\u002Fplaycanvas.com\u002Fexplore).\n\n## Users\n\nPlayCanvas is used by leading companies in video games, advertising and visualization such as:  \n**Animech, Arm, BMW, Disney, Facebook, Famobi, Funday Factory, IGT, King, Miniclip, Leapfrog, Mojiworks, Mozilla, Nickelodeon, Nordeus, NOWWA, PikPok, PlaySide Studios, Polaris, Product Madness, Samsung, Snap, Spry Fox, Zeptolab, Zynga**\n\n## How to build\n\nEnsure you have [Node.js 18+](https:\u002F\u002Fnodejs.org) installed. Then, install all of the required Node.js dependencies:\n\n```sh\nnpm install\n```\n\nNow you can run various build options:\n\n| Command | Description | Outputs To |\n| ------- | ----------- | ---------- |\n| `npm run build` | Build all engine flavors and type declarations | `build` |\n| `npm run docs` | Build engine [API reference docs](https:\u002F\u002Fapi.playcanvas.com\u002Fengine\u002F) | `docs` |\n","PlayCanvas 是一个基于 WebGL2 和 WebGPU 的开源游戏引擎，用于创建跨平台的互动3D应用、游戏和可视化项目。其核心功能包括支持WebGL、WebGPU、WebXR以及glTF等现代Web图形技术，提供强大的渲染能力和丰富的API接口。该引擎特别适合需要在浏览器中实现高性能3D图形显示的应用场景，如在线游戏开发、虚拟现实体验或复杂的3D数据可视化项目。通过简单的安装步骤即可快速上手，并且提供了详尽的文档和示例代码帮助开发者入门。",2,"2026-06-11 02:53:35","top_language"]