2021-05-30 (日)
* glTF animation
https://github.com/binzume/modelconv
glTFのアニメショーンを試しに使ってみる.
https://github.com/KhronosGroup/glTF/tree/master/specification/2.0/
channel.path が weights のときの説明が少なすぎな気がするけど,meshのmorph targetsの個数だけfloat値を並べれば良いっぽい?mesh の targets が多いと一部しか使ってなくてもデータが巨大になりそう.個数や順番が変わると対応できなさそうなので,アニメーションのみを入れたglTFと複数のglTFモデルを組み合わせて使うみたいなのは考慮してないっぽい.TRSだけであれば,ノードさえ識別できればアニメーション再生できるし,THREE.jsの実装もノード名で紐付けるようになってるのだけど.
glTFの morph target,識別子的や名前が無くて配列のインデックスでしか参照できないのでプログラムからもコントロールしにくい.いまのところは,extras オブジェクトに名前のリストを入れたりするしかないみたいだけど,ツール間の互換性は保証できないのが残念.VRMを見てもエクステンションで独自のBlendShape情報を持ってたりするので,標準で入れてほしい.何もしないanimation channelを作れるならエクステンションで処理するためのチャンネル作れるのだけどtarget必須だった.