投稿記事

MP4の記事 (1)

Jugular 2024/03/22 22:08

G3/G8 Animation Pose Converter for G9 [完]

遂に野望の王国、乳神様の国に到達しました。プルン、プルン。


Genesis の Animation Data の覚え書き

今回 Animation Data の構造を調べてみたのですが、データの格納場所が Genesis 9 の下に 3 系統ありました。

一つは普通に Root Node (Genesis 9 本体) - Hip - Pelvis - 腰、胴体、手足等のボーンのノードツリーで、それぞれのボーンのノードに DzFloatProperty という数値データで回転や移動が格納されてます。

二つ目は Root Node (Genesis 9 本体) がノードのツリーとは別に DzProperty のリスト(集合体)を持ってまして、これらは Pose Control の下に出てきます Arms Front-Back や目、首といった、ボーンをまとめて動かしたりする数値プロパティが格納されています。

そして三つめは Root Node が保持しております DzObject というオブジェクトで、この中にボーンではなくモーフ (DzMorph) で実現されているポーズデータが格納されており、これらは Pose Control の下の Breasts Flatten Left/Right や Breasts Hang Forwad Left/Right 等です。DzMorph の getValueChannel() という関数で数値プロパティにアクセスできます。

1) root DzNode -> child DzNode (Hip) -> child DzNode (Pelvis) -> ・・・

2) root DzNode -[DzPropery (Arms Font-Back), DzProperty (Breasts Side-Side) ・・・]

3) root DzNode - DzObject -[DzMorph (Breasts Flatten Left), DzMorph (Breasts Hang Forward Left) ・・・]

古い Genesis からポーズデータをコンバートする場合、この三つのデータストアにアクセスして、それぞれの数値データを新しい Genesis のプロパティにコピーしていきます。

各数値データの構造は、"Keys" :[[time, value],[time, value]・・・]の形で、各キーフレームの 0 フレームからの時間とその値が格納されており、静止ポーズデータはフレームが一つだけの Animation Data として扱われています。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

限定特典から探す

記事を検索