LoginSignup
9
10

More than 5 years have passed since last update.

MagicaVoxelでつくった3DモデルをlibGDXで表示するときの注意

Last updated at Posted at 2014-12-20

最近 libGDX というゲームフレームワークを触り始めました。
はじめての3Dゲームの開発にも挑戦しようと思っています。

チュートリアルをすすめながら libGDX で遊んでいたところ、ハマったのでメモです。

MagicaVoxel というドット絵っぽい3Dモデルを作れるツールがあります。
スクリーンショット

このツールで作成したモデルをエクスポートし、libGDX で表示しようとしました。
MagicaVoxel では obj 形式でモデルをエクスポートします。
右下の方にあるボタンを押すと、MagicaVoxel の実行ファイルがあるディレクトリ下のexport ディレクトリに出力されます。obj, mtl, tga の3つのファイルが出力されます。

この3つのファイルを libGDX で作成したアプリケーションから読み込めるディレクトリに配置し、AssetManagerで obj ファイルを読み込み表示してみると普通に表示されます。

ただし、実行テストでは obj ファイルのままでよいけれど、実際のアプリケーションでは fbx-conv なるツールを使って g3db 形式に変換すべしと書いてありました( http://blog.xoppa.com/loading-models-using-libgdx/ )。

fbx-conv を使って g3db 形式に変換し、表示させようとしたところ何も表示されませんでした。エラーメッセージもありません。

調べてみると、どうやら MagicaVoxel(0.94)がエクスポートするファイルがよくないみたいです。
以下の2つの操作をすることでモデルを表示することが出来ました。

  • mtl ファイルのパレットファイルを指定しているところ、map_kdmap_Kdと修正する。(k が大文字)。
  • mtl ファイルに d 1.0 と書いた行を追加する。(マテリアルのopacityを1.0に)

mtl ファイルを修正したあとに fbx-conv を使って変換した g3db ファイルを読み込むとモデルが正しく表示できました。

9
10
3

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
9
10