Buckets:
| import { | |
| ExtrudeGeometry | |
| } from 'three'; | |
| /** | |
| * A class for generating text as a single geometry. It is constructed by providing a string of text, and a set of | |
| * parameters consisting of a loaded font and extrude settings. | |
| * | |
| * See the {@link FontLoader} page for additional details. | |
| * | |
| * `TextGeometry` uses [typeface.json]{@link http://gero3.github.io/facetype.js/} generated fonts. | |
| * Some existing fonts can be found located in `/examples/fonts`. | |
| * | |
| * ```js | |
| * const loader = new FontLoader(); | |
| * const font = await loader.loadAsync( 'fonts/helvetiker_regular.typeface.json' ); | |
| * const geometry = new TextGeometry( 'Hello three.js!', { | |
| * font: font, | |
| * size: 80, | |
| * depth: 5, | |
| * curveSegments: 12 | |
| * } ); | |
| * ``` | |
| * | |
| * @augments ExtrudeGeometry | |
| * @three_import import { TextGeometry } from 'three/addons/geometries/TextGeometry.js'; | |
| */ | |
| class TextGeometry extends ExtrudeGeometry { | |
| /** | |
| * Constructs a new text geometry. | |
| * | |
| * @param {string} text - The text that should be transformed into a geometry. | |
| * @param {TextGeometry~Options} [parameters] - The text settings. | |
| */ | |
| constructor( text, parameters = {} ) { | |
| const font = parameters.font; | |
| if ( font === undefined ) { | |
| super(); // generate default extrude geometry | |
| } else { | |
| const shapes = font.generateShapes( text, parameters.size ); | |
| // defaults | |
| if ( parameters.depth === undefined ) parameters.depth = 50; | |
| if ( parameters.bevelThickness === undefined ) parameters.bevelThickness = 10; | |
| if ( parameters.bevelSize === undefined ) parameters.bevelSize = 8; | |
| if ( parameters.bevelEnabled === undefined ) parameters.bevelEnabled = false; | |
| super( shapes, parameters ); | |
| } | |
| this.type = 'TextGeometry'; | |
| } | |
| } | |
| /** | |
| * Represents the `options` type of the geometry's constructor. | |
| * | |
| * @typedef {Object} TextGeometry~Options | |
| * @property {Font} [font] - The font. | |
| * @property {number} [size=100] - The text size. | |
| * @property {number} [depth=50] - Depth to extrude the shape. | |
| * @property {number} [curveSegments=12] - Number of points on the curves. | |
| * @property {number} [steps=1] - Number of points used for subdividing segments along the depth of the extruded spline. | |
| * @property {boolean} [bevelEnabled=false] - Whether to beveling to the shape or not. | |
| * @property {number} [bevelThickness=10] - How deep into the original shape the bevel goes. | |
| * @property {number} [bevelSize=8] - Distance from the shape outline that the bevel extends. | |
| * @property {number} [bevelOffset=0] - Distance from the shape outline that the bevel starts. | |
| * @property {number} [bevelSegments=3] - Number of bevel layers. | |
| * @property {?Curve} [extrudePath=null] - A 3D spline path along which the shape should be extruded. Bevels not supported for path extrusion. | |
| * @property {Object} [UVGenerator] - An object that provides UV generator functions for custom UV generation. | |
| **/ | |
| export { TextGeometry }; | |
Xet Storage Details
- Size:
- 2.9 kB
- Xet hash:
- 990a43c578dc36bf472cc29ad850d30f120a3e4c224d70c48253e7be320395f2
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.