我制作了一个小型演示/样板,用于加载带有Threejs的自定义网格,并使用轨道控件进行检查。
这里的问题是,当旋转对象时,渲染循环似乎会爆炸,我无法弄清楚原因。
https://codepen.io/rosefalk/pen/ooBYme?editors=0010
function render() {
console.log('render')
canvasPosition = document.getElementById( "container" ).children;
renderer.render( scene, camera );
requestAnimationFrame( render );
}
如果你在控制台看一下,我会假装在你开始旋转之前每秒约60次呼叫,那么它会以极高的速度上升。
答案 0 :(得分:0)
解决方案 - 删除此部分:
controls.addEventListener( 'change', render );
当控件正在更新时,它会调用渲染,渲染调用本身并爆炸整个事件,添加大量额外调用。它只是在只更新用户交互场景时才有的残余。