DirectX 11 サンプルのビルド
最終更新: 2021年12月9日
このページでは、Live2D Cubism SDK for Nativeに同梱しているDirectX 11 のサンプルプロジェクトを、Windows環境においてVisual Studioでコンパイルするまでの手順を説明します。
※記事の内容は Cubism 4 SDK for Native R1 を使用したものです。
Cubism SDKのバージョンによって方法や手順が違う場合があります。
ダウンロードするもの
SDK本体です。「公式ダウンロードページ」からダウンロードします。
今回使用する開発環境です。言語はC++を利用します。
プロジェクトファイルを生成するために使用します。
DirectX 11 のライブラリです。
Cubism SDKのサンプルに含まれるバッチファイルからダウンロードができます。
CMakeやDirectXTK等のライブラリに関してはサンプルSDKのZIP内の
「[ルート]Samples/D3D11」にある’README.md‘に記載されている手順やバージョンを確認してください。
インストール作業
Visual Studio
統合開発環境をインストールします。
C++がコンパイルできるように設定してください。
また、Visual Studio 2013以降を利用してください。
CMake
CMakeをインストールします。
CMakeの作業ではバッチファイルから使用するのでCMakeのパス設定は使用するユーザが参照できるように設定してください。
※画像は実際の画面と相違がある場合があります。
DirectXTK
DirectXTKをインストールします。
「/Samples/D3D11/thirdParty/scripts」の中にある「setup_msvcxxxx.bat」から使用するVisual Studioが記載されているものを実行し、DirectXTKをダウンロードしてください。
バッチ処理が完了すると、「/Samples/D3D11/thirdParty」の中に「DirectXTK」というフォルダが作成されます。
CMakeの実行
CMakeはGUIからの利用もできますが、今回はサンプルに入っているバッチファイルを利用します。
「Samples/D3D11/Demo/proj.d3d11.cmake/scripts」の中にバッチファイルが入っています。
このバッチファイルはいくつかの設定の組み合わせから選びます。
・NMakeかProjectか
NMakeはコマンドプロンプトからビルドを行い、実行ファイルを生成します。nmake_で始まるバッチファイルを使用してください。
Visual Studioからコード編集などを行う場合はproj_で始まるバッチファイルを使用してください。
・Visual Studio のバージョン
導入しているVisual Studioのバージョンを選択してください。
今回の例ではVisual Studio 2015のソリューションファイルが入ったプロジェクトを選択するため、「proj_msvc2015.bat」を実行します。
実行すると、以下の画像のように選択肢が表示されますので、対応した番号を半角数字で入力してください。
・アーキテクチャの選択
x86(Win32) か x64(Win64) かを選択します。
使用する環境によって適宜選択してください。
・Cubism Coreのモジュール選択
使用するCubism Coreのランタイムライブラリを選択します。
MD,MTなどそれぞれの意味に関してはMicrosoft公式ドキュメントをご覧ください。
・プロジェクトの内容の選択
生成するプロジェクトの内容を選択します。
Full Demoを選択した場合:Cubism SDK for Nativeの機能をすべて利用したサンプルプロジェクトが生成されます。
Minimum Demoを選択した場合:単一のモーションを繰り返すモデルを表示する、最小構成のプロジェクトが生成されます。このプロジェクトでは以下の機能が使用されています。
- Cubismモデルの読み込み、表示
- 一つのモーションをループ再生する機能
- マウスドラッグによる視線追従
- 物理演算
- 呼吸
- ポーズ
入力が正常に行われると、CMakeによる生成が開始されます。
※生成開始後にエラーが出る場合は、CMakeのバージョン、指定しているVisual Studioのバージョンをご確認ください。
ビルド
CMakeによる生成が終了したら生成したファイルの中からソリューションファイルを開きます。
今回の例では
・proj_msvc2015.bat
を実行し、選択肢にて
・x64(Win64)
・use the multithread-specific and DLL-specific version of the run-time library (MD)
を選択して出力された
「[ルート]/Samples/D3D9/Demo/proj.d3d11.cmake/build/proj_msvc2015_x64_md」にある「Demo.sln」をVisual Studioで開き、ビルドを実行します。
ビルドが無事成功したら、デバッグで実行してみましょう。
大きな画面が出てくれば成功です。
※最小のサンプルでは背景やモデル切り替えを行う歯車アイコン等のUIは表示されません。
ウインドウサイズを調整する場合は、「/Sample/D3D11/Demo/proj.d3d11.cmake/src/LAppDelegate.cpp」の
LAppDelegate::Initialize()で使用されているSetRect()の第4引数、第5引数の値を変更してください。
SetRect(&rect, 0, 0, RenderTargetWidth, RenderTargetHeight);
※RenderTargetWidth、RenderTargetHeightは「/Sample/D3D11/Demo/proj.d3d11.cmake/src/LAppDefine.cpp」に実際の値が定義されています。
実行ファイルが出力される先
今回のCMakeから作成したプロジェクトでは通常のプロジェクトと違い、
ファイルの出力先はプロジェクトフォルダと同じ階層に作られた「bin」以下になります。
具体的にはプロジェクトフォルダが「[ルート]/Samples/D3D11/Demo/proj.d3d11.cmake/build/proj_msvc2015_x64_md」であるとき、
実行ファイルは「[ルート]/Samples/D3D11/Demo/proj.d3d11.cmake/build/proj_msvc2015_x64_md/bin/[Configurations]/」に出力されます。
例:「[ルート]/Samples/D3D11/Demo/proj.d3d11.cmake/build/proj_msvc2015_x64_md/bin/Release/」