1. Home
  2. /
  3. Playcanvas
  4. /
  5. Multiple Cubes

Multiple Cubes - Playcanvas Typing CST Test

Loading…

Multiple Cubes — Playcanvas Code

Adds multiple cubes to the scene in a row.

# playcanvas/demo/multiple_cubes.js
const app = new pc.Application(document.getElementById('canvas'));
app.start();

for (let i = -2; i <= 2; i++) {
	const cube = new pc.Entity();
	cube.addComponent('model', { type: 'box' });
	cube.setPosition(i * 2, 0, 0);
	app.root.addChild(cube);
}

Playcanvas Language Guide

PlayCanvas is a powerful, open-source 3D game engine and interactive content platform that runs entirely in the browser using WebGL/WebGPU. It enables real-time 3D games, simulations, AR/VR, and interactive visualizations without plugins.

Primary Use Cases

  • ▸Web-based 3D games and interactive experiences
  • ▸AR/VR content via WebXR
  • ▸3D product configurators and demos
  • ▸Online simulations and training platforms
  • ▸Real-time collaborative 3D editors

Notable Features

  • ▸Real-time collaborative cloud editor
  • ▸WebXR and VR/AR support
  • ▸Physically based rendering (PBR)
  • ▸Animation and particle systems
  • ▸Asset pipeline with textures, models, and scripts

Origin & Creator

PlayCanvas was originally created by Will Eastcott and Dave Evans in 2011, with ongoing development led by PlayCanvas Ltd.

Industrial Note

PlayCanvas is increasingly used in automotive configurators, online product visualizations, e-learning 3D content, browser-based games, and AR/VR experiences, reducing the need for native apps.

Quick Explain

  • ▸PlayCanvas provides a full 3D engine with rendering, physics, materials, animations, and scene management.
  • ▸It runs entirely in the browser leveraging WebGL (and optionally WebGPU) for high-performance graphics.
  • ▸Includes a cloud-based editor for collaborative 3D development and asset management.
  • ▸Supports WebXR for immersive AR/VR experiences.
  • ▸Lightweight and highly optimized, enabling deployment to web, mobile, and embedded platforms.

Core Features

  • ▸Entity-component system architecture
  • ▸WebGL 1/2 and WebGPU rendering backend
  • ▸Scripting via JavaScript
  • ▸Physics engine integration (Ammo.js, Cannon.js)
  • ▸Post-processing and camera effects

Learning Path

  • ▸Learn PlayCanvas editor basics
  • ▸Understand entities and components
  • ▸Practice scripting in JavaScript
  • ▸Create small interactive 3D scenes
  • ▸Build full-scale 3D game or simulation

Practical Examples

  • ▸Interactive 3D product configurator
  • ▸Browser-based 3D racing game
  • ▸Virtual training simulation
  • ▸WebXR AR furniture placement app
  • ▸Physics-driven particle system demo

Comparisons

  • ▸PlayCanvas vs Three.js: full engine + editor vs library only
  • ▸PlayCanvas vs Babylon.js: cloud collaboration vs desktop-first
  • ▸PlayCanvas vs Unity WebGL: lightweight browser-first vs large runtime
  • ▸PlayCanvas vs Godot HTML5 export: commercial support vs open-source desktop
  • ▸PlayCanvas vs WebGPU directly: abstraction + tools vs low-level API

Strengths

  • ▸Runs entirely in browser without plugins
  • ▸Easy collaboration in cloud editor
  • ▸High performance, lightweight engine
  • ▸Cross-platform deployment (web, mobile, embedded)
  • ▸Active community and plugin ecosystem

Limitations

  • ▸Web-only, not for native desktop apps
  • ▸Complex projects can become large and heavy
  • ▸Advanced shader editing limited without custom code
  • ▸Dependency on browser GPU and WebGL/WebGPU support
  • ▸Offline development limited compared to desktop engines

When NOT to Use

  • ▸Native desktop or console games
  • ▸Projects requiring heavy offline asset management
  • ▸When full shader control is required
  • ▸If advanced physics simulations are critical
  • ▸For extremely large AAA-quality projects

Cheat Sheet

  • ▸pc.Application - main engine entry point
  • ▸pc.Entity - scene object
  • ▸entity.addComponent('model', {...})
  • ▸entity.addComponent('script', {...})
  • ▸app.start() - start main loop

FAQ

  • ▸Can PlayCanvas run offline? -> Limited, editor requires cloud
  • ▸Does it support WebXR? -> Yes, fully
  • ▸Is PlayCanvas free? -> Open-source engine + free cloud plan
  • ▸Can it handle physics? -> Yes, via Ammo.js/Cannon.js
  • ▸Can I export my project? -> Yes, export HTML/CSS/JS package

30-Day Skill Plan

  • ▸Week 1: Editor & scene creation
  • ▸Week 2: Script components and input handling
  • ▸Week 3: Physics and animations
  • ▸Week 4: AR/VR and WebXR integration
  • ▸Week 5: Optimization and deployment

Final Summary

  • ▸PlayCanvas is a lightweight, browser-based 3D engine.
  • ▸Combines WebGL/WebGPU rendering with cloud collaboration.
  • ▸Ideal for web games, AR/VR, and interactive 3D content.
  • ▸Supports modern web technologies with high performance.
  • ▸Accessible, versatile, and easy to deploy online.

Project Structure

  • ▸index.html - optional HTML container for embedding
  • ▸main.js - entry script for game logic
  • ▸assets/ - models, textures, audio, scripts
  • ▸scenes/ - scene definitions
  • ▸scripts/ - custom behaviors and components

Monetization

  • ▸3D product configurators for SaaS
  • ▸Browser-based paid games
  • ▸AR/VR experiences with subscriptions
  • ▸Interactive educational content
  • ▸Premium visualization dashboards

Productivity Tips

  • ▸Reuse entities and scripts
  • ▸Leverage cloud editor for collaboration
  • ▸Optimize textures/models for web
  • ▸Profile often to avoid bottlenecks
  • ▸Keep scripts modular and maintainable

Basic Concepts

  • ▸Entity - core object in the scene
  • ▸Component - behavior or feature added to entity
  • ▸Script - JS code controlling entities/components
  • ▸Scene - collection of entities forming a level
  • ▸Asset - model, texture, audio, or script resource

Official Docs

  • ▸https://developer.playcanvas.com/
  • ▸https://playcanvas.com/docs/

More Playcanvas Typing Exercises

Simple PlayCanvas ScenePlayCanvas Spinning SpherePlayCanvas Directional LightPlayCanvas Ground PlanePlayCanvas Orbit CameraPlayCanvas Textured CubePlayCanvas Rotating CylinderPlayCanvas Bouncing SpherePlayCanvas Directional Light Shadow

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher