LoginSignup
28
10

More than 5 years have passed since last update.

MMD4MecanimのUnity on OSXでのエラー解決

Last updated at Posted at 2018-03-21

MMD4Mecanimを使って、Unityにミライアカリの.pmxファイルをインポートして3Dモデル表示した際につまづいたのでメモ。

この記事の要約

Unity on MacでMMD4Mecanimを使って.pmxファイルを.fbxファイルに変換する際にxmlファイルしか生成されない問題が起こった。pmx2fbx_275がversion 8.0.0以上のlibiconv.2.dylibを参照するようにパスを指定すると解決する。

環境

Mac OS X High Sierra 10.13.3
Unity 2018.1.0b8
MMD4Mecanim Beta
ミライアカリのモデルはニコニ立体で配布されています→
http://3d.nicovideo.jp/works/td31639

UnityにMMD4Mecanim、MMDモデルをインポート

@ngron さんのQiita記事などを参考にしてください

問題

「上の記事を参考にMiraiAkari_v1.0.MMD4MecanimのInspectorからProcessをクリックするも、fbxファイルが生成されず、xmlファイルしか生成されない」

スクリーンショット 2018-03-21 17.03.46.png

秋田大学プログラミングサークルTNPのガナリヤさんが「MMD4MecanimのMacでのエラーについて」というタイトルで、同じ問題についての記事を書いてくださっていますが、自分の環境ではこれだけでは解決しませんでした。

解決の流れ

①UnityのEditorログを見る

公式によるとmacでは
~/Library/Logs/Unity/Editor.log
にあるそうです。
開いて見ると、ガナリヤさんの記事にある通り、確かに

dyld: Library not loaded: /opt/local/lib/libiconv.2.dylib
  Referenced from: /Users/Shared/Unity/MiraiAkariTest/Assets/MMD4Mecanim/Editor/PMX2FBX/pmx2fbx_275
  Reason: Incompatible library version: pmx2fbx_275 requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0

との表記が。

pmx2fbx_275(自分の環境では/Users/Shared/Unity/MiraiAkariTest/Assets/MMD4Mecanim/Editor/PMX2FBX/pmx2fbx_275にありました)がversion 8.0.0ではなくversion 7.0.0のlibiconv.2.dylibを参照してしまっているため問題が起こっています。

②iconvをアップデートする

ガナリヤさんの記事、@lapun さんの記事を参考に

brew update
brew install libiconv

でlibiconvをアップデートして見るも、問題は解決せず。

③pmx2fbx_275の参照ライブラリを変更する

ターミナルで

$otool -L {pmx2fbx_275へのパス}

と叩くと

/opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.1.0)

とあります。しかし、自分の環境では/opt/local/libにlibiconv.2.dylibがありませんでした。/usr/local/opt以下を見るとlibiconvディレクトリがあり、

$ otool -L /usr/local/opt/libiconv/lib/libiconv.2.dylib

と叩くと

/usr/local/opt/libiconv/lib/libiconv.2.dylib:
    /usr/local/opt/libiconv/lib/libiconv.2.dylib (compatibility version 9.0.0, current version 9.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0)

と返ってきたので、こちらを参照するように変更しました。

$ install_name_tool -change /opt/local/lib/libiconv.2.dylib /usr/local/opt/libiconv/lib/libiconv.2.dylib {pmx2fbx_275へのパス}

改めて

$otool -L {pmx2fbx_275へのパス}

と叩くと

/usr/local/opt/libiconv/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.1.0)

とあり、参照するパスが確かに変わっています。

結果

以上の修正をした上でUnityエディタに戻り、processをクリックすると、ミライアカリの.fbxが生成され、Sceneに配置できました。
スクリーンショット 2018-03-21 17.37.39.png

ライセンス

(c)Mirai Akari Project

28
10
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
10