#reactjs #three.js #react-three-fiber
Вопрос:
Я пытаюсь включить демпфирование OrbitControls
, используя @react-three/drei
rotateSpeed
Атрибут работает так, как ожидалось, но мне трудно понять, почему то же самое не относится к dampingFactor
атрибуту. Я считаю, что все настроил правильно, но коэффициент демпфирования по-прежнему не применяется. Вот пример кода:
const AppCanvas = () => {
const controls = useRef()
return (
<Canvas
camera={{
fov: 40,
near: 0.1,
position: [0, 1.6, .7],
zoom: 1,
}}
>
<Suspense fallback={null}>
<Scene center={[0, 1.6, 0]} />
<OrbitControls
ref={controls}
target={[0, 1.58, 0]}
enabled={true}
enablePan={false}
minDistance={.5}
maxDistance={2}
dampingFactor={0.05}
rotateSpeed={0.5}
/>
</Suspense>
</Canvas>
)
}
ИЗМЕНИТЬ: Похоже, это проблема, связанная с GSAP ScrollTrigger. Когда AppCanvas
компонент используется внутри закрепленной секции, это, по-видимому, нарушает поведение демпфирования. Полагаю, что эта проблема может быть связана с состоянием загрузки компонентов.