妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

UMGウィジェットの表示がHTML5だと変わってしまう件(3) フォントがOTF形式なら正しく表示された

f:id:una_unagi:20170212001127p:plain

「バグ報告をしようと思って、最小限のデータだけの確認用プロジェクトを作ってたんだけど、そうすると何故か普通に表示できちゃったんだよ。どうやらフォントがデフォルトのRobotoのままだったからみたいで、昨日のプロジェクトもRobotoにすると問題なくなった」

妹「えー、これってフォントが悪かったの? でもわたしが使ってたやつも、サンプルのプロジェクトからコピーしたアセットだから、ちゃんとしたやつだと思うんだけど」

「フォントが悪いというか、相性が悪いやつがあるというか。で、ちょっと気になったのがフォントのファイル形式。文字にもJPEGPNGみたいな、データ形式の違いがある。UE4で読み込めるのはTTFとOTFで、どっちもよくある形式なんだけどこの違いかもしれないと」

www.asterism-m.com

「それで同じフォントがTTFとOTFと両方配布されてる、よもぎフォントというもので確認をしてみた。これはゲームの中で文字利用が出来て、使用の表示や報告なども不要なありがたいフォント。これで2種類のフォントでHTML5パッケージ化すれば、違いがでるんじゃないかと」

TTF版
f:id:una_unagi:20170212002020p:plain

OTF版
f:id:una_unagi:20170212002033p:plain

妹「あ、違う!」

「ロゴはどっちもRobotoのままなんだけど、ボタンのフォントは変えてある。これを見た感じだとTTF版はおかしいけど、OTF版は正常になってる。同じ人が作った同じフォントなのに、形式の違いで問題が起きてるということは、これが原因という可能性が高い」

妹「じゃあ私が使ってたフォントはそのTTFとかいうやつだったのかな」

「多分そう」

www.dafont.com

「使われてるのはこのフォントなんだけど、ダウンロード出来るのはTTF版だけだから。サンプルのプロジェクト作る時に、このTTFを読み込んで、フォントアセットを作ったんだと思う」

UMGウィジェットの表示がHTML5だと変わってしまう件(2) 何かがおかしいということはわかった

「どうも表示がおかしいのはフォント部分みたいなので、HTML5のフォント表示について、いくつかの設定を試してみたけど、同じだったり、そもそもブラウザでエラーになったり、どれも上手くいかない。それで新機能も試してみた」

f:id:una_unagi:20170210234901p:plain

「4.14だったか15だったかから、フォントの保存方式が変わってる。古いままでも使えるんだけど、アップデートするボタンが追加されてる。これをアップデートするとどうなるか? というもの。でも結果は全く同じだった……」

妹「じゃあこの話とは関係ないアップデートだったのか」

「特に関係あるとも書いてなかったからね」

f:id:una_unagi:20170210235554p:plain
f:id:una_unagi:20170210235607p:plain

「次がこれ、4.14の縁取り機能を試したもの」

妹「悪化した……」

「字が霞んで、しかも太くしてない字までこれだから、もうわけがわからん……」

「とりあえず海外のAnswerHubを見てみると、だいぶ前のバージョンからフォントサイズがおかしいとて言ってる人はいたんだけど、どれも言い出した人が居なくなったとかで、そのままになってる」

妹「解決してない……」

「というわけで、とてもどうにかなりそうな感じがしない。とりあえず現状ではHTML5にするならウィジェット使わないで何とかした方が良さそう。特にフォント関係は」

UMGウィジェットの表示がHTML5だと変わってしまう件(1) 状況確認

シューティングゲームに得点表示を付けたいんだけど、ウィジェットに関しては以前妹が作ったゲームでちょっとした問題が起きてるのが未解決。また同じ問題が起きたら嫌だから、これを解決してから取り掛かりたい」

妹「ちょっとじゃないよ! 大問題だよ!」

思ってたやつ
f:id:una_unagi:20170209224833p:plain

出てきたやつ
f:id:una_unagi:20170209224849p:plain

「これはタイトル画面だけど、なんというか、字がちょっとちっちゃくちゃってるというか、ズレてるというか。他の画面でもこうなっちゃうという問題。ネットでざっと見た感じではそれっぽい情報が見当たらなかった」

妹「そうなんだけど、なんか背景が違うような。山とか水とかあったと思うけど」

「元のゲームには色んなデータがあって、原因の絞り込みが難しいし、HTML5のパッケージ化にも時間がかかってしまうから、空のプロジェクトにタイトルのウィジェットだけを移行したんだよ。参照してるアセットもついてくる」

f:id:una_unagi:20170209230456p:plain

「これで問題が再現したから、原因はこのウィジェットの中にあって、プロジェクト設定はデフォルトの状態でも起こるというのが確認できた。一歩前進」

妹「時間かかるのはやだなあ……」

「パソコンの性能にもよるだろうけど、どうしてもパッケージ化は時間がかかる。それでも大昔に比べれば随分良くなったんだけど。普通のデバッグならパッケージ化要らないし。まあ色々設定を確認しながら、地道に調べていくしかないね」