★お知らせ(2023/12/27)
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて新Live2D公式クリエイターズフォーラムに移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。

新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
Live2D公式クリエイターズフォーラム

なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。

Cubism SDK cocos2d-x 3.2 Windows版の動作について

はじめまして。
先日から、Cocos2dx3.2の環境で
Live2dのサンプルを動作させているのですが、
VS上のプロジェクトから実行すれば問題なく
動作するのですが、実行ファイル(EXE)を
直に実行するとAssertで動作が停止してしまいます。

動作環境は以下のとおりです
Windows7 x64 SP1
cocos2d-x 3.2
Live2D Cubism SDK for OpenGL Version 2.0.00_1
Visual Stadio 2012 Express

実行可能ファイルは、
プロジェクトファイルの位置に置いても、
生成時のフォルダからでも同様のエラーが発生します。

Assertの箇所ですが、LAppModel::Loadでモデルの読み込みが
失敗しているように見えています。
cocos側のUtiltyメソッドでCCFileUtils::getInstance()->getFileData()を
コールするとNULLが帰りその時点ではエラーにならないため、その先の
PlatformManager::loadLive2DModelに渡されるPath(ModelSetting)が
NULLになってAssertがかかります。

load時のパスは"live2d/haru/haru.model.json"の
相対パスになっているのですが、リソースはどこから
参照されるのでしょうか。

プロジェクトファイルは次のパスに格納しており、
スペースや2バイト文字などは特に含んでいません。
C:\development\cocos_project\Live2D_SDK_Test\sample_cocos2dx3.2\SampleApp1\proj.win32

何か見落としがあるのだと思いますが、
Live2dを利用するのも初めてなこともあり、
少々てこずっています。。。

何か情報があれば
ご教示いただければと思います。
タグ付けされた:

コメント

  • Resourcesディレクトリ下にあるファイル一式をexeと同じディレクトリに入れてから、
    exeを直接実行してみてもassertは出るでしょうか?
  • 情報ありがとうございます。

    こちらの確認不足だったようです。
    上記、フォルダで実行したらエラーは出なくなりました。

    リソース類はGame.resなどにビルド時に纏められる物だと
    思っていたのでそこに誤解があったようです。

    リソース類の圧縮などは別に行う必要がある物なのでしょうか。
    #live2dというよりはcocosの領分になるかもしれないのですが。
  • チュートリアルの「他のシステムとの連携について」にある「モデル・テクスチャのロードと初期化」で、
    リソースの管理についてはLive2Dのライブラリの外でやってね、とあるので、
    ファイルの圧縮やパッキングに関しては自前で実装することになるかと思います。
    http://sites.cybernoids.jp/cubism2/sdk_tutorial/first/adapt

    cocos2d-xの場合だと、サンプル等でinitWithImageFile()を使ってテクスチャ画像を
    読み込んでいる箇所を、initWithImageData()に変更して、解凍やアンパッキングした
    メモリ上のテクスチャ画像のポインタを渡す感じでしょうか。
    他のライブラリと組み合わせて実装するのがいいかも知れません。
  • いろいろとありがとうございます。
    なるほど、リソース管理はやはり自前でやるという事ですね。

    cocosにはZipも扱えるものがあるようなので、
    そちらで実装してみようと思います。

    ありがとうございました。
コメントするにはサインインまたは登録して下さい。