トップページ > 記事閲覧
live2dでモデルの動作がおかしい
名前:にこよう 日時: 2020/03/05 02:59

こんにちは、live2dの機能を使ってみたのですが、上手くいかないことがあるので報告させていただきます win10 x32 VS2019,Dxlibは dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view&no=4828 の暫定最新版(3/5 1:00)を使用しております まず、支障はありませんが一応.... リファレンスの int Live2D_Model_SetRotate( int Live2DModelHandle, float RotAngle ) ; int Live2D_Model_SetExtendRate( int Live2DModelHandle, float ExRateX, float ExRateY ) ; の概略をおそらくコピペしたまま変更し忘れています (小声) 下のURLのモデルを読み込んで描画すると目パチした時に一部の目の画像が残ります また、口元の画像がざらざらしています live2dviewerでは正常に表示されました seiga.nicovideo.jp/seiga/im10026885?track=seiga_illust_keyword Live2D_Model_GetMotionFileName() 関数にて得られるファイル名が文字化けしています 読み込むjsonファイルを全てutf-8からシフトjisに変更すれば正常に動作しそうな気はしますが、 毎回変更するのは大変なので他の方法がないかも確認しておきたいです 上のモデルの非同期読み込み時に稀に例外が発生します 条件は今のところ分かりません 体感8回に1回程度です 一度発生するとリビルドするまでずっと発生し続けます 1754:DXライブラリの初期化処理終了 5555:GetAllocSize Error : 解放済みのメモリに対して確保メモリサイズの取得を行おうとしました 5562: size: 1392( 1.359kb) user size: 1280( 1.250kb) time:24111 file:Live2DCubism4.cpp line:203 ID:25546 addr:0a8426f0 data:[20 93 67 0a 50 c6 67 0a 80 7e 7b 0a 60 6e 68 0a] また、リビルドした直後の非同期読み込み時に1度だけフリーズしたこともありました live2d 関連の関数でconst TCHAR *を返す関数がありますが、 これはDxライブラリの方で(モデルを削除するまで)ずっと所持されているポインタなのでしょうか? Live2D_Model_SetExpression()を利用すると例外が発生します DxlibのログにDXライブラリの初期化処理終了以降のログはありません また、Live2D_Model_SetExpressionの引数に[expressionID]とありますがこれの取得方法は Live2D_Model_GetExpressionName()関数でしょうか? もしそうでしたら、関数の説明に(別名)ではなく「表情モーションID」などのように書いていただければ嬉しいです (止まってしまうので自分で確認することが出来ません) 一度にたくさんの質問すみませんm(__)m よろしくお願いします
メンテ

Page: 1 |

Re: live2dでモデルの動作がおかしい ( No.1 )
名前:管理人 日時:2020/03/06 03:52

沢山のご指摘ありがとうございます 修正作業が必要なものについては数が多いので後日対応します m(_ _;m > live2d 関連の関数でconst TCHAR *を返す関数がありますが、 > これはDxライブラリの方で(モデルを削除するまで)ずっと所持されているポインタなのでしょうか? はい、モデルデータの一部なのでモデル削除するまで有効なポインタです
メンテ
Re: live2dでモデルの動作がおかしい ( No.2 )
名前:にこよう 日時:2020/03/06 05:20

>修正作業が必要なものについては数が多いので後日対応します m(_ _;m 急いではおりませんので、時間のある時に対応していただければ嬉しいです(/・ω・)/ >はい、モデルデータの一部なのでモデル削除するまで有効なポインタです ご回答ありがとうございます 直接他の関数等に渡しても問題なさそうですね
メンテ
Re: live2dでモデルの動作がおかしい ( No.3 )
名前:管理人 日時:2020/03/06 22:12

> 急いではおりませんので、時間のある時に対応していただければ嬉しいです(/・ω・)/ はい、なるべく早く対応します m(・・;m > 直接他の関数等に渡しても問題なさそうですね はい、問題ありません
メンテ
Re: live2dでモデルの動作がおかしい ( No.4 )
名前:管理人 日時:2020/03/09 04:59

お待たせしました、幾つか対応できました > まず、支障はありませんが一応.... > リファレンスの >  int Live2D_Model_SetRotate( int Live2DModelHandle, float RotAngle ) ; >  int Live2D_Model_SetExtendRate( int Live2DModelHandle, float ExRateX, float ExRateY ) ; > の概略をおそらくコピペしたまま変更し忘れています (小声) ご指摘ありがとうございます、修正しました m(_ _;m > 下のURLのモデルを読み込んで描画すると目パチした時に一部の目の画像が残ります 恐らく修正できたと思いますので、よろしければこちらの修正バージョンをお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_ARM.zip // Android版 ARM用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_ARM64.zip // Android版 ARM64用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_x86.zip // Android版 x86用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_x64.zip // Android版 x64用 https://dxlib.xsrv.jp/temp/DxLibiOSTest.zip // iOS版 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい) > また、口元の画像がざらざらしています 口元は公式の Live2D Cubism Viewer 4.0 でもざらざらしていたので、恐らくデータの通りだと思います > Live2D_Model_GetMotionFileName() > 関数にて得られるファイル名が文字化けしています すみません、文字化けしないように修正しました ( 内部で utf-8 -> シフトjis 変換を行うようにしました ) > 上のモデルの非同期読み込み時に稀に例外が発生します > 条件は今のところ分かりません 複数の Live2D モデルを非同期で読み込んだ場合に処理がバッティングしてクラッシュしてしまうバグがありました 今回のバージョンで修正できていると思います m(_ _;m > Live2D_Model_SetExpression()を利用すると例外が発生します > DxlibのログにDXライブラリの初期化処理終了以降のログはありません 手元の環境では Live2D_Model_SetExpression を呼んでも例外は発生しませんでした > また、Live2D_Model_SetExpressionの引数に[expressionID]とありますがこれの取得方法は > Live2D_Model_GetExpressionName()関数でしょうか? いえ、普通に "01喜.exp3.json" という感じで ID をそのまま入力していただいても大丈夫です > もしそうでしたら、関数の説明に(別名)ではなく「表情モーションID」などのように書いていただければ嬉しいです Live2D Cubism SDK のサンプルで『表情設定ファイルを識別する名前(別名)を取得する』と なっていたので『識別する名前(別名)』としていたのですが、やっぱり分かりにくいですよね… というわけで『識別するID』にしてみました
メンテ
Re: live2dでモデルの動作がおかしい ( No.5 )
名前:にこよう 日時:2020/03/09 05:42

迅速な対応ありがとうございます >恐らく修正できたと思いますので、よろしければこちらの修正バージョンをお試しください m(_ _;m 正常に目パチされるようになったのを確認しました >口元は公式の Live2D Cubism Viewer 4.0 でもざらざらしていたので、恐らくデータの通りだと思います Live2D Cubism Viewer 4.0 ではデフォルトで少し拡大されて表示されていたようで、 Viewer でも縮小すれば同じように少しざらつくのは確認しました しかしDxライブラリで Live2D_Model_SetExtendRate(Image::live2d_kiritan, 2.5f, 2.5f); と設定し描画したものと公式のものを比べるとDxライブラリでは口の両端に半透明な線が描画される等、 色々な拡大率で少しだけですが描画内容が異なるように思います わずかな差なのですがこれはDxライブラリで動作する以上の仕様なのでしょうか? もし、必要でしたらスクリーンショットを送ります >( 内部で utf-8 -> シフトjis 変換を行うようにしました ) 確認できる全ての関数で正常に文字が取得できるのを確認しました >複数の Live2D モデルを非同期で読み込んだ場合に処理がバッティングしてクラッシュしてしまうバグがありました >今回のバージョンで修正できていると思います m(_ _;m 非同期で複数モデルを読み込んだ際、まだフリーズや例外が発生するようです 一度リビルドしました後に発生したメッセージを貼っておきます 0x01B06620 で例外がスローされました (th_act_remake.exe 内): 0xC0000005: 場所 0x01B06620 の実行中にアクセス違反が発生しました >手元の環境では Live2D_Model_SetExpression を呼んでも例外は発生しませんでした 以前のバージョンで非同期読み込みが偶然成功した際に発生していたので、その関係かもしれません 貼っていただいたバージョンでは発生しませんでした >Live2D Cubism SDK のサンプルで『表情設定ファイルを識別する名前(別名)を取得する』と >なっていたので『識別する名前(別名)』としていたのですが、やっぱり分かりにくいですよね… >というわけで『識別するID』にしてみました そうだったのですね、live2dユーザーからしたらそちらのほうが分かりやすかったのかもしれません (live2dだけを使った事はないので個人的には新しいほうが分かりやすいと思います)
メンテ
Re: live2dでモデルの動作がおかしい ( No.6 )
名前:管理人 日時:2020/03/11 00:22

お試しいただきありがとうございます > しかしDxライブラリで Live2D_Model_SetExtendRate(Image::live2d_kiritan, 2.5f, 2.5f); > と設定し描画したものと公式のものを比べるとDxライブラリでは口の両端に半透明な線が描画される等、 > 色々な拡大率で少しだけですが描画内容が異なるように思います > わずかな差なのですがこれはDxライブラリで動作する以上の仕様なのでしょうか? 拡大すると口の両端に半透明の線が描画されるのを手元の環境でも確認しました こちらは確かに公式Viwerでは表示されませんが、Live2D Cubism SDK という公式の 『自作プログラムに Live2D 機能を実装する場合に使用する SDK』の『実装サンプル』では 同様の描画結果になりました( サンプルを少し変更して『Live2D東北きりたん立ち絵』が表示されるようにして確認しました ) この件について Live2D の公式に問い合わせていますので、進展がありましたらご報告します > 非同期で複数モデルを読み込んだ際、まだフリーズや例外が発生するようです > 一度リビルドしました後に発生したメッセージを貼っておきます > 0x01B06620 で例外がスローされました (th_act_remake.exe 内): 0xC0000005: 場所 0x01B06620 の実行中にアクセス違反が発生しました すみません、手元でもまだ例外やフリーズが発生するのを確認しました 再度修正しましたので、何度も申し訳ありませんが、よろしければお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_ARM.zip // Android版 ARM用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_ARM64.zip // Android版 ARM64用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_x86.zip // Android版 x86用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_x64.zip // Android版 x64用 https://dxlib.xsrv.jp/temp/DxLibiOSTest.zip // iOS版 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい) > 以前のバージョンで非同期読み込みが偶然成功した際に発生していたので、その関係かもしれません > 貼っていただいたバージョンでは発生しませんでした 了解です 再度例外が発生しましたらご連絡ください m(_ _)m
メンテ
Re: live2dでモデルの動作がおかしい ( No.7 )
名前:にこよう 日時:2020/03/11 06:28

>この件について Live2D の公式に問い合わせていますので、進展がありましたらご報告します SDKのほうの問題だったのですね 問い合わせていただいているとのことで、ありがとうございます >再度修正しましたので、何度も申し訳ありませんが、よろしければお試しください m(_ _;m live2dモデルを非同期で20個ほど読み込もうとした場合、まだ例外が発生するようです 何度も申し訳ないのですが確認していただけると嬉しいです ↓(停止した時のモデルの番号 n 番目) 症状 リビルド (13)フリーズ (10)例外 (2)例外 リビルド (7)例外
メンテ
Re: live2dでモデルの動作がおかしい ( No.8 )
名前:管理人 日時:2020/03/13 03:10

口の両端の半透明の線については早速公式からご返答があり、修正することができました よろしければこちらの修正版をお試しください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_ARM.zip // Android版 ARM用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_ARM64.zip // Android版 ARM64用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_x86.zip // Android版 x86用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_x64.zip // Android版 x64用 https://dxlib.xsrv.jp/temp/DxLibiOSTest.zip // iOS版 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい) > live2dモデルを非同期で20個ほど読み込もうとした場合、まだ例外が発生するようです > 何度も申し訳ないのですが確認していただけると嬉しいです うーん、駄目でしたか… 私の手元では問題なく読み込めるのですが… 因みに、kiritanv3 は 32bitアプリ設定( win32 or x86 )で 20個読み込もうとすると メモリ不足になってしまいますので、20個ほど live2dモデルを読み込む際は 64bitアプリ設定( x64 )にしてください そして、どうしても手元では再現しないので、お手数で申し訳ないのですが、こちらの 『DXライブラリのソースをコンパイルするテストプログラム実行用プロジェクト』に 以下の『live2dモデル 20個を非同期で読み込むプログラム』を組んでみましたので #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int ModelHandle ; // ウィンドウモードで起動 ChangeWindowMode( TRUE ) ; // 画面解像度を設定 SetGraphMode( 1800, 900, 32 ) ; // Live2D Cubism Core DLL の読み込み( 64bit アプリの場合と 32bit アプリの場合で読み込む dll を変更 ) #ifdef _WIN64 Live2D_SetCubism4CoreDLLPath( "C:/CubismSdkForNative-4-r.1/Core/dll/windows/x86_64/Live2DCubismCore.dll" ) ; #else Live2D_SetCubism4CoreDLLPath( "C:/CubismSdkForNative-4-r.1/Core/dll/windows/x86/Live2DCubismCore.dll" ) ; #endif // DXライブラリ初期化処理 if( DxLib_Init() == -1 ) { return -1 ; } // 非同期読み込み有効化 SetUseASyncLoadFlag( TRUE ) ; // Live2Dモデル20個分の読み込み for( int i = 0 ; i < 20 ; i ++ ) { ModelHandle = Live2D_LoadModel( "C:/kiritan/kiritanv3.model3.json" ) ; } // 描画先を裏画面に変更 SetDrawScreen( DX_SCREEN_BACK ) ; // 読み込みが終わるまで待つ { int Time = 0 ; while( ProcessMessage() == 0 && GetASyncLoadNum() > 0 ) { // 0.5秒に1回画面を更新する if( GetNowCount() - Time > 500 ) { Time = GetNowCount() ; ClearDrawScreen() ; // 残りの数を表示 DrawFormatString( 0, 0, GetColor( 255,255,255 ), "残り %d 個", GetASyncLoadNum() ) ; ScreenFlip() ; } else { // 少しCPUを休ませる Sleep( 1 ) ; } } } // メインループ while( ProcessMessage() == 0 ) { // 画面の初期化 ClearDrawScreen() ; // モデルの状態を60分の1秒分進める Live2D_Model_Update( ModelHandle, 1 / 60.0f ) ; // Live2D描画の開始 Live2D_RenderBegin() ; // モデルの描画 Live2D_Model_Draw( ModelHandle ) ; // Live2D描画の終了 Live2D_RenderEnd() ; // 裏画面の内容を表画面に反映 ScreenFlip() ; } // Live2D モデルの削除 Live2D_DeleteModel( ModelHandle ) ; // DXライブラリ使用の終了処理 DxLib_End() ; // ソフトの終了 return 0 ; } ( Live2DCubismCore.dll と kiritanv3.model3.json のパスはお手元の環境に合わせて書き換えてください ) よろしければにこようさんの環境でデバッグ実行して『例外』や『フリーズ』が発生してしまう箇所の ファイル名と行番号を教えていただけないでしょうか? m(_ _;m https://dxlib.xsrv.jp/temp/DxLibSourceTest_WithUseCLib.zip
メンテ
Re: live2dでモデルの動作がおかしい ( No.9 )
名前:にこよう 日時:2020/03/13 07:40

>口の両端の半透明の線については早速公式からご返答があり、修正することができました 口元が綺麗に描画されるようになりました ありがとうございます これとはまた別に一つバグがみつかったのですが、 モーションを再生した後のエフェクト?が別モーションを再生した際にずっと画面に残ってしまいます 例えば下のコードのように「永遠にきりたんぽ」を再生した後に「もと」を再生すると青い魔法陣の様なエフェクトが少し残ってしまいます static bool flag = true; if (flag) { Live2D_Model_StartMotion(Image::live2d_kiritan, "", 13); flag = false; } if (Live2D_Model_IsMotionFinished(Image::live2d_kiritan)) // モーションの再生が止まっていれば { Live2D_Model_StartMotion(Image::live2d_kiritan, "", 0); // 待機モーションを再生する } >因みに、kiritanv3 は 32bitアプリ設定( win32 or x86 )で 20個読み込もうとすると >メモリ不足になってしまいますので、20個ほど live2dモデルを読み込む際は >64bitアプリ設定( x64 )にしてください 教えていただきありがとうございます 確認してみたところ1Gバイトまで?のようで、さすがに20個も読み込まないのですが、結構ぎりぎりでした 現在のプログラムはx64では動作しないので何か対策を考えようと思います.... >よろしければにこようさんの環境でデバッグ実行して『例外』や『フリーズ』が発生してしまう箇所の >ファイル名と行番号を教えていただけないでしょうか? m(_ _;m 確認用のプロジェクトを有難うございます 何度か試したのですが、まず例外は発生しませんでした 残りファイル数が最初は 20 個ですが、フリーズするタイミングは 何故か26やら24になったタイミングでした ファイル名:DxLogWin.cpp 行番号:143 また、頂いたプロジェクトではなく自身のプログラムで発生する例外のメッセージは以下の物でした nvwgf2nm.pdbは読み込まれていません 26.21.14.3200 C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_db678424d2641c3d\nvwgf2um.dll それと、送って頂いたプロジェクトのデバッグリリースを選ぶプルダウンの右のプルダウンの内容が Win32 or x64 だったのですが、自身のプロジェクトでは x86 x64 と表示されている差が気になりました 構成設定を間違えている可能性はありますか...? 構成マネージャーのプラットフォームにはWin32、と表示されているのですが 「アクティブソリューションプラットフォーム(P)」がWin32ではなく x84 になっています 関係なくて申し訳ないのですが、調べてみても分からなかったので教えていただけると嬉しいですm(__)m
メンテ
Re: live2dでモデルの動作がおかしい ( No.10 )
名前:管理人 日時:2020/03/15 01:59

> これとはまた別に一つバグがみつかったのですが、 > モーションを再生した後のエフェクト?が別モーションを再生した際にずっと画面に残ってしまいます > 例えば下のコードのように「永遠にきりたんぽ」を再生した後に「もと」を再生すると青い魔法陣の様なエフェクトが少し残ってしまいます ご指摘ありがとうございます 現象を手元の環境でも確認しました Live2D の dll には含まれていない部分( DXライブラリのコードに組み込んでいる部分 )の Cubism SDK for Native 4-beta.1 から Cubism SDK for Native 4-r.1 で変化した箇所をDXライブラリに反映していないことが原因でした 修正版( 4-r.1 での変更を反映したバージョン )をアップしましたので、お手数で申し訳ありませんが よろしければお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_ARM.zip // Android版 ARM用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_ARM64.zip // Android版 ARM64用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_x86.zip // Android版 x86用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest_x64.zip // Android版 x64用 https://dxlib.xsrv.jp/temp/DxLibiOSTest.zip // iOS版 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい) > 確認用のプロジェクトを有難うございます > 何度か試したのですが、まず例外は発生しませんでした > 残りファイル数が最初は 20 個ですが、フリーズするタイミングは > 何故か26やら24になったタイミングでした すみません、『フリーズ』とは、『例外が発生してデバッガによって強制的に動作が止められた』わけではなく、 『いつまで待っても処理が進まない』といったような状態でしょうか? >  ファイル名:DxLogWin.cpp >  行番号:143 こちらはログを出力している部分となります このとき出力されているログ( Log.txt )にはどのようなテキストが出力されていますでしょうか? > また、頂いたプロジェクトではなく自身のプログラムで発生する例外のメッセージは以下の物でした >  nvwgf2nm.pdbは読み込まれていません >  26.21.14.3200 >  C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_db678424d2641c3d\nvwgf2um.dll こちらはエラーメッセージではなく『デバッグに便利なシンボルファイル( 拡張子 pdb のファイル )が見つかりません』 というメッセージです、nvwgf2um.dll というNVIDIA関係の dll のシンボルファイルは一般的には所持していないので、 このメッセージが出力されるのは特に問題ありません > それと、送って頂いたプロジェクトのデバッグリリースを選ぶプルダウンの右のプルダウンの内容が Win32 or x64 > だったのですが、自身のプロジェクトでは x86 x64 と表示されている差が気になりました > 構成設定を間違えている可能性はありますか...? > 構成マネージャーのプラットフォームにはWin32、と表示されているのですが > 「アクティブソリューションプラットフォーム(P)」がWin32ではなく x84 になっています > 関係なくて申し訳ないのですが、調べてみても分からなかったので教えていただけると嬉しいですm(__)m 恐らく DxLibSourceTest_WithUseCLib はもともと VisualStudio 2015 で作成したプロジェクトで、 今回 VisualStudio 2019 用のプロジェクトにアップデートしたために、Win32 の名称のままになっているのだと思います 現在は 32bitアプリが x86, 64bitアプリが x64 となっていますが、VisualStudio 2015 当時は 32bitアプリが Win32, 64bitアプリが x64 でした
メンテ
Re: live2dでモデルの動作がおかしい ( No.11 )
名前:にこよう 日時:2020/03/15 05:23

分かりやすく説明していただきありがとうございますm(__)m >修正版( 4-r.1 での変更を反映したバージョン )をアップしましたので、お手数で申し訳ありませんが >よろしければお試しください m(_ _;m 修正ありがとうございます 正常に描画されるようになりました >Live2D の dll には含まれていない部分( DXライブラリのコードに組み込んでいる部分 )の >Cubism SDK for Native 4-beta.1 から >Cubism SDK for Native 4-r.1 で変化した箇所をDXライブラリに反映していないことが原因でした 以前の不具合の原因でもこのようなことがありましたが、Cubism SDK for Native 4-beta.1を使っておられる方が DXライブラリを最新のバージョンにあげた場合正常に動作しなくなるのでしょうか? >すみません、『フリーズ』とは、『例外が発生してデバッガによって強制的に動作が止められた』わけではなく、 >『いつまで待っても処理が進まない』といったような状態でしょうか? 今回はAlt+f4でソフトが終了しなくてウィンドウが動かせなかったため、フリーズしたと思っていたのですが、 ログ出力が永久に行われていただけのようで、処理は止まっていませんでした すみません、正確にはフリーズした状況ではありませんでした >こちらはログを出力している部分となります >このとき出力されているログ( Log.txt )にはどのようなテキストが出力されていますでしょうか? 1885:DXライブラリの初期化処理終了 9941:ヒープ用メモリの確保に失敗しました 9953:ヒープ用メモリの確保に失敗しました 9973:ヒープ用メモリの確保に失敗しました 9989:ヒープ用メモリの確保に失敗しました 10000:ヒープ用メモリの確保に失敗しました 10014:ヒープ用メモリの確保に失敗しました 10025:ヒープ用メモリの確保に失敗しました 10033:ヒープ用メモリの確保に失敗しました 10044:ヒープ用メモリの確保に失敗しました 10050:ヒープ用メモリの確保に失敗しました 10060:ヒープ用メモリの確保に失敗しました 10066: 10074:Alloc memory dump 10081: size: 52592( 51.359kb) user size: 52480( 51.250kb) time:49316 file:Live2DCubism4.cpp line:197 ID:1261623 addr:14d100b0 data:[00 00 00 00 00 00 00 00 4a 0c 22 3f 00 00 00 00] 10088: size: 544( 0.531kb) user size: 428( 0.418kb) time:49321 file:Live2DCubism4.cpp line:59 ID:2086940 addr:148000b0 data:[1c 90 63 01 48 8e 63 01 00 00 00 00 09 00 00 00] 10095: size: 4432( 4.328kb) user size: 4320( 4.219kb) time:49321 file:Live2DCubism4.cpp line:426 ID:2086942 addr:148002d0 data:[c8 9a 63 01 48 8e 63 01 00 00 00 00 06 00 00 00] 10102: size: 544( 0.531kb) user size: 428( 0.418kb) time:49321 file:Live2DCubism4.cpp line:59 ID:2086944 addr:14801420 data:[1c 90 63 01 48 8e 63 01 00 00 00 00 1b 00 00 00] 10109: size: 560( 0.547kb) user size: 444( 0.434kb) time:49321 file:Live2DCubism4.cpp line:59 ID:2086946 addr:14801640 data:[ec 91 63 01 48 8e 63 01 00 00 00 00 00 00 00 00] 10115: size: 544( 0.531kb) user size: 432( 0.422kb) time:49321 file:Live2DCubism4.cpp line:59 ID:2086948 addr:14801870 data:[fc 8e 63 01 48 8e 63 01 00 00 00 00 00 00 00 00] 10122: size: 544( 0.531kb) user size: 432( 0.422kb) time:49321 file:Live2DCubism4.cpp line:59 ID:2086951 addr:14801a90 data:[fc 8e 63 01 48 8e 63 01 00 00 00 00 00 00 00 00] 10128: size: 544( 0.531kb) user size: 432( 0.422kb) time:49321 file:Live2DCubism4.cpp line:59 ID:2086953 addr:14801cb0 data:[fc 8e 63 01 48 8e 63 01 00 00 00 00 00 00 00 00] これ以降は同じようなメッセージが3000行ほど続いております >こちらはエラーメッセージではなく『デバッグに便利なシンボルファイル( 拡張子 pdb のファイル )が見つかりません』 >というメッセージです、nvwgf2um.dll というNVIDIA関係の dll のシンボルファイルは一般的には所持していないので、 >このメッセージが出力されるのは特に問題ありません そうだったんですね、今まではなにか読み込むのに必要なファイルがないのだと思っていました >恐らく DxLibSourceTest_WithUseCLib はもともと VisualStudio 2015 で作成したプロジェクトで、 >今回 VisualStudio 2019 用のプロジェクトにアップデートしたために、Win32 の名称のままになっているのだと思います >現在は 32bitアプリが x86, 64bitアプリが x64 となっていますが、VisualStudio 2015 当時は >32bitアプリが Win32, 64bitアプリが x64 でした 昔は2015を使っていたのに覚えていませんでした... 覚えておきます
メンテ
Re: live2dでモデルの動作がおかしい ( No.12 )
名前:管理人 日時:2020/03/16 03:19

> 以前の不具合の原因でもこのようなことがありましたが、Cubism SDK for Native 4-beta.1を使っておられる方が > DXライブラリを最新のバージョンにあげた場合正常に動作しなくなるのでしょうか? はい、x64版は 4-beta.1 でも正常に動作しますが、x86版は Live2DCubismCore.dll の仕様が変化してしまったので 現時点で既に 4-beta.1 の dll では動作しない状態になっています… > 今回はAlt+f4でソフトが終了しなくてウィンドウが動かせなかったため、フリーズしたと思っていたのですが、 > ログ出力が永久に行われていただけのようで、処理は止まっていませんでした > すみません、正確にはフリーズした状況ではありませんでした >  > 10122: size: 544( 0.531kb) user size: 432( 0.422kb) time:49321 file:Live2DCubism4.cpp line:59 ID:2086951 addr:14801a90 data:[fc 8e 63 01 48 8e 63 01 00 00 00 00 00 00 00 00] > 10128: size: 544( 0.531kb) user size: 432( 0.422kb) time:49321 file:Live2DCubism4.cpp line:59 ID:2086953 addr:14801cb0 data:[fc 8e 63 01 48 8e 63 01 00 00 00 00 00 00 00 00] >  > これ以降は同じようなメッセージが3000行ほど続いております 了解です 本スレッドの No.8 で > 因みに、kiritanv3 は 32bitアプリ設定( win32 or x86 )で 20個読み込もうとすると > メモリ不足になってしまいますので、20個ほど live2dモデルを読み込む際は > 64bitアプリ設定( x64 )にしてください と申し上げましたが、こちらと同じ現象『メモリ不足』が原因です x86 は使用できるメモリ容量が x64 の 64bitアプリよりも少ないので、にこようさんが 読み込もうとされている数の Live2D モデルを読み込み切る前にメモリ不足の状態になってしまっています 申し訳ありませんが、x64 の 64bitアプリへの移行を検討してください m(_ _;m
メンテ
Re: live2dでモデルの動作がおかしい ( No.13 )
名前:にこよう 日時:2020/03/17 08:28

>はい、x64版は 4-beta.1 でも正常に動作しますが、x86版は Live2DCubismCore.dll の仕様が変化してしまったので >現時点で既に 4-beta.1 の dll では動作しない状態になっています… 了解です 現在対応している(推奨の)dllバージョンを取得する関数か、もしdll読み込み時にバージョンが読み込めるなら ログに推奨バージョンとの不一致を出力するなどの処理を追加してみるのはどうでしょうか? 古いdllを使用している場合はバージョンを上げることはできるので... (逆に古いdllを入手する方法はなさそうでしたが) >申し訳ありませんが、x64 の 64bitアプリへの移行を検討してください m(_ _;m ご回答ありがとうございます 一部分のプログラムを変更すれば64bitに変更できそうです
メンテ
Re: live2dでモデルの動作がおかしい ( No.14 )
名前:管理人 日時:2020/03/18 00:23

> 現在対応している(推奨の)dllバージョンを取得する関数か、もしdll読み込み時にバージョンが読み込めるなら > ログに推奨バージョンとの不一致を出力するなどの処理を追加してみるのはどうでしょうか? > 古いdllを使用している場合はバージョンを上げることはできるので... > (逆に古いdllを入手する方法はなさそうでしたが) バージョンを取得する関数がLive2DCubismCore.dllにあるのですが、バージョンが上がる度に関数の呼び出し規約が 変化してしまっているので、バージョンに合った呼び出し規約でバージョンを取得する関数を呼び出さないと スタックが異常になってエラーになってしまう、という状態なので、ちょっと難しいです… とりあえずDXライブラリの次のバージョンからは『仕様&特徴説明』のページの Live2D の 項目に、DXライブラリが対応している Live2D の細かいバージョンを明記しておこうと思います ( 正式に対応したバージョンより古くても新しくでも駄目なので (- -;; )
メンテ
Re: live2dでモデルの動作がおかしい ( No.15 )
名前:にこよう (解決) 日時:2020/03/19 16:51

バージョン情報を取得する方法も変わってしまうのですね... サイトへのバージョン表記了解です 沢山の内容の修正ありがとうございました これで解決済みとさせていただきますm(__)m
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存