【Aviutl】Live2D Drawerの読み込めないモデルについて

2020年1月25日

スポンサーリンク

Live2D Drawer

今回はガネーシャ氏の開発するLive2D Drawerの読み込めないモデルについて、わかっている範囲でまとめます。

Live2D Drawerの詳細はこちらから

一部使えないモデルが存在する

こちらの解決法は概ね予想、解決できる問題だと思います。

現在のlive2D DrawerはSDK 4.0を使っているため最新のマスク機能を使うことができるためほぼ完全に互換があると言えますが一部使えないモデルが存在するようです。

筆者も使ってて使えないモデルが有ることに気づき共通点を探ってみるとSDK等のバージョンなどではなく単純な問題があることに気づきました。

答えとしてはファイル名に日本語があることです。

厳密に言えばモーションファイルやexpressionsフォルダに.jsonファイルの名前に日本語(中国語)があるとaviutl(live2d drawer)で文字化けが発生し読み込みエラーが発生するようです。

つまり解決法はモデルの関連するデータ全てで日本語の使用は禁止ということになります。
モーションファイルの名前などはローマ字などにする必要があるわけです。

また単純に日本語のファイルをローマ字にするだけではダメで、live2d cubism(開発ツール時点)で日本語を使っているとダメになります。

出力したモデルの日本語を手動で治す場合はファイル名はもちろん、.json内に記載されている日本語も適切に変更する必要があります。

なのでモデル開発をする作者さんに要望するか、自分でモデルを修正する必要があります。

またはLive2D Drawer作者のガネーシャ氏がこの文字化けを修正することで解決します。

自分で治す方法(詳細)

先程書いたとおりフォルダ、ファイル名をリネーム(改名)するだけでは解決しません。
生成された.json内にあるモーションファイル、~.model.json内のexpressionsパラメータ(正確にはexp3.jsonまでのファイルパス)等を改名したファイル名に合わせる必要があります。

置換を使うことで時短できると思います、おすすめはVS Codeで編集することをおすすめします。

また試してはいないため、確実にうまくいく保証はありません。

基本的には

  1. モデルのあるフォルダにあるモーションフォルダ内のモーションファイル名を日本語がある場合はわかり易い名前に改名(日本語以外で)
  2. expressionsフォルダ内も同様に日本語を日本語以外に改名
  3. モデルファイルと同じフォルダにある~.model3.json内のファイルの名前を改名後の名前に置換

以上で行けるはずです。

もしかするとcmo、moc内にも日本語が混じっている可能性がある?のでそうなると手動での修正は厳しいです。(テキストエディタでは修正不可)

追記:Live2D Viwerで簡単に治す

Live2d cubism付属のViwerソフトで読み込めるレベルまでに治す方法発見しました。

まずはLive2D Viwerを起動してaviutlで読み込めないモデルを読み込み、日本語などを改名、または消します。

今回は Live2Dモデルふにちか式きりたん をaviutlで使えるよう修正します。

完成度が高いですね、しかし日本語が使われているため読み込めません。

まず治す方法は2つ、expファイル系の改名またはexpパラメーター削除になります。
基本的には前者の改名が良いかと思われます。

またモーションパラメータはこのツールでは改名不可で削除一択ですが、live2d drawer側でファイル参照機能があるので問題ないです(またこの場合はファイル名が日本語でも問題ない)

  1. まずは左側のドッグでexpフォルダ内にある日本語の表情モーション系を片っ端からローマ字などに改名して別名保存します。
    右クリックでできます。
  2. すべて改名後Motionフォルダを削除します(右クリックで消せます。)
  3. あとは一番上(この場合はkiritan3_3)を右クリックして保存します
    このときaviutl用のモデルとして出力することをおすすめします。
    自分はkiritan_aviutl、別モデルとして出力しました。

以上で修正完了です。

ただ既知の問題としてモーションファイル(motion.)は読み込めますが表情ファイル(exp.)はlive2d drawerによみこめません。表情(ナンバー)でも値をずらしても変わらないあたりどこかで問題が発生してるようです。