Estoy intentando "fusionar"/"agrupar" seleccionar varias mallas.
En este momento tengo algo como esto.
//envoltura
<group onPointerOver={(e) => getOverEvent(e)} onPointerOut={(e) => getOutEvent(e)} onPointerMissed={(e) => clickOutside(e)} onClick={(e) => clickEvent(e)} dispose={null} ref={group} > {children} </group>y los niños de la siguiente manera
<mesh castShadow receiveShadow geometry={nodes.shoe.geometry} material={materials.laces} name="1" /> <mesh castShadow receiveShadow geometry={nodes.shoe_1.geometry} material={materials.mesh} name="2" > </mesh> <mesh castShadow receiveShadow geometry={nodes.shoe_2.geometry} material={materials.caps} name="3" />Este resultado, por supuesto, es el deseado, ya que se cierne sobre la malla flotante.
sin embargo, también me gustaría poder agrupar ciertas mallas. He visto algo relacionado con lo que quiero hacer. https://github.com/pmndrs/drei#select
Básicamente, quiero agrupar las mallas 1 y 3, por ejemplo, de modo que si cualquiera de esas mallas se selecciona/se desplaza, se detecta que son del mismo grupo y se desplazan/resaltan ambas.
Usando la referencia de group , puede identificar a todos los niños usando
let my_group = group.current.getObjectByName("my_group") console.log(my_group.children) <group name="my_group"> <mesh castShadow receiveShadow geometry={nodes.shoe.geometry} material={materials.laces} name="1" /> <mesh castShadow receiveShadow geometry={nodes.shoe_1.geometry} material={materials.mesh} name="2" > </mesh> </group>