Я хотел бы, чтобы React Spring анимировал свойство материала в Three. js.
Однако при попытке сделать это я получаю сообщение об ошибке:
THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.
Вот мой код, я пытаюсь оживить props.theta
от 6.3 до 1.3:
import React, { useRef, useState, useEffect } from 'react';
import { useFrame } from 'react-three-fiber';
import { useSpring, a } from 'react-spring/three';
function RingBuffer() {
const ringBuffer = useRef();
const props = useSpring({
to: async (next, cancel) => {
await next({ theta: 1.3 });
},
from: { theta: 6.3 },
});
useFrame(() => {
ringBuffer.current.rotation.z += 0.03;
});
return (
<a.mesh ref={ringBuffer}>
<a.ringBufferGeometry attach="geometry" args={[1, 2, 30, 30, 0, props.theta]} />
<meshLambertMaterial attach="material" wireframe={true} color={'#4FFF9C'} />
</a.mesh>
);
}
Я использую response-three-fiber, который является согласователем реакции для Three. js.