「nizimaモデル仕様」は、Live2Dモデル(主に moc3、model3.json ) に対して簡単な設定を行うことで、様々なアプリケーション上でタップやフリックに反応させたり、表情を変えたりすることができる共通仕様です。
nizima上の作品に限らず幅広い活用を目指し、様々なアプリケーション上でキャラクターを魅力的に動かせるよう仕様を検討中です。
※ version 0.4 はベータ仕様であるため、今後修正される可能性がありますのでご了承ください。
更新履歴
version 0.4 2020/11/2
対応アプリ
nizima プレビュー
nizima サービス上のLive2D作品プレビューは nizimaモデル仕様対応です。
にじマス [nizima Desktop Mascot] α 版
Live2D nizimaチームが提供する Live2Dデスクトップマスコット アプリ。
Win版のみリリース済、Mac版は準備中。
My Live2D Clock
カラクリズムとLive2D nizimaチームが提供する、スマートフォン用Live2Dアラームアプリ。
Live壁紙の設定も可能です。iOSとAndroid版がリリース済。
対応予定アプリ
(2020年7月 現在)
nizimaモデル仕様対応の明示
「nizimaモデル仕様v0.4」に準拠して作られたモデルでは、作品詳細、タグなどに「nizimaモデル仕様対応」と記載し、詳細説明にはどのバージョン(v0.4など)にどの程度対応しているかを記載するようにお願いします。
nizimaモデル仕様の設定タイプ
イベントモーション
タップ(クリック)等のユーザ操作や、タイマー等によるイベントによって発生するモーションを定義します。
表情設定
笑った表情、怒った表情、悲しい表情などの感情設定を共通化し、アドベンチャーゲーム等でキャラクターの感情表現として利用するための共通仕様になります。
※ 2019年12月時点では、本格対応しているアプリはありませんが、nizimaプレビューでは表情を切り替え可能になっています。
表情(感情)モーション(検討中)
笑う、怒るなどの感情を表すモーションの設定について検討中です。
イベントモーション
タップ(クリック)等のユーザ操作や、タイマー等によるイベントによって発生するモーションを指定できます。
Cubism Viewer(for OW) で、モーション( motion3.json )を登録し、各モーションの「グループ名」を以下のルールに沿って指定するだけです。
イベント名(グループ名)ルール
Idle(必須)
アイドリング時(何もイベントが無いときの動き
※3つ以上設定することが望ましい
Start (推奨)※v0.4で追加
キャラクターを表示した時点で再生されるモーション
時間帯によらず再生される
Start#Morning , Start#Night が設定されている場合、その時間帯はそちらだけ再生
※ 2020年11月に仕様公開。アプリでは段階的に対応していきます。
Start#Morning (任意)
Start#Night (任意)
※v0.4で追加
キャラクターを表示した時点で、指定の時間帯に一致した場合に再生されるモーション。
朝昼晩で登場時のセリフを変えたい場合などで用いる。
以下のルールで時間帯を指定
Start#Morning 朝の時間帯( 04:00 ~ 11:00 )
Start#Night 夜の時間帯( 18:00 ~ 04:00 )
上記以外の時間帯は Start が再生されます。
※ 2020年11月に仕様公開。アプリでは段階的に対応していきます。
Tap(推奨)
1回タップ時。
※デスクトップ環境ではクリック
Tap@領域(推奨)
指定の領域をタップしたとき
Flick(推奨)
1回フリック時
どの方向でもよい
Flick@領域(推奨)
@領域を付けた場合は、指定の領域からフリックをスタートした場合に反応する
FlickUp(推奨)
FlickDown(推奨)
FlickLeft(推奨)
FlickRight(推奨)
Up:下から上にフリック
Down:上から下にフリック
Left:右から左にフリック
Right:左から右にフリック
FlickUp@領域(推奨)
FlickDown@領域(推奨)
FlickLeft@領域(推奨)
FlickRight@領域(推奨)
@領域を付けた場合は、指定の領域からフリックをスタートした場合に反応する
備考) のれんを上方向にめくる等で用いる
Flick3(推奨)
右左右など3回以上フリック
備考) なでなでに相当する動き(v0.4 で変更検討中)
Flick3@領域(推奨)
@領域を付けた場合は、指定の領域からフリックをスタートした場合に反応する
Shake(任意)
スマホを振ったとき
ウインドウを振ったとき
備考) 振ったら酔ったような動きなど
PinchIn(任意)
縮小時
PinchOut(任意)
拡大時
Alarm(検討中)
アラーム
Hourly(検討中)
時報
備考)v1では検討段階(時間ごとに音声を変えるための仕様などが必要か)
Focus(検討中)
v1では検討段階
FocusLost(検討中)
v1では検討段階
イベントモーションのセットアップ方法
「nizimaモデル仕様」のイベントモーションのセットアップは、model3.json に対して設定していきます。
※ model3.json は組み込み用モデル ( moc3 ) 書き出し時に生成されます。
※ 書き出し種別を「2次マ(nizima)」にした場合は、export.zip 、preview.zip を展開すると model3.json を編集できます。
model3.json に対してCubism Editorと同時にインストールされる Cubism Viewer(for OW) 上でセットアップを行います。
nizimaに作品投稿する場合
nizimaにアップする場合は、export.zip、preview.zip の両方にセットアップする必要があります。
通常 export.zip と preview.zip の違いは、テクスチャの解像度のみとなるため、export.zip を展開してセットアップしたものを、テクスチャの解像度だけ下げて preview.zip とすることが出来ます。
※ 手間が多いため、将来的には CubismViewer上で export.zip を直接加工し、Viewerからpreview.zipを生成する等の対応も検討しています。
イベントモーションの登録
Cubism Viewer (for OW) で model3.json のセットアップ時に各モーションのグループ名として設定することで、対応アプリ上でイベントに反応するようになります。
領域指定について (Tap@領域など)
Tap、Flickの場合は
Tap@Body
Flick@Head
のように領域を指定することで、その領域をタップしたときのみ発生する様に指定でききます。
※ 領域名(例:Body)は、Cubism Viewer上の hitAreas(ヒットエリア)の「Hit Area 名」に対応します。
ヒットエリアの設定方法
Cubismモデリング時にアートメッシュを HitAreaHead とすると、自動で抽出されて、Headというヒットエリアとなります。詳しくは以下をご覧ください。
https://docs.live2d.com/cubism-sdk-manual/hitarea
その他仕様
複数のモーションに、同じイベント名(グループ名)が設定されている場合は、いずれか1つがランダムに再生されます。
特にアイドリング (Idle) は、3つ以上設定すると、いろいろな動きを繰り返して自然で魅力的になります。
Cubism Viewer(for OW) のモーションには音声を含めることが出来るため、音声が設定されている場合は、その音声が再生されます。
表情設定
アプリがキャラクターに状態・感情をもたせる仕様の場合には、Cubism Viewer(for OW)上の expressions(表情設定) の exp3.json の名前を以下のように設定し、model3.json を書き出せば表情を設定できます。
Cubism4.0.2 時点の Cubism Viewer では、表情名はファイル名がそのまま使われるため、Cubismのアニメーション作成時のシーン名を予めNormal, Smileなどの名前(exp3.jsonは不要)で作成する必要があります。
Cubism4.0.3 以降の Cubism Viewer では、表情名が入力できるようになりました。
nizimaモデル仕様対応アプリ上では、表情名の拡張子の有無によらず同様に認識するように実装します。
例えば、表情名が「Smile」でも「Smile.exp3.json」でも、Smile の表情として動作します。
表情名 (exp3.json 名) | アプリでの 対応 | 表情 |
---|---|---|
Normal Normal.exp3.json | 任意 | 普通のとき |
Smile Smile.exp3.json | 任意 | 笑ったとき |
Angry Angry.exp3.json | 任意 | 怒ったとき |
Sad Sad.exp3.json | 任意 | 悲しいとき |
Hungry Hungry.exp3.json | 任意 | お腹が空いたとき |
Tired Tired.exp3.json | 任意 | 疲れたとき |
Surprised Surprised.exp3.json | 任意 | 驚いたとき |
Scared Scared.exp3.json | 任意 | 怖いとき |
Insane Insane.exp3.json | 任意 | 正気でないとき |
Blushing Blushing.exp3.json | 任意 | 照れて顔が赤くなるとき |