WebGL SDK 2.0→2.1の変更点
2.1からクリッピングマスク機能がサポートされました。
2.0から2.1の変更点は以下の通りです。
変更点1: 「Live2DModel.setGLからLive2D.setGLに変更する」
変更前:
176
177
178
// OpenGLのコンテキストをセット
Live2DModel.setGL(gl);
変更後:
107
108
109
// OpenGLのコンテキストをセット
Live2D.setGL(gl);
変更前の場合、以下のエラーがでますので上記を修正して下さい。
「Cannot read property 'createProgram' of undefined」
複数Canvasを使用する場合は、mocファイルロード処理部分でsetGL処理を入れて下さい。
また、loadModelの第2引数にCanvasのインデックス番号も指定して下さい。
(インデックス番号は1つ目のCanvasが0、2つ目のCanvasが1となり、第2引数が0, 1...となります)
詳しい実装は、SimpleMultiCanvasプロジェクトを参照して下さい。
複数Canvasの場合:
114
115
116
117
118
119
// mocファイルからLive2Dモデルのインスタンスを生成
this.loadBytes(this.modelDef.model, function(buf){
// OpenGLのコンテキストをセット(MultiCanvasの場合はここでglをセットする)
Live2D.setGL(gl);
thisRef.live2DModel = Live2DModelWebGL.loadModel(buf, thisRef.glno);
});
変更点2: 「createTexture処理に乗算済アルファチェックを追加する」
以下の3行をcreateTexture処理に追加します
追加:
233
234
235
236
if(live2DModel.isPremultipliedAlpha() == false){
// 乗算済アルファテクスチャ以外の場合
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1);
}
クリッピングマスクのサイズについて
クリッピングマスクのサイズはデフォルトは256 x 256サイズです。
クリッピングマスクのジャギりなど気になる場合は、大きいサイズを指定して下さい。
指定できるサイズは2の累乗である必要があります(128, 256, 512, 1024, 2048...)
以下のコードでクリッピングマスクサイズを変更する事ができます。
1
2
3
// クリッピングマスクサイズを1024x1024にする
Live2D.setClippingMaskBufferSize(1024);