自定义脚本
脚本面板面向高级用户,支持为选中的 3D 对象编写自定义 JavaScript 代码,实现编辑器内置功能无法实现的高级交互效果。
使用前提
- 必须先在场景中选中一个 3D 对象
- 未选中任何对象时面板显示空状态提示
脚本编写
代码编辑器
- 内嵌 Monaco 代码编辑器(VS Code 同款内核)
- 支持语法高亮、自动补全、错误提示
- 支持 JavaScript / TypeScript 语法
可用 API
- this — 当前选中的 Object3D 对象
- scene — 整个 Three.js 场景实例
- camera — 当前相机对象
- renderer — WebGL 渲染器实例
- THREE — Three.js 库的完整命名空间
生命周期钩子
- onInit() — 对象初始化时执行
- onUpdate(delta) — 每帧渲染时执行(delta 为帧间隔秒数)
- onClick() — 用户点击此对象时执行
- onHover() — 鼠标悬停时执行
应用示例
- 自定义旋转动画:在 onUpdate 中修改 rotation
- 交互变色:在 onClick 中切换材质颜色
- 物理模拟:在 onUpdate 中实现简单的重力/弹跳效果
- 数据联动:通过 fetch 加载外部 API 数据并实时更新模型状态