DxライブラリにおけるBlender生成モデルの読み込み

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
にほ
記事: 17
登録日時: 6年前
連絡を取る:

DxライブラリにおけるBlender生成モデルの読み込み

#1

投稿記事 by にほ » 5年前

どうも、いつもお世話になっております。

今回、3Dモデルを作成したので試しにDXライブラリで読み込んでみようと思い、サンプルコードhttp://dxlib.o.oo7.jp/function/dxfunc_3d.html#R4N1を実行しました。
今回使ったモデルはこちらです。
https://www.dropbox.com/s/s69cndslilerl ... E.zip?dl=0

リファレンスには、.xと.pmdと.mqoと.mv1が使用可能とありました。また、ツールを使うことで.fbxを.mv1に変換できるということでした。今回はmqoエクスポーターのみ見つからなかったので、.x(デフォルトアドオン)、.pmx(blender2pmx)、.mv1(DxLibModelViewer)の三通りを試しました。

ところが、いずれもうまくいきませんでした。以下詳細です。
  1. まず初めに手を付けたのが、MMDでも使えてモーション編集も簡単なPMX形式でした。ここで、PMXは仮対応ということですが、PMDエクスポーターでいいものが見つけられなかったためPMXエクスポーターを用いてPMX形式で利用しました。その結果、MMDやModelViewerではきちんとblenderと同じようにモデルが描画されるものの、自作ソフト上ではこのようにメッシュが崩壊した状態で描画されました。
    画像
    MV1SetMeshBackCulling関数をすべてのメッシュに適用しても同じ結果だったため、バックカリングをしていないという理由ではないようでした。また、これを他エディタで別のファイル形式に変換しても同じような結果になりました。
  • 次に目をつけたのが、簡単にエクスポート出来てMMDでも一応開けるXファイルでした。こちらはデフォルトのアドオンがあるので、出力までは簡単にいきました。自作ソフト上でもこのように見事表示されました。
    画像
    が、ここで問題はアニメーションが正常に動いていないということと(左上の-1はアニメーションのアタッチ番号を代入した変数なので、アニメーションが存在していない)、MMDで読もうとしたときに正しいXファイルではありませんという警告が出て、読み込めない事です。これに関してはblenderのXファイル出力はあまりよろしくないらしいという情報があるので、仕方ないということにして保留しています。
  • 最後の可能性が、FBXからMV1ファイルへの変換です。しかし、FBXファイルで出力して読み込むと、このようにメッシュの一部が乱れてしまいます。
    画像
    これをMV1に変換したものが、こちらです。
    画像
    どうみてもスカートの中が外にでちゃってます。ありがとうございます。
    いくら技術の勉強のためとはいえ、3Dの処女作でスカート内モロ見えというのは嫌です。というか3Dゲーム作るならこんな荒れたモデルは使いたくないです()
みなさんは正しく読み込みなどで来ているのでしょうか。私は、今のところ公開されているモデルでは正しく読み込めているので、自作したモデルがいけないのだと踏んでいます。そこで、どうにかして正しく読み込むための対処法はないでしょうか。MQO形式が使えることもあり、スタンダードライセンスではPMD出力も行えるらしいので、DXライブラリではメタセコイアでの開発を想定しているのだと思います。そこでメタセコイアでもモデリングを試してみようと思いましたが、1ヶ月半も頑張って作ったモデルでこのざまなので正直やる気がないです…身内がほとんどblender使いというのもあり、blenderでできれば非常にありがたい点もあります。

どうか皆様のご高察をお聞かせください。

“C言語何でも質問掲示板” へ戻る