本文へ移動
cccskills
無料GitHub で公開

build-app

Use when creating or restructuring a PlayCanvas app with the Engine API, @playcanvas/react, or @playcanvas/web-components, covering bootstrap, input, resize, physics, update loop, UI, and lifecycle.

インストール方法を見る

含まれるファイル(4)

  • SKILL.md2.2 KB
  • references/direct-engine.md728 B
  • references/react.md1.1 KB
  • references/web-components.md2.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Build an Engine application

Read package.json and the entry point, keep the surface that owns the lifecycle, and read only its reference: direct Engine, React, or Web Components. Choose from imports and markup, not dependencies.

Bootstrap

  • Input is opt-in. app.keyboard, mouse, touch, gamepads, and elementInput stay null unless passed to new Application(canvas, { ... }); UI buttons need new ElementInput(canvas).
  • The Engine adds no window resize listener; call app.resizeCanvas() from your own handler.
  • graphicsDevice.maxPixelRatio defaults to 1. Raise it, at most to window.devicePixelRatio, only where the target holds its frame budget, call app.resizeCanvas(), and confirm with canvas.width / canvas.clientWidth.
  • Rigid bodies stay inert until Ammo loads through WasmModule. Copy the loader from the physics/falling-shapes example with find-examples.
  • devtools defaults to true, so debugging tools can find the app (inspect-runtime). Set it to false only to hide a production build.

Update loop

  • dt is already clamped by app.maxDeltaTime (0.1 s); tune it instead of clamping by hand. app.timeScale scales it, and 0 pauses scaled time.
  • Keep app state explicit and owned in one place; advance time-dependent logic from dt, and reset through the same setup used at start.

UI

  • Render UI from app state; never keep the source of truth in the DOM or UI elements.
  • Use a DOM or React overlay, or Engine screen and element components adapted from a user-interface example.
  • Hide unused elements with enabled = false; an element at opacity 0 still draws.

Ownership

  • Keep one owner for app creation, assets, entities, update callbacks, and teardown.
  • Prefer the surface's declarative primitives. Put per-entity and per-frame behaviour in an Engine Script.
  • Remove external events and resources in the lifecycle that created them.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when adding visual effects to a PlayCanvas app, to choose between particle systems, shader chunks, runtime meshes, and post-processing.

日本語の概要は準備中です。原文の説明を表示しています。

playcanvas/skills252026年10月2日 更新

Use when writing PlayCanvas Engine code touching transforms, cameras, lights, materials, meshes, bounds, or imports, to apply Engine conventions and avoid legacy APIs.

日本語の概要は準備中です。原文の説明を表示しています。

playcanvas/skills252026年10月2日 更新

Use when composing PlayCanvas entity hierarchies from models, colliders, rigid bodies, and scripts, so each object has one semantic root and clear lifecycle.

日本語の概要は準備中です。原文の説明を表示しています。

playcanvas/skills252026年10月2日 更新

Use when static PlayCanvas lighting, shadows, or ambient occlusion cost too much per frame and should be baked into lightmaps.

日本語の概要は準備中です。原文の説明を表示しています。

playcanvas/skills252026年10月2日 更新

Use before repeatedly placing GLB models in PlayCanvas to record each asset's uniform scale, grounding offset, pivot compensation, and yaw once.

日本語の概要は準備中です。原文の説明を表示しています。

playcanvas/skills252026年10月2日 更新

Use before playing, blending, or retargeting GLB animation clips in PlayCanvas, or when diagnosing T-pose, frozen playback, or binding failures.

日本語の概要は準備中です。原文の説明を表示しています。

playcanvas/skills252026年10月2日 更新

playcanvas のスキルをすべて見る

このスキルの問題を報告する