VRM4U icon indicating copy to clipboard operation
VRM4U copied to clipboard

[5.2]M1 macにおいてVRMファイルをD&Dするとクラッシュする

Open lelelove1225 opened this issue 1 year ago • 7 comments

Describe the bug assimp.aとPluginそれぞれを配置した後、プラグインを有効化しVRMをコンテンツドロワーに入れようとするとクラッシュしてしまいます。

Screenshots, log error.log

UnrealEngine Version: [UE5.2]

Additional context UE5.2ではassimpのビルドにARM64を要求されたので(他に手がなく)ARM64ビルドしました。 5.1ではx86-64のビルドで同じところまでは行きましたが、同じくクラッシュしました。

なにかお手伝いできることなどあればと思います。宜しくお願い致します。

lelelove1225 avatar Aug 12 '23 06:08 lelelove1225

報告ありがとうございます。 手元に環境がないのでサポートが難しいところです… まずは以下を確認してみてください。 ・assimpのビルド環境がエディタと同じになっているか(x64 or arm64) ・assimpがStaticLibとしてビルドされているか(cmakeでの設定にあります)

また、最新のソースにてインポート時のログを追加してみました。問題がassimpにあるのか それ以外か 切り分けできると思います。お手数でなければ 最新にてログを添付ください。

ruyo avatar Aug 15 '23 02:08 ruyo

お疲れ様です、遅くなり申し訳ありません assimpは関係なさそうに見えます(関数のメモリアクセスで何かが起きているような気がします) MyProject.log

lelelove1225 avatar Aug 18 '23 09:08 lelelove1225

ありがとうございます。 原因究明にはなりませんが、思ったことをだらだらと書いておきます… もし拾えそうな内容があれば 試してみてください。

ULoaderBPFunctionLibrary::GetVRMMeta() の呼び出し自体に失敗している… ようです。 正常に動作していたら ログが出るはずです。

GetVRMMeta()は VRM4ULoaderモジュールに含まれる関数なので、この読み込みに問題があるかもしれません。 VRM4U.uplugin内で LoadingPhaseやTypeを書き換えると変化があるかもです。

また、VRM4ULoaderモジュールは libassimp.a をリンクしているため、なにか不整合が起きてて読めないのかもしれません。 思い切って、SharedLibとしてリンクして様子を見る と変化があるかもです。

ruyo avatar Aug 21 '23 13:08 ruyo

何も解決できてないんですが調査メモだけかきます… assimpに関してはSharedLibraryでビルドしようとするとx86_64,ARM64どちらでも ld: symbol(s) not found for architecture という感じでダメそうです(ユニバーサルビルドでもダメそう)

Undefined symbols for architecture x86_64: "VRM_ReleaseVRMMeta(void*)", referenced from: aiScene::~aiScene() in Version.cpp.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [bin/unit] Error 1 make[1]: *** [test/CMakeFiles/unit.dir/all] Error 2 make: *** [all] Error 2

こんな感じです、、、 修正は試みてます、ご迷惑おかけしております。

lelelove1225 avatar Aug 30 '23 09:08 lelelove1225

SharedLibのエラーについては、Version.cpp にて、190行目付近をコメントアウトしてみてください。 VRMのインポート時にメモリリークしてしまいますが、エディタを再起動すれば問題なく動作すると思います。

image

ruyo avatar Aug 30 '23 13:08 ruyo

Hi @lelelove1225, I am facing this exact same issue, have you made any progress on this?

madhavhaldia avatar Sep 12 '23 06:09 madhavhaldia

Screenshot 2023-09-12 at 4 14 33 PM Here, the "mVRMMeta" is so after casting to VRMMetaData, it throws EXC_BAD_ACCESS. Any ideas as to why mVRMMeta could be invalid?

madhavhaldia avatar Sep 12 '23 10:09 madhavhaldia