关于 apply-conventions
面向 PlayCanvas 引擎开发的规范技能,整理坐标、API、相机、材质和边界相关指导,并强调在运行中的应用里验证结果。
主要功能
- 01坐标与朝向规范
- 02当前 PlayCanvas API 用法指导
- 03相机控制与视场角说明
- 04材质编辑与边界处理指导
- 05运行时验证实践
适用场景
- 01实现前核对引擎规范
- 02选择当前 PlayCanvas API
- 03排查模型朝向或灯光问题
- 04在运行中的应用验证视觉位置
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ playcanvas/ skills --skill apply-conventions安装后在 Claude Code 中输入/apply-conventions确认已加载。
详细介绍
引擎约定
针对版本敏感的 API,请查阅已安装的 playcanvas 声明。
坐标
- 右手坐标系,+Y 向上,单位为米。
entity.forward、摄像机和lookAt使用 -Z。 - 定向光和聚光灯沿局部 -Y 方向照射,默认垂直向下。使用
setEulerAngles调整方向,不要使用lookAt。 - glTF 模型通常朝向 +Z;使用
calibrate-model记录每个模型的偏航角。 - 角度 API 按 XYZ 顺序接收度数。将俯仰、偏航和翻滚作为应用状态保存;切勿将
getEulerAngles()的结果传回setEulerAngles()。使用math.lerpAngle或Quat.slerp进行插值。 - 在语义根节点上使用世界变换设置器,在父节点下方使用
setLocal*。不要缩放刚体根节点 或蒙皮骨骼。
当前 API
- 使用
render和anim组件,而不是model和animation。 - 使用 ESM
class X extends Script和static scriptName,而不是createScript。 - 使用
Mesh.fromGeometry(device, new BoxGeometry()),而不是createBox和其他create*助手函数。 - 从
playcanvas进行命名导入;已发布脚本仅从playcanvas/scripts/esm/**导入。
摄像机
- FOV 是垂直视角,默认值为 45°。编写控制代码前,请检查已发布的摄像机脚本
(
reuse-scripts)。
材质和边界
StandardMaterial.useMetalness默认为false;使用metalness前请启用它。- 修改属性后调用
material.update()。每个网格的值使用meshInstance.setParameter(), 无需更新或克隆。 - 编辑某些网格所用的共享材质(包括导入的材质)前,先克隆它们。
setParameter会上传原始值;使用Color#linear()转换 sRGB 颜色。- 默认剔除背面;逆时针绕序为正面。
- 实体没有
aabb;请合并其后代的meshInstance.aabb。如果mesh.update()跳过边界更新, 请自行设置mesh.aabb,并将任何顶点着色器位移纳入边界。
在运行中的应用中验证
离线值无法证明朝向、姿势或位置正确。使用 inspect-runtime 从运行中的应用读取数值,并且只根据你已检查过的截图判断视觉效果。保存的文件路径并不能作为证据。
评论
支持 Markdown