# 3D模型展示SDK - 纯JavaScript版 基于 BabylonJS 的轻量模型展示 SDK,支持加载 GLB/GLTF、播放动画、控制相机/灯光,并附带截图、录制与 ARKit 调试能力。数字人和翻译/字幕相关逻辑已移除,仅保留通用的模型展示能力。 ## 项目结构 - `index.html`:开发示例页(直接引用 `src/main.ts`) - `dist/test.html`:构建后的示例页(引用 `dist/assets/index.js`) - `src/main.ts`:SDK 对外入口,挂载到 `window.faceSDK.kernel` - `src/babylonjs`、`src/managers`:引擎、场景、动画等核心模块 ## 快速开始 1. 安装依赖:`npm install` 2. 启动本地预览(任选其一): - `npm run dev` - 或 `python -m http.server 8080` 后访问 `http://localhost:8080` 3. 打开 `index.html`(开发)或 `dist/test.html`(构建产物)查看示例控制面板。 ## 初始化示例 ```js await faceSDK.kernel.init({ container: 'renderDom', modelUrlList: [ '/1104_01_Exp/head_a01/head_a01.gltf', '/1104_01_Exp/shoes_e01/shoes_e01.gltf', '/1104_01_Exp/bottom_a01/bottom_a01.gltf', '/1104_01_Exp/hair_a01/hair_a01.gltf', '/1104_01_Exp/top_f01/top_f01.gltf' ], animationUrlList: ['/idle/G001@Idle.glb'], apiConfig: { name: '你的用户名', readLocalResource: true }, enableExpression: false, onSuccess: () => console.log('加载完成'), onError: (err) => console.error('加载失败', err) }); ``` ## 常用 API - `playAnimation(url)` / `stopAnimation()`:加载并播放/停止动画 - `setAnimationSpeed(speed)`:调整播放速度 - `setCameraPreset('full' | 'head' | 'upper')` / `resetCamera()`:相机预设与重置 - `setLightIntensity(value)`、`setHDRIntensity(value)`、`rotateHDR(angle)`、`loadHDR(path)`:灯光与环境控制 - `captureScreenshot(type, quality)` / `downloadScreenshot(filename, type, quality)`:截图 - `startRecording(options)` / `stopRecording()` / `downloadRecording(filename)`:录屏 - `enableARKit()`、`showARKitPanel()`、`connectARKitServer(url)`:ARKit 表情调试(可选) 更多接口可查看 `src/main.ts` 注释。 ## 示例控制面板 - 动画 URL:输入 GLB/GLTF 动画地址并播放 - 播放速度:0.5x - 3x - 相机预设:全身 / 头部 / 上半身 / 重置 - 灯光强度:调整场景亮度 - ARKit 调试:连接、显示面板、断开(需要本地 ARKit 数据) ## 许可证 MIT License