none
CMOファイルのバイナリフォーマット RRS feed

  • 質問

  • はじめまして。

    環境:VS2015

    DirectX11 StarterKit の Mesh::ReadAsyncでAnimationClipを含んでいるcmoファイルを読み込もうとしていますが、AnimationClip部を読み込めません。

    Mesh::ReadAsyncの中身を見るとボーンデータを含む(isSkeletalDataPresent)ファイルでないとAnimationClipを読み込まない処理となっていますが、ボーンデータ無しのファイルのAnimationClipを読み込みたいのです。

    このReadAsync関数のバイナリ処理の改造が必要になると考えておりますが、cmoファイルのバイナリフォーマットがわかる資料は入手可能なのでしょうか?




    • 編集済み ssgrb 2017年1月11日 2:42
    2017年1月11日 2:17

回答

  • 検索してみたところ、

    https://github.com/Microsoft/DirectXMesh

    が引っ掛かりました。

    ここの Meshconvert\Mesh.cpp に、CMOの記述があるみたいです。コメントにフォーマットらしきものも出ています。

    検索でヒットしただけなので詳しくは見ていませんけど。


    とっちゃん@わんくま同盟, Visual Studio and Development Technologies http://blogs.wankuma.com/tocchann/default.aspx

    • 回答としてマーク ssgrb 2017年1月11日 5:04
    2017年1月11日 4:11

すべての返信

  • 検索してみたところ、

    https://github.com/Microsoft/DirectXMesh

    が引っ掛かりました。

    ここの Meshconvert\Mesh.cpp に、CMOの記述があるみたいです。コメントにフォーマットらしきものも出ています。

    検索でヒットしただけなので詳しくは見ていませんけど。


    とっちゃん@わんくま同盟, Visual Studio and Development Technologies http://blogs.wankuma.com/tocchann/default.aspx

    • 回答としてマーク ssgrb 2017年1月11日 5:04
    2017年1月11日 4:11
  • ありがとうございます。

    Meshconvert\Mesh.cppのコメントを拝見しました。まさに探していたのはこれです:)

    コメントのフォーマット説明にあるように、

    ...

        //      BYTE - 1 if there is skeletal animation data present

    ...

        //      MeshExtents structure
        //      [If skeleton animation data is not present, file ends here]
        //      UINT - Bone count

    ...

    skelton animation dataのBYTEが1でないとanimation dataは含めないようですね。

    データ作成方法で工夫をするか、他の形式の使用を検討する事にいたします。
    ありがとうございました。

    2017年1月11日 5:03