トップページ > 記事閲覧
DxLibModelViewerについて
名前:gura 日時: 2015/12/17 21:20

質問です。 DxLibModelViewerでモーションつきfbxモデルを読み込み、アニメーションの追加で同じモデルの別のアニメーションデータを持っているfbxを追加しました。アニメーション一覧にアニメーションは増えているのですがNoが全部0になっています。アニメーションにアタッチする関数で0と1を入れてみたのですが0を入れたときに最初に読み込んだアニメーションを再生したのですが、1を入れたときは何も再生されませんでした。 xbfで作ったアニメーションではアニメーションの追加は使えないのでしょうか? 文章力が低くて申し訳ありませんがよろしくお願いします。
メンテ

Page: 1 |

Re: DxLibModelViewerについて ( No.1 )
名前:管理人 日時:2015/12/19 01:11

追加でアニメーションを読み込んで「ファイル」→「名前を付けてメッシュと追加読みこみアニメーションを合成して保存」を 選択すれば最初に読み込んだfbxファイルの形状情報( メッシュ )と追加で読み込んだアニメーションを合成して保存することができますが、 追加で読み込みたいアニメーションが複数ある場合はこの方法は使うことができません その場合、以下のようにモデルファイルの「形状情報」と「アニメーション」を別々の mv1ファイルで扱う必要があります   同じモデルのアニメーションデータを持っているfbxファイルが3つある場合の例です   1.「ファイル」→「開く」でアニメーションつきfbxモデル( ファイルA )を読み込む   2.「ファイル」→「名前を付けてメッシュのみ保存」を選択して、アニメーション抜きでmv1ファイルとして保存( ファイル名 Model.mv1 とします )   3.「ファイル」→「名前を付けてアニメーションのみ保存」を選択して、アニメーションだけmv1ファイルとして保存( ファイル名 AnimA.mv1 とします )   4.「ファイル」→「開く」で1とは別のモーション付きfbxモデル( ファイルB )を読み込む   5.「ファイル」→「名前を付けてアニメーションのみ保存」を選択して、アニメーションだけmv1ファイルとして保存( ファイル名 AnimB.mv1 とします )   6.「ファイル」→「開く」で1,4とは別のモーション付きfbxモデル( ファイルC )を読み込む   7.「ファイル」→「名前を付けてアニメーションのみ保存」を選択して、アニメーションだけmv1ファイルとして保存( ファイル名 AnimC.mv1 とします ) 上記の手順のように「アニメーション」を抜いた「形状情報」だけを保存した Model.mv1 と、 「アニメーション」だけを保存した AnimA.mv1, AnimB.mv1, AnimC.mv1 を作成します その上で、実際にプログラムで使用する際は Model.mv1, AnimA.mv1, AnimB.mv1, AnimC.mv1 を それぞれ別々に MV1LoadModel で読みこみ、MV1AttachAnim で再生したいアニメーションの3Dモデルハンドルを 渡して再生するようにします int ModelHandle ; int AnimHandle[ 3 ] ; int AttachIndex ; // 形状情報のみのモデルファイルを読みこみ ModelHandle = MV1LoadModel( "Model.mv1" ) ; // 「アニメーション」のみの3つのモデルファイルA,B,Cを読みこみ AnimHandle[ 0 ] = MV1LoadModel( "AnimA.mv1" ) ; AnimHandle[ 1 ] = MV1LoadModel( "AnimB.mv1" ) ; AnimHandle[ 2 ] = MV1LoadModel( "AnimC.mv1" ) ; // アニメーションCをアタッチする AttachIndex = MV1AttachAnim( ModelHandle, 0, AnimHandle[ 2 ] ) ; 扱うファイルが増えて不便かもしれませんが、形状が変化せず、アニメーションが増えるだけの場合は アニメーションファイルだけ増やせば良いので、そういう面では形状情報とアニメーションがひとつに なっているファイルより扱いやすかったりもします ( 同じく形状だけが変化する場合は Model.mv1 ファイルだけ保存し直すだけで済むという利点もあります ) もしご不明な点がありましたらお訊ねください m(_ _)m
メンテ
Re: DxLibModelViewerについて ( No.2 )
名前:gura 日時:2015/12/25 14:16

ありがとうございます。 アニメーションの扱い方はわかりました。 追加で質問なんですが、Mayaで作ったモデルをDxLibModelViewerに読み込むとローカルポジションがずれてしまいます。 MV1SetRotationXYZ関数で回転を行うとモデルが円運動をするようなことになっています。 これの解決はすべてDxLibModelViewerでモデルのローカルポジションを修正していかなければならないのでしょうか?
メンテ
Re: DxLibModelViewerについて ( No.3 )
名前:管理人 日時:2015/12/27 21:31

すみません、『ローカルポジション』が何のことを指しているのか分かりません・・・ よろしければ『ローカルポジション』がずれてしまっている fbx ファイルを圧縮してこちら BQE00322(あっとまーく)nifty.com ( (あっとまーく)を@に置き換えてください ) に送っていただけないでしょうか? あと、よろしければ 「『ローカルポジション』がずれてしまっていることでこのような不都合が発生している」 というようなことが分かるスクリーンショットなどを拝見させていただけないでしょうか? m(_ _;m
メンテ
Re: DxLibModelViewerについて ( No.4 )
名前:管理人 日時:2016/01/03 23:20

メールありがとうございます、動画ファイルとfbxファイルを拝見しました DxLibModelViewer.exe で読み込んだ際に「モデルの中心がビューアーの原点にならない」 ということですね こちらについては「モデルの中心が原点になっていない fbxファイルだから」としか 申し上げられません( 今回お送りいただいたモデルで言うと、joint1 の座標が原点ではないのが原因です ) 対応方法も「モデルの中心が原点になっている fbxファイルであれば大丈夫です」となります 恐らく Maya から fbxファイルを出力する際の何らかの原因でこのようになってしまっていると 思うのですが、私は Maya を使ったことが無いのでどのような手順や設定で fbxファイルを 出力すれば「モデルの中心が原点になる」のかは分かりません・・・・すみません・・・ ただ、Maya を使える知人に作成していただいたモデルを fbxファイルでいただいて DxLibModelVewer.exe で読み込んだ際は「モデルの中心が原点になっている fbxファイル」 だったので、『Maya を使って出力した fbxファイルを DxLibModelViewer.exe で読み込むと 必ずモデルの中心が原点からずれてしまう』ということは無いと思います
メンテ
Re: DxLibModelViewerについて ( No.5 )
名前:gura 日時:2016/01/04 01:10

Mayaで見ると原点にいるように見えていたので DxLibModelViewerで読み込んだときずらされていると勝手に勘違いしていました。 モデルのほうを確認してみます。 ありがとうございました
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存