Text3D
Render 3D text using ThreeJS's TextGeometry
.
Text3D will suspend while loading the font data. Text3D requires fonts in JSON format generated through typeface.json, either as a path to a JSON file or a JSON object. If you face display issues try checking "Reverse font direction" in the typeface tool.
<Text3D font={fontUrl} {...textOptions}>
Hello world!
<meshNormalMaterial />
</Text3D>
You can use any material. textOptions
are options you'd pass to the TextGeometry
constructor. Find more information about available options here.
You can align the text using the <Center>
component.
<Center top left>
<Text3D>hello</Text3D>
</Center>
It adds three properties that do not exist in the original TextGeometry
, lineHeight
, letterSpacing
and smooth. LetterSpacing is a factor that is 1
by default. LineHeight is in threejs units and 0
by default. Smooth merges vertices with a tolerance and calls computeVertexNormals.
<Text3D smooth={1} lineHeight={0.5} letterSpacing={-0.025}>{`hello\nworld`}</Text3D>