You are reading Tres v1 docs. Head over tresjs.org for V2 docs.
Skip to content
On this page

Text3D ^1.1.0

<Text3D /> is a component that renders a 3D text. It is a wrapper around the TextGeometry class.

Loading...

Usage

To use the <Text3D /> component you need to pass the font prop with the URL of the font JSON file you want to use. TextGeometry uses typeface.json generated fonts, you can generate yours here

vue
<template>
  <TresCanvas>
    <TresScene>
      <Text3D text="TresJS" font="/fonts/FiraCodeRegular.json">
        <TresMeshNormalMaterial />
      </Text3D>
    </TresScene>
  </TresCanvas>
</template>

Notice that you need to pass the <TresMeshNormalMaterial /> component as a child of the <Text3D /> component. This is because <Text3D /> is a Mesh component, so it needs a material. The geometry is created automatically. Also you can pass the text as a slot or as a prop like this:

vue
<template>
  <TresCanvas>
    <TresScene>
      <Text3D font="/fonts/FiraCodeRegular.json">
        TresJS
        <TresMeshNormalMaterial />
      </Text3D>
    </TresScene>
  </TresCanvas>
</template>

Props [1]

PropDescriptionDefault
fontThe font data or font name to use for the text.
textThe text to display.
sizeThe size of the text.0.5
heightThe height of the text.0.2
curveSegmentsThe number of curve segments to use when generating the text geometry.5
bevelEnabledA flag indicating whether beveling should be enabled for the text.true
bevelThicknessThe thickness of the beveled edge on the text.0.05
bevelSizeThe size of the beveled edge on the text.0.02
bevelOffsetThe offset of the beveled edge on the text.0
bevelSegmentsThe number of bevel segments to use when generating the text geometry.4

References

[1] This table was generated by ChatGPT based on the Vue component props.