UniText3D
Extruded 3D text with bevelled edges: every outline glyph becomes a closed solid laid out, styled and animated by the same pipeline as UniTextWorld, so markup, modifiers and animations move and colour the solids as they move and colour flat glyphs.
Remarks
MeshRenderer on its GameObject, which owns shadow casting, probes, layers and sorting; while this component exists, the renderer and the MeshFilter are hidden in the Inspector and the renderer's settings appear in this component's Inspector. Each Text3DSurface draws with its own material; an empty slot falls back as GetSurfaceMaterial describes. Depth, bevels and tolerances are in em of the font size. Range decorations, and glyphs of colour fonts drawn Flat, stay flat on the front of the extrusion, drawn by the shared world batcher and deformed with the solids; the 2D effect layers of modifiers (strokes, shadows, glows) are not drawn. While glyphs animate under materials of Lit and AnimateInShader is set, the shader places them and the mesh holds their unplaced layout until the text rests; pointer queries, colliders, shattering and baking still see the placed text.public Text3DPivot Pivot{ get; set }public Text3DBevel FrontBevel{ get; set }public Text3DBevel BackBevel{ get; set }public Text3DColorGlyphs ColorGlyphs{ get; set }public Text3DBakedSolids BakedSolids{ get; set }public Material FaceMaterial{ get; set }public Material BevelMaterial{ get; set }public Material SideMaterial{ get; set }public Material BackBevelMaterial{ get; set }public Material BackMaterial{ get; set }public Text3DGlyphPose CurrentGlyphPose{ get }The pose of the glyph the mesh build is placing, for modifiers and reveal handlers that move glyphs in depth; identity until a writer of the current build changes it.
public Material GetLayerMaterial()The material drawing surface of the layer of layer: its face material for faces, its bevel material for bevels and its side material for sides, each else the layer's face material, else the text's material of the surface.
public Material GetSurfaceMaterial()The material drawing surface: its own slot, else the bevel material for the back bevel, else the face material, else the Default 3D Material of the UniText settings.
public GameObject[] Shatter(List<Material> copies)Takes the text as last drawn apart into objects: one per glyph with the layers drawn per glyph, and one per shape across glyphs or decoration bar, each drawing its own mesh about its centre with the text's materials and rendering settings. The objects take the text's parent; the text's object turns inactive.
Captures on the main thread, before each build, what the build reads from the styles and lays the vertex streams out by: the deform and layer modifiers and their settings, the streams the pipeline's shader reads without their flags, whether the renderer asks for per-object motion, and the vertex count of the mesh.
