Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

外部模型导入后保存,再次加载模型渲染结果有误 #47

Closed
waded3 opened this issue Oct 17, 2023 · 5 comments
Closed

外部模型导入后保存,再次加载模型渲染结果有误 #47

waded3 opened this issue Oct 17, 2023 · 5 comments
Labels
优化 功能优化 提问 获取更多信息

Comments

@waded3
Copy link

waded3 commented Oct 17, 2023

建模工具自制glb模型,上传模型库并导入场景保存,再次加载,渲染模型结果有时正常,有时不正常(部分模型位置不对或缩放比例有误)。
正常
位置偏离
放大
@vis-three/middleware用的版本是0.6.9,项目运行没有错误,渲染模型效果如上面图片(第一张是正常的)。
@vis-three/middleware用0.6.17或最新版本,会报错,渲染不出模型,错误信息如下:
0 6 17版本错误

@Shiotsukikaedesari
Copy link
Collaborator

此issue已归类为“提问”标签,请进入赞助、合作、通知群进行 issue 完成度与回报模式确认,QQ:586362945,详细issue流程请参照README.md。

@Shiotsukikaedesari Shiotsukikaedesari added 优化 功能优化 提问 获取更多信息 labels Oct 17, 2023
@Shiotsukikaedesari
Copy link
Collaborator

关于模型渲染有时正常,有时不正常的问题,这个是由于three.js提供的glb,gltfLoader的问题导致的。

问题原因:

three.js的glbLoader和gltfLoader的解析返回模型的顺序是使用的无序promise返回,这就会导致每次loader出来的模型在资源跟踪上出现混乱。

解决方法:

修改three.js提供的glbLoader和glftLoader,可以统一使用promise.all返回,这样可以固定返回顺序,可以在解析前注入顺序标记,然后装饰一下返回场景,按照顺序标记重新排序一下模型children。或者你可以使用自己的方案,保证每次的解析完的场景结构固定就行。

关于使用新版本@vis-three/middleware产生的栈溢出问题,报错上看暂时不知道原因,请定位到项目本地的报错位置。

@Shiotsukikaedesari
Copy link
Collaborator

自定义的loader可以参照文档相关api:https://vis-three.github.io/docs/library/plugins/plugin-loader-manager.html

进行动态的loader替换。

@waded3
Copy link
Author

waded3 commented Nov 7, 2023

更新代码并重新安装依赖,后运行编辑器工程,进入编辑器主界面,控制台报如下错误:
报错1
找到项目代码报错位置,注释了immediate: true,控制台不报错。
修改
但是导入上传模型或者加载基础几何物体(如立方体等),都会报栈溢出错误。
报错2
请问下本项目的正确打开运行方式?

@Shiotsukikaedesari
Copy link
Collaborator

栈溢出的问题一般是@vis-three/middleware版本问题,新版本在结合层需要通过defineOption处理,参考文档修改:https://vis-three.github.io/docs/start/combine.html

其他问题参考: #45

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
优化 功能优化 提问 获取更多信息
Projects
None yet
Development

No branches or pull requests

2 participants