OpenGLサンプルのビルド

最終更新: 2021年12月9日

このページでは、Live2D Cubism SDK for Nativeに同梱しているOpenGLのサンプルプロジェクトを、Windows環境においてVisual Studioでコンパイルするまでの手順を説明します。

※記事の内容は Cubism 4 SDK for Native R1 を使用したものです。
Cubism SDKのバージョンによって方法や手順が違う場合があります。 

必要なもの

Live2D Cubism SDK for Native

SDK本体です。「公式ダウンロードページ」からダウンロードします。

Visual Studio

今回使用する開発環境です。言語はC++を利用します。
また、Visual Studio 2013以降を利用してください。

CMake

プロジェクトファイルを生成するために使用します。

GLFW

OpenGLの補助ライブラリで、入力やウインドウ管理の機能があります。
Cubism SDKのサンプルに含まれるバッチファイルからダウンロードができます。

GLEW

OpenGLの拡張ライブラリで、OpenGLの拡張機能を簡単に呼び出せるようにしています。
Cubism SDKのサンプルに含まれるバッチファイルからダウンロードができます。

この記事内ではGLFW、GLEWをCubism SDKのサンプルに含まれるバッチファイルからダウンロードするため、事前にダウンロードしておく必要はありません。

また、CMake、GLFW、GLEWなどのツールやライブラリに関してはサンプルSDKのZIP内の
[ルート]Samples/OpenGL」にある’README.md‘に記載されている手順やバージョンを確認してください。

インストール作業

Visual Studio

統合開発環境をインストールします。
C++がコンパイルできるように設定してください。

CMake

CMakeをインストールします。
CMakeの作業はバッチファイルから使用するのでCMakeのパス設定は使用するユーザが参照できるように設定してください。

※画像は実際の画面と相違がある場合があります。 

GLFW、GLEWの展開

GLFW、GLEWの展開については「Samples/OpenGL」にある’README.md‘に記載されている手順を確認してください。
Windowsでは「Samples/OpenGL/thirdParty」の中にある「setup.bat」を実行し、GLFW、GLEWをダウンロードしてください。

バッチによる展開が終わると以下のようなフォルダ構成になります。

※手動でGLFW、GLEWをダウンロードした場合は「Samples/OpenGL/thirdParty」のフォルダの中に展開する必要があります。

CMakeの実行

CMakeはGUIからの利用もできますが、今回はサンプルに入っているバッチファイルを利用します。
Windowsでは「Samples/OpenGL/Demo/proj.win.cmake/scripts」の中にバッチファイルが入っています。
Windows用のバッチファイルはいくつかの設定の組み合わせから選びます。

・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)
・Full Demo

を選択して出力された
[ルート]/Samples/OpenGL/Demo/proj.win.cmake/build/proj_msvc2015_x64_md」にある「Demo.sln」をVisual Studioで開き、ビルドを実行します。

実行

ビルドが無事成功したら、デバッグで実行してみましょう。

大きな画面とコマンドプロンプトによるログ出力が出てくれば成功です。
※最小のサンプルでは背景やモデル切り替えを行う歯車アイコン等のUIは表示されません。

ウインドウサイズを調整する場合は、「/Sample/OpenGL/Demo/proj.win.cmake/src/LAppDelegate.cpp」の
LAppDelegate::Initialize()で使用されているglfwCreateWindow()の第1引数、第2引数の値を変更してください。

_window = glfwCreateWindow(RenderTargetWidth, RenderTargetHeight, "SAMPLE", NULL, NULL);

※RenderTargetWidth、RenderTargetHeightは「/Sample/OpenGL/Demo/proj.win.cmake/src/LAppDefine.cpp」に実際の値が定義されています。

実行ファイルが出力される先

今回のCMakeから作成したプロジェクトでは通常のプロジェクトと違い、
ファイルの出力先はプロジェクトフォルダと同じ階層になります。

具体的にはプロジェクトフォルダが「[ルート]/Samples/OpenGL/Demo/proj.win.cmake/build/proj_msvc2015_x64_md」であるとき、
実行ファイルはプロジェクトフォルダと同じ場所に出力されます。

ビルド時に[ルート]/Samples/OpenGL/Demo/proj.win.cmake/build/proj_msvc2015_x64_md/Release」などが生成されますが、こちらにはファイルが出力されないのでご注意ください。

この記事に関するご意見・
ご要望をお聞かせください。