スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Cinema4Dでエクスポータを作成してみた

XNAでゲームを作成していて、モーションデータはFBXで扱っていたのだが、FBXのバージョンの違いや、SDKのバグの噂を聞いたりと精神衛生上好ましくなかった。

そこでC++の復習も兼ねてついに自作の拡張子のエクスポータを書いてみた。
ドキュメントが少ないのが難点だけど慣れると超強力な味方になってくれそうだ。

とりあえず、VC++Express(無料のやつ)の使い勝手は悪すぎる。
別の環境で作成したいのにもともとのsdkサンプルと雛形がVCで組み込んであるため仕方なしに使っている。

拡張子を書き出すのに苦労したのは・・・
とにかくどこに情報がうまっているのか?を見つけるのが大変だった。
Coffeeの情報は結構あるのでそっちでクラスの検討をつけてからドキュメントを漁るのがいいと思う。

んでんで
情報が出てこなそうなのが以下。

//フレームを進める
BaseTime bt = BaseTime(i,doc->GetFps());
doc->AnimateDocumentExEx(NULL,TRUE,TRUE);
doc->SetTime(bt);


1フレームづず情報を書き出したい時にAnimateDocumentExExをしてやらないとフレーム移動を内部で実行してくれないため、常に同じフレームを書き出して最後に指定したフレームに移動して動作終了、なんてことになります。

引数は1番目は恐らくスレッド関係だけど良く分からないのでNULLにして逃げた
2番目=内部フレーム移動時にエクスプレッションも適用させるかどうかのフラグ
3番目=内部フレーム移動時にアニメーションを適用させるかどうかのフラグ

拡張子の細かい仕様が気になる方は私も散々お世話になったすばらしいサイトに大変詳しく書いてございます。
サイトの主様は 1:多数 の質問回答形式のBBSを設立されており感服します。

サイト自体がC++がメインなので一度も書き込んだことが無いのですが、もしC#だったら毎日書き込んでいたことでしょう。危うかったな!


エクスポータはできたんだけど・・




インポータをまだ作ってない。
ねよっと。

コメントの投稿

非公開コメント

プロフィール

あしゅ

Author:あしゅ
ぷぃぷぃ日常。
いつのまにか雑記ブログに。

カテゴリ
最新記事
検索フォーム
最新コメント
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。