プロジェクトの作成

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の初期化、描画まで行います。

まずモデルの変数を用意します。

    1. live2d::Live2DModelD3D* live2DModel ;

Live2Dモデルの初期化を、WinMain()関数のWindouUpdate()の下に、以下のように設定します。

WndProc()関数のcase WM_PAINT: の中で、モデルの行列を設定します。

BrginScene()とPresent()の間に記述してください。

最終的なコードは以下のようになります。