外部模型导入后保存,再次加载模型渲染结果有误
waded3 opened this issue · comments
此issue已归类为“提问”标签,请进入赞助、合作、通知群进行 issue 完成度与回报模式确认,QQ:586362945,详细issue流程请参照README.md。
关于模型渲染有时正常,有时不正常的问题,这个是由于three.js提供的glb,gltfLoader的问题导致的。
问题原因:
three.js的glbLoader和gltfLoader的解析返回模型的顺序是使用的无序promise返回,这就会导致每次loader出来的模型在资源跟踪上出现混乱。
解决方法:
修改three.js提供的glbLoader和glftLoader,可以统一使用promise.all返回,这样可以固定返回顺序,可以在解析前注入顺序标记,然后装饰一下返回场景,按照顺序标记重新排序一下模型children。或者你可以使用自己的方案,保证每次的解析完的场景结构固定就行。
关于使用新版本@vis-three/middleware产生的栈溢出问题,报错上看暂时不知道原因,请定位到项目本地的报错位置。
自定义的loader可以参照文档相关api:https://vis-three.github.io/docs/library/plugins/plugin-loader-manager.html
进行动态的loader替换。
栈溢出的问题一般是@vis-three/middleware版本问题,新版本在结合层需要通过defineOption处理,参考文档修改:https://vis-three.github.io/docs/start/combine.html
其他问题参考: #45