Unity│フォントに関するTIPSまとめ4選│uGUI

uGUIのフォントに関するTIPSをまとめました。

リッチテキスト、ビットマップフォント、ttcの分割、Font Awesomeの使い方を紹介します。

目次

リッチテキストのタグについて

uGUIの標準機能です。文字にタグを入れると色やサイズを部分的に変更できます。

リッチテキストの例

上の例では以下のようなタグを使用しています。

<color=#FDBA2A>5<size=72>G</size></color>

タグの種類

  • 太文字:<b></b>
  • イタリック:<i></i>
  • サイズ変更:<size=10></size>
  • カラー変更:<color=#00ffffff></color>

参考:https://docs.unity3d.com/ja/530/Manual/StyledText.html

ビットマップフォントを表示する方法

uGUIの通常のテキストはアウトラインやドロップシャドウを付けられますが、装飾としては限界があります。

Photoshopで装飾した文字画像をフォントとして使えるビットマップフォントを作成しましょう。

手順

1. 素材の作成

Photoshopのレイヤースタイルで加工した数字を作成します。境界線、光彩(内側)、グラデーションオーバーレイ、ドロップシャドウなどを追加。

Photoshopで作成した数字

2. ShoeBoxのインストール

ダウンロード:http://renderhjs.net/shoebox/

3. ShoeBoxでビットマップフォント作成

  1. ソフトを起動し、GUIタブを開く
  2. Bitmap Fontに向かって画像をドラッグ&ドロップ
  3. Auto fit Settingsボタンでスプライトを分割
  4. Settingsを開き、Template → Modifiedを「FNT-xml Staling」に変更
  5. File Nameを変更
  6. Txt Charsで文字の割り当てを調整
  7. Save Fontボタンで出力(.xmlと.png)
ShoeBoxの設定画面

4. Unityで設定

  1. ShoeBox Tools for Unity(無料)をインポート
  2. 出力したxmlファイルをAssetsに配置
  3. メニュー → Assets → ShoeBox Tools → Import Bitmap Fontsを選択
  4. XMLファイルを選択

ダウンロード:https://assetstore.unity.com/packages/tools/sprite-management/shoebox-tools-for-unity-35760

Import Bitmap Fontsメニュー

5. 確認

uGUIのテキストを作成し、生成したフォントとシェーダーを適用するとビットマップフォントとして機能します。

ビットマップフォントの確認

unitettcでフォント(.ttc)を分割して.ttfにする方法

Unityは.ttcをサポートしていないため、.ttfに変換する必要があります。複数フォントが格納されている.ttcを分割することで容量削減にもなります。

フォントの拡張子について

  • .otf:Type1がベースのフォント(Mac由来)
  • .ttf:TrueTypeフォント、単体のフォントファイル(Windows由来)
  • .ttc:複数のTrueTypeフォントを収納したもの(Unityでは使えない)

フォントを分割する方法

  1. unitettcをダウンロード
  2. unitettcフォルダに.ttcファイルを置く
  3. コマンドプロンプトを起動
  4. cdコマンドでunitettcフォルダに移動
  5. 分割コマンドを実行

ダウンロード:https://yozvox.web.fc2.com/556E697465545443.html

フォント分割のコマンド
cd C:\Users\ユーザー名\Desktop\unitettc
unitettc64.exe YuGothB.ttc

フォントを結合する方法(おまけ)

フォント結合のコマンド
unitettc64.exe Test.ttc YuGothB001.ttf YuGothB002.ttf YuGothB003.ttf

Font Awesomeでアイコンを表示する方法

数百個のアイコンが格納されているフォント「Font Awesome」を使うと、アイコンを探さなくてもすぐに仮素材として使用できます。

手順

  1. Font Awesomeをダウンロード
  2. 解凍すると3種のフォントが格納されている
  3. チートシートからアイコンをコピー
  4. uGUIのTextにペースト

ダウンロード:https://fontawesome.com/

チートシート:https://fontawesome.com/cheatsheet

Font Awesomeのチートシート

Unicodeで表示する方法

InspectorのTextエリアにアイコンが表示されないため、Unicodeで指定するスクリプトを使用します。

using UnityEngine;
using UnityEngine.UI;

[ExecuteInEditMode]
public class TextUnicode : MonoBehaviour
{
    public string unicode;
    private Text textComponent;

    void Start()
    {
        textComponent = GetComponent<Text>();
        UpdateText();
    }

    void OnValidate()
    {
        if (textComponent == null)
            textComponent = GetComponent<Text>();
        UpdateText();
    }

    void UpdateText()
    {
        if (textComponent != null && !string.IsNullOrEmpty(unicode))
        {
            int code = int.Parse(unicode, System.Globalization.NumberStyles.HexNumber);
            textComponent.text = char.ConvertFromUtf32(code);
        }
    }
}

uGUIのTextコンポーネントを外し、代わりにこのスクリプトをアタッチします。チートシートからfa-lock [&#xf023;]の場合はf023と入力します。

Font AwesomeのUnicode表示

まとめ

  • リッチテキスト:タグで部分的に色やサイズを変更可能
  • ビットマップフォント:Photoshopで装飾した文字をフォント化
  • unitettc:.ttcを.ttfに分割してUnityで使用可能に
  • Font Awesome:アイコンフォントで仮素材を素早く用意
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次