雑用担当の備忘録

技術的な話のみになります。翻訳データそのものはありません。 カテゴリ>その他>注意事項を必ず参照してください

カテゴリ:解析 > UE3

ScaleForm フォント

これも Life is Strange を参照してくださいで終わってしまうのですが。

実はデフォルトで H7Components.lib.fonts_jp と H7Components.lib.gfxfontlib_jp も含まれてたりします。ただし日本語グリフが存在するフォントは DFP平成ゴシック体W7 のみです。

GfxUI.int を修正してこのフォントで表示されるようにした状態が
MMH702j
MMH703j

まぁ、Bold なんでくどいですよね。

Life is Strange の ScaleForm フォント作成を参照して頂きたいですが。
その通りに作成した 源真ゴシック 版は
MMH702j2
MMH703j2

こんな感じになります。

TODO:
一点、問題が残っています。
MMH704
上画像の様に Tips が表示されるんですが、この部分フォント置換で問題が出ます。
なんでだろう?
まぁ頭が閃かないので TODO

ムービーの字幕

Life is Strange と同じような感じでいけるので字幕のフォント作成を参照してください。
ですが、一点だけ注意

SubtitleFontName=JpFontsINT.DialogFont
[Engine.StartupPackages]
Package=JpFontsINT

JpFontsINT(パッケージ名は何でもいいです)の後の名前
DialogFont(これも名前は何でもよい)なんですが、この後に自動で _INT が付加されます。
従って、実際の名前は DialogFont_INT にしておかないと駄目です。

実装すると
MMH701j
日本語で表示されます

概要:
  • UE3
  • ローカライズデータは INT テキストでUTF-16LE
  • フォント UE3 + ScaleForm
何のことはない、Life Is Strange と同じような感じで出来ます。
MMH701j
MMH702j
MMH703j

Scaleform フォント

ムービー字幕以外のフォントの話です。
Life is Strange には4つのフォントがあります。
  1. オブジェクト,日記等の手書き風文字
  2. 画面下部に表示される台詞 イタリック
  3. 画面下部に表示される台詞
  4. ポスター,SMS等
これらが swf という形で upk に格納されています。

ここからの情報はアドレスは忘れましたが YouTube にあった UE3+Scaleform の英語情報からです。

作成手順: fla ⇒ swf ⇒ upk
ま ず fla (フラッシュ) を作成します。自分が持っているのは Adobe Flash Professional CS6 なんでこれに UDK-2012-01\Development\Flash の下にあるエクステンションを組み込みます。これが Scaleform です。
フラッシュを作ります。
LIS10
上画像の様にテキストを4作成します。各テキストのプロパティでフォントを指定します。
SN_Font_JA.upk では
  • Normal Font (ふい字P)
  • Italic Font (源柔ゴシックP Italic)
  • Dialogue Font (源柔ゴシックP Regular)
  • Roboto Font (源真ゴシックP)
と設定しています。源柔ゴシックP Italic については後で解説します。
この状態で UDK-2012-01\UDKGame\Flash\SN_Font_JA フォルダに fonts_ja.fla という名前でセーブします。

次に swf 生成するのですが画面左上にある Scaleform Launcher の Test with: GFxMediaPlayer ボタンを押下します。パブリッシュ処理が開始されます。この時にフォントデータが埋め込まれます。
これで fonts_ja.swf が生成されるのでこれを upk 化します。

UDK を起動してコンテンツブラウザから右クリック インポート で生成した UDK-2012-01\UDKGame\Flash\SN_Font_JA\fonts_ja.swf を指定してインポートします。
fonts_ja をセーブすると SN_Font_JA.upk が生成されています。

この SN_Font_JA.upk を Life is Strange が読み込むようにするには
LifeIsStrangeEngine.ini の [Engine.StartupPackages] セクションに Package=SN_Font_JA を追加する。
Life is Strange はこの指定をしなくても読み込まれるようです。

GFxUI.int にある [FontLib] [Fonts] セクションを書き換えるのですが日本語で起動するときは GFxUI.JPN があればそちらを読むので GFxUI.JPN を作成し
[FontLib]
FontLib=SN_Font_JA.fonts_ja

[Fonts]
NormalFont=HuiFontP
ItalicFont=Gen Jyuu Gothic P Italic
DialogueFont=Gen Jyuu Gothic P Regular
RobotoFont=Gen Shin Gothic P Regular

とすると良い。

ItalicFont について、自分の環境によるのかもしれませんがうまくいかなかったため
源柔ゴシックP を FontForge を使ってグリフを回転させたものを 源柔ゴシックP Italic として生成したものを使用する形にしています。

ムービー時の字幕フォント

Life is Strange のフォントは大きく2種類、通常時のフォント,ムービー中の字幕フォントがあります。
今回取り扱うのはムービー中のフォントで主に作成方法になります。

フォント作成には UE3 が必要で、UDK-2012-02 からは Life is Strange 起動時に読み込みエラーとなりますのでこれより古いバージョンが必要になります。この記事では UDK-2012-01 を使います。

起動してコンテンツブラウザで右クリック、新規フォント

パッケージ: JpFonts
名前: DialogFont ←これだと日本語表示されなくなりました。必ず違う名前にしてください。JpFonts では DialogFntJP にしています。
フォントを選択を押してフォントとサイズを選ぶ。今回は源柔ゴシックP、サイズ24
UnicodeRange:0x0020-0x00FF,0x0370-0x04FF,0x2000-0x206F,0x2100-0x214F,0x2190-0x23FF,0x2500-0x257F,0x25A0-0x26FF,0x3000-0x30FF,0x4E00-0x9FCF,0xFF00-0xFFEF
Texture Page width:1024
Texture Page Max Height:1024
XPadding: 2
YPadding: 2

Unicode Range はこんなに細かく指定しなくてもいいと思うんですが、最初作成したときに調べた日本語の範囲がこれだったので JpFonts.upk ではこの範囲指定になっています。もっと大きなレンジでいいかも。

注意してほしいのは Create Printable Only というオプションがあるのですが、これはチェックしないでください。デフォルトでは外れてますのでそのままに。ここをチェックすると温度の ℃ が出力されません。
この状態でセーブすると JpFonts.upk が生成されています。

デフォルトは YPadding:1 なんですがこれだとクリッピングミスが起きるので画面上にゴミが表示されます。したがって YPadding:2 以上にしてください。XPadding は念のため 2 にしています。

この JpFonts.upk を Life is Strange に読み込ませるわけですが
ここからの情報はこちらのサイトの情報を元にしています。情報有難うございます。

LifeIsStrangeEngine.ini の [Engine.StartupPackages] が upk の読み込み設定なのでここに Package=JpFonts を追加。 ←この設定は必要ありません。
[Engine.Engine] セクションの SubtitleFontName=JpFonts.DialogFntJP とすることで設定は完了する。

注意すべきは名前で設定した DialogFont で、Life is Strange の字幕データ *_INT.txt の中身
42 2304 DialogFont In the previous episode of "Life Is Strange"...

こんな感じですが DialogFont とこのファイルにフォント名の指定があります。
この指定はかなりの数あるのでこの DialogFont に名前を合わせる方が早いです。

DialogFont では駄目です。
従って翻訳データも
42 2304 DialogFntJP In the previous episode of "Life Is Strange"...
のように変更する必要があります。

↑このページのトップヘ