トップページ > 記事閲覧
fbxファイルのアニメーションが半分の長さになる
名前:ふる 日時: 2016/02/06 10:37

blenderからエクスポートしたfbxファイルをDxLibModelViewerでmv1に変換して使用しています。 このfbxファイルをModelViewerで読み込むと全てのアニメーションのフレーム数が半分になってしまうので、 ModelViewer上ではfpsを半分にし、プログラムでは0.5フレームずつ再生して使っていました。 最近になってモデルが細かく震えているのに気づいたので、ModelViewerでfpsを1にして再生してみたところ、 ボーンの回転や移動が、滑らかに動いては、フレームが変わる瞬間に少し飛ぶ、という動作を毎フレーム繰り返しています。 この挙動と、フレーム数が半分になっていることからして、 フレームが間引きされていることが想像されるのですが、ご確認いただけないでしょうか。 また、fbxファイル側の問題も考え、autodesk社のビューワで確認したところフレーム数は維持されていました。 ほかにこちらの問題として考えられるものがありましたらご指摘ください。
メンテ

Page: 1 |

Re: fbxファイルのアニメーションが半分の長さになる ( No.1 )
名前:管理人 日時:2016/02/06 21:23

ご報告ありがとうございます ふるさんが現象を確認されているファイルを拝見できれば原因究明も容易になると思いますので お手数で申し訳ないのですが、よろしければ件の現象が発生してしまうfbxファイルをメールでこちら BQE00322(あっとまーく)nifty.com ( (あっとまーく)を@に置き換えてください ) に送って頂けないでしょうか? m(_ _;m
メンテ
Re: fbxファイルのアニメーションが半分の長さになる ( No.2 )
名前:管理人 日時:2016/02/08 03:51

メールありがとうございます 添付して頂いたfbxファイルで現象を確認でき、原因も分かり修正することができました こちらに修正したバージョンの DxLibModelViewer をアップしましたので よろしければお使いください m(_ _;m // ビューアー https://dxlib.xsrv.jp/temp/DxLibModelViewerTest.zip 原因は「アニメーションのタイムカウントを整数値で取得する関数を使用してしまっていた」でした、 送って頂いたアニメーションはキーが 0.0, 0.5, 1.0, 1.5, 2.0, 2.5 といったタイムに打たれていたのですが、 DXライブラリが使用している FBX SDK のタイムカウント取得用の関数の戻り値が整数型だったので 小数点以下の値が切り捨てられ、 0, 0, 1, 1, 2, 2 というタイムカウントとして扱ってしまい、 結果位置や回転が飛ぶといった現象が発生してしまっていました FBX SDK にはタイムカウントを整数値で取得する関数の他に、浮動小数点値で取得する関数も用意されていたので そちらを使用するようにしたところ正常に処理できるようになりました 因みにフレーム数が半分になってしまうとのことですが、こちらは推測ですが blender でのアニメーション関係の 設定か、fbxエクスポートの設定などが関係しているのではないかと思います
メンテ
Re: fbxファイルのアニメーションが半分の長さになる ( No.3 )
名前:ふる(解決) 日時:2016/02/08 07:00

正常な動作を確認いたしました。 フレームが0.5刻みで出力されていたのがそもそもの原因なのですね。 blender本体やエクスポータの、疑わしいパラメータをいじったりもしたのですが改善しないのです。 blender自体把握しきれていないので、何か見落としているのかもしれません。 しかしながら、フレーム落ちしていたこと以外は使い方次第ですので、これで作業に戻ろうと思います。 迅速に対応していただき、有難うございました。
メンテ

Page: 1 |

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

   クッキー保存