Three.js:在traverse()中修改对象的陷阱

Three.js:在traverse()中修改对象的陷阱

💡 原文英文,约200词,阅读约需1分钟。
📝

内容提要

在使用traverse()方法移除场景子对象时,因动态修改子对象数组导致只移除一个子对象。建议先收集要移除的子对象,再统一移除。Three.js文档指出不建议在回调中修改场景图。

🎯

关键要点

  • 使用traverse()方法移除场景子对象时,动态修改子对象数组会导致只移除一个子对象。
  • 建议先收集要移除的子对象,再统一移除。
  • Object3D.traverse()是一个动态过程,子对象数组的长度会动态变化。
  • 在遍历过程中移除子对象会导致遍历迭代出错。
  • Three.js文档指出不建议在回调中修改场景图。
➡️

继续阅读