UWP向けのUnityのBuildでUnityLinkerがFailed2018年02月04日 14:42

Unityアプリの基本的な処理の実装が出来たので、UWPでのBuildを試みてみる。ところが、UnityLinkerが止まる。調べてみると、こちらが似たような状況

Unityのバージョンは、2017.3.0f3
VisualStudio 2017は、15.5.5


BuildSettingsを見てみると、VSのコンポーネントが足りないと警告が出ている。


VSInstallerで、C++によるゲーム開発を追加インストール。これで警告は消える。しかし、Buildが通らないのは変わらない。.exeを生成するStandaloneのBuildは通る。


BuildSettingsのPlayer Settingsを確認する。Other SettingsのConfigurationを変更して、.NET 4.6を使用するように変更。BackendもIL2CPPから.NETのコンパイラを使用するように変更。Buildのエラーは、Unity側が.NET4.6に対応し切れていないとみて、MS側の部品にまかせてみる。

これで、無事にUWPのBuildは成功。UnityもVSも頻繁に更新されるので、このあたりは、引き続き調整が必要になりそう。

このままでは、起動すると、いきなりUnityの画面になるので、UWPのHubやPivotで用意したメニューから起動する手立てを考えていかないと。

UnityのUWPアプリのパッケージ生成は、Masterで2018年02月15日 12:46

なんとか、Unityを利用したUWPアプリのパッケージ生成にたどりつく。

UnityのUWPアプリ、検証で不合格

ところが、アプリ認定キットの結果が不合格。
1) UWPアプリで使用できないAPIを利用している。
2) DLLがデバッグモードでBuildされている。

Buildの構成は、通常は、Releaseなのだが、Unityを使う場合は、Masterにしないといけないらしい。テスト実行の時も、画面の右下に「Development Build」のスタンプが表示されていた。

UnityのUWPアプリ、Masterでパッケージ生成

パッケージの作成の「パッケージの選択と構成」の画面で、Masterを選択する。これで、不合格の事由は解消。ただし、パッケージ作成の時間は長め。

直角取り - アプリリリース2018年02月19日 17:23


直角取り、アプリリリース

「直角取り」の名称で、ユニバーサルWindowsアプリをリリース。麻雀牌を使った一人遊びを、ルールはそのままに難読漢字を用いた牌にアレンジしたもの。なお、この一人遊びの名前はわからず。似たような一人遊びは、そこここにありそう。

今回は、「UnityⓇ」の習作でもあり、2Dでの開発を試してみたところ。確かに、マウスやタッチ操作の応答性は、素のXAMLよりはしっかりしており、ゲームに集中できる。

※アプリのページ

開発時間は80時間弱。ただし、コード量は多くなく、VSの計数で1kステップ弱。見た目まわりは、UnityのEditorでの作業が中心。はじめてでもあり、試行錯誤は多め。それでも、見た目とロジックを分離できるおかげで、コードに集中できるのは確か。ただし、UnityのEditorとコードのどちらを用いるかの勘所は、戸惑うことも多く、習熟が必要。また、純粋なXAMLのUWPアプリとは、流儀の異なる点も多い。ここも場数を踏んでいかないと。

今回は、Unityが出力したプロジェクト(XAMLタイプ)に対し、MainPage.xamlに手を入れてCommandBarを追加し、別ページへの遷移を実現。Unityは一度出力したプロジェクトについて、無条件で上書きを行うわけではないので、ちょっとした棲み分けができる。

Unity自身の習得は、2Dに必要な範囲に限るが、Tutorialの動画が多数あるので、それを20~30本視聴。動画なので、途中止めながらメモをしていかないと、後で見返すのが大変。あとは、Asset Storeからサンプルを落として読み込む。その先は、実際に書いて、動かしながら学ぶ。日に3~4時間で、1ヶ月くらい。その間にも、Unityのバージョンアップが数回。このペースで更新が進むので、動画でしかチュートリアルは用意できないと勝手に察する。でも、繰り返し見るのには向かない教材。学ぶ側も、以前とは違った対応が求められる。

それにしても、途中、UnityもVisual StudioもWindowsも次々と更新が入り、動かなくなったり、落ちやすくなったりと、ひやひやしどおし。

日本語フォントの一覧作成2018年02月24日 08:47

Windows10で新しい日本語フォントも登場したこともあり、日本語フォントを確認できるツールを用意しようと思い立つ。いつまでも「文字コード表」の小さな画面とにらめっこするのも芸がない。

ところが、UWPで使える.NETでは、フォントの取得はままならない。FontFamilyのclassもプロパティが2つだけ。そこで、nugetでWin2Dを導入する。

日本語フォントのリストアップ

CanvasTextFormatのGetSystemFontFamiliesもあるが、ここでは、CanvasFontSetのGetSystemFontSetを使う(行39)。Fontsプロパティが、CanvasFontFaceで、ここからHasCharacterを使って、文字コードのあるなしを判定できる。

動かしてみると、日本語のフォント一覧が取得できたようだが、何か足りない。Windowsが標準で利用する"Yu Gothic UI"などが入っていない。

Debug出力

CanvasFontFaceのFamilyNamesやFaceNamesはDictionaryになっており、言語を表すキー別に複数保持できるようになっている。当然、日本語フォントは、"ja-jp"だろうと思っていたら、"Yu Gothic UI"は、"en-us"。

結局、両方をチェックすることで(最初の図、行74)、"Yu Gothic UI"を取り出すことができる。副作用として、一部の中華系のフォントも入ってくる。ひらかな、カタカナ、漢字の代表を決めて、HasCharacterで判定をしているが、中華系のフォントにも、カナ文字のコードが割り当ててあり、判別できない。

プライバシーポリシーとサポート情報 - 和書体2018年02月28日 18:04

本アプリについて (About this app)

UWPアプリで利用できる日本語フォントを一覧し、例文を見ながら、実際の見え方を確認します。

「標準のフォント」は、UWPアプリが既定で使用するフォントです。現時点では、「Yu Gothic UI」です。「選択されたフォント」は、フォント一覧から選択したフォントです。

フォントの他、Weight、Styleを選択できます。また、これらを設定するためのXAMLのリソースに登録するTextBlock用の構文を表示します。Visual Studioにペーストするなどしてご利用ください。

例文は、既定のものの他、任意のものを登録できます。最長64文字です。

※アプリのページ

プライバシーポリシー (Privacy statement)

和書体
対象アプリ;和書体

本アプリの製作者である The Fourteenth Lab (第十四工房) は、本アプリによって、お客様の個人情報およびプライバシーに関する情報を収集しません。

サポート情報 (Support)

ご質問や不具合のご連絡は、このページの「コメント欄」をご利用いただくか、「このブログについて」に記載の連絡先までお願いします。

あらかじめのおことわり (FAQ)

1) 同じフォントで日本語名と英語名の両方を持つフォントがあります。この場合、フォント一覧では、別々に列挙されますが、同じものです。例えば、「MS ゴシック」は「MS Gothic」とも表記されますが、「Yu Gothic UI」は、英語名しか持ちません。

2) アプリは、1024x736のウインドウサイズを既定にしています。これより小さい表示では、全体が表示されないことがあります。

3) Windowsにインストールしてある日本語フォントの全てが表示されるわけではありません。
※追記;環境に依存すると思いますが、当初想定より、幅広く表示されるようです。

4) 例文の文字の一部でフォントが異なる場合(漢字例文の「秖」など)がありますが、この事象は、その文字を当該フォントがサポートしていない場合に発生します。

利用するツールや文献 (Reference)

1) 縦書きの例文の表示には、Win2Dを利用しています。

※Win2Dプロジェクト