Unity5:MMD4MecanimでMMDモデルをiOSに書出すときの注意点
MMD4Mecanim
MMD4MecanimについてはUnityを使っている人にとってはもう常識でしょうか?Unityでキャラクターを動かそうと思いAssetsStoreを見てみても、FPS的なモデルがほとんど…キャラクター3Dモデルが豊富なMMDモデルをUnityで使えればと思う人が多く、様々な方がUnityでMMDモデルを使おうとしていました。
現在、Unity4から使えるようになったMecanimに対応したMMD4Mecanimが最も使われています。
□ MMD4Mecanim (Beta)
概要
PMX(PMD) + VMD を FBX に変換するツール & Unity (Mecanim) で一通り動作させるためのスクリプトです。
パッケージを導入しMMDモデルを読み込み変換するだけで簡単にMMDモデルを表示したり踊らせたりする事ができます。ちょっと古い情報ですがこのような説明動画もあります。
そんなMMD4Mecanimが、2015/03/08版でUnity5に対応しました。
MMD4Mecanimを更新しました。Unity5でPersonalバージョンでもネイティブプラグインを使えるように調整、Unity5でライト演算の差異(モデルが明るすぎる問題)の修正 http://t.co/mLSrjixmSE
— Nora (@Stereoarts) 2015, 3月 8
iOS(Metal)に書き出すとマテリアルが剥がれる問題
さっそく読み込んで使ってみたところ、問題なく使えています。ところがiOSに書き出しiPhone上で表示してみると問題が。
Unityを使っている人にはお馴染みのマテリアルの剥がれた紫表示です。理由を調べてみると、どうやらiOSで新たに採用された高速描画エンジンMetalに対応していないからとのこと。そこでMetalではなく今までどおりOpenGL ESで描画するように設定します。
やり方は簡単で、まずメニューのFile→Build Settings...を選択し、ダイアログからiOSにBuildへSwitchします。次にPlayer SettingsでiOS用Buildの設定をします。iOS用の書き出しメニューのOther Settingsに”Graphics API”という描画エンジンの設定項目があります。
デフォルトではAutomaticになっていますが、これはMetalを使うようになっています。ここをOpenGL ES 2.0にすればOKです。
Graphics APIをOpenGL ESにした状態でiPhoneに書き出すと、無事マテリアルも出力されます。
よかったよかった。
そんな感じ