まだまだ健在のガラケーのSWFを1バイトでも軽くするには

知らないと損する
ケータイFlash軽量化テク30連発!


まだまだ健在のガラケーのSWFを1バイトでも軽くするには

株式会社サイバーエージェント
渡辺 梓
2011/7/20

Flashオーサリングの設定でできる軽量化


【7】[XMPメタデータを含む]のチェックを外す

 Flashオーサリングでは、CS 4以降を使っている場合、書き出し設定の中にある[XMPメタデータを含む]のチェックを外します。このチェックが入っているだけでファイルサイズが格段に大きくなってしまいます。

図6 [パブリッシュ設定]の[XMPメタデータを含む]を外す

【8】画質はできる限り圧縮

 画質についても高解像度携帯を除けば、60〜80%程度圧縮しても見た目には大差がないので、できる限り圧縮しておきます。

モーショントゥイーンに関する軽量化

- PR -

 Flashのオーサリングで最もファイルサイズが大きくなる要因はモーショントゥイーンです。

【9】シェイプトゥイーンは使わない

 特に、シェイプトゥイーンはファイルサイズも動作も重くなるので使わないようにします。

【10】タイムラインを短く

 短いタイムラインにできるように工夫することで格段に軽量化できます。

 例えば、キャラを連続してジャンプする動きを作る場合、通常はループの最初と最後は同じ位置にオブジェクトを配置しますが、ループの最後を1フレーム削って着地する直前の位置にオブジェクトを配置することで1フレーム節約できます。

図7 ループの最後を1フレーム削って着地する直前の位置にオブジェクトを配置

【11】コマアニメで表現

 2・3フレームで終わる動きはモーショントゥイーンを使わずにコマアニメで表現します。光のキラメキなどはコマアニメで十分表現できます。

【12】インスタンス化する際はグラフィックに

 インスタンス化する際には、中にアニメーションを持つものや、Scriptでインスタンス名を使用するもの以外は、全てグラフィックにします。

【13】短いモーションにはイージングを掛ける

 12fpsで作っているファイルの場合、アニメーションに問題がなければ12フレーム以下のモーションにはイージングをかけることで元のモーションより1〜2%の軽量化ができます(逆に12フレームを超えるモーションにイージングをかけると2〜5%増量します)。

 モーションを多用しなければいけない場合、短いモーションにはイージングを掛けてみましょう。

オブジェクトの構成に関する軽量化

 オブジェクトの構成も軽量化していきます。

【14】アウトラインを“塗り”に変換

 図8のようにアウトラインのあるMovieClipを動かす場合、アウトラインを「塗り」に変換します。

図8 アウトラインを塗りに変換

 ラインのままモーションを付けると、ラインの中心線、ラインの外枠の2つのアンカーポイントの位置計算が行われるため倍の描画処理が掛かってしまうためです。

 ただし、背景が動かない場所にあるラインは無理に塗りに変換する必要はありません。

【15】塗りのアルファ値を設定

 アルファを使用しているオブジェクトで、アルファ値を動的に変えないものはオブジェクトのアルファ値ではなく、中の塗りのアルファ値を設定することで描画が速くなります。

 逆にアルファ値を変動させる場合は0〜100%で変動させずに20〜80%位のアルファ値を設定することで格段に描画が速くなります。0%でも20%でも見た目にさほどの差はありません。

【16】グループ化の解除と分解

 Illustratorなどからイラストデータを持ってくる場合、SWFに書き出してもコピペで持ってきてもグループ化されていたり描画オブジェクトに変換されています。このグループや描画オブジェクトが、モーショントゥイーンの次にファイルサイズを重くします。

 まずは、グループ化を解除します。さらに描画オブジェクトは、グラフィックと同じように着色などができる分、グループよりもさらに容量を持っているので、分解してビットマップにして、さらにファイルサイズを軽くします。

 描画オブジェクトを分解する際は「重なったオブジェクト」を一気に分解しないように気を付けてください。重なった部分の下にあるビットマップが切り抜かれて余分なアンカーポイントが増えてしまいます。

 このような場合は、別レイヤに分けてから分解すると、アンカーポイントを増やさずに済みます。

図9 別レイヤに分けてから分解

2/3

 INDEX
まだまだ健在のガラケーのSWFを1バイトでも軽くするには 
知らないと損するケータイFlash軽量化テク30連発!
  Page1
まだまだ使われているFlash Liteをストレスフリーに
デザインから始める軽量化
Page2
Flashオーサリングの設定でできる軽量化
モーショントゥイーンに関する軽量化
オブジェクトの構成に関する軽量化
  Page3
実行メモリ300Kbytes以内を目指す軽量化
Transformを使ったSWF合成により可能になる軽量化
チームワークと小さな積み重ねで大幅な軽量化へ


 Smart&Social フォーラム トップページへ



Smart & Social フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Smart & Social 記事ランキング

本日 月間