ツクールMZでLive2Dを使うプラグインの導入話(サンプルあり)
ども、宗です。ここ1か月くらい、ちょっとツクールMZでこんな↓クリッカーゲームを作っていたのですがもっとキャラにリアクションをさせたくなりライブ2Dのモデルを使うプラグインを実装しました。で、これ、いいプラグインなのに結構失敗しやすいかも…。と思ったので備忘録を残しときます。ツクールのプラグインに慣れている人は>>こちらのサンプル<<をDLして、ツクールMZで動作テストと配置したイベントの中身、加えてassetsフォルダとjsフォルダを確認してください。それでだいたい理解できます。■使用したもの・SlipさんのLive2DInterfaceMZのプラグインセット。 (↑Boothの配布ページ。基本無料)・ツクールMZ・Live2Dで作成したモデルのセット ※公式が配布しているモデル桃瀬ひよりフリー版で試作しました。■導入準備 基本的には上記Boothページの『詳細』に従って進めるだけ。 必要なプラグインファイルは3つです。 1.『live2dcubismcore.min.js』(Live2D公式で入手できる『Cubism SDK for Web』の中にある) 2.『Live2DInterfaceMZ.js』(詳細のページに置いてある) 3.『cubism4ForMZ.js』(詳細のページに置いてある) ただし2.3.は「名前を付けてリンク先を保存」で入手すると文字化けを起こしました。 この画像↓右上の「Download raw file」と表示されるボタンを使ってDLしないとダメみたいです。で、『live2dcubismcore.min.js』『Live2DInterfaceMZ.js』『cubism4ForMZ.js』の3つをツクールMZのプラグインフォルダに入れておきます。最後に、ライブ2Dのモデルは「audio」や「img」などの隣にフォルダを作成し、中にモデルのフォルダを丸ごと入れます。この時、フォルダ名は.model3.jsonのファイル名に書き換えます。※↑は『拡張子』が「.model3.json」のファイルです。「.json」だけなら複数あるので要注意!(詳細や自分のサンプルではフォルダ名を「assets」として、その中にモデル関連のフォルダを入れました。 公式が配布している桃瀬ひよりフリー版を使うなら、「runtime」フォルダの名前を「hiyori_free_t08」に書き換え、それをassetsフォルダに入れます。)■ツクールMZ上でプラグイン設定をする1.「プラグイン管理」で、上記3つのプラグインを選択し、ONにします。"プラグインがRPGツクールMZに対応していない可能性があります"と表示されますが、無視して大丈夫です。2.『Live2DInterfaceMZ』にパラメータ設定をします。(他2つは不要) ただ動かすだけなら「Modelcondition」のみ設定すればOK。ここ↓をダブルクリックして ↓出てきたこの↓ウインドウの1項目目をダブルクリックして(使用するモデルの数だけ、ここに項目を作成していきます)↓「modelname」はぶっちゃけなんでもいいです。ツクールMZ内で呼び出すときにその名前を使います。folderpathはモデルデータの入っているフォルダを指定します。「./」を忘れないよう注意。motiongroupnamesは、ライブ2Dで設定したモーションにツクールMZで使う時の名前を付けます。左側がツクールMZで使う名前、右側がファイル「hiyori_free_t08.model3.json」をテキストで開いた時に表示されるモーションの名称と番号です。命名規則はSlipさんの詳細参照。ライブ2D編集時のアニメーション名ではないので注意。Boothの詳細をよく読んで試してみてください。以上でプラグイン側の設定は完了。■プラグインコマンドでモデルを表示し、動かす『Live2DInterfaceMZ』がONになっていればLive2D用のプラグインコマンドが使用可能になります。適当にイベントを作ってプラグインコマンドを選択。「プラグイン名」は「Live2DInterfaceMZ」を選択、「コマンド名」は「表示」を選択※表示でモデルを見えるようにしてからでないと、何をやっても反応しません。最後に名前の欄にプラグイン設定時にmodelnameでつけた名前を入力すればOK。同じようにプラグインコマンドを使って、今度は表示ではなくモーション再生も作成。するとイベントの中身はこのようになる↓。あとは同じような手順で、モーションを切り替えたり、消したり、拡大縮小したり、表示座標を動かしたりもできるようになります。…という感じでした。ちなみに特に言及のなかった「.gitattributes」「.gitignore」というファイルも詳細ページに置いてあるのですが、わたしは一応jsフォルダ内に入れてます。自分の環境だとこれを抜くと他のプラグインと競合を起こしました。逆もあるかもなのでそこは試行錯誤で頑張って下さい。では、本日は以上で。