プロジェクトの作成
Last update: 2014/06/04
ここでは、iOSアプリのプロジェクト作成から Live2D モデルを表示するまでの手順を説明します。
◆用意するもの
Xcode (ここではXcode 5.1.1を使用します)
Live2D ライブラリ
(ダウンロードしたLive2D SDK の「lib」フォルダにある「Debug-iphoneos」、「Debug-iphonesimulator」、「Release-iphoneos」、「Release-iphonesimulator」フォルダ。 ここでは、1.0.02のバージョンを使用します)
Live2D のリソース
本来は、Live2Dのリソースは作成するモデルに応じてそれぞれ準備します。
ここではサンプルプロジェクトの「ハル」のリソースを使って説明をしていきます。
/sample/simple/res/haru/
haru.moc
haru.1024/haru.1024/texture_00.png
haru.1024/haru.1024/texture_01.png
haru.1024/haru.1024/texture_02.png
◆プロジェクトの作成と下準備
新規プロジェクトを作成して、必要なファイルをインポートしていきます。
Xcodeを起動して、メニューバーの「File」 > 「New」 > 「Project...」をクリックします。
作成するプロジェクトを聞かれるので、「Single View Application」を選択して「Next」をクリックします。
プロジェクト名などを設定して「Next」をクリックし、保存場所を指定して「Create」をクリックします。
ここでは、Product Nameを「Live2DSample」とします。
次に、必要なファイルをプロジェクトに追加していきましょう。
まずはライブラリやモデルファイルなどを入れるグループを作成します。
Xcode上でプロジェクトのルートで右クリックし、「New Group」をクリックします。
ここでは、グループ名は「Resources」とします。
Live2D SDKの、/sample/simple/res の中にある、モデルファイルとテクスチャを、
先ほど作成した Resources グループにドラッグアンドドロップします。
追加時の設定では、ここでは以下のようにします。
SDKの/lib内のライブラリ、/include内のヘッダファイルも同様に追加します。
追加したら以下のようになります。
ライブラリなどの追加が終わったら、追加したライブラリを使えるように設定しましょう。
プロジェクトから、「Build Settings」 > 「Linking」 > 「Other Linker Flags」 に、-lLive2D と記述します。
※-lLive2D の "l" は小文字のLです。大文字の I (アイ)や | (バーティカルバー)ではありませんので注意してください。
プロジェクトから「Build Settings」 > 「Search Paths」 > 「Library Search Paths」 には、ライブラリまでのパスを、
「Build Settings」 > 「Search Paths」 > 「User Header Search Paths」には、
ライブラリのヘッダファイル(上で追加した「include」フォルダ内のファイル)までのパスを設定します。
ここでは、「Library Search Paths」に $(SRCROOT)/$(CONFIGURATION)-$(PLATFORM_NAME) 、
「User Header Search Paths」に $(SRCROOT)/include と設定します。
・$(SRCROOT) : プロジェクトまでのフルパス
・$(CONFIGURATION) : デバッグとリリースのどちらでビルドされるか(Debug、Release)
・$(PLATFORM_NAME) : プラットフォームの名前(iPhoneosなど)
最後に、「Build Settings」 > 「Apple LLVM 5.0 - Preprocessing」 > 「Preprocessor Macros」に、
L2D_TARGET_IPHONE を追加すれば、ライブラリを使用する準備は完了です。
◆OpenGLの設定
次はLive2Dモデルを表示させるための、OpenGLの設定を行います。
プロジェクト内の Live2DSample グループを右クリックして、「New File...」をクリック。
Objective-C class を選択して「Next」をクリック、クラス名を設定して「Next」をクリック、
ファイルの保存場所を指定して「Create」をクリックします。
ここでは、クラス名を「EAGLView」とし、SubclassはUIViewとします。
また、プロジェクト作成時に自動生成されたAppDelegate.m、ViewController.m、上で作成したEAGLView.m
の拡張子を、 ".m" から ".mm" に変えます。
Live2Dのライブラリは、C++で記述されているため、iPhoneで利用するには
拡張子が .cpp (C++用拡張子)もしくは .mm ( Objective-CとC++を混在できる拡張子)
である必要があります。
それではOpenGLの設定をしていきます。
作成した EAGLView.h を開き、以下のように書き換えます。
EAGLView.mm を開き、initWithFrame 関数を以下のように書き換え、OpenGLを初期化します。
同じく EAGLView.mm に、 layoutSubViews 関数を追加し、以下のように書き換えます。
次に、モデルの初期化を行います。
EAGLView.h に、Live2Dモデルとテクスチャの変数、テクスチャ作成用の関数の宣言を、
EAGLView.mm に、その実装を追加します。
EAGLView.mm の initWithFrame 関数で、Live2Dのモデルを初期化します。
EAGLView.mmに、画像からOpenGL用のテクスチャを作成する関数を追加します。
毎フレームの描画を行う関数を作成します。
EAGLView.mm に drawView 関数を追加し、以下のようにします。
layoutSubViews 関数の一番最後に以下のように記述し、 drawView 関数が毎フレーム呼び出されるよう設定します。
最後に、ビューコントローラーの awakeFromNib 関数を以下のように書き換えて完了です!
ViewController.h
最終的なコードは以下のようになります。
以下のもの以外は、自動生成された状態から手を加えていません。
ViewController.h
ViewController.m
EAGLView.h
EAGLView.mm