关于gltf/glb加载模型时,可以加入加载动画
-
如题,没找到相关API ,求大神给个思路
-
或者官方在教程中出个例子呗
-
需要怎么样的加载动画?在 web 环境中可以充分利用 css/svg 资源,一般直接利用 gif/svg/css 在页面中加载loading动画,模型加载后隐藏对应元素就行:
showSomeAnimation() // 显示 gif/svg/css/3d.. 动画 await Engine3D.res.loadGltf(url) // 等待加载完成 hideAnimation() // 隐藏动画
当然也可以是引擎中的自定义 3d/粒子/gui 动画等,具体要看项目需求,引擎层面不好给出统一方案
如果需要更详细的进度条动画,可以通过
loadGltf(url, option)
添加progress
进度回调 https://www.orillusion.com/guide/resource/Readme.html#下载进度回调showSomeAnimation() // 显示动画 await Engine3D.res.loadGltf(url, { onProgress: (receivedLength:number, contentLength:number, url:string) => { // 监听单个下载进度 receivedLength / contentLength // 修改对应动画的进度 // 对于 gltf 多文件的情况,可以手动维护 url 列表进行总体进度管理 }, onComplete: (url:string) => { // url对应的文件下载完成 // 如果是gltf多个文件,可以在这里判断整体下载进度 }, }) // 等待加载 hideAnimation() // 隐藏动画
-
@shuangliu 你这个url在react中是怎么得到的?我是用import 导入这个文件错误。使用“await Engine3D.res.loadGltf('./XXXXX.gltf')”,这个方法导入还是错误