09/03/20 23:46:37 i5kAzZXi
結局、αチャンネルを持った動画を書き出す方法は分からなかった・・・というかほぼ皆無
楓softwareって所の人が、連番pngをαチャンネル付きの動画にするツールを制作中ってあったけど去年から音沙汰無し
まあ、完成したとしても一般公開されるかどうかも分からないものだけど・・・
で、どれ位負荷があるか、自分でやってみました。
αチャンネル付きのpngファイル(800*600)を120枚、レイヤに読み込んで再生
まず書き出し直後のpngが全部で61MB、png圧縮ツールを使って46.4MB、直接TLG6に変換して43.6MB
そして、
・レイヤを1つだけ使って次々画像を読み込んでいく
・レイヤを3つ用意して、表示・非表示を切り替えながらバックグラウンドで次の画像を読み込んでおく
・レイヤを画像の枚数分だけ作って、最初に全部一気に読み込む
で、画像を順番に表示するスクリプトを組んでやってみたのですが
再生時の速度は「最初に全部読み込む」で、ファイル形式を問わず最速でしたが、画像を読み込む時に2秒くらいかかりました。
(それとメモリ消費が莫大)
一つ目と二つ目は、メモリ消費・再生速度にほぼ差が無く、どちらもある一定のラインからは、画像表示の速度は上がりませんでした。
唯一、画像をBitmapで持つ事で、一つ目・二つ目の方法でも十分な再生速度が得られましたが
画像だけで200MB以上必要になるので、全く実用的とは言えません。
TLG6と5には殆ど差が無かったので、画像形式はTLG6を使用するのが最適解のようです。
読み込みと表示のコストはともかく、他のツールやゲームではどのような形でこういうデータを持っているのでしょうか・・・
まあ800*600なんでサイズのエフェクト自体そう無いとは思いますが、容量的な問題はついて回りそうです。
縦横を半分にして、スクリプト側で2倍に拡大して表示、というようなやり方が必要かもしれません。