LoginSignup
1
1

More than 3 years have passed since last update.

Maya で deformer を bake し glTF にエクスポートするためのメモ

Last updated at Posted at 2019-05-28

背景

  • glTF や,(リアルタイム)レンダリングエンジン側で deformer に対応していない
  • rig のモデル自体は Maya で deformer を使って構築されているので, deformer 情報を消す(bake する)必要がある

Bake deformer tool

Maya には 2017 Update 3 から Bake deformer tool の機能がつきました.

試す

bake deformer tool では, mesh + skelton を入力としているため, deformer を joint と parenting してみます.

  • CUBE + joint 2 個.
  • cluster deformer を作成し, 先端の joint と parent して, joint を動かすと cluster deformer が動くようにする.

ezgif.com-video-to-gif-setup.gif

ここから, cube と joint を duplicate して bake 用 mesh + joint を作ります. 
target は同じ個数の skelton である必要があります.

bake deformer tool に mesh/skelton のペアを記述して, apply します.

ezgif.com-video-to-gif-baked.gif

これで bake 先は, cluster deformer に依存せず, joint を動かすと cluster deformer の効果も出るようになります. 実態は skinCluster(smooth vertex skinning)なので, これをあとは glTF にエクスポートするだけになります.

問題点

  • bake では, parent した joint のみの対応のようなので, たとえば screenvideo のように, root joint を動かすと, 元メッシュでは cluster deformer の影響があるが, bake したほうは影響は消えてしまう.

  • どれくらいの精度で deform 効果を bake してくれるかが不明.

TODO

  • joint の階層でうまく deform 効果 が bake される方法を探す.

  • joint に deformer を parenting するのがよい方法なのだろうか?(deformer をどう扱うか推奨方法はドキュメントなどに記載は無い)

  • 自前 bake tool の作成を検討してみる. たとえば Sampling-based Rig Conversion into Non-rigid Helper Bones https://mukai-lab.org/publications/i3d2018/ を実装してみるなど.

  • 簡単な deformer であればレンダリングエンジン側で対応してみる.

  • direct delta mush skinning 対応してみたい Direct Delta Mush Skinning and Variants http://binh.graphics/papers/2019s-DDM/

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1