动画脚本编辑器总览
ForeSim 的动画脚本编辑器用于驱动场景中的 AGV、小车、机械臂及其他对象,以脚本方式描述移动、装卸和动画播放等行为。本页概述执行入口、上下文变量、调试建议,并给出入门示例。
快速开始
- 在场景属性面板中打开动画脚本编辑器。
- 从左侧模板列表选择合适的脚本(示例位于
src/assets/templates/animationTemplates.js)。 - 调整对象名称、路径点等参数后点击“运行”。系统会注入常用管理器实例,以便脚本直接调用。
示例:完整的 AGV 搬运流程
async function agvTransportAnimation() {
const carryName = "item1";
const carrierName = "carrier2";
const waypoints = ["Point_1", "Point_2", "Point_3", "Point_4", "Point_5"];
await agvManager.moveCarrier(carrierName, waypoints.slice(0, 1));
agvManager.pickupItem(carrierName, carryName, {x: -1, y: 0, z: 0});
await agvManager.moveCarrier(carrierName, waypoints.slice(1));
agvManager.dropItem(carryName, waypoints.at(-1));
await agvManager.moveCarrier(carrierName, [...waypoints].reverse());
}
agvTransportAnimation();
提示:脚本通过
new Function执行,不支持顶层await。建议使用自调用的async函数来串联异步操作。
运行时注入对象
| 名称 | 说明 |
|---|---|
editor (ForesimEditor) | 场景操作入口,提供 getByName 查询对象等功能。 |
gsap | GSAP 补间动画实例,可用于复杂的过渡。 |
runAGV | 绑定自 agvManager.runAGV,便于直接启动完整搬运流程。 |
agvManager | AGV 脚本管理器,负责单车路径、装卸、搬运。 |
agvBoxManager | AGV 编队拖拽管理器,维护拖车链和批量卸载。 |
agvCurePathManager | AGV 曲线路径拖拽管理器,适用于柔性路线。 |
acs (AnimationCommonScriptManager) | 通用动画播放接口。 |
oms (ObjectManagerScript) | 场景对象挂载与拆卸接口。 |
fcs (ForeSimCommonScriptManager) | 平台通用脚本,访问自定义数据表等。 |
编写脚本的建议
- 对象命名一致:所有接口依赖场景对象名称,建议集中声明并复用常量。可通过
editor.getByName()在脚本开头校验。 - 异步流程串联:
moveCarrier、runAGV等返回Promise,使用await确保动作顺序,必要时捕获异常并输出日志。 - 容错与日志:API 通常返回
{ success, error }。对success === false的情况及时console.error,结合 UI 提示排查问题。 - 调试技巧:
- 使用
console.table打印路径点数组或载荷配置。 - 利用
requestAnimationFrame实现逐帧调试或编写自定义时间线。 - 在复杂脚本中拆分函数、封装公共逻辑,便于复用。
- 使用
接下来可根据需要阅读各脚本管理器的详细 API 文档。