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

必要条件

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

注釈

The ANGLE repo by Microsoft has been discontinued and the ms_master branch has been cleared out.

As a temporary workaround however, it is still possible to download an older state of the source code via commit c61d048.

This page will eventually be updated in the future to reflect the new build instructions.

参考

For a general overview of SCons usage for Godot, see ビルドシステムの説明.

コンパイル

ビルドするターゲットアーキテクチャに対して、適切な 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を使用することもできます。

Create a new Windows App project using the "App for OpenGL ES (Windows Universal)" project template, which can be found under the Visual C++/Windows/Universal category.

This is a base project with the ANGLE dependencies already set up. However, by default it picks the debug version of the DLLs which usually have poor performance. So in the "Binaries" filter, click in each of the DLLs there and in the "Properties" window and change the relative path from Debug_Win32 to Release_Win32 (or Release_ARM for devices).

同じ「バイナリ」フィルタで、「追加> 既存のアイテム」 を選択し、使用しているUWPのGodot実行可能ファイルをポイントします。「プロパティ」ウィンドウで、プロジェクトに含まれるように「コンテンツ」を 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回ビルドする必要がありますが、[ソリューション エクスプローラ] でプロジェクト(ソリューションではない) を右クリックし、「ビルド」を選択します。

これで、プロジェクトを実行するだけで、アプリが開きます。「デバッグ」メニュー(Ctrl+F5)の「デバッグなしで開始」を使用して、起動を高速化することもできます。