2017年6月29日木曜日

GIMP GIF アニメ の combine と replace

GIMP の GIF アニメ 最適化 って 何だろ? と思った事はありますか?。
combine と replace と2種類があるのですが、 ご存知でしたか?。
一旦出来上がった GIF アニメ ファイルを部分修正しようとすると、
この辺りの事が重要なのに気付きます。


  ...
  フレーム 4 (100ms) (combine)
  フレーム 3 (100ms) (combine)
  フレーム 2 (100ms) (combine)
  背景 (100ms)

これが GIMP の作り出す標準的な GIF アニメ のコマ(レイヤー)構成ですね。
combine
文字通り、 結合 で画面表示します。
コマの変遷を、2コマ間の差分として抽出して、透明背景の最小レイヤーサイズで重ねて行く訳です。

ある物体が動いて行く場合には、 前の物体を背景部分で消し、新に物体を描き加える です。
そして、勘違いし易いのは、
コマが進むに従って、下の透明背景レイヤーは、どんどんと、積み重なっていきます。
それは、振り出し に戻る迄、続くのです。
結合 は 複数のコマの 集積 でもあるのです。


  ...
  フレーム 4 (100ms) (replace)
  フレーム 3 (100ms) (replace)
  フレーム 2 (100ms) (replace)
  背景 (100ms)

replace と言うのも あります。
置き換え、 置換、 です。
ある物体が動いて行く場合には、 物体は 各々の位置に描画される だけ です。
この場合、透明背景等は いけません! ね。
それは、前のコマへの透過ではなく、 全置換 である点に注意しましょう。
どうも、 レイヤーを重ねるイメージが強い GIMP では 勘違い を起こし易いです。
共通の背景があるなら、それは全てのコマに描画されていないといけません。

仮に、レイヤー名称の変更のみで (combine) を (replace) に書き換えると、
とんでもない! ものが出来上がります。
似ても似つかない 全くの 別物!。
おまけに むちゃくちゃ。


実は、 GIMP では、
この両者 combine と repplace とは、
相互に行ったり来たりが可能になっています。

combine > replace は  フィルター(R) > アニメーション(I) > 最適化の解除(U) 。.

replace > combine は  フィルター(R) > アニメーション(I) > GIF 用最適化(G) 。.

です。

出来上がった GIF ファイル を 部分的に少し訂正したい 等と言った時に 覚えて置くと重宝する 基本 です。
両者を切り替えながら、作業する訳です。

   但し、 途中経過を別途 xcf ファイル等で残している場合は、それから 弄って下さいね。
   でないと、 後から、どれがどれだか分からなくなっちゃいますから。.

   基本とは言え、 そう頻繁に GIF アニメ を作っている訳ではないので、 直ぐに忘れてしまいます。  コマッタモンダ。.

combine のまま、 内容を変えるのは とてもとても 難しい です。


combine の ひとつのレイヤーだけを取り出して、元の姿を想像するのは 至難の業 だから。
おまけに 単独では意味をなさずに 前のコマ群 が無いと正確な判断が出来ません。
積み重ねが重要な意味を持っているからですね。
  上の図で言えば、 combine の単独レイヤーはそれ以前の combine レイヤーを重ねて見ないと正確にならない!。
  1コマ目の推移は 図の如く、ですが、 2コマ目以降は1コマ目からの累積になるのはお分かり戴けますよね。
  消して加える の繰り返しになるからです。
  更に、其処に何か描き加えたら、 次以降でも、ずっと表示されるし、
  次以降で また同じ場所に何か変遷が与えられる かも、 それも、部分的に (位置ずれで) だったり ... 。
  ですから、 combine のままでの訂正は 至難の業 です。  無理! です。.
それに比べて、
replace は 表示される画面推移そのもの なので、 直観的で分かり易い ですね。



只、いくら 直観的である からと言って、
replace のまま、GIF ファイルを生成するのは止めましょう。
馬鹿でかい ファイル が ご登場 になりますから。

一例。
画像サイズ 640 x 400 フレーム数 24 画面の極一部でシンプルな物体が移動するだけのアニメで、
combine は  69 KB 、
replace は  524 KB 。
アニメーションの内容は全く同じなのですが ... 。
こんなにもファイルのサイズに違いが生じてしまいます。

全コマに渡って全画面で細々と変化がある様な場合には、これ程の差異は生じませんが ... 。



やはり、 GIF アニメの基本は combine ですね。



2 件のコメント:

  1. こんにちは。初めまして。
    サイコロを転がって止まるアニメーションを作ってみようと思い、いろいろ試したのですが。replaceに変更して再生をかけると…変な線が何度やっても出て困っていました。ネット検索で調べて要約たどり着いたのが、こちらで紹介されている最適化の解除の事でした。本当にありがとうございました。

    Gimpの事がたくさん紹介されているブログなんだなぁっと知って、時間をみて記事を読んでいこうと思いました。

    実は、Gimpを知ったのは数年前なんですが、新しいバージョンが出て、宝の持ち腐れのような感じで、全く使いこなせていなくて、サイコロを作る時もこんな機能があったのかと驚きながら楽しんで作っていました。
    いろんな物を作っていきたいと今後思っています。
    頑張ってください。^^

    返信削除
    返信
    1. jun さま コメントありがとうございます。

      お役に立てた様で、何よりです。  戴いたコメントを嬉しく拝見しました。  感謝!。
      GIF アニメ は素朴ながら結構楽しめますよね。

      そして、GIMP は奥が深くて、未だに知らない機能が沢山あります。
      そして、今は、GIMP3 への過渡期で、それへの前哨戦的なニュアンスも感じています。
      でも、何よりも、画像編集を楽しめる程度の知識さえ身に着ければ、
      こんなに楽しいものは無い!とも思っています。
      GIMP を楽しんで下さい!。

      削除