如何使用 three.js loader.load 函数隐藏场景中的 json 个对象?
How do I hide json objects on a scene with three.js loader.load function?
我有很多 json 文件,我使用 three.js 加载了 loader.load。当我单击对应于 json 文件名的文本内容时,它们会显示出来。
如何通过第二次单击卸载或隐藏对象?
这是我的代码:
document.getElementById("dest").getElementsByTagName("span").onclick = function(element, key) {myFunction()};
function myFunction() {
document.getElementById("dest").getElementsByTagName("span").height = "100%";
var t = event.target.textContent;
var a = t.slice(1,t.length-1);
path = 'examples/brain_parts/' + groupNames[a] + '.json';
loader.load( path,
function ( geometry, materials, data ) {
var material = new THREE.MultiMaterial( materials );
var object = new THREE.Mesh( geometry, material );
object.scale.set(5,5,5);
object.position.set( 0, 0, 0 );
scene.add( object );
render();
})
}
var a = t.slice(1,t.length-1);
var objName = "groupNames" + a;
然后遍历场景,寻找属性"name"等于objName值的对象。或者你可以
var obj = scene.getObjectByName( objName );
如果您找到了,请将其删除,如果您没有找到,请致电
loader.load(...
var object = new THREE.Mesh( geometry, material );
object.name = objName;
...
);
我有很多 json 文件,我使用 three.js 加载了 loader.load。当我单击对应于 json 文件名的文本内容时,它们会显示出来。
如何通过第二次单击卸载或隐藏对象?
这是我的代码:
document.getElementById("dest").getElementsByTagName("span").onclick = function(element, key) {myFunction()};
function myFunction() {
document.getElementById("dest").getElementsByTagName("span").height = "100%";
var t = event.target.textContent;
var a = t.slice(1,t.length-1);
path = 'examples/brain_parts/' + groupNames[a] + '.json';
loader.load( path,
function ( geometry, materials, data ) {
var material = new THREE.MultiMaterial( materials );
var object = new THREE.Mesh( geometry, material );
object.scale.set(5,5,5);
object.position.set( 0, 0, 0 );
scene.add( object );
render();
})
}
var a = t.slice(1,t.length-1);
var objName = "groupNames" + a;
然后遍历场景,寻找属性"name"等于objName值的对象。或者你可以
var obj = scene.getObjectByName( objName );
如果您找到了,请将其删除,如果您没有找到,请致电
loader.load(...
var object = new THREE.Mesh( geometry, material );
object.name = objName;
...
);