2014/11/19(水) [n年前の日記]
#1 [cg_tools][dxruby][spriter] Spriterの保存ファイルを眺めていたり
DXRubyで表示できないものかなと。
とりあえず分かった点は…。
例えば Flash の swfファイルはフレーム単位でデータが記録されてるわけだけど、Spriter は時間しか記録されてない。Adobe や Google が以前発表した、HTML5アニメーション制作ツールと同じ。
フレーム単位で管理してる場合、指定したキーフレームの見た目が必ず表示されるというメリットはあるけれど、再生環境のスペックが低くて、再生フレームレートが低い値になった際、動きの速度が遅くなる・スローモーションのように見えてしまうという問題があって。昔のゲームで言うところの処理落ち状態というか。
時間で管理してる場合、再生フレームレートが低かったとしても、動きの速度は維持される。その代り、指定したキーフレームの見た目が必ず表示されるという保証はない。
フレーム単位で管理するのは、映像制作ツール。時間単位で管理するのは、コンピュータ上でアニメを生成することを念頭に置いたデータを作成するツール、と考えてもいいような気がする。
あるいは、昔のアーケードゲーム文化と、PC文化の違いというか。アーケードゲーム文化は、固定フレームレートを得られるハードウェアを設計してたわけだけど。PCは表示能力が低かったから可変フレームレートで考えて作るしかなかったわけで。
もっとも、ゲーム画面がほとんど3DCGに移行して、描画にしろ内部計算にしろ負荷が大きくなった現在では、可変フレームレートで考えるのが主流のはずだけど。ということで、Spriter が時間単位で管理してるあたりは実に今風のツールだなと思えたり。
とりあえず分かった点は…。
- Spriter の保存ファイルはxml。テキストエディタで開いて内容を確認できる。
- フレーム単位ではなくて、時間単位(ミリ秒単位)で記録されてる。
- folderタグの中に使用する画像が列挙されてる。
- Flash の swfファイルのように、全フレームの情報が記録されてるわけではない。キーフレーム情報だけが記録されてる。
例えば Flash の swfファイルはフレーム単位でデータが記録されてるわけだけど、Spriter は時間しか記録されてない。Adobe や Google が以前発表した、HTML5アニメーション制作ツールと同じ。
フレーム単位で管理してる場合、指定したキーフレームの見た目が必ず表示されるというメリットはあるけれど、再生環境のスペックが低くて、再生フレームレートが低い値になった際、動きの速度が遅くなる・スローモーションのように見えてしまうという問題があって。昔のゲームで言うところの処理落ち状態というか。
時間で管理してる場合、再生フレームレートが低かったとしても、動きの速度は維持される。その代り、指定したキーフレームの見た目が必ず表示されるという保証はない。
フレーム単位で管理するのは、映像制作ツール。時間単位で管理するのは、コンピュータ上でアニメを生成することを念頭に置いたデータを作成するツール、と考えてもいいような気がする。
あるいは、昔のアーケードゲーム文化と、PC文化の違いというか。アーケードゲーム文化は、固定フレームレートを得られるハードウェアを設計してたわけだけど。PCは表示能力が低かったから可変フレームレートで考えて作るしかなかったわけで。
もっとも、ゲーム画面がほとんど3DCGに移行して、描画にしろ内部計算にしろ負荷が大きくなった現在では、可変フレームレートで考えるのが主流のはずだけど。ということで、Spriter が時間単位で管理してるあたりは実に今風のツールだなと思えたり。
[ ツッコむ ]
以上です。