hola tengo un problema ㅠㅠ
Estoy usando transformcontrols en threejs. La situación actual se muestra en la siguiente figura
y este es mi codigo
transformControl.addEventListener( 'change', render ); renderer.domElement.addEventListener( 'mousedown', clickEvent ); function clickEvent( e ) { pointer.x = ( e.clientX / renderer.domElement.clientWidth ) * 2 - 1; pointer.y = - ( e.clientY / renderer.domElement.clientHeight ) * 2 + 1; raycaster.setFromCamera( pointer, camera ); let intersects = raycaster.intersectObjects( [Groups], true); if ( intersects.length > 0 ) { let object = intersects[0].object; scene.add(transformControl); for(let i = 0; i < object.parent.parent.children.length; i++){ if ( object.parent.parent.children[i].visible == true || object.parent.parent.children[i].scale == 1,1,1){ transformControl.attach(object.parent.parent) } if (object.parent.parent.children[i].visible == false || object.parent.parent.children[i].scale == 0,0,0){ transformControl.detach(object.parent.parent) } console.log(intersects) } } }este es mi codigo de boton
document.getElementById("reset1").addEventListener("click", function () { for(var i = 0; i < Group1.children.length; i++){ Group1.children[i].visible = false; Group1.children[i].scale.set(0,0,0) //scene.remove(transformControl); //transformControl.detach(object.parent.parent) } }); document.getElementById("reset2").addEventListener("click", function () { for(var i = 0; i < Group2.children.length; i++){ Group2.children[i].visible = false; Group2.children[i].scale.set(0,0,0) //scene.remove(transformControl); //transformControl.detach(object.parent.parent) } });Creé dos botones de reinicio y allí botón 1 = Grupo 1 botón 2 = Grupo 2
Quiero que los controles de transformación se separen solo en el grupo 1 cuando se presiona el botón 1
Visible = falso y escala = 0,0,0 se ponen como condiciones, y funciona cuando se presiona el botón. Y quiero agregar transformcontrols.detach aquí, pero transformcontrols no se encuentra. ¿Cómo puedo encontrarlo?
Sé que no es bueno mi código.
por favor ayudame