Amazonで商品を見るセール会場へ

【Live2D】FaceRigのアニメーションデータ(.rpl)をLive2Dへ移行する方法

2018〜2020年にFaceRigの録画からLive2D用の動きを取り出した記録です。FaceRigは新規販売を終了しています。Moliで専用動画から取り出す方法と、Pythonで.rplを解析する方法は別です。元の録画・モデルをバックアップし、コピーで試してください。全パラメーターや物理演算の完全移行を保証するものではありません。

「Moli」を使ってFaceRigのアニメーションデータをLive2Dへ移行し、動きを再現している様子。
目次

GUIで変換!「Moli」の使い方

Moliは、MoliModelで書き出した専用動画から動きの情報を取り出す方法です。.rplを直接Moliへ読み込む手順ではありません。以下は2020年の操作記録です。

作成者はときなしさん(@KalsaKey)です。

STEP
FaceRigで動きを保存

まずはFaceRigで動かしたいアバターの動きをキャプチャします。

上部メニューの「パフォーマンスの録音」を選択します。

FaceRigの上部メニューから「パフォーマンスの録音」を選択する操作画面。

録音後に「〇〇.rpl」という拡張子のデータが保存されます。

STEP
「MoliModel」での動画を作成

当時は下記のSteam WorkshopからMoliModelを登録しました。Live2D Module DLCが必要と記載されています。現在の公開ページには削除・非互換の警告も表示されており、新たに取得できるかは確認できていません。取得できない場合は、この手順の前提を満たせません。

https://steamcommunity.com/sharedfiles/filedetails/?id=1826949337

Steamサイトで「MoliModel」をサブスクライブする画面。

FaceRigのAvatar一覧を確認し、「MoliModel」が追加されていることを確認します。

FaceRigのAvatar一覧に「MoliModel」が追加されていることを確認する画面。

「MoliModel」を選択し、「ムービーとしてパフォーマンスをエクスポート」を実行します。

FaceRigで「MoliModel」を選択し、「ムービーとしてパフォーマンスをエクスポート」を実行する画面。

これでパラメーターをキーフレームに変換するための動画が出力されます。

出力した動画から「Moli」を使ってキー情報を出力します。

STEP
「Moli」のダウンロード

Moliは下の作者のFANBOXで案内されています。取得できるファイルと利用条件を配布元で確認してください。

当時使用したのはMoli ver2.00です。現在の配布ページのタイトルはver2.02(2021年12月13日更新)ですが、今回の確認では配布本文・実行ファイルの動作まで確認していません。

STEP
Moliでモーションを書き出す

・ダウンロードしたフォルダ内の「Moli.exe」を起動します。

・録画した動画をドラッグ&ドロップします。

起動した「Moli.exe」に録画した動画をドラッグ&ドロップする操作画面。

・モザイク部分をドラッグして赤枠で囲みます。

・最後に「モーション出力」ボタンをクリックします。

「Moli」上でモザイク部分をドラッグして赤枠で囲み、「モーション出力」ボタンをクリックする画面。

「○○.motion3.json」というモーションデータが書き出されます。

STEP
Cubismへモーションを読み込む

最後にLive2D Cubism Animatorを起動し、モデルを表示させます。

右クリックメニューから「モーションを読み込み」を選び、書き出した「○○.motion3.json」を読み込みます。

Live2D Cubism Animatorの右クリックメニューから「モーションを読み込み」を選択する画面。
こんな感じで動きが再現できました!
Live2D Cubism Animatorでモーションデータを読み込み、モデルの動きが再現された様子。

GUIで変換!「Moli」の使い方まとめ

当時は変換後のキーを調整できました。読み込み後は目線、口、表情、長さを元の動きと比べます。専用モデル・ツールを取得できることと、出力が対象モデルに合うことが前提です。

ちなみにプログラムが扱える人は下記の方法もおすすめです。

スポンサーリンク

コマンドで変換! FaceRigRplToLive2DMotio3Jsonの使い方まとめ

ガネーシャさん(@Ganeesya)の作成されたFaceRigRplToLive2DMotio3JsonでFaceRigのモーションデータをLive2Dへ持っていってみました! そのやり方の紹介です。

話題のFaceRigRplToLive2DMotio3Json(@Ganeesya)を試してみました。
おおよそのアニメーション情報が取得されている感じです!
(目線が反れぎみだったのでViewerで少しオフセット)#睡井眠子 #facerig #Live2D #VTuber pic.twitter.com/OMz0w99HIR

— 睡井眠子@CGメソッド (@cg_method) 2018年9月12日

※FaceRigを使うのでWindows想定です。

FaceRigのモーションデータを用意

  • 同じFaceRig環境で長さの異なる.rplを複数保存します。5個は当時の用意例で、成功保証の最低件数ではありません。同じファイルを複製するだけでは解析に必要なサイズ差ができません。
FaceRigで作成・保存した複数のアニメーションデータが入ったフォルダ画面。
*出力が終わったら一つのフォルダ(今回はtest)に格納

Pythonのインストール

  • まずPythonのインストールをします。下記のURLからダウンロード

https://www.python.org/downloads/

  • インストールはカスタム(Customize installation)を選択します
Pythonのインストール画面でカスタムインストールを選択する様子。
  • 以下ではPython実行ファイルの場所をC:\Python\python.exeとする例を示します。実際のインストール先に読み替えてください。特定のフォルダへのインストールは必須ではありません。
Pythonのインストール先フォルダを直接指定して設定する画面。

FaceRigRplToLive2DMotio3Jsonのダウンロードと設定

  • 下記のURLからデータをダウンロード

https://github.com/Ganeesya/FaceRigRplToLive2DMotio3Json

  • FaceRigRPL.pyを適当なエディタで開きます
  • folderPath = “Set Your rpl files folder path.”と書かれている記述を探して下記の様に先のrplの格納されているフォルダのパスを入力します
folderPath = "C:/Users/ユーザー名/Desktop/test"

このPython文字列では区切りにスラッシュを使っています。ユーザー名を置き換え、実在するコピー先フォルダを指定してください。

スクリプト内のフォルダパス記述箇所を書き換える編集画面。

plotlyエラーがでる場合

ModuleNotFoundError: No module named 'plotly'
とかエラーが出る場合は
#import plotly.offline as po
#import plotly.graph_objs as go

取得したソースではグラフ作成の呼び出しがコメントアウトされています。グラフを使わない場合に限り、上記2つのimportを無効化する方法があります。別の例外まで無視せず、エラー箇所を確認してください。

TypeError・ZeroDivisionErrorで止まる場合

作者の解析コードでは、見つかった録画のファイルサイズ差からフレームサイズを計算します(2026年10月29日確認)。

reduce()の箇所でTypeErrorになったら、指定フォルダ直下に読み込める.rplが2個以上あるか確認してください。

剰余計算の箇所でZeroDivisionErrorになったら、録画ファイルのサイズがすべて同じでないか確認します。

これらはコード上の計算条件であり、サイズが異なる2個を用意すれば正しく変換できるという保証ではありません。

別の箇所のエラーや、条件を満たしても続くエラーは、表示された行番号と入力形式を記録して切り分けます。

スクリプトの実行

  • Windowsの検索から「cmd」とうち、コマンドプロンプトを起動します。
  • コマンドプロンプトでPythonの場所を確認

"C:\Python\python.exe" --versionで確認します。パスは実際の環境に合わせてください。

  • FaceRigRPL.pyを実行

コマンドプロンプトで、Python実行ファイルとスクリプトのパスをそれぞれ引用符で囲んで指定します。以下は配置例です。Pythonの別名が認識されなくても、実際のpython.exeの場所を指定できます。

"C:\Python\python.exe" "C:\Users\ユーザー名\Desktop\FaceRigRplToLive2DMotio3Json-master\FaceRigRPL\FaceRigRPL.py"
コマンドラインでスクリプトを実行し、処理完了を示す表示が出ている画面。
endは処理末尾への到達表示です。出力の正しさまでは保証しないため、ファイルと再生結果を確認します。
  • 変換後のデータを確認します
変換後に生成されたファイル群を確認するフォルダ画面。
CSVとID2・ID3の.motion3.jsonが生成されます。ID2は旧PARAM_系、ID3はParam系の対応表を使うため、モデルのIDに合わせて選びます。単なる大文字小文字の違いではありません。

Live2D Viewerで確認

対応するViewerでモデル設定とテクスチャを含む一式を読み込み、対象モデルのIDに合う.motion3.jsonを読み込みます。旧mocと新しいmoc3では対応するViewerや形式が異なります。
Live2D Viewerでモデルとモーションデータを読み込み、アニメーション再生を確認する画面。
アニメーションの再生を確認します。

話題のFaceRigRplToLive2DMotio3Json(@Ganeesya)を試してみました。
おおよそのアニメーション情報が取得されている感じです!
(目線が反れぎみだったのでViewerで少しオフセット)#睡井眠子 #facerig #Live2D #VTuber pic.twitter.com/OMz0w99HIR

— 睡井眠子@CGメソッド (@cg_method) 2018年9月12日

Live2D Animatorでアニメーションをインポート

  • Live2Dを立ち上げAnimatorに切り替えて、モデルをいれます。
  • タイムラインのモデル名を右クリックしてモーションを読み込みを選択します
Live2D Animatorのタイムラインでモデル名を右クリックし、「モーションを読み込み」を選択する画面。
モデルのパラメーターIDに合わせ、01.rplID2.motion3.jsonまたは01.rplID3.motion3.jsonを選びます。 取得したソースのFps欄は10.0固定です。元録画・変換後・タイムラインの長さとフレームレートを照合し、読み込み後の動きも確認してください。
Live2D Animatorで変換後のモーションデータを選択してインポートした画面。
FaceRigのアニメーションデータをLive2D向けに変換する手順を示す様子。

mtnに変換する方法

以下は当時のCubismで2.1形式へ書き出した記録です。現行版に同じ機能があるとする案内ではありません。 ファイル>組込み用ファイル書き出し>モーションファイルの書き出しから 2.1形式(mtn)として書き出しを選択すればmtnに変換して出力できます。
Live2Dのメニューから組込み用ファイル書き出しを選び、2.1形式のmtnとして書き出す画面。
アニメーションデータを変換するツールの画面や処理結果を示す様子。

備考

バイナリを解析することはデザイナーにとっては難しいので、このツールは非常に助かります! これでFaceRigのアニメーションを手作業で修正できるので、よりクオリティの高い表現ができる可能性があります。

ソースではファイルサイズ差の最大公約数からフレームの大きさを推定しています。内容の不要部分を単純に削除する仕組みではありません。出力は固定の対応表を使うため、録画形式や独自パラメーターへの適合は別途確認が必要です。

FaceRigアニメーションをLive2Dへ移行した動画

上記の技術を生かした動画を作成してみました。

体の動きだけFaceRigでつけて、アニメーション情報をLive2Dアニメーターで移行して目パチと口パクを付けています。

FaceRigアニメーションをLive2Dへ移行した動画2

追記(2019/5/3)です、PV作成してみました。

ちなみに髪などの物理演算のアニメーションは アニメーション>トラック>物理演算をアニメーションベイクでキーが生成されます。

作成するべきFaceRig用Live2Dのパラメーターをまとめました!

モデルのクオリティアップする方法を書きました!

Live2Dでのモデル制作は、ほかにも書いています。

よくある質問:FaceRigの.rplをLive2Dへ移行する方法

FaceRigで作ったアニメーション(.rpl)を、Live2Dで使えますか?

この記事は2018〜2020年の変換記録です。Moliは専用動画、Pythonツールは.rplを解析します。現在のツール入手性や互換性、全動作の移行を保証するものではありません。

GUIで変換する方法(Moli)は、どんな手順ですか?

FaceRigで作成したアニメーション(rpl)データをキー情報に変換するツール「Moli」を使う方法で、作成者はときなしさんです。FaceRigで上部メニューの「パフォーマンスの録音」で動きを保存し(〇〇.rplが保存されます)、Steamから「MoliModel」をサブスクライブして、FaceRigのAvatar一覧で選択し「ムービーとしてパフォーマンスをエクスポート」で動画を出力します。FANBOXから「Moli」(記事ではver2.00)をダウンロードし、Moli.exeを起動して、録画した動画をドラッグ&ドロップし、モザイク部分をドラッグして赤枠で囲み、「モーション出力」ボタンをクリックすると、「○○.motion3.json」が書き出されます。

コマンドで変換する方法は、どんな手順ですか?

コピーした複数の.rplを用意し、FaceRigRPL.pyのfolderPathを実際のフォルダに合わせます。コマンドプロンプトからPython実行ファイルとスクリプトを指定して実行し、出力とモデルの再生結果を照合します。古い解析コードのため、現行環境での実行確認はしていません。

複数の.rplを用意するのは、なぜですか?

ファイルサイズ差からフレームサイズを推定するためです。異なる長さの録画を使いますが、数を増やすだけで正しい変換になるとは限りません。

エラーが出たときは?

Pythonが見つからない場合は実行ファイルの実際の場所を確認します。plotlyのimportを省く方法はグラフ作成を使わない場合に限ります。その他の例外は無視せず、入力フォルダ・形式・出力を確認してください。

変換したデータは、どう確認しますか?

モデルのIDに合うID2またはID3のモーションを対応するViewerへ読み込みます。再生できるだけでなく、目線・口・表情・長さを元録画と照合してください。

Live2D Animatorでは、どう取り込みますか? 物理演算の動きは?

Live2Dを立ち上げてAnimatorに切り替えてモデルを入れ、タイムラインのモデル名を右クリックしてモーションをインポートします。記事の追記では、髪などの物理演算のアニメーションは、アニメーション>トラック>物理演算をアニメーションベイクでキーが生成される、としています。記事は2018〜2020年の内容で、MoliやFaceRigRplToLive2DMotio3Jsonなどの外部ツールの提供状況は変わっている可能性があるので、最新は各配布元で確認してください。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

VTuberのおすすめ書籍

配信PCの選び方

配信機材の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次