ソースコード using TMPro; using UnityEngine; namespace Kogane { public static class TextMeshProTagRemover { public static string Remove( string text ) { var gameObject = new GameObject(); var textMeshPro = gameObject.AddComponent<TextMeshPro>(); textMe</textmeshpro>…
はじめに <nobr>ピカチュウ<space=-3.75em><voffset=1em><size=50%>ぴかちゅう</size></voffset><space=1.25em> 上記のようなタグを使用して TextMesh Pro でルビを振る時に Alignment が左揃えならキレイに表示されるが 中央揃えや 右揃えだと表示位置が右にズレる現象に遭遇した (一行目がルビ無しの場合の正しい位置) ルビを振るテキ</space=1.25em>…
概要 <nobr>ピカチュウ<space=-3.75em><voffset=1em><size=50%>ぴかちゅう</size></voffset><space=1.25em> 上記のようなタグを使用して TextMesh Pro でルビを振る場合、 文字間隔(Spacing Options (em) の Character)が 0 だと正しい位置で表示されるが たとえば文字間隔を -8 にしているとこのようにルビの表示位置がズレてしまう <nobr>ピ</nobr></space=1.25em>…
概要 TextMesh Pro の FontAsset の Inspector の「Spacing Offset」で デフォルトの文字間隔を設定できる
概要 TextMesh Pro のマテリアルを選択して Stencil ID を 1、Stencil Comp を 3 にすることで ワールド空間に配置した TextMesh Pro に SpriteMask を適用できます Stencil ID を 0 にすると逆マスクになります 参考サイト様 You can use SpriteMask with T…
はじめに Vertex Color に設定した色より薄く表示される 3D Object の TextMesh Pro は Vertex Color に設定した色が 正しく反映されないことがあるのでその対処方法 目次 はじめに 目次 検証環境 対処方法1:TextMesh Pro を 3.2.0-pre.3 にアップデートす…
概要 TextMesh Pro の Font Asset の Inspector で右クリックして 「Reset」を押すとダイナミックフォントをリセットできます using TMPro; using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var…
概要 TextMesh Pro 3.2.0-pre.3 以降で Font Asset の Inspector で右クリックして 「Clear Dynamic Data」を押すと ダイナミックフォントをリセットできます using System.Reflection; using TMPro; using UnityEditor; public static class Example { [Men…
概要 Package Manager の「+ > Add package by name...」を選択して com.unity.textmeshpro と 3.2.0-pre.3 と入力して「Add」を押します
概要 デフォルトだと上のような表示になりますが TextMesh Pro 3.2.0-pre.3 以降であれば下のような表示にできます マテリアルの Shader を「TextMeshPro/Mobile/Distance Field - 2 Pass」にすることで アウトラインが重なったところを良い感じにくっつけて…
リポジトリ 開発環境 Windows 10 Unity 2021.2.7f1 TextMeshPro 3.0.6 基本的な使い方 using Kogane.TMP_FontAssetUpdater; using TMPro; using UnityEditor; using UnityEngine; using UnityEngine.TextCore.LowLevel; public static class Example { [Menu…
はじめに TextMesh Pro の Font Asset Creator の Packing Method を Fast にした場合と Optimize にした場合でどのくらい時間に差が出るか検証 Font Asset 生成時の各種設定は上記の通り 検証に使用されていただいたフォントは上記サイト様で紹介されている…
検証内容 「ラノベPOPフォント」で日本語を含む TextMesh Pro のフォントを作成する場合、 Sampling Point Size を「Auto Sizing」にした場合と「Custom Size」にした場合で Font の Generate が完了するまでにどのくらい時間の差が出るか検証 検証環境 Wind…
概要 The character used for Underline is not available in font asset [XXXX]. TextMesh Pro のフォントに必要な文字をすべて登録しているはずなのに TextMesh Pro を表示する時に上記の警告が出る場合は ()_ 上記の文字をフォントに登録すると警告が消え…
概要 Unable to add the requested character to font asset [XXXX]'s atlas texture. Please make the texture [XXXX] readable. TextMesh Pro でダイナミックフォントを使用している時に上記の警告が出る場合は Project ウィンドウでダイナミックフォント…
概要 以前は TextMesh Pro で表示するテキスト全体にスタイルを適用したい場合は 上記のようにテキストの最初と最後を style タグで囲む必要がありましたが 今の TextMesh Pro であれば「Text Style」からテキスト全体にスタイルを適用できます 参考サイト様…
概要 例えば Font Atlas の設定をダイナミックフォントにしており、 アトラステクスチャのサイズが 256x256 の場合に 大量の文字を描画しようとすると 256x256 のアトラステクスチャに収まりきらなかった文字は描画されないですが Multi Atlas Textures をオ…
概要 作成した Font Asset を選択して Inspector の 「Atlas Population Mode」を「Dynamic」に変更することで その Font Asset をダイナミックフォントとして扱えるようになります 例えば TextMesh Pro の Font Asset Creator で Custom Character List に…
はじめに 「Ruby(Furigana) Text Mesh Pro」を Unity プロジェクトに導入することで TextMesh Pro でルビ(ふりがな)を振ることができるようになります 使用例 使い方 TextMesh Pro のコンポーネントの代わりに「Ruby Text Mesh Pro」または 「Ruby Text Me…
はじめに 「TextMeshProRuby」を Unity プロジェクトに導入することで TextMesh Pro でルビ(ふりがな)を振ることができるようになります 使用例 使い方 TextMesh Pro のゲームオブジェクトに「Text Mesh Pro Ruby」をアタッチして 「Text」の欄で <r=【ルビ】>【ルビを</r=【ルビ】>…
検証環境 Unity 2019.3.10f1 TextMesh Pro 2.0.1 概要 TMP_Text.cs を見てみると public string text { get { return m_text; } set { if (m_text == value) return; m_text = old_text = value; m_inputSource = TextInputSources.String; m_haveProperties…
はじめに 「ZString」を Uniy プロジェクトに導入することで string.Format や StringBuilder、TextMesh Pro の割り当てを削減できるようになります string.Format 通常 using UnityEngine; public class Example : MonoBehaviour { private void Update() {…
概要 Canvas の Render Mode が Screen Space - Overlay の場合は var index = TMP_TextUtilities.FindIntersectingLink( text, position, null ); TMP_TextUtilities.FindIntersectingLink の第3引数に null を設定します Canvas の Render Mode が Screen …
はじめに The character used for Ellipsis is not available in font asset [XXXX]. TextMesh Pro を使用していたら上記の警告が出力される現象に遭遇した 解決方法 TextMesh Pro に含まれている LineBreaking Following Characters.txt LineBreaking Leadi…
概要 TMP Settings を選択して 「Disable warnings」をオンにすると、TextMesh Pro の警告の出力を無効化できます
概要 TMP Settings を選択して 「Enable Raycast Target」をオフにすると、 TextMesh Pro のオブジェクト作成時に Raycast Target がオフになります
概要 上記のスクリプトを Unity プロジェクトに追加して TextMesh Pro のオブジェクトにアタッチします そして、TextMesh Pro のテキストに <link="https://www.google.co.jp/">Google</link> 上記のような link タグを使用した文字列を設定します
はじめに Text Mesh Pro では Font Asset に含めたい文字が増えて更新したい場合、 毎回 Font Asset Creator ウィンドウを開いて作成し直す必要がありますが、 「Unity TextMeshPro Font Customized Creater」を Unity プロジェクトに導入することで TextMes…
概要 Unity 2018 以降の TextMesh Pro の FontAtlas は Inspector で「Update Atlas Texture」ボタンを押すことで 前回生成した時の設定が反映された状態の Font Creator ウィンドウが表示されて FontAtlas を更新することができます
概要 Unity 2018 であれば Inspector から普通に変更できる Unity 2017 であれば Inspector を Debug モードにしてから 変更できる