archilogic-com / 3dio-js

JavaScript toolkit for interior apps

Home Page:https://3d.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

updateOnBake creates duplicated elements which overlap each other and flicker

hristian7 opened this issue · comments

How to Reproduce
We’re trying to import a scene for a project, even though it works with the app creator (https://app.3d.io/yoN02T), doing it in code via io3d.scene.getAframeElements causes 2 models to appear on top of each other with no apparent cause, so the polygons just flicker annoyingly.
It seems like the second model comes from https://github.com/archilogic-com/3dio-js/blob/master/src/scene/structure/to-aframe-elements.js#L315-L327, and is being updated asynchronously as the light baking status is resolved. However, that code does not hide the original element, therefor making both the baked and unbaked version appear simultaneously. For other scenes, with bake status “done”, this isn’t the case and only the baked version is correctly displayed.

Actual Result
Elements are duplicated and overlap each other resulting in a flickering visuals

Expected Result
Only the baked versions of the elements should be visible and looking good.

I looked into using the following jsfiddle to reproduce the problem https://jsfiddle.net/nnc083nL/3/.

Currently there's an issue with baking models where the bakeStatus can get out of sync. If you save the model before the baking completed then the status does not correctly get updated as done.

For now you can fix this by reopening your model in the editor and saving it again. Let me know if this doesn't resolve the problem.