php销毁three.js量,javascript – ThreeJS:从场景中删除对象
我使用ThreeJS開發(fā)一個(gè)Web應(yīng)用程序,顯示實(shí)體的列表,每個(gè)都有相應(yīng)的“查看”和“隱藏”按鈕;例如entityName視圖隱藏。當(dāng)用戶單擊“查看”按鈕時(shí),將調(diào)用以下函數(shù)并在屏幕上成功繪制實(shí)體。
function loadOBJFile(objFile){
/* material of OBJ model */
var OBJMaterial = new THREE.MeshPhongMaterial({color: 0x8888ff});
var loader = new THREE.OBJLoader();
loader.load(objFile, function (object){
object.traverse (function (child){
if (child instanceof THREE.Mesh) {
child.material = OBJMaterial;
}
});
object.position.y = 0.1;
scene.add(object);
});
}
function addEntity(object) {
loadOBJFile(object.name);
}
點(diǎn)擊隱藏按鈕,調(diào)用以下函數(shù):
function removeEntity(object){
scene.remove(object.name);
}
問(wèn)題是,當(dāng)點(diǎn)擊“隱藏”按鈕時(shí),實(shí)體不會(huì)從屏幕上移除。我可以做什么讓隱藏按鈕工作?
我做了小實(shí)驗(yàn)。我添加了scene.remove(object.name); right after scene.add(object);在addEntity函數(shù)中,作為結(jié)果,當(dāng)“視圖”按鈕單擊時(shí),沒(méi)有實(shí)體繪制(如預(yù)期),意味著scene.remove(object.name);在addEntity中工作正常。但仍然我無(wú)法弄清楚如何使用它在removeEntity(對(duì)象)。
另外,我檢查scene.children的內(nèi)容,它顯示:[object Object],[object Object],[object Object],[object Object],[object Object]
請(qǐng)問(wèn),如果需要更多的細(xì)節(jié)。我測(cè)試了rev-59-dev和rev-60的ThreeJS。
謝謝。 🙂
總結(jié)
以上是生活随笔為你收集整理的php销毁three.js量,javascript – ThreeJS:从场景中删除对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 胚芽米是什么?
- 下一篇: oracle dataguard in-