php销毁three.js量,javascript – ThreeJS:从场景中删除对象
我使用ThreeJS開發一個Web應用程序,顯示實體的列表,每個都有相應的“查看”和“隱藏”按鈕;例如entityName視圖隱藏。當用戶單擊“查看”按鈕時,將調用以下函數并在屏幕上成功繪制實體。
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);
}
點擊隱藏按鈕,調用以下函數:
function removeEntity(object){
scene.remove(object.name);
}
問題是,當點擊“隱藏”按鈕時,實體不會從屏幕上移除。我可以做什么讓隱藏按鈕工作?
我做了小實驗。我添加了scene.remove(object.name); right after scene.add(object);在addEntity函數中,作為結果,當“視圖”按鈕單擊時,沒有實體繪制(如預期),意味著scene.remove(object.name);在addEntity中工作正常。但仍然我無法弄清楚如何使用它在removeEntity(對象)。
另外,我檢查scene.children的內容,它顯示:[object Object],[object Object],[object Object],[object Object],[object Object]
請問,如果需要更多的細節。我測試了rev-59-dev和rev-60的ThreeJS。
謝謝。 🙂
總結
以上是生活随笔為你收集整理的php销毁three.js量,javascript – ThreeJS:从场景中删除对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 胚芽米是什么?
- 下一篇: php变量赋值有几种,【后端开辟】php