プロジェクトの作成
Last update: 2014/06/04
ここでは、Visual Studioでのプロジェクト作成から、DirectXでLive2D モデルを描画するまでの手順を説明します。
推奨環境などはSDK付属のReadMeをご覧ください。
◆用意するもの
Visual Studio (ここではVisual Studio 2012を使用します)
DirectXのダウンロードを済ませておく。
Live2D ライブラリ (ダウンロードしたLive2D SDK の「lib」フォルダ。ここでは1.0.02のバージョンを使用します)
Live2D のリソース
本来は、Live2Dのリソースは作成するモデルに応じてそれぞれ用意します。
ここではサンプルプロジェクトの「ハル」のリソースを使って説明をしていきます。
simple/res/haru/
haru.moc
haru.1024/texture_00.png
haru.1024/texture_01.png
haru.1024/texture_02.png
◆プロジェクトの設定と下準備
新規プロジェクトを作成して、必要なファイルをインポートしていきます。
Visual Studioのメニューバーの「ファイル(F)」 > 「新規作成(N)」 > 「プロジェクト(P)...」をクリックします。
テンプレートから「Visual C++」 > 「Win32 プロジェクト」を選択し、名前や保存場所を設定して「OK」をクリックします。
「Win32 アプリケーション ウィザード」が表示されるので、「次へ」をクリックします。
次の画面で「空のプロジェクト(E)」のチェックを入れて「完了」をクリックします。
次に、プロジェクトの設定を行います。
プロジェクトを右クリックして「プロパティ(R)」をクリックします。
「構成プロパティ」 > 「全般」を選択して、「文字セット」の項目を「マルチバイト文字セットを使用する」に設定します。
次に、「構成プロパティ」 > 「C/C++」 > 「全般」を選択し、「追加のインクルードディレクトリ」の項目の、
右端にある下向きの三角をクリック > 「<編集...>」をクリックします。
ダイアログが出てくるので、ダイアログ上部の白い枠内に
"include" 、 "$(DXSDK_DIR)\Include" の2つを入力し、OKをクリックします。
同様に、「構成プロパティ」 > 「C/C++」 > 「プリプロセッサ」を選択し、「プリプロセッサの定義」の項目に
"L2D_TARGET_D3D" を追加してOKをクリックします。
「構成プロパティ」> 「リンカー」 > 「全般」 を選択し、「追加のライブラリディレクトリ」の項目に、
"lib" 、 "$(DXSDK_DIR)\Lib\x86" の二つを追加します。
最後に、「構成プロパティ」> 「リンカー」 > 「入力」を選択し、「追加の依存ファイル」の項目に、
"d3d9.lib" 、 "d3dx9.lib" 、 "live2d_directX_mdd.lib" の3つを追加してOKをクリックします。
これでプロジェクトの設定は終了です。
次はプロジェクトに必要なファイルを追加していきます。
プロジェクトを右クリックして「エクスプローラーでフォルダーを開く(X)」をクリックして、フォルダを開きます。
開いたプロジェクトフォルダの中に、SDKフォルダルートにある「include」と「lib」をドラッグアンドドロップ(またはコピー・ペースト)します。
SDKの \sample\Simple にある「res」フォルダも同様に追加します。
プロジェクトに.cppファイルを追加します。ここでは「main.cpp」とします
以上でプロジェクトへの追加は完了です。
これからモデルの読み込み、表示を行います。
main.cppを開き、以下のように記述してウィンドウの作成を行います。
ここまでで実行すると空のウィンドウが表示されます。
次に、DirectXの設定を行います。
以下のようにインクルードとグローバルな関数を追加します。
WinMain() 関数の return 直前に、以下のように追加します。
WndProc() 関数内のswitch文に、以下を追加します。
それでは、これからLive2Dの初期化、描画まで行います。
まずモデルの変数を用意します。
live2d::Live2DModelD3D* live2DModel ;
Live2Dモデルの初期化を、WinMain()関数のWindouUpdate()の下に、以下のように設定します。
WndProc()関数のcase WM_PAINT: の中で、モデルの行列を設定します。
BrginScene()とPresent()の間に記述してください。
最終的なコードは以下のようになります。