Hello there,
I am upgrading my project from React 18 to React 19 and so I am upgrading all packages, and also r3f. Before I was using framer-motion-3d
to put an animation on <Group>
, but framer-motion-3d
has been discontinued and it does not support React 19.
Before I was doing that
import { Group, MathUtils } from 'three';
import { motion } from 'framer-motion-3d';
import { useMotionValue, useAnimate } from 'framer-motion';
export default function Scene() {
const [positionParent, animate] = useAnimate();
const scale = useMotionValue(0);
const x = useMotionValue(0);
const y = useMotionValue(0);
...
return (
<motion.group
ref={positionParent}
position={[x, y, 0]}
scale={scale}
>
...
</motion.group>
);
}
but it is no more viable becuase motion/react
does not support three.js dom elements.
Is there any other way if I want to stick the the declarative approach? Or should I just switch to useFrame()
?
Thanks!