SuperAPI AI 工具集

babylonjs

编程与开发

查看项目

更新于 10-15 20:30

技能介绍

用途:面向使用 Babylon.js 8 进行 Web 3D 开发的场景,提供经过整理的 API 模式、代码示例和按需文档访问。引擎为开源,版本 8 支持 WebGL2 与 WebGPU,坐标系为左手系(X 向右、Y 向上、Z 向前),旋转使用弧度。

主要能力:覆盖引擎与场景初始化(Engine、Scene、ArcRotateCamera、HemisphericLight)、网格构建(球体、地面、Capsule 等)、PBR/Standard 材质与贴图、glTF/OBJ/STL 资产加载、GUI 控件、动画与骨骼动画、Observable 事件系统,以及细实例(thin instances)高性能批处理、性能与内存优化等。NPM 包包括 @babylonjs/core、@babylonjs/gui、@babylonjs/loaders、@babylonjs/materials、@babylonjs/inspector。

必要用法:支持深层路径导入以利于 tree-shaking,例如 import { Scene } from "@babylonjs/core/scene"; 部分特性需副作用导入,如 import "@babylonjs/core/Meshes/thinInstanceMesh";。最小场景:const engine = new Engine(canvas, true); const scene = new Scene(engine); 相机调用 camera.attachControl(canvas, true); 通过 engine.runRenderLoop(() => scene.render()); 渲染,监听 resize 调用 engine.resize()。程序化建模建议先在关节处建立 TransformNode 再挂接几何体;CSG2 布尔运算需先 await InitializeCSG2Async()。

适用场景与限制:适合在代码中构建或加载 3D 模型、材质、动画和界面,以及高并发实例渲染。注意事项:设置 rotationQuaternion 会禁用 rotation;Babylon.js 不会自动回收 GPU 资源,需对网格、材质、贴图调用 .dispose();共享材质修改会影响所有使用者;透明网格需处理渲染顺序;细实例不支持逐实例可见性、单一包围盒与逐实例材质;负缩放会翻转三角形绕序。Havok 物理、WebXR、后期处理、粒子系统、人群导航、Node Geometry、Frame Graph、Flow Graph、高斯泼溅等主题仅在在线文档中提供。