ユニバーサルWindowsプラットフォームのコンパイル

必要条件

  • SCons (詳細については、Windows用のコンパイルを参照してください)。
  • Visual Studio 2015 update2。以前のバージョンで動作する場合があります。インストールの注意点とさまざまなプロンプトについては、Windows用のコンパイルを参照してください。
  • Windows 10 SDK (Visual Studio のインストールで選択できます)。
  • ANGLE source。ms_master(デフォルト)ブランチを使用します。問題を避けるため、スペースのないパスに保管してください。

注釈

マイクロソフトによるANGLEリポジトリは廃止され、ms_master ブランチは削除されました。

ただし、一時的な回避策として、コミット `c61d048 <https://github.com/microsoft/angle/tree/c61d0488abd9663e0d4d2450db7345baa2c0dfb6>`__を使用して、古い状態のソースコードをダウンロードすることも可能です。

このページは、最終的に新しいビルド手順を反映するために将来的に更新されます。

参考

Godotにおける基本的なSconsの使い方については、ビルドシステムの説明を参照してください。

コンパイル

ビルドするターゲットアーキテクチャに対して、適切な Visual Studioプロンプトを開く必要があります。これらのプロンプトがどのように動作するかを確認するには、Windows用のコンパイルをチェックしてください。

UWPには、x86(32ビット)、x64(64ビット)、ARM(32ビット)の3つのターゲットアーキテクチャがあります。後者の場合、 x86_arm または amd64_arm を引数として vcvarsall.bat を実行して、環境を設定できます。

ANGLEソースコードをダウンロードしたディレクトリに ANGLE_SRC_PATH を設定します。ビルドプロセスでは、選択したアーキテクチャに必要なDLLを生成するためにANGLEも構築されます。

設定が完了したら、SConsコマンドを他のプラットフォームと同様に実行します:

C:\godot>scons platform=uwp

UWPエクスポートテンプレートの作成

エディタを使用してエクスポートするには、テンプレートを適切にビルドする必要があります。エクスポートするには、 debugrelease テンプレートを持つ 3 つのアーキテクチャがすべて必要です。

1つのアーキテクチャのコマンドプロンプトを開き、SConsを2回実行します(ターゲットごとに1回):

C:\godot>scons platform=uwp target=release_debug
C:\godot>scons platform=uwp target=release

他のアーキテクチャについても同じ手順を繰り返します。

最後に bin フォルダには godot.uwp.opt.debug.32.x86.exe (ターゲット/アーチごとに異なる)という名前の .exe バイナリが入っています。

これらのいずれかをGodotソースフォルダ内の misc/dist/uwp_template にコピーし、バイナリの名前を godot.uwp.exe に変更します。ANGLEソースから、 winrt/10/src/Release _% arch% (ここで、 %arch%Win32x64 または ARM です。)で libEGL.dlllibGLESv2.dll を取得し、実行ファイルとともに配置します。

uwp_template フォルダ内のファイルをZIPに追加します。テンプレートのターゲット/アーキテクチャに従って、結果の Zip の名前を変更します:

uwp_x86_debug.zip
uwp_x86_release.zip
uwp_x64_debug.zip
uwp_x64_release.zip
uwp_arm_debug.zip
uwp_arm_release.zip

これらのテンプレートをGodot 設定パスの [バージョン名]\templates フォルダに移動します。テンプレートを置き換えたくない場合は、エクスポートウィンドウで「カスタム パッケージ」プロパティを設定できます。

Visual Studioを使用してUWPアプリを実行する

UWPポートをデバッグする場合、またはパッケージ化と署名なしでアプリを実行する場合は、Visual Studioを使用してアプリをデプロイして起動できます。Windows PhoneやXbox Oneなどのデバイスでテストを行う場合は、最も簡単な方法です。

ANGLEソースフォルダ内で templates を開き、 install.bat スクリプトファイルをダブルクリックします。ANGLEアプリのVisual Studioプロジェクト テンプレートがインストールされます。

Godotをまだビルドしていない場合は、ANGLEソースから winrt/10/src/angle.sln ソリューションを開き、Release/Win32ターゲットにビルドします。デバイスで実行する場合は、ARM用にビルドする必要がある場合もあります。コマンドラインに慣れていれば、MSBuildを使用することもできます。

"App for OpenGL ES (Windows Universal)" プロジェクトテンプレートを使用して、新しいWindowsアプリプロジェクトを作成します。このテンプレートは、Visual C++/Windows/Universal カテゴリにあります。

これは、すでにANGLE依存関係が設定されている基本プロジェクトです。ただし、デフォルトでは、通常パフォーマンスの低いDLLのデバッグバージョンが選択されます。そのため、"Binaries"フィルタで、そこにある各DLLをクリックし、"Properties"ウィンドウで相対パスを Debug_Win32 から Release_Win32 (またはデバイスの場合は Release_ARM) に変更します。

同じ"Binaries"フィルタで、"Add > Existing Item"を選択し、使用しているUWPのGodot実行可能ファイルをポイントします。"Properties"ウィンドウで、プロジェクトに含まれるように"Content"を True に設定します。

Package.appxmanifest ファイルを右クリックして、「アプリケーションから開く...> XML(テキスト)エディタ」を選択します。 Package/Applications/Application 要素で、 Executable 属性を $targetnametoken$.exe から godot.uwp.exe (またはGodot実行可能ファイルが呼び出されるもの)に置き換えます。 また、 EntryPoint 属性を GodotUWP.App に変更します。 これにより、アプリの起動時にGodot実行可能ファイルが正しく呼び出されます。

Visual Studioプロジェクトフォルダに game という名前のフォルダ(フィルタではない) を作成し、 data.pck ファイルまたはGodotプロジェクトファイルを配置できます。その後、必ず[追加 > 既存のアイテム] コマンドですべてを含め、アプリにコピーできるように「コンテンツ」プロパティを True に設定します。

ワークフローを容易にするために、「ソリューションプロパティ」を開き、「構成」セクションでアプリの「ビルド」オプションのチェックを解除します。必要なファイルを生成するには、少なくとも1回ビルドする必要がありますが、[ソリューション エクスプローラ] でプロジェクト(ソリューションではない) を右クリックし、「ビルド」を選択します。

Now you can just run the project and your app should open. You can also use the "Start Without Debugging" option from the "Debug" menu (or press Ctrl + F5) to make it launch faster.