Live2D  Version 2.0
Live2D 描画エンジン APIリファレンス
 全て クラス ネームスペース 関数 ページ
クラス ALive2DModel

Live2Dモデルクラス(抽象基底クラス)。モデルファイル(.moc)からサブクラス Live2DModelXXX (XXXはiPhoneなど)を生成して利用する。 [詳細]

#include <ALive2DModel.h>

ALive2DModelに対する継承グラフ
LDObject Live2DModelD3D Live2DModelIPhone Live2DModelMacOSX

Public メソッド

 ALive2DModel ()
 Constructor. [詳細]
 
virtual ~ALive2DModel ()
 Destructor. [詳細]
 
float getParamFloat (const char *paramID)
 パラメータ値を取得する [詳細]
 
void setParamFloat (const char *paramID, float value, float weight=1.0f)
 指定したパラメータに重みをつけて値を設定する。 [詳細]
 
void addToParamFloat (const char *paramID, float value, float weight=1.0f)
 指定したパラメータの現在の値に対して重みをつけて加える。 [詳細]
 
void multParamFloat (const char *paramID, float mult, float weight=1.0f)
 指定したパラメータの現在の値に対して、重みをつけて値を掛け合わせる。 [詳細]
 
int getParamIndex (const char *paramID)
 パラメータの名前からインデックスを取得する [詳細]
 
int getParamIndex (ParamID *paramID)
 パラメータIDインスタンスからインデックスを取得する [詳細]
 
float getParamFloat (int paramIndex)
 
void setParamFloat (int paramIndex, float value, float weight=1.0f)
 
void addToParamFloat (int paramIndex, float value, float weight=1.0f)
 
void multParamFloat (int paramIndex, float mult, float weight=1.0f)
 
void loadParam ()
 前回saveParamしたときのパラメータ値を復元する。saveParamされていなければ何もしない [詳細]
 
void saveParam ()
 現在のパラメータ値を一時的に記憶する。loadParam()で復元できる。 [詳細]
 
virtual void init ()
 データ構造の変更、パーツ差し替えなどを行った場合に呼ぶ [詳細]
 
virtual void update ()
 頂点情報を更新する [詳細]
 
virtual void draw ()
 Modelの描画 [詳細]
 
void setPartsOpacity (const char *partsID, float opacity)
 パーツの不透明度の設定を行う。 [詳細]
 
void setPartsOpacity (int partsIndex, float opacity)
 パーツの不透明度の設定を行う。 [詳細]
 
float getPartsOpacity (const char *partsID)
 指定したパーツの不透明度を取得しする。 [詳細]
 
float getPartsOpacity (int partsIndex)
 
void setupPartsOpacityGroup_alphaImpl (const char *paramGroup[], float deltaTimeSec)
 
void setModelImpl (ModelImpl *m)
 モデルのデータ構造(パラメータ、パーツ情報)の設定 [詳細]
 
ModelImplgetModelImpl ()
 モデルのデータ構造(パラメータ、パーツ情報)の取得 [詳細]
 
ModelContextgetModelContext ()
 モデルの現在の状態(Context)を取得する [詳細]
 
int getErrorFlags ()
 【非推奨】ロード時のエラー情報を返す。 [詳細]
 
virtual int generateModelTextureNo ()
 新しく利用できるLive2D内部で管理されるテクスチャ番号を確保(Avatar用) [詳細]
 
virtual void releaseModelTextureNo (int no)
 Live2D内部で管理されるテクスチャ番号を解放(Avatar用) [詳細]
 
float getCanvasWidth ()
 モデルのキャンバスの横幅を取得する。 [詳細]
 
float getCanvasHeight ()
 モデルのキャンバスの高さを取得する [詳細]
 
virtual DrawParamgetDrawParam ()
 描画用パラメータ取得 [詳細]
 
virtual int getDrawDataIndex (const char *drawDataID)
 メッシュの名前からインデックスを取得 [詳細]
 
virtual IDrawData * getDrawData (int drawIndex)
 メッシュを取得 [詳細]
 
virtual l2d_pointf * getTransformedPoints (int drawIndex, int *pointCount)
 描画用の点列を取得する。 [詳細]
 
virtual l2d_index * getIndexArray (int drawIndex, int *polygonCount)
 
void updateZBuffer_TestImpl (float startZ, float stepZ)
 
int getPartsDataIndex (const char *partsID)
 パーツの名前からインデックスを取得する [詳細]
 
int getPartsDataIndex (PartsDataID *partsID)
 パーツデータのインデックスを取得する [詳細]
 
void setPremultipliedAlpha (bool b)
 使用するテクスチャがpremultiplied-alpha(あらかじめアルファの値がかかっている)かどうかを設定する [詳細]
 
bool isPremultipliedAlpha ()
 使用するテクスチャがpremultiplied-alpha(あらかじめアルファの値がかかっている)かどうかを取得する [詳細]
 
void setAnisotrophy (int n)
 異方性フィルタリングの値を設定する。 [詳細]
 
int getAnisotrophy ()
 異方性フィルタリングの値を取得する [詳細]
 
void dump ()
 

Static Public 変数

static const int FILE_LOAD_EOF_ERROR = 1
 
static const int FILE_LOAD_VERSION_ERROR = 2
 
static int INSTANCE_COUNT = 0
 
- Static Public 変数 inherited from LDObject
static int object_instanceCount = 0
 
static int object_totalCount = 0
 

Static Protected メソッド

static l2d_uint32 loadModel_exe (ALive2DModel *ret, const LDString &filepath)
 mocファイルからモデルデータを読み込む。内部処理用。 [詳細]
 
static l2d_uint32 loadModel_exe (ALive2DModel *ret, const void *buf, int bufSize)
 

Protected 変数

ModelImplmodelImpl
 
ModelContextmodelContext
 

Additional Inherited Members

- Static Public メソッド inherited from LDObject
static void * operator new (l2d_size_t size)
 new オペレータ (Ownerを指定しない場合) [詳細]
 
static void operator delete (void *ptr)
 delete オペレータ (Ownerを指定しない場合) [詳細]
 
static void * operator new[] (l2d_size_t size)
 new[] オペレータ (Ownerを指定しない場合) [詳細]
 
static void operator delete[] (void *ptr)
 delete[] オペレータ (Ownerを指定しない場合) [詳細]
 
static void * operator new (l2d_size_t size, void *ptr)
 placement new オペレータ [詳細]
 
static void operator delete (void *ptr, void *ptr2)
 placement delete オペレータ [詳細]
 
static void * operator new (l2d_size_t size, MemoryParam *memParam)
 new オペレータ (デバッグ用) [詳細]
 
static void operator delete (void *ptr, MemoryParam *memParam)
 delete オペレータ (デバッグ用) [詳細]
 
static void * operator new (l2d_size_t size, MemoryParam *memParam, const char *filename, int line)
 new オペレータ (デバッグ用) [詳細]
 
static void operator delete (void *ptr, MemoryParam *memParam, const char *filename, int line)
 delete オペレータ (デバッグ用) [詳細]
 

説明

Live2Dモデルクラス(抽象基底クラス)。モデルファイル(.moc)からサブクラス Live2DModelXXX (XXXはiPhoneなど)を生成して利用する。


ALive2DModelとそのサブクラスに対して、モデルへのパラメータ設定、描画などを行う。

モデルファイル(.moc)からのロードは、サブクラスのstaticメンバ関数 loadModel()を使う。 例) Live2DModelIPhone* model = Live2DModelIPhone::loadModel( mocFilePath ) ;

テクスチャはモデルファイル(.moc)とは別に出力されるので model->setTexture( 環境ごとのテクスチャ ) によってモデルと紐付ける。

コンストラクタとデストラクタ

ALive2DModel ( void  )

Constructor.


日付
2013/05/21
~ALive2DModel ( void  )
virtual

Destructor.


日付
2013/05/21

関数

void addToParamFloat ( const char *  paramID,
float  value,
float  weight = 1.0f 
)

指定したパラメータの現在の値に対して重みをつけて加える。


引数
paramID-> パラメータのID名。無効な場合は何も起きない。
value-> 現在の値に加える値
weight-> 掛けあわせる重み。1のときは指定した値をそのまま加える。
日付
2013/05/21
void draw ( )
virtual

Modelの描画


日付
2013/05/21

Live2DModelD3D, Live2DModelIPhone, と Live2DModelMacOSXで再定義されています。

int generateModelTextureNo ( )
virtual

新しく利用できるLive2D内部で管理されるテクスチャ番号を確保(Avatar用)


戻り値
テクスチャ番号
日付
2013/05/21

Live2DModelD3D, Live2DModelIPhone, と Live2DModelMacOSXで再定義されています。

int getAnisotrophy ( )

異方性フィルタリングの値を取得する


戻り値
初期値は1。異方性フィルタリングを使用しない。
float getCanvasHeight ( )

モデルのキャンバスの高さを取得する


戻り値
キャンバスの高さ。モデルが正常に読み込めていない場合は0。
日付
2013/05/21
float getCanvasWidth ( )

モデルのキャンバスの横幅を取得する。


戻り値
キャンバスの横幅。モデルが正常に読み込めていない場合は0。
日付
2013/05/21
virtual IDrawData* getDrawData ( int  drawIndex)
inlinevirtual

メッシュを取得


引数
drawIndex-> メッシュのインデックス
戻り値
指定したインデックスのメッシュ
virtual int getDrawDataIndex ( const char *  drawDataID)
inlinevirtual

メッシュの名前からインデックスを取得


引数
drawDataID-> メッシュのID名
戻り値
メッシュのインデックス
virtual DrawParam* getDrawParam ( )
inlinevirtual

描画用パラメータ取得


戻り値
オーバーライドしていない場合はNULL

Live2DModelD3D, Live2DModelMacOSX, と Live2DModelIPhoneで再定義されています。

int getErrorFlags ( )
inline

【非推奨】ロード時のエラー情報を返す。


Live2D::getError()に統一。

戻り値
エラー情報を返す。
ModelContext* getModelContext ( )
inline

モデルの現在の状態(Context)を取得する


戻り値
ModelContext
ModelImpl * getModelImpl ( )

モデルのデータ構造(パラメータ、パーツ情報)の取得


戻り値
modelImpl -> モデルデータ
日付
2013/05/21
float getParamFloat ( const char *  paramID)

パラメータ値を取得する


引数
paramID-> 取得したいパラメータのID名。
戻り値
パラメータ値
日付
2013/05/21
int getParamIndex ( const char *  paramID)
inline

パラメータの名前からインデックスを取得する


Live2D上ではパラメータIDは全モデル共通で管理される。 パラメータの名前とインデックスは一対一で対応する。 利用頻度の高いAPIは名前とインデックスのどちらからでも指定できる。 名前で指定した場合、内部でインデックスを取得して使うので、インデックスで指定したほうが処理はやや早い(通常の環境では無視できるレベル)。 存在しない名前を指定した場合は、IDを新規作成する。 Live2Dライブラリを破棄したときにパラメータIDも破棄される。

引数
paramID-> パラメータのID名
戻り値
パラメータのインデックス
int getParamIndex ( ParamID paramID)
inline

パラメータIDインスタンスからインデックスを取得する


引数
paramID-> 取得するパラメータID
戻り値
パラメータのインデックス
int getPartsDataIndex ( const char *  partsID)
inline

パーツの名前からインデックスを取得する


引数
partsID-> パーツのID名
戻り値
取得したパーツデータのIndex値
int getPartsDataIndex ( PartsDataID partsID)
inline

パーツデータのインデックスを取得する


引数
paramID-> 取得するパーツデータID
戻り値
取得したパーツデータのIndex値
float getPartsOpacity ( const char *  partsID)

指定したパーツの不透明度を取得しする。


引数
partsID-> 取得したいパーツのID名。
戻り値
指定したパーツの不透明度。存在しない場合は0
日付
2013/05/21
l2d_pointf * getTransformedPoints ( int  drawIndex,
int *  pointCount 
)
virtual

描画用の点列を取得する。


update()後に呼ぶ。取得できない場合は null を返す pointCount は点の数が返る

点列には、描画時に使用するための環境に依存したデータがそのまま入る 配列は { u , v , x , y , z } などの形で取得される

int pointCount = 0 ; int drawIndex = live2DModel->getDrawDataIndex("D_NOSE.00") ; float* points = live2DModel->getTransformedPoints( drawIndex , &pointCount ) ;

int offset = live2d::DEF::VERTEX_OFFSET ; //j/ 点列のうちの x のはじまるoffset int step = live2d::DEF::VERTEX_STEP ; //j/ 1点に含まれる点の数

if( points ){ for( int i = 0 ; i < pointCount ; i++ ){ int xi = i*step + offset ; int yi = i*step + offset+1 ; printf("%5.1f ,%5.1f " , points[xi], points[yi]) ; } printf("\n") ; }

引数
drawIndex-> メッシュのインデックス
pointCount-> 頂点数を返す。
戻り値
指定したポリゴンの頂点。取得できないときはNULL
日付
2013/05/21
void init ( )
virtual

データ構造の変更、パーツ差し替えなどを行った場合に呼ぶ


日付
2013/05/21
bool isPremultipliedAlpha ( )

使用するテクスチャがpremultiplied-alpha(あらかじめアルファの値がかかっている)かどうかを取得する


戻り値
premultiplied-alphaとしてテクスチャを使用するかどうか。初期値はプラットフォームごとに異なる
l2d_uint32 loadModel_exe ( ALive2DModel ret,
const LDString filepath 
)
staticprotected

mocファイルからモデルデータを読み込む。内部処理用。


引数
ret-> 読み込んだモデル
filepath-> ファイルパス
日付
2013/05/21
void loadParam ( )

前回saveParamしたときのパラメータ値を復元する。saveParamされていなければ何もしない


日付
2013/05/21
void multParamFloat ( const char *  paramID,
float  mult,
float  weight = 1.0f 
)

指定したパラメータの現在の値に対して、重みをつけて値を掛け合わせる。


引数
paramID-> パラメータのID名。無効な場合は何も起きない。
mult-> 現在の値に掛け合わせる値
weight-> 掛けあわせる重み。1のときは指定した値をそのまま掛け合わせる。
日付
2013/05/21
void releaseModelTextureNo ( int  no)
virtual

Live2D内部で管理されるテクスチャ番号を解放(Avatar用)


引数
no-> 解放するテクスチャ番号
日付
2013/05/21

Live2DModelD3D, Live2DModelIPhone, と Live2DModelMacOSXで再定義されています。

void saveParam ( )

現在のパラメータ値を一時的に記憶する。loadParam()で復元できる。


日付
2013/05/21
void setAnisotrophy ( int  n)

異方性フィルタリングの値を設定する。


グラフィック環境が対応していれば、画質が向上する。 Live2Dでは特に大きな変形のあるポリゴンに対して有効

引数
n-> 通常は2の累乗を設定する。無効にする時は1を設定
void setModelImpl ( ModelImpl m)

モデルのデータ構造(パラメータ、パーツ情報)の設定


引数
m-> モデルデータ
日付
2013/05/21
void setParamFloat ( const char *  paramID,
float  value,
float  weight = 1.0f 
)

指定したパラメータに重みをつけて値を設定する。


引数
paramID-> パラメータのID名。無効な場合は何も起きない。
value-> 設定するパラメータ値
weight-> 掛けあわせる重み。1のときは上書きとなる。
日付
2013/05/21
void setPartsOpacity ( const char *  partsID,
float  opacity 
)

パーツの不透明度の設定を行う。


引数
partsID-> 設定するパーツのID名。無効な場合は何も起きない。
opacity-> 不透明度(0 - 1)
日付
2013/05/21
void setPartsOpacity ( int  partsIndex,
float  opacity 
)

パーツの不透明度の設定を行う。


引数
partsIndex-> 設定するパーツのID名
opacity-> 設定する不透明度の値(0 - 1)
日付
2013/05/21
void setPremultipliedAlpha ( bool  b)

使用するテクスチャがpremultiplied-alpha(あらかじめアルファの値がかかっている)かどうかを設定する


引数
b-> premultiplied-alphaのテクスチャを使用するならばtrue
void update ( )
virtual

頂点情報を更新する


モーションの適用など、すべてのパラメータ変更を行ったあとで呼ぶ。 描画前に毎回呼ぶ必要がある。

日付
2013/05/21

このクラスの説明は次のファイルから生成されました: