FontMeshGen - MSDF Text Atlaser
- 0 JPY
FontMeshGen allows you to build high quality MSDF text, complete with a wide range of styles and features, including blurred outlines, multiple fonts, italics, 3d transformations, billboard and backface flip, and lineart. This is an early pre-release, and minimal documentation is present, but an example scene is included. **PLEASE READ THE INCLUDED README FILE!!!** Access the tool from Tools->Lyuma->FontMeshGen in the menu bar. To generate new font atlases, or access non-ASCII letters (such as Hiragana or Kanji), you *must* also download my fork of Merlin's Unity-MSDF-Atlas tool from https://github.com/lyuma/Unity-MSDF-Fonts Requires Unity 2018.4 or Higher. While it's nothing like fully functional HTML and CSS, this includes a markup language with many more fun features than what you would find in Unity Text or TextMeshPro.
List of supported tags
** Per-letter settings - <color=HTMLCOLOR> (Set a color in unity format: red, white, #ccccffff, etc.) (Please include an alpha component (8 letter hexcode)) - <colgrad=HTMLCOLOR> (Color gradient: per-letter gradient, sets color= to this after the next character.) - <shadow=HTMLCOLOR> (Background shadow/glow around text) - </shadow> (Clear shadow, same as <shadow=#00000000> with 0 alpha.) - <space=FLOAT> (Scale size of space character) - <size=FLOAT> (Scale size of text or image) - <blur=FLOAT> (Create blurred text like shadow (1), normal (0) or extra sharp (-0.5)) - <lineheight=FLOAT> (Line height multiplier, affects the next line) - <stretch=FLOAT> (Stretch text vertically, like size only on y axis) - <fatten=FLOAT> (Stretch text horizontally, like size only on x axis) - <corrupt=FLOAT> (Stretch one triangle in each quad, producing funny text) - <extra=FLOAT> (Activate custom shader feature, for example, float up and down slowly) - <italic=FLOAT> (Skew text by amount given: -0.25 = oblique, 0 = normal, 0.25 = italic, 1 = ??) - <i>, </i> (Same as italic=0.25 and italic=0) - <thick=> (Set letter thickness: 0=extremely thin, 0.5=normal, 1.0=bold) - <b>, </b> (Same as thick=1.0 and thick=0.5) - <sep>, </sep> (Broken: Please use fatten= instead, combined with _ for nice separators) ** Per-character positioning: - <center> - <left> - <right> - <align=FLOAT> (Align text left (0) or right (1)) - <x=FLOAT>, <y=FLOAT> <z=FLOAT> (Set the current x, y or z position of the text cursor, relative to the node.) - <x=+FLOAT>, <y=+FLOAT> <z=+FLOAT> (Set the current x, y or z position of the text cursor, relative to the previous value.) - <angle=FLOAT> (Set the angle of the text, relative to the node.) - <anglexlate=FLOAT,X,Y,Z> (Reset the angle and position of the cursor, relative to the node) - <advangle=FLOAT> (Set the angle of the cursor, affecting newly written characters.) ** Per-node commands: - <parent=NAME>, </parent> (Create a new game object to hold everything inside. No nesting!) - <translate=X,Y,Z> (Translate the game object.) - <rotate=X,Y,Z> (Rotate the game object in euler degrees.) - <scale=X,Y,Z> (Scale the game object.) - <distancefade=FLOAT> (Fade this object away as the user reaches this distance from the text on X/Z, ignoring Y.) - <billboard>, </billboard> (Billboard the current node towards the player camera) - <doubleside>, </doubleside> (Text will be correctly flipped from both sides.) - <img=X1,Y1,X2,Y2> (Reference an image from the Alternate Graphics slot in the material) (X1,Y1 is bottom left; X2,Y2 is top right). (The image will be scaled according to <size=>, <stretch=> and <fatten=> commands.) - <blockimg=X1,Y1,X2,Y2> (Like <image=> but the image will be centered on the cursor, instead of appended.)