0

如何在几何组件上调用 .rotateZ (不能开箱即用)或 .center (不接受任何参数)之类的方法。

<mesh position={[x, y, 0]}>
    <shapeBufferGeometry attach="geometry" args={[shape]} rotateZ={3.14} />
    <meshBasicMaterial attach="material" color={'#FF0000'} />
</mesh>
4

2 回答 2

0

我使用 onUpdate 道具将我的自定义几何图形居中并旋转

<shapeBufferGeometry args={[shape]} onUpdate={geometry => {  
    geometry.center()
    geometry.rotateX(Math.PI / 2)
    }} />
于 2021-10-23T06:16:52.693 回答
0

调查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>

于 2020-11-17T02:03:23.550 回答