gpt4 book ai didi

javascript - Threejs如何使用WireframeHelper删除线框

转载 作者:行者123 更新时间:2023-12-03 12:21:55 24 4
gpt4 key购买 nike

我有一个为对象添加线框的函数,因此我使用以下函数来执行此操作,第一个条件是它正在工作并且我可以应用线框

 function wireframe(state){


if(state=='on')
{
var wfh = new THREE.WireframeHelper( mesh, 0xf00e0e );
wfh.material.wireframe = true;
//wfh.material.linewidth = 1; // looks much better if your PC will support it
scene.add( wfh );

}
if(state=='off')
{
var wfh1 = new THREE.WireframeHelper( mesh,0xf00e0e );
wfh1.material.wireframe = false;
scene.remove(wfh1);
}

}

在第二种情况下,我想删除对象上应用的线框,因此使用 scene.remove(wfh1); 删除场景,但它不起作用。线框不会从对象中删除。

最佳答案

我想这就是你想要的。您需要一个全局变量来存储线框对象,只需为其分配一次值(if 语句),然后有选择地添加它或将其从场景中删除。

var wfh;

function wireframe (state) {

if ( state=='on' )
{
if ( wfh === `undefined` ) // so you dont add a new wfh each time you call wireframe
wfh = new THREE.WireframeHelper( mesh, 0xf00e0e );

scene.add( wfh );
}
else if ( state=='off' )
{
scene.remove( wfh );
}
}

关于javascript - Threejs如何使用WireframeHelper删除线框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24407374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com