筋子
2023 年 10 月 14 日午後 3:17
1
Live2D Cubismから出力したフォルダを丸ごとunityにインポートすると、CubismMoc.csの以下のエラーが発生し、プレハブが生成されません。
This Moc3 is Invalid. This model generation process is aborted and prefab is not created.
エラーメッセージを翻訳すると「このMoc3は無効です。このモデル生成プロセスは中断され、プレハブは作成されません。」とのことですが、
無効ですとだけ言われても何のことやら、解決のしようがないのですが、このエラーの原因は何でしょうか。
各バージョンは以下のようになります。
Unityのバージョンは「2021.3.4f1」
Unityで使用しているSDKは「CubismSdkForUnity-4-r.7」
Live2D Cubismのバージョンは「5.0」です。
obs
2023 年 10 月 15 日午前 1:18
2
こんにちは。
マニュアルのここの部分を読んでみると、どうやら前方互換性はないようです。
UnityのSDKバージョンを最新のbetaに変更するか、Live2D 4.2でMoc3を書き出せばエラーが無くなりそうです。
エラー文については仰るとおり、より親切な方がいいですね。
【追記】
と思ったのですが、なんかエラー内容がマニュアルに書かれているのと差異がありますね。なぜかはよく分かりませんが…。
筋子
2023 年 10 月 18 日午後 1:21
3
ご回答ありがとうございます。
追記に書かれている通り、エラーメッセージが異なるのでエラーの原因は違うのかなと思います。
SDKとCubismのバージョンはどちらも最新のはずですし。
いつも弊社製品をご愛顧くださり誠にありがとうございます。
Live2Dスタッフでございます。
(不具合に関わるなど、返信が必要と判断したご質問には)
SDK専門スタッフが順次回答させていただきますので、
お急ぎのところ申し訳ありませんが、しばらくお待ちいただけますと幸いでございます。
お名前やコメントの一切ないメールを頂戴しましたが
このようなご連絡をいただきますと、
お客様サポートに支障をきたしてしまいかえってご対応までにお時間がかかってしまいますので
今後はお控えいただけますと幸いでございます。
お急ぎのところ恐縮ではございますが、何卒ご容赦くださいませ。
改めてSDK専門スタッフからご連絡させていただきます。
何卒宜しくお願いいたします。
Tak
2023 年 10 月 20 日午前 3:04
5
@筋子 様
@obs 様
いつも弊社製品をご愛顧くださり誠にありがとうございます。
Live2D スタッフのTakと申します。
本件現状の調査結果がわかりましたのでご連絡いたします。
筋子:
This Moc3 is Invalid. This model generation process is aborted and prefab is not created.
エラーメッセージを翻訳すると「このMoc3は無効です。このモデル生成プロセスは中断され、プレハブは作成されません。」とのことですが、
無効ですとだけ言われても何のことやら、解決のしようがないのですが、このエラーの原因は何でしょうか。
当該エラーメッセージが出力される原因といたしましては、Cubism 5 ターゲットで書き出したモデルをCubism 4 SDKで読み込んでいる、もしくはmoc3ファイル自体が破損していることが考えられます。
/// <summary>
/// Creates a <see cref="CubismMoc"/> asset from raw bytes.
/// </summary>
/// <param name="moc3">Source.</param>
/// <param name="shouldCheckMocConsistency">Use the verification function?</param>
/// <returns>Instance.</returns>
public static CubismMoc CreateFrom(byte[] moc3, bool shouldCheckMocConsistency = true)
{
if (shouldCheckMocConsistency && !HasMocConsistency(moc3))
{
Debug.LogError("This Moc3 is Invalid. This model generation process is aborted and prefab is not created.");
return null;
}
var moc = CreateInstance<CubismMoc>();
moc.Bytes = moc3;
return moc;
詳細な内容として、Cubism 4 SDK for Unity R6_1にて入力されたmoc3ファイルが正しいファイルかどうかを検証する機能を追加いたしました。この検証機能はデフォルトでONになっております。
この検証機能を通る際に、moc3ファイルのバージョンチェックをおこなっており、その部分エラーが返却されることで「このmoc3は無効」とエラーを出力しております。
なお @obs 様のご投稿の通り、Cubism 4 SDKでターゲットバージョンを5.0に設定したmoc3ファイルを読み込む等、古いメジャーバージョンのCubism SDKで新しいターゲットバージョンのmoc3ファイルを読み込むことはできません。
このエラーメッセージの出力及びプレハブが生成されない現象の回避策として、@obs 様のご投稿にもございますがCubism 5 Editorでmoc3ファイルを書き出す際にターゲットバージョンを「4.2」等Cubism 4 SDKで読み込めるターゲットバージョンに指定して書き出し直すことで現象が回避できます。ぜひお試しください。
Cubism Editorにおけるターゲットバージョンの選択については以下マニュアルをご参照ください。
もし上記お伝えした回避策で改善されない場合、moc3ファイルの破損が考えられます。
その場合もう一度ファイルを書き出し直して再度お試しいただくか、弊社で詳細な調査をおこないますので再度ご連絡いただけますと幸いでございます。
なお調査にはお時間がかかる場合がありますことを予めご了承ください。
こちらにつきましてはCubism SDK for Unityで検証機能を通る際のエラーメッセージが不十分であることが判明いたしました。
エラーメッセージの内容に不足による混乱をお招きし大変申し訳ありません。こちらは今後の製品バージョンアップやマニュアルの修正にて改善予定となります。
以上、ご確認のほど何卒よろしくお願いいたします。
「いいね!」 1
筋子
2023 年 10 月 20 日午後 1:42
6
ご回答ありがとうございます。
バージョンの不一致が原因とのことで、幾つか確認したいのですが、
・以下のページの「最新版をダウンロード」ボタン押すとダウンロードできるsdkについて、
2023年10月20日現在「更新履歴 [2023/05/25] Cubism 4 SDK for Unity R7」と表示されていますが、これは最新版ではないのでしょうか?
・unityにインストールしたlive2dsdkのバージョンを確認する方法はありますでしょうか?
Tak
2023 年 10 月 23 日午前 8:47
7
@筋子 様
お世話になっております。
はい、こちらはリリース版としての最新版となります。
もう1つbeta版のリリースがございますが、こちらは最新の機能や修正などが入っており、このバージョンで不具合などの修正を行い品質の向上に努めます。重要な不具合が解消され一定期間経過の後、リリース版を提供する流れとなっております。
UnityにインストールしたCubism SDK for Unityのバージョンを確認する方法として、Assets/Live2D/Cubism
フォルダにある CHANGELOG.md
をテキストアプリ等で開き、 ##
として記載されている一番上のタグ名がバージョンとなります。
※ 製品名に記載されているバージョンとCHANGELOGに記載のバージョンの記載フォーマットがタグ名の運用上、内容が若干違いますのでご留意ください。
Cubism 4 SDK for Unity R7 → 4-r.7
Cubism 5 SDK for Unity R1 beta.1 → 5-r.1-beta.1
上記ご確認のほど何卒よろしくお願いいたします。
筋子
2023 年 11 月 7 日午後 1:41
8
確認に時間がかかり、返答が遅くなってしまい申し訳ありません。
こちらについてはバージョンを確認し、SDKに対応したバージョンのファイルをエクスポートし、Unityにインポートすることで解決しました。