three 整个场景可以深度拷贝吗
使用场景:
场景默认有个网格,坐标线,环境光
每次加载一个不同的场景,需要去清除场景中里面的scene.children对象(非网格,坐标线,环境光), 如果不是深拷贝,每次移除一个children的,foreach的length就会发生变化,部分想移除的children 就没移除
var objects =this.scene.children;
// 清除场景非默认初始化数据
objects.forEach(obj => {
if(obj.name ==='grid'|| obj.name ==='axisHelper'|| obj.name ==='ambientLight') return
this.removeObject(obj)
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
用filter吧
我现在的操作是把场景的所有children删除,然后在一次初始化网格,坐标线,环境光,总感觉这种做法太恶心,性能也不好,请问有其他的解决方案吗?如何深拷贝一个scene