MrSlip777 / plugins_talk_live2d_cubism4

display live2d model for rpgmakerMV
11 stars 1 forks source link

plugins_talk_live2d_cubism4

概要

会話表示中にLive2d(cubism4.0)でキャラクターを表示させるプラグインです。

ご使用上の注意(Live2Dライセンス)

本プラグインはLive2D Cubism SDKを使用しており、本プラグインを使用してゲームを制作する場合はLive2D Proprietary Licenseへの同意が必要となります。
https://www.live2d.jp/terms/live2d-proprietary-software-license-agreement/
※上記はCubism Core for Web をダウンロードする際に確認できます。

また、制作したゲームを公開する場合は SDKリリースライセンスへの同意が必要です。
https://www.live2d.com/download/cubism-sdk/release-license/
※2020年10月現在、 直近売上が1,000 万円未満の小規模事業者・個人・学生・サークル・その他の団体については無償で作品をリリースできます。

準備

1.Cubism SDK for Webをダウンロードする
https://www.live2d.com/download/cubism-sdk/

2.フォルダを解凍する
3.Coreフォルダの"live2dcubismcore.min.js"をツクールMVのpluginsフォルダへ置く
※live2dcubismcore.min.js→live2dcubismcore_min.jsにリネームしておく

4.以下のURLから"polyfill.min.js"をダウンロードし、ツクールMVのpluginsフォルダへ置く
https://www.jsdelivr.com/package/npm/promise-polyfill?version=8.0.0&path=dist
※polyfill.min.js→polyfill_min.jsにリネームしておく

5.以下からプラグインをダウンロードする
https://github.com/MrSlip777/plugins_talk_live2d_cubism4
※clone or Downloadからダウンロードできます。

6.live2dモデル(cubism4.0)をプロジェクトのフォルダ内に置く
例)プロジェクト名:"Project"でモデルのフォルダパスが"assets/koharu/"の場合は
以下のようになります
Project/assets/koharu/

7.model3.jsonファイルと、モデルファイル名を一致させておく
末尾のフォルダ名とmodel3.jsonのファイル名は同じにしてください。
例)フォルダパスが"Project/assets/koharu/"である場合は以下のようになります
model3.jsonファイル名:koharu.model3.json

ツクールMVでの設定

1.ツクールMVを起動する

2.プラグインを上から以下の順番に設定する
 ・polyfill_min.js
 ・live2dcubismcore_min.js
 ・live2dcubismframework_custom.js
 ・Live2DInterfaceMV.js

3.live2DInterfaceMVにて、live2Dモデルのフォルダのパスを設定する

例)フォルダパスが"Project/assets/koharu/"である場合は以下のようになります
foldername:./assets/koharu/

4.Modelname,motiongroupnameを適宜設定しておく
Modelnameはプラグインコマンド名でモデルを呼び出すときの名前です
例)Modelname:コハル
motiongroupnameは後述のモーションの章を参考にしてください

プラグイン基本の補足

■上下反転について
【全てのモデルを反転する場合】
全てのモデルを上下反転する場合は"upsidedown"をtrueにしてください。

【モデル別に反転する場合】
モデル別で上下反転を設定する場合は"upsidedown"をfalse、
該当するモデルのModelcondition内のindividual_upsidedownをtrueにしてください。

イベント内の設定

以下のプラグインコマンドを設定することで、Live2dモデルを操作できます。

表示・非表示

■ 表示
 TalkLive2d モデル名 表示
 例)TalkLive2d コハル 表示

■ 消去
 TalkLive2d モデル名 消去
 例)TalkLive2d コハル 消去

モーション

■事前準備
 motiongroupnamesで設定した文字列(モーション組名)でモーションを開始できます。
<モーション組名:グループ名>
例)<きほん:Idle_1>
2組設定した場合は連続でモーション再生します
例)<れんぞく:Idle_1,Idle_7>
※グループ名・・・model3.jsonファイル内のMotionsの名称
motion3.json内のグループ名
motion3.json内のグループ名_2
ツクールMVエディタ内でのmotiongroupnames設定例
■ モーション
 TalkLive2d モデル名 モーション組名 ループしない
※ループしない・・・記入がない場合ループする設定
組の内最後のモーションのループに反映されます。
ループしない場合最後のモーションのループ地点到達時に不可視状態になります。
 例)TalkLive2d コハル 基本モーション
このコマンド実行時には該当のモデルは自動的に可視状態にします。
このコマンドと位置調整を同時に行いたいときは
位置の指定を先に行ってください。
 ツクールMVプラグインコマンド設定例
■ モーション(内部データ形式)
 TalkLive2d モデル名 モーション グループ名 番号
 ※グループ名・・・model3.jsonファイル内のMotionsの名称
 例)TalkLive2d コハル Idle 1

■ モーションのループ設定
 ※モーションのオプションとしてループする、しないを選択できます。
 ①ループする場合
  TalkLive2d モデル名 モーション グループ名 番号 ループする
 ②ループしない場合
  TalkLive2d モデル名 モーション グループ名 番号 ループしない

表情

■ 表情
 TalkLive2d モデル名 表情 表情名
 例)TalkLive2d コハル 表情 表情名

【表情名の補足】
表情名はmodel3.jsonファイル内で以下のように設定します。
○ツクールMVエディタでの設定
ツクールMVエディタ
○model3.jsonでの設定
model3.jsonファイル

位置変更

■ 位置変更
 TalkLive2d モデル名 右(または、中央、左)
 例)TalkLive2d コハル 左

■ 位置変更(X)
 TalkLive2d モデル名 X位置 数値(1~キャンバス幅)
 例)TalkLive2d コハル X位置 100

■ 位置変更(Y)
 TalkLive2d モデル名 Y位置 数値(1~キャンバス高さ)
 例)TalkLive2d コハル Y位置 100

■ 位置変更(詳細)
 TalkLive2d モデル名 右(または、中央、左)
 例)TalkLive2d コハル 左

TalkLive2d モデル名 位置 x y duration wait
(waitの記入がある時duration分ウェイト)
例)TalkLive2d コハル 位置 50 50 10 wait
0を超えるdurationを指定した場合かつ
ウェイト設定をしていない場合には特に
その後のモデル設定などに注意してください。
(メニュー開閉などを挟んでも
基本的にモデルの移動状態は維持しています。)

■ 倍率変更
 TalkLive2d モデル名 倍率変更 数値
 例)TalkLive2d コハル 倍率変更 4.0

■ パラメータ初期化スキップ  TalkLive2d モデル名 パラメータ初期化スキップ true
 例)TalkLive2d コハル パラメータ初期化スキップ true
戻す時はTalkLive2d コハル パラメータ初期化スキップ false
falseの場合は実行した瞬間にパラメータを初期化します。
これ以降のこのプラグインによる実装のモデルの
パラメータ初期化タイミングは全てスキップします。
(このコマンド実行時点からモデルで見た次のタイミングから)

戦闘シーン

Live2Dの表示レイヤー変更

戦闘シーンにて、Live2Dモデルを表示する場合、表示レイヤーは
敵グラフィックの奥、または手前に表示を設定できます。

IsBehindEnemiesをtrueにした場合は敵グラフィックの奥に、falseにした場合は
手前に表示されます。

↓ツクールエディタ内のIsBehindEnemiesの場所
プラグイン 設定

↓IsBehindEnemiesをtrueにした場合
falseにした場合

↓IsBehindEnemiesをfalseにした場合
trueにした場合