murata

    Cinema4DからWebGL

    村田です。

    Cinema4DからWebGL向けにアニメーションデータを書き出すフローを
    備忘録として記しておきます。

    間違っている部分や最適化できる部分多々あると思いますので
    参考程度に…。

    環境としては
    Cinema4D R16
    Blender 2.75
    Blenderにthree.jsエキスポーターを追加
    です。


    まずはCinema4Dでアニメーションを作ります


    FBX形式で書き出して
    (ボーンをコントローラーなどを使ってアニメーションさせていると
    コントローラーのキーフレームがゴミデータとして残ってしまうので
    ボーンにアニメーションをベイクしたらコントローラーは削除します)


    Blenderで読み込んだら


    Blenderのタイムラインをアニメーションに合わせます。


    ボーンを選択した状態で作業画面上でスペースキーを押し
    「Bake Action」を検索してキーフレームをベイク・間引きします


    とりあえず5フレームごとにキーが打たれるように設定しました
    このときBakeDataをPoseにしておきます


    間引かれました


    さらに「RestPosition」にしてレストポーズにしておきます


    次にモデルデータを選択した状態でExportからthree.js(.json)で
    JSONを書き出します


    書き出し設定はこのような感じ


    無事書き出されたら完了です!

    参考にさせていただいたサイト

    【WebGL特集】第6回:他のCGツールからBlenderへの移植
    http://mox-motion.com/blog/webgl06-2/

    Three.jsとBlenderによるWebGL
    http://ameblo.jp/ca-1pixel/entry-11247273137.html

    three.js 用にボーンアニメを持つ 3D モデルを書き出すために
    http://yomotsu.net/blog/2013/12/27/bone-for-threejs.html