我正在尝试“合并”/“组”选择多个网格。
现在我有这样的事情。
//包装器
<group
onPointerOver={(e) => getOverEvent(e)}
onPointerOut={(e) => getOutEvent(e)}
onPointerMissed={(e) => clickOutside(e)}
onClick={(e) => clickEvent(e)}
dispose={null}
ref={group}
>
{children}
</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>
<mesh
castShadow
receiveShadow
geometry={nodes.shoe_2.geometry}
material={materials.caps}
name="3"
/>
当然,这个结果是需要的,因为它悬浮在悬空的网格上。
然而,我也希望能够分组悬停某些网格,我看到了一些与我想要做的事情有关的东西。https://github.com/pmndrs/drei#select
基本上,我想分组网格1和3,例如,如果这些网格被选中/悬停,它们被检测到它们属于同一组,并悬停/突出显示它们。
发布于 2022-06-03 07:13:02
使用group
参考文件,您可以使用
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>
https://stackoverflow.com/questions/72443317
复制相似问题