Html labels
Displaying HTML labels over a scene using Drei’s Html component. Fork on Codesandbox
Live example
Coming Soon
Code
import React, { useRef } from "react";
import ReactDOM from "react-dom";
import { Canvas, useFrame } from "react-three-fiber";
import { Html, Stats } from "@react-three/drei";
import "./styles.css";
const Torus = (props) => {
const groupRef = useRef();
useFrame(() => {
groupRef.current.rotation.x += 0.01;
groupRef.current.rotation.y += 0.01;
});
return (
<group ref={groupRef}>
<mesh {...props}>
<torusGeometry args={[1, 0.2, 12, 36]} />
<meshStandardMaterial color={"red"} />
<Html>
<div className="label">Torus</div>
</Html>
</mesh>
</group>
);
};
const App = () => {
return (
<Canvas style=>
<pointLight position={[5, 5, 5]} />
<Torus position={[2, 0, 0]} />
<Stats />
</Canvas>
);
};
ReactDOM.render(<App />, document.getElementById("root"));
Running this example
Clone this repo, and then NPM install and NPM start from the relevant directory.
$ cd examples/other/html-labels
$ npm install && npm run start