在three.js中从场景中移除/添加对象
我正在尝试从场景中添加或删除对象:在three.js中从场景中移除/添加对象,three.js,Three.js,我正在尝试从场景中添加或删除对象: const rootObject = this.scene.getObjectByName('Object Group'); rootObject.remove(obj);// OR rootObject.add(obj); 我所观察到的是,为了让变化在场景中可见,用户需要执行一些操作,比如平移或缩放等 如何在不需要手动操作的情况下使更改立即可见?看起来场景不是在动画循环中重画,而是在某些事件中重画(单击、平移或缩小/缩小等) 因此,在添加或删除对象时,需要
const rootObject = this.scene.getObjectByName('Object Group');
rootObject.remove(obj);// OR rootObject.add(obj);
我所观察到的是,为了让变化在场景中可见,用户需要执行一些操作,比如平移或缩放等
如何在不需要手动操作的情况下使更改立即可见?看起来场景不是在动画循环中重画,而是在某些事件中重画(单击、平移或缩小/缩小等) 因此,在添加或删除对象时,需要强制渲染帧。例如:
document
.getElementById('toggle')
.addEventListener('click', function() {
if (obj) {
removeObject()
} else {
addObject()
}
renderer.render(scene, camera);
})
[]“看起来场景正在重画,而不是在动画循环中”……这让我找到了根本原因。谢谢