Live2Dは2次元の画像をなめらかにアニメーションさせることができる技術です。
最近はゲームやVtuberなどで活用が進んでいます。
サンプルゲームプロジェクトファイルを入手
ティラノスクリプト本体、および、Live2Dプラグインは無料で利用できます。
ただし、本プラグインはLive2D Cubism SDKを使用しており、本プラグインを使用してゲームを制作した場合
SDKリリースライセンスへの同意が必要です。
Live2D SDKリリースライセンスを確認する
2019年4月現在、 直近売上が1,000 万円未満の個人・学生・サークル・その他の団体については無償で作品をリリースできます。
また、本プラグインに含まれているLive2Dモデルについては、Live2Dのガイドラインに準拠して使用することができます。
【ガイドライン】https://docs.live2d.com/cubism-editor-manual/sample-model/
live2d_tyrano_plugin_v304 プラグインを入手(2020/1/11)
Live2Dプラグインをダウンロードして適当な場所に展開してください。
[plugin name="live2d"]
[plugin name="live2d"]
[live2d_restore ]
Live2Dモデルデータはdata/others/plugin/live2d/modelフォルダの中に配置します。
このディレクトリ名に記載されているのがモデルIDです。
上記画像だと「Haru」というのがモデルIDになります。
あとは、タグを記述するだけでLive2Dモデルを表示できます。
[live2d_new name="haru" model_id="Haru" ]
;Live2Dモデルの表示
[live2d_show name="haru" y=-0.8 x=0 scale=2.5 ]
これで表示されました。簡単ですね。
Live2Dのモーションについて好きなタイミングで制御することができます。
モーションを再生するには[live2d_motion]タグを使用します。
モーション名についてはモデルデータをエディタで確認します。
モデルIDがHaruのデータを例にすると
Haru.model3.json ファイルをエディタで開きます。
その中を確認するとモーションファイルとの紐づけが記述されている部分が確認できます。
このNameを[live2d_motion]タグで指定することでモーションを操作することができます。
この例だと、「Idle」「Idle2」「TapBody」「Test」と名前でモーションファイルが紐付いています。
ちなみに「Idle」はキャラクターが通常立っている状態に再生するモーションになります。
なので、「TapBody」というモーションを指定したい場合は
[live2d_motion name="haru" mtn="TapBody" ]
このように記述するとモーションが再生されます。
また、このTapBodyには複数のモーションが配列で設定されています。
通常は1番目のモーションが再生されますが、別のモーションを指定することもできます。
[live2d_motion name="haru" mtn="TapBody" no=2 ]
no=2 を指定しているので、TapBodyの中の、0から数えて2つ目のモーションが再生されます。
また、表情を変更するExpressionもゲーム中に変更できます。
こちらもjsonファイルのExpressionで紐付いた名前を指定することができます。
[live2d_expression name="haru" expression="f07"]
[live2d_mod name="haru" idle="Test" ]
モデルが話している間、口を動かすことができます。
これはリップシンクに対応したモデルでなければいけません。
まず、[live2d_new]のタイミングで lip=true jname="ハル" というように
リップ機能の有効化と、このキャラクターの表示名を指定します。
[live2d_new name="haru" model_id="Haru" lip=true jname="ハル"]
あとは、通常のティラノで使用する、名前欄の指定と、このjnameが一致する場合、口が動きます。
口の動くスピードなども変更できますので、ぜひ確認してみてください。
[live2d_new name="haru" model_id="Haru" lip=true jname="ハル"]
#ハル
今はハルがしゃべってるよ。[p]
いい感じに喋れてるかな[p]
また実際のボイスと連動するものについては、未実装となります。
ゲーム画面の画面を初期設定のサイズより拡大したとき、
Live2Dモデルがメッセージウィンドウの前に
表示されてしまうケースがあります。
対策として
①ゲームの画面サイズを大きく設定する。
もしくは
② tyrano.css を編集する。
tyrano/tyrano.cssファイルをエディタで開いて以下の箇所『position: absolute;』の1行を消してください。
.tyrano_base{
-moz-user-select: none;
-webkit-user-select: none;
-khtml-user-select: none;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}
ただし、②の方法だと画面のセンタリングとカメラが使用できなくなります。ご了承ください。
Live2Dモデルを読み込みます。
[live2d_new]を実行した時点ではまだモデルは画面に表示されません。
その後、[live2d_show]を実行することで画面に表示することができます。
パラメータ | 必須 | 解説 |
---|---|---|
name | × | モデル名を指定します。省略した場合はmodel_idの値がnameに適応されます。 |
model_id | × | モデルIDを指定します。modelフォルダ以下に配置されたフォルダ名がモデルIDです。また、○○.model3.jsonなど関連するファイルもすべて同じ名前にします。 |
idle | × | アイドルモーション名を指定できます。デフォルトは 「Idle」。複数が設定されている場合はランダムに再生されます。 |
scale | × | モデルを表示する時のスケールを指定できます。例えば、1.5を指定すると1.5倍の大きさに拡大されます。デフォルトは1 |
x | × | モデルのヨコ、立ち位置を指定します。注意点として画面中央が 0 となり、ティラノの他の指定とは異なりますのでご注意ください。 |
y | × | モデルのタテ、立ち位置を指定します。注意点として画面中央が 0 となり、ティラノの他の指定とは異なりますのでご注意ください。 |
lip | × | キャラクターが話しているシーンで口を動かすかどうかを指定できます。デフォルトはfalse。(リップシンク設定が有効なモデルのみ動作) |
lip_time | × | 口を動かすスピードを指定できます。デフォルトは100。数値を小さくするとすばやく口が動きます |
breath | × | trueかfalseを指定します。デフォルトはtrue。アイドル状態に呼吸しているようなモーションが適応されます。適応したくない場合はfalseを指定してください |
jname | × | キャラクターの表示名を指定します。口を動かす場合は必ず指定します。ここで指定した名前を#○○で指定している場合のみ口が動きます。 |
[live2d_new name="haru" model_id="Haru" ]
[live2d_show name="haru" y=-0.8 x=-0.3 scale=2.5 ]
Live2Dモデルをゲーム画面に表示します。
表示するためには予め[live2d_new]タグでモデルを読み込んでおく必要があります。
パラメータ | 必須 | 解説 |
---|---|---|
name | × | モデル名を指定します |
idle | × | アイドルモーションを変更できます。複数のモーションが指定されている場合はランダムに繰り返し再生します。 |
scale | × | モデルを表示する時のスケールを指定できます。例えば、1.5を指定すると1.5倍の大きさに拡大されます。デフォルトは1 |
x | × | モデルのヨコ、立ち位置を指定します。注意点として画面中央が 0 となり、ティラノの他の指定とは異なりますのでご注意ください。 |
y | × | モデルのタテ、立ち位置を指定します。注意点として画面中央が 0 となり、ティラノの他の指定とは異なりますのでご注意ください。 |
[live2d_new name="haru" model_id="Haru" ]
[live2d_show name="haru" y=-0.8 x=-0.3 scale=2.5 ]
Live2Dモデルのパラメータを変更します。
パラメータ | 必須 | 解説 |
---|---|---|
name | × | モデル名を指定します |
idle | × | アイドルモーションを変更できます |
scale | × | モデルを表示する時のスケールを指定できます。例えば、1.5を指定すると1.5倍の大きさに拡大されます。デフォルトは1 |
x | × | モデルのヨコ、立ち位置を指定します。注意点として画面中央が 0 となり、ティラノの他の指定とは異なりますのでご注意ください。 |
y | × | モデルのタテ、立ち位置を指定します。注意点として画面中央が 0 となり、ティラノの他の指定とは異なりますのでご注意ください。 |
[live2d_new name="haru" model_id="Haru" ]
[live2d_show name="haru" y=-0.8 x=-0.3 scale=2.5 ]
[live2d_mod name="haru" scale=1 ]
すべてのLive2Dモデルを完全に削除します。
もう一度モデルを使用するには[live2d_new]で改めて定義する必要があります
用途としては、Live2Dモデルはメモリを多く使用するため
一度に何体も[live2d_new]を定義しておくのは推奨できません。
そこで、区切りの良いタイミングで[live2d_delete_all]でメモリを綺麗にしておくことで
安定した動作を期待できます。
多くのLive2Dモデルを使用するゲームではうまく活用してください。
パラメータ | 必須 | 解説 |
---|---|---|
指定できるパラメータはありません |
[live2d_delete_all]
Live2Dモデルのモーションを再生します。
パラメータ | 必須 | 解説 |
---|---|---|
name | × | モデル名を指定します |
mtn | × | 指定したモーションを再生します |
no | × | グループを指定できます。例えばひとつのモーション名に複数のモーションファイルが割り当てられている場合に添字を指定してください。デフォルトは0です |
force | × | trueかfalseを指定します。trueを指定すると他のモーションが再生中の場合、強制的にモーションを上書きします。デフォルトはtrue |
[live2d_new name="haru" model_id="Haru" ]
[live2d_show name="haru" y=-0.8 x=-0.3 scale=2.5 ]
[live2d_motion name="haru" mtn="Test" no=0 ]