Nanashi-softプログラマ専用Unityでゲーム開発


◇Unityでゲーム開発 -日本語フォントを使う-

Unityでのフォントは,システムフォントを使うのでは無く,ゲームに内蔵して一緒に配布を行います
ゲームに格納する方法には2種類あり,フォントをそのまま格納して表示を行うダイレクト方式と,テクスチャー化して格納する方式があります
スマートフォンではダイレクト表示は行えませんので,ここではテクスチャー化して格納する方法を取ります

Unity3.4.1向けに改定しました[2011/10現在]

1. 日本語フォントをプロジェクトに入れる

M+ FONTを使用します。
http://mplus-fonts.sourceforge.jp/#
→OUTLINE→JA
なぜなら,このフォントのライセンスが,改変・商用・再配布とゲームで使用する際に必要な要件を満たしている為です
ただし,文字数が足りていません。常用漢字は網羅しているそうですので,そんなには困らないと思います
→上のDOWNLOAD
M+ TESTFLIGHT 043をダウンロード[2011/10/06現在最新版]

mplus-2c-medium.ttfを Projectにドラッグ&ドロップする

2. フォントテクスチャーを生成する

※この部分が変わっています
Projectの mplus-2c-mediumをクリック
Inspectorの True Type Font Importerの
Font Sizeを 20 (とても古い機種にも対応するなら11)
Characterを Unicode
Font Renderingを No Antialiasing (お好みで)
2.x Font Placingにチェックを入れる (お好みで)
Applyボタンをクリック

Projectの mplus-2c-medium→font Textureをクリック
Inspectorの Previewに生成されたテクスチャーが表示されます
ここのサイズが 2048x2048以下になるようにして下さい(AndroidやiOSなどでは)
古い機器の中には 1024x1024以下にしなければならないものもあります

3. 日本語表示してみる

メニューの GameObject→Create Other→GUI Textを選択
Hierarchyの GUI Textをクリック
Inspectorの GUIText→Fontの右端の◎をクリック
Select Fontダイアログの mplus-2c-mediumをダブルクリック
GUIText→Textに日本語を入力して表示されれば成功です


以下の注意点があります
・文字テクスチャーは1枚にまとめなければならない
・テクスチャーサイズの最大が GPUによって決まっており,1024x1024までの機種がいる(古い機種のみ)

※iOSの場合,OSバージョンアップにより iPhone 3GS以降の開発しかおこなえなくなりましたので,2048x2048で設計可能です
2048x2048まで可能であれば,大抵のフォントはサイズ20設定が可能になります

ちなみに,2048より大きいサイズではフォントが正しく表示されませんでした(OpenGL ES 2.0の制限っぽい?)


TOPプログラマ専用Unityでゲーム開発