Unity¤Ë´ØÏ¢¤¹¤ëµ­»ö¤Ç¤¹

¡¡Unity¤ÎTextMeshPro¤Ï¡¢°Û¤Ê¤ë¥Õ¥©¥ó¥È¤¬»ÈÍѤǤ­¤ëFallback Asset Font¤È¤¤¤¦µ¡Ç½¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£

¡¡Fallback Asset Font¤Ï¡¢¥Æ¥­¥¹¥È¤Ç»ÈÍѤµ¤ì¤ë¥Õ¥©¥ó¥È¤¬ÆÃÄê¤Îʸ»ú¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¡¢Ê̤Υե©¥ó¥È¤Ë¥Õ¥©¡¼¥ë¥Ð¥Ã¥¯¤¹¤ë»ÅÁȤߤǤ¹¡£
Î㤨¤Ð¡¢ÆüËܸì¤Î¥Õ¥©¥ó¥È¤òÍÑ°Õ¤·¡¢¤½¤ÎÃæ¤Ç¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤´Ú¹ñ¸ì¤ä¥¹¥Ú¥¤¥ó¸ì¤È¤¤¤Ã¤¿¥Õ¥©¥ó¥È¤ò
£±¤Ä¤Î¥Þ¥Æ¥ê¥¢¥ë¤ËÆþ¤ì¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢°Û¤Ê¤ë¥Õ¥©¥ó¥È¤Î¥Þ¥Æ¥ê¥¢¥ë¤òºîÀ®¤·¡¢¥¢¥µ¥¤¥ó¤·¤ÆÍøÍѤ¹¤ëµ¡Ç½¤Ç¤¹¡£
Unity ¸ø¼°¥Þ¥Ë¥å¥¢¥ë
Fallback font assets
https://docs.unity3d.com/Packages/com.unity.textme...


¡¡¤³¤Î Fallback Asset Font ¤Îµ¡Ç½¤òÍøÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢¥Õ¥©¥ó¥È¤Îº¹¤·Âؤ¨(¥¢¥µ¥¤¥óÊѹ¹)¤ò¹Ô¤¦É¬Íפʤ¯¡¢
Ê£¿ô¤Î¸À¸ì¤Îɽ¼¨¤ËÂбþ¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤Ê¤ª¡¢¸À¸ì¤Î¥í¡¼¥«¥é¥¤¥ºÂбþ¤Ë¤Ä¤¤¤Æ¤Ï¡¢²¼µ­¤Îµ­»ö¤ò»²¹Í¤Ë¤·¤Æ¼ÂÁõ¤Ë¥Á¥ã¥ì¥ó¥¸¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡¡¡=>¡¡¥í¡¼¥«¥é¥¤¥ºÂбþ¤Î¼ÂÁõÎã­¡
¡¡¡¡¡¡¡¡¥í¡¼¥«¥é¥¤¥ºÂбþ¤Î¼ÂÁõÎã­¢
¡¡¡¡¡¡¡¡¥í¡¼¥«¥é¥¤¥ºÂбþ¤Î¼ÂÁõÎã­£



£±¡¥Fallback Asset Font µ¡Ç½¤Î³èÍÑ


¡¡¥Õ¥©¥ó¥È¤ò¼«Æ°Åª¤Ë¥Õ¥©¡¼¥ë¥Ð¥Ã¥¯¤·¤Æ¤¯¤ì¤ë¤¿¤á¡¢¥í¡¼¥«¥é¥¤¥ºÂбþ¤¬²Äǽ¤Ç¤¹¡£

¡¡Ê£¿ô¤Î¥Õ¥©¥ó¥È¤òÍÑ°Õ¤·¤Æ¡¢³Æ¸À¸ì¤´¤È¤Ë¥Õ¥©¥ó¥È¤òÀÚ¤êÂؤ¨¤ëÊýË¡¤È¤·¤Æ¡¢
¥¢¥µ¥¤¥ó¤·¤Æ¤¤¤ë¥Õ¥©¥ó¥È¤òÀÚ¤êÂؤ¨¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¤¬¡¢Fallback Asset Font µ¡Ç½¤ò³èÍѤ¹¤ë¤³¤È¤Ç½ÀÆð¤Ê¥í¡¼¥«¥é¥¤¥ºÂбþ¤¬½ÐÍè¤Þ¤¹¡£



£²¡¥ÌµÎÁ¥Õ¥©¥ó¥È¤ÎÆþ¼ê


¡¡¥Æ¥­¥¹¥È¤¬Ì¥ÎÏŪ¤ÇÆɤߤ䤹¤¤¤â¤Î¤Ë¤Ê¤ë¤¿¤á¤Ë¤Ï¡¢Å¬Àڤʥե©¥ó¥È¤ÎÁªÂò¤¬½ÅÍפǤ¹¡£
¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤Ë¤Ï̵ÎÁ¤ÇÍøÍѤǤ­¤ë¿¤¯¤Î¥Õ¥©¥ó¥È¤¬Â¸ºß¤·¤Þ¤¹¡£

¡¡¥Õ¥ê¡¼¥Õ¥©¥ó¥È¤òÍøÍѤ¹¤ë¾ì¹ç¡¢¥é¥¤¥»¥ó¥¹¤Ëα°Õ¤·¤¿¥Õ¥©¥ó¥È¤ÎÁªÂò¤¬ÂçÀڤǤ¹¡£
¤Þ¤¿¡¢Æɤߤ䤹¤µ¤È¥Ç¥¶¥¤¥ó¤Î¥Ð¥é¥ó¥¹¤Ë¤âÃí°Õ¤·¤Þ¤·¤ç¤¦¡£¥«¥Ã¥³¤¤¤¤¥Ç¥¶¥¤¥ó¤Ç¤¢¤Ã¤Æ¤â
Æɤߤˤ¯¤¯¤Æ²¿¤òÅÁ¤¨¤¿¤¤¤Î¤«¤ï¤«¤é¤Ê¤¤¤è¤¦¤Ê¥Õ¥©¥ó¥È¤ÏÈò¤±¤ë¤Ù¤­¤Ç¤¹¡£

¡¡Í­Ì¾¤Ê̵ÎÁ¥Õ¥©¥ó¥È¤Î£±¤Ä¤Ë Google Fonts¤¬¤¢¤ê¤Þ¤¹¡£
Google Fonts¤«¤é¤Î¥Õ¥©¥ó¥È¤Îõº÷¤È¥À¥¦¥ó¥í¡¼¥É¤·¡¢¥é¥¤¥»¥ó¥¹¤Î³Îǧ¤ò¤·¤ÆÍøÍѤ·¤Þ¤·¤ç¤¦¡£


£³¡¥¥«¥¹¥¿¥à¤ÎCharacterSet¤ÎÍÑ°Õ


¡¡TextMeshPro¤Ï¡¢ÍÍ¡¹¤ÊÆüìʸ»ú¤ä¥¢¥¤¥³¥ó¤òɽ¼¨¤¹¤ë¤¿¤á¤Ë¡¢¥«¥¹¥¿¥à¤ÎCharacterSet¤Î»ÈÍѤ¬²Äǽ¤Ç¤¹¡£
¥Æ¥­¥¹¥È¤ËÆȼ«¤Î¥·¥ó¥Ü¥ë¤ä¥¢¥¤¥³¥ó¤òÁȤ߹þ¤àÊýË¡¤Ë¾ÇÅÀ¤òÅö¤Æ¤Þ¤¹¡£

¡¡Ê¸»ú¤Î¥«¥¹¥¿¥à¤Ë¤è¤ê¡¢¥²¡¼¥à¤ä¥Æ¡¼¥Þ¤Ë¹ç¤Ã¤¿¥¢¥¤¥³¥ó¤ÎÄɲá¢Æüìʸ»ú¤ä³¨Ê¸»ú¤Î»ÈÍѤ¬½ÐÍè¤Þ¤¹¡£

¡¡ÆüËܸì(Ê¿²¾Ì¾¡¦¥«¥¿¥«¥Ê¡¦´Á»ú)¤òÍѤ¤¤ë¾ì¹ç¡¢²¼µ­¤Î¥µ¥¤¥È¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
ÆüËܸìÀìÍѤΥե¡¥¤¥ë¤Ëʸ»ú¤òÅÐÏ¿¤·¤Æ¤ª¤­¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ëÊýË¡¡ÊCharacters from File¡Ë¤¬°·¤¤¤ä¤¹¤¤¤Ç¤¹¡£

Qiita @thorikawa(Takahiro Horikawa) ÍÍ
Unity¤ÎText Mesh Pro¥¢¥»¥Ã¥È¤ÇÆüËܸì¤ò»È¤¦¤È¤­¤Î¼ê½ç

https://qiita.com/thorikawa/items/03b65b75fa9461b5...
Github Gist
kgsi/japanese_full.txt

https://gist.github.com/kgsi/ed2f1c5696a2211c1fd1e...


£´¡¥Font Asset Creator¤ÎÍøÍÑÊýË¡


¡¡Unity¤Ë¤Ï¡¢TextMeshProÍѤÎFont Asset Creator¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥Ä¡¼¥ë¤ò³èÍѤ¹¤ë¤³¤È¤Ç¡¢¥Õ¥©¥ó¥È¤Î¥«¥¹¥¿¥Þ¥¤¥º¤äºÇŬ²½¤¬¹Ô¤¨¤Þ¤¹¡£








¡¡ºîÀ®¤·¤¿¥Õ¥©¥ó¥È¤Ï½ÐÎÏ·ë²Ì¤È¥×¥ì¥Ó¥å¡¼¤ò³Îǧ¤·¤Æ¡¢Àµ¾ï¤Ë¥Õ¥©¥ó¥È¤¬ºîÀ®¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£


£µ¡¥ºîÀ®¤µ¤ì¤¿¥Õ¥©¥ó¥È¤ËÊ̤Υե©¥ó¥È¤òFallback Asset Font¤Ë¥¢¥µ¥¤¥ó¤¹¤ëÊýË¡


¡¡Fallback Asset Font¤Ï¡¢ÆÃÄê¤Î¥Õ¥©¥ó¥È¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤Ê¸»ú¤ËÂФ¹¤ë¥Õ¥©¡¼¥ë¥Ð¥Ã¥¯µ¡Ç½¤òÄ󶡤·¤Þ¤¹¡£
¡¡
¡¡Ê£¿ô¤Î¥Õ¥©¥ó¥È¤òºîÀ®¤·¤Æ¤ª¤¯¤³¤È¤Ë¤è¤ê¡¢£±¤Ä£±¤Ä¤Î¥Õ¥©¥ó¥È¤Î¥µ¥¤¥º¤ò¾®¤µ¤¯ÍÞ¤¨¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤Þ¤¿¡¢³Æ¸À¸ì¤´¤È¤Î¥Õ¥©¥ó¥È¤òºîÀ®¤·¤Æ¤ª¤¯¤³¤È¤Ç´ÉÍý¤â¤·¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£

¡¡ºîÀ®¤·¤¿¥Õ¥©¥ó¥È¤ËFallback¤È¤·¤Æ»ÈÍѤ¹¤ë¥Õ¥©¥ó¥È¤Î»ØÄꤷ¡¢¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£
¤³¤Á¤é¤ÎÎã¤Î¾ì¹ç¡¢ÆüËܸì¤Î¥Õ¥©¥ó¥È¤ËÂФ·¤Æ¡¢Fallback Asset Font¤Îµ¡Ç½¤òŬÍѤ¹¤ë¤¿¤á¡¢
´Ú¹ñ¸ì¤Î¥Õ¥©¥ó¥È¤ò¥¢¥µ¥¤¥ó¤·¤ÆÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£











¡¡Fallback Asset Font ¤ËÊ£¿ô¤Î¥Õ¥©¥ó¥È¤ò¥¢¥µ¥¤¥ó¤·¤Æ¤ª¤¯¤³¤È¤Ë¤è¤ê¡¢
¼ç¤È¤Ê¤ë¸À¸ì°Ê³°¤Î¥Õ¥©¥ó¥È¤Ë¤Ä¤¤¤Æ¤â¼«Æ°Åª¤ËÂбþ¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤ÎÎã¤Ç¤¢¤ì¤Ð¡¢ÆüËܸì¤Î¥Õ¥©¥ó¥È¤òɸ½à¤Çɽ¼¨¤¹¤ë¾¡¢
¥Õ¥©¥ó¥ÈÊѹ¹¤Ê¤·¤Ç´Ú¹ñ¸ì¤Î¥Õ¥©¥ó¥È¤Ë¤Ä¤¤¤Æ¤âɽ¼¨¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£


£¶¡¥¥µ¥ó¥×¥ë¥³¡¼¥É


¡¡Æ°Åª¤Ë Fallback Asset Font ¤ò¥¢¥µ¥¤¥ó¤¹¤ëÊýË¡¤Ç¤¹¡£

using TMPro;
using UnityEngine;

public class TextMeshProExample : MonoBehaviour
{
    public TMP_Text textMeshPro;
    public Font fallbackFont;

    void Start()
    {
        // TMP_Text¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬Â¸ºß¤¹¤ë¤«³Îǧ
        if (textMeshPro == null)
        {
            Debug.LogError("TMP_Text component not found. Please assign the TMP_Text component to the script.");
            return;
        }

        // Fallback Font¤òÀßÄê
        if (fallbackFont != null)
        {
            // Fallback Font¤òÀßÄê
            textMeshPro.font = fallbackFont;

            // Fallback Font¤¬´Þ¤àʸ»ú¥»¥Ã¥È¤ò»ØÄê
            textMeshPro.fontAsset.fallbackFontAssetTable.Add(fallbackFont);
        }
        else
        {
            Debug.LogWarning("Fallback Font is not assigned. Please assign a Font to be used as a fallback.");
        }

        // ¥Æ¥­¥¹¥È¤òÀßÄê
        textMeshPro.text = "Hello, World!";
    }
}


£·¡¥»²¹Í¥µ¥¤¥È


¥Æ¥é¥·¥å¡¼¥ë¥Ö¥í¥° ÍÍ
¡ÚUnity¡ÛTextMeshPro¤ËFont Fallback¤ÈDynamic SDF System¤¬Äɲá¢ÆüËܸ줬»È¤¤¤ä¤¹¤¯¤Ê¤Ã¤¿¡£

https://tsubakit1.hateblo.jp/entry/2019/02/02/0607...
¤­¤å¤Ö¤í¤° ÍÍ
ËÜÅö¤Ë»È¤¨¤ë¡ªTextMeshPro¤Ç¤Î¡ÖÆüËܸì¡×¡Ö¿¸À¸ì¡×ÂбþÊýË¡

https://blog.kyubuns.dev/entry/2021/02/06/001609
Qiita @kgsi(Shinichi Kogiso) ÍÍ
Unity¤ÎText Mesh Pro¤Ç¤Û¤ÜÁ´¤Æ¤ÎÆüËܸì¤òɽ¼¨¤µ¤»¤ë

https://qiita.com/kgsi/items/08a1c78b3bee71136156

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

Menu



´ðÁÃ

µ»½Ñ/Ãμ±(¼ÂÁõÎã)

3D¥¢¥¯¥·¥ç¥ó¥²¡¼¥à

2D¤ª¤Ï¤¸¤­¥²¡¼¥à(ȯŸÊÔ)

2D¶¯À©²£¥¹¥¯¥í¡¼¥ë¥¢¥¯¥·¥ç¥ó(ȯŸÊÔ)

2D¥¿¥Ã¥×¥·¥å¡¼¥Æ¥£¥ó¥°(³ÈÄ¥ÊÔ)

¥ì¡¼¥¹¥²¡¼¥à(È´¿è)

2DÊüÃÖ¥²¡¼¥à(ȯŸÊÔ)

3D¥ì¡¼¥ë¥¬¥ó¥·¥å¡¼¥Æ¥£¥ó¥°(±þÍÑÊÔ)

3Dæ½Ð¥²¡¼¥à(È´¿è)

2D¥ê¥¢¥ë¥¿¥¤¥à¥¹¥È¥é¥Æ¥¸¡¼

3D¥¿¥Ã¥×¥¢¥¯¥·¥ç¥ó(NavMeshAgent »ÈÍÑ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥«¥¨¥ë¤Î°Ù¤Ë¡Á¡¢¥Ü¥³¥¹¥«¥¦¥©¡¼¥ºÉ÷)

VideoPlayer ¥¤¥Ù¥ó¥ÈϢư¤Î¼ÂÁõÎã

VideoPlayer ¥ê¥¹¥ÈÆ⤫¤é¥à¡¼¥Ó¡¼ºÆÀ¸¤Î¼ÂÁõÎã(ȯŸ)

AR ²èÁüÉÕ¤­¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¤Î¼ÂÁõÎã

AR ¥ê¥¹¥ÈÆ⤫¤éÀ¸À®¤Î¼ÂÁõÎã(ȯŸ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥µ¥Ð¥¤¥Ð¡¼É÷)

private



¤³¤Î¥µ¥¤¥ÈÆâ¤ÎºîÉʤϥæ¥Ë¥Æ¥£¤Á¤ã¤ó¥é¥¤¥»¥ó¥¹¾ò¹à¤Î¸µ¤ËÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£

´ÉÍý¿Í/Éû´ÉÍý¿Í¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹