遍历未定义且性能滞后 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);
}
}
如果将变量hour
、min
和sec
设置为全局变量,则根本不需要遍历场景。那么您只需致电:
scene.remove( hour );
就在您添加新的 hour
网格之前。 min
和 sec
.
相同
此外,当您不渲染阴影时,您不应该 .shadowMapEnabled
。
它似乎在做它应该做的事情——遍历场景并更新网格——然而,它没有列出我在场景中的所有网格——尽管它们正在被渲染(奇怪)。它还给我错误消息,说它无法遍历场景(即使它正在运行并且正在运行)。我的表现很垃圾。我想我只是在接近这个错误。有什么建议吗?
这是 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);
}
}
如果将变量hour
、min
和sec
设置为全局变量,则根本不需要遍历场景。那么您只需致电:
scene.remove( hour );
就在您添加新的 hour
网格之前。 min
和 sec
.
此外,当您不渲染阴影时,您不应该 .shadowMapEnabled
。