useFrame
Import
import { useFrame } from '@react-three/fiber'
Video Lecture
| Section | Video Links |
|---|---|
| useFrame Hook | |
(Pay Per View)
Description
The useFrame hook is a React Three Fiber hook, and is useful if you want to execute code before every rendered frame.
In this example we will transform the mesh's rotation.
When React calls our useFrame hook, it gives us a state object of the Three.js scene, and a clock delta indicating how many milliseconds since the last time the delta was set. The delta time shows the milliseconds between renders and can be used to change an object over time at a consistent speed independent of the clients frame rate.
E.g., you could move an object at a speed of 10 units per second.
ref.current.position.x += 10 * delta
The useFrame hook will be invoked after the JSX is converted into Three.js objects and just before the current frame is rendered to the canvas.
The useFrame hook is invoked continually, and on desktop, will try to maintain a rate of 60 frames per second.
./src/Box.jsx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Working Example
Useful Links
| useFrame | docs.pmnd.rs | sbedit.net |
| THREE.Clock | threejs.org | |
| THREE.Object3D | threejs.org | sbcode.net |
GitHub Branch
git clone https://github.com/Sean-Bradley/React-Three-Fiber-Boilerplate.git
cd React-Three-Fiber-Boilerplate
git checkout useFrame
npm install
npm start































