如何在几何组件上调用 .rotateZ (不能开箱即用)或 .center (不接受任何参数)之类的方法。
<mesh position={[x, y, 0]}>
<shapeBufferGeometry attach="geometry" args={[shape]} rotateZ={3.14} />
<meshBasicMaterial attach="material" color={'#FF0000'} />
</mesh>
如何在几何组件上调用 .rotateZ (不能开箱即用)或 .center (不接受任何参数)之类的方法。
<mesh position={[x, y, 0]}>
<shapeBufferGeometry attach="geometry" args={[shape]} rotateZ={3.14} />
<meshBasicMaterial attach="material" color={'#FF0000'} />
</mesh>
我使用 onUpdate 道具将我的自定义几何图形居中并旋转
<shapeBufferGeometry args={[shape]} onUpdate={geometry => {
geometry.center()
geometry.rotateX(Math.PI / 2)
}} />
你调查useRef()
过吗?它存储对该对象的引用,因此您可以根据需要对其调用方法:
const geomRef = useRef();
const onButtonClick = () => {
// You might need to use .current
geomRef.current.rotateZ(Math.PI / 2);
}
然后您可以将此引用添加到您要指向的对象:
<mesh position={[x, y, 0]}>
<shapeBufferGeometry attach="geometry" args={[shape]} ref={geomRef} />
<meshBasicMaterial attach="material" color={'#FF0000'} />
</mesh>