遍历未定义且性能滞后 THREE.js 时钟? *虽然有效*

Traverse is undefined and performance lagging THREE.js Clock? *although it works*

它似乎在做它应该做的事情——遍历场景并更新网格——然而,它没有列出我在场景中的所有网格——尽管它们正在被渲染(奇怪)。它还给我错误消息,说它无法遍历场景(即使它正在运行并且正在运行)。我的表现很垃圾。我想我只是在接近这个错误。有什么建议吗?

这是 link 到 运行 的示例。 http://codepen.io/wpdildine/pen/ZGprWp

function checkSec(prevSec){
    var mat = new THREE.MeshPhongMaterial( { color: 0xff9000 } ); 
    var curTime = new Date();

    if (prevSec != curTime.getSeconds() || prevSec == null){
        scene.traverse(function(children){
            if (children instanceof THREE.Mesh && children.name == 'sec'){
                scene.remove(children)    
            }
        });           
        prevSec = curTime.getSeconds();
        prevSec = setZeros(prevSec);
        var secGeometry = new THREE.TextGeometry(":" + prevSec, {size:5, height:1});
        var sec = new THREE.Mesh( secGeometry, mat);
        sec.name = 'sec';
        sec.position.set(10,0,0);
        scene.add(sec);
    }        
}

如果将变量hourminsec设置为全局变量,则根本不需要遍历场景。那么您只需致电:

scene.remove( hour );

就在您添加新的 hour 网格之前。 minsec.

相同

此外,当您不渲染阴影时,您不应该 .shadowMapEnabled