« データ構造、実装よりの話 | メイン | テキストファイルフォーマット »

2007年09月13日

アニメーションライブラリ:: 親子関係

    

3Dであれば親子関係は必須とも言えるが、2Dの場合はなくても何とかなる。
でも、あったほうが都合の良い場面も多い。
再生側のみに限って言うのなら、子は親の座標系に展開してしまえば、結果的に表示される内容に変わりはない上に効率的 ( 座標の変換などが省かれる ) になる。
ただ、実行時に子の入れ替えなどが出来なくなる。
と言う事で、親子関係は入れようと思う。
ただ、厳密には親子関係というよりも入れ子というような形にする予定。
親子関係だと、何かスプライトがあって、それに他のスプライトが子の形で追従するというイメージだけど、考えているのは何か塊として動く子を入れられるというもの。
グループ化などで作られる塊のようなイメージ。

ただ、アニメの中にグループとして存在するような形ではなく、アニメの中に他のアニメへの参照を持っているような形にする。
コピーか参照かの違いとも言える。
再生する側からしたら、どちらでもほとんど違いはないので、参照のみにしてしまった方が楽。
ただ、参照だと再帰に気を遣う必要がある。
自己参照や間接的に自分を参照している場合、無限ループに陥るのでそれをチェックしないといけない。
で、少し考え中なのが何段階まで許可するか、もしくはまったく許可しないか。
再帰は、まったく同じ位置に描くと意味がないので、位置を移動させたり、縮小などして再帰する。
そうすると、収束する段階が存在するから、そこで打ち切れるのが理想 ( 同じ位置に描いても、拡大と縮小を繰り返しても収束する(変化がなくなる)段階は存在するはず ) 。
でも、そこまでするのは大変なので、再帰限度を設定しそこで打ち切るようにする形にしようと考えている ( 完全に禁止にするかもしれないけど )。

そもそも、親子関係があるとどうなるかとか書いてなかったけど、まあいいか。
一般的なものということで。

アニメでも表現できるが、コマアニメと複数のスプライトをまとめたものを特別扱いするかどうかも考え中。
単純に時間軸方向に並べたものと、時間固定で並べたものってだけなのだが。
少しだけ効率的に扱えるってだけだけど、特別扱いすることにしよう。



投稿者 Takenori : 2007年09月13日 00:56




comments powered by Disqus
Total : Today : Yesterday : なかのひと