跳到正文
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(原文)

安装前可以查看交给 AI 代理的指令内容。

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.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

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

中文简介正在准备中。当前显示原文说明。

playcanvas/skills282026年10月13日 更新

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

中文简介正在准备中。当前显示原文说明。

playcanvas/skills282026年10月13日 更新

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

中文简介正在准备中。当前显示原文说明。

playcanvas/skills282026年10月13日 更新

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

中文简介正在准备中。当前显示原文说明。

playcanvas/skills282026年10月13日 更新

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

中文简介正在准备中。当前显示原文说明。

playcanvas/skills282026年10月13日 更新

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

中文简介正在准备中。当前显示原文说明。

playcanvas/skills282026年10月13日 更新

查看 playcanvas 的全部技能

报告此技能的问题