Mac Clinic Tips:
アニメーションGIFを作る
How to make animation GIF


ver.2.3:1998年1月18日(GifBuilder0.5に合わせて一部修正)
ver.2.2:1996年9月17日(GifBulder日本語化パッチ追加)
ver.2.1:1996年9月16日(JavaScriptとのコンフリクト追加)
ver.2.0:1996年9月15日(GifBulderの使い方加筆)
ver1.0:1996年9月14日


最近、画像が動くホームページが増えてきましたね。
ホームページで画像を動かす方法としては、Shockwave、Java、アニメーションGIF等がありますが、最近のホームページで一番よく使われているのはアニメーションGIF(ジフ)です。

ShockwaveやJavaのアニメーションを作るには専用とソフトとかなりの経験が必要で、それを見るにはやはりそれに対応したNetscapeやプラグインが必要です。
ゲームのようなものや長時間のアニメーションはこれらで作らなければなりませんが、ホームページの一部の表示を動かすだけであれば、アニメーションGIFを使うのが簡単です。

アニメーションGIFはGIF89aというファイル形式をサポートしているソフトならば何でも見ることが出来ます。これを動かすための特別のソフトは必要ありません。GIFConverterでもJPEGViewでもGraphicConverterでもそのまま開けばアニメーションが見れますし、Netscapeを始めほとんどのブラウザーでそのまま表示することが出来ます。但しブラウザーによってGIFファイルのコンバーターが異なるため、見え方は少し異なります。

サイズ的にもGIFファイルは小さいので表示するにも時間がかかりませんし、Netscapeの使用メモリサイズを大きくする必要もありません。要するに、どんなに頑張ってShockwaveやJavaアニメーションのホームページを作っても見てもらえる人は限られているのに対し、アニメーションGIFであれば世界中のほとんどの人にアニメーションを見てもらえるわけです。


アニメーションGIFの作り方

アニメーションGIFの作り方はいたって簡単です。
道具として必要なのは次のものです。

1)お絵書きソフト
手持ちのものなら何でも構いません。
フォトショップ、カラーイット、ペイントイット、ペインター、アートスクールダブラー、スーパーペイントといったペイントソフトが作りやすいでしょうが、クラリスワークスのペイント機能でも十分です。またHyperCardでも作ることが出来ます。
カラーはいずれにしても256色までサポートしていれば十分です。

自分で絵を描く場合はマウスなりタブレットが必要ですが、余り絵心のない人はクリップアート集からイラストや写真をコピーしてそれをアニメーションにすることも出来ます。
セーブするファイル形式はTIFF、PICT、GIFのいずれかにします。これに対応していないソフトの場合は、GraphicConverter(シェアウェア)で変換する必要があります。

2)アニメーションGIF作成ソフト
複数のイメージファイルをひとつのGIFファイルにまとめるためのソフトです。この中で、ファイルの順序を変更したり、各ページをめくるスピードを設定します。
Macで動くソフトはいくつかありますが、スイスのYves Piguet氏が作成したフリーウェアのGifBuilderがよいでしょう。他にもいくつかGIFアニメ作成のソフトはありますが、このGifBuilderが機能も十分で、非常に使いやすくまとめられています。最新のバージョンは0.5でここ2年ほどアップデートされていませんが、機能的にはこれ以上のものは必要ないでしょう。
System7以上で動きますが、ドラッグ機能を使うためにはSystem7.5以上が必要です。当然のことながら32ビットColor QuickDrawが必要です。
同氏のホームページやInfoーMacからダウンロードできるほか、Mac Fan Internetなど主要なインターネット雑誌の付録CDに入っています。
英語のメニューで操作は特別難しくありませんが、やはり英語ではというユーザーのために原作者の許可を得て、日本語版のパッチを作成しましたので、ご使用ください。当クリニックの「薬局」にありますが、ここから直接ダウンロードすることも出来ます。

アニメーションフレームを作る

次の例はペイントソフト(ここではColor It!)での作成を示します。

(例1)色が変わるするボール
絵心のない人でも簡単にできるアニメーションからやってみましょう。色が変化するだけの簡単なものです。
・ペイントソフトでまず円を書きます。
・はさみ、または長方形カッターで適当な大きさにカットします。これを(GIF形式でない場合はそのファイルフォーマットをつける)としてセーブします。
・この「ball.gif」にまず赤を塗ります。これを「ball-1.gif」という名前で新規保存します。
・また「ball.gif」を開き、紫を塗ります。これを「ball-2.gif」としてセーブします。
・これを繰り返し、青、緑、黄、橙「ball-3.gif」〜「ball-7.gif」を作ります。



・それをGifBulderで統合すると右のようにボールが点滅します。




(例2)回転するビーチボール
・次はちょっと動きがあるものです。
・同じようにペイントソフトで適当なサイズの台紙を作り、そこへ円を書きます。楕円と直線で4分割します。
・これに4色を塗ります。これを「beachball-1.gif」という名前で新規保存します。
・ばけつツールで「beachball-1.gif」の色を一つづつずらしながら上書きしていきます。その度に新規保存を行い、「beachball-2.gif」「beachball-3.gif」「beachball-4.gif」を作ります。



・出来上がりは右のようにボールが回転して見えます。




(例3)スクロールするメッセージ
・スクロールするメッセージはTelTextやJavaScripで書かくのが本格的ですが、アニメーションGIFでも疑似的なものを作ることが出来ます。
・まず表示窓の大きさを決めます。
・次に表示する文章を書きます。フォントはPOP等を使うと面白くなります。一部に絵を入れてもよいでしょう。
・この文章を少しづつずらしてコピーしていきます。



・これを上から表示窓の幅でカットしていきます。それぞれに「message-1.gif」から「message-10.gif」までの名称を付けてセーブします。
・ほら電光掲示板になるでしょう!


・以前MacClinicの表紙にも登場した救急車もまったく同じ要領で同じ救急車の絵をずらしながらフレームを作っていっているだけです。


(例4)動く写真
・ともかく面倒が嫌いな人は、ただ単に数枚の写真や既存のイラストをめくるだけというのも出来ます。
・ここでは数枚のスナップ写真を集めて動画風にしてみます。
・写真画像を用意し、PhotoshopやColor It!等のフォトレタッチソフトを使い、サイズを調整し、さらに同じ大きさにカットします(定規を使います)。それぞれに「photo1.gif」「photo2.gif」...のファイルとします。GIF形式でセーブすることが要です。
・これをGifBuilderでまとめて表示すると、数枚の写真が連続して表示されます。この例では5枚の写真を使っていますが、同じ人のためちょっとビデオのように見えますね。

(c)Kristy

・全く違う写真を数枚ギャラリーのように見せてもよいのです。その場合は、一枚毎のスピードをもっとゆっくりした方がよいでしょう。

(例5)本格的なアニメーション
・絵心のある人はもっと本格的なアニメーションに挑戦してみましょう。ここでは、「ジャンプする人」を作ってみましょう。
・ペイントソフトでまず適当な大きなの用紙を作り、マウスかタッチペンで絵を書きます。枚数が大きいほど細かで複雑な動きが出来ますが、ホームページでちょっと人の目を引く程度であれば3、4枚でも結構効果があります。あまり細かなところを気にせずに大胆にいきましょう。ここでは4つのコマをつくりました。それを個別のGIFファイルとしてセーブします。

#1#2#3#4


・れをGifBuilderでまとめるときに、2枚目と3枚目をコピーして逆向きに5枚目と6枚目にします。それぞれの表示速度を少し変えて表示するとジャンプする人になります。

個々で作ったイメージファイルはそれぞれフォルダーを作って入れておけば、次の作業が容易になります。


GifBuilderの使い方


GifBuilder0.5は次のような特長があります。

それでは早速まずGifBuilderを起動しましょう。
ここではパッチ化された日本語メニューで説明します。

[使用手順]
1)GifBuilderにフレームを読み込む
GBを立ち上げる。このとき前回のアニメーションがフレームウィンドーに残っていないことを確かめる。ある場合は「新規」を選ぶ。フレームが入ったフォルダーからフレームのアイコンをフレームウィンドーにドラッグする。ファイルメニューの「フレームの追加」でやってもよい。

全部入れたことを確かめ、順序の整理をする。順序はフレームをドラッグする。不要なフレームは編集メニューのクリアを選択するか、デリートキーで消すことが出来る。「編集」メニューから全部を一度に番号順にソートしたり逆順にすることもできる。

2)オプションの設定
ここではグラフィック(ピクセル深度、カラーパレット、ディザー)、GIF(サイズ、インターレース、透明)、アニメーション(速度、排棄方法、位置、ループ)のパラメータが設定できる。
フレームをドラッグした場合、自動的に初期値が設定される。初期値は変更することが出来、オプションメニューの「オプションを保存」で保存できる。
フレームウィンドーに表示されるパラメータは全てそこを ダブルクリックすることで設定できる。

3)アニメーションのチェック
「アニメーション」メニューで「開始」を選択するとアニメーションが表示される。「連続」を選ぶと初めに選んだフレームから開始される。コマ送りはコマンド-Tでもよいが、矢印の上下キーでも動かすことが出来る。

4)アニメーションの作成
ファイルメニューから「別名で保存」を選ぶ。これでGifBuilderは自動的にフレームを結合し、マルチ画像を一枚のファイルであるGIF89a形式にコンバートする。

5)HTMLページにイメージタグとして加える
編集メニューから「HTMLイメージタグをコピーする」を選び、あなたのHTMLページにペーストする。
この部分は別にGifBuilderを使わないで、普通にHTMLでGIFファイルを設定するほうが簡単だ。必要なのはGifBuilderで作ったアニメーションGIF一つだけで、オリジナルのイメージファイルは捨ててしまっても構わない(後の修正のためにどこか別のところに保管しておいたほうが安全だろう)。

オプションについて

それでは、「オプション」メニューが分かりにくいので、詳しく説明しましょう。

インターレース(Interlace)
インターレースGIFファイル(ホームページで荒い画像から順に細かくなる描写法)に変更する。これはアニメーションGIFでは普通は使わない。

カラー
GIFファイルは256色以下しか扱うことが出来ないが、256色以下の色はそれぞれにインデックス(番号)がつけられ、その色はカラーパレットに保存される。このカラーパレットを選択するのがこのオプションだ。MacとWinodwsでは扱う色が若干異なっており、共通の色は216色しかない。そのため、Netscape Navigatorではこの216色を表示するパレットを持っている。これを6x6x6パレットという。通常GIFアニメを作る場合は、このカラーパレットを選ぶのがよい。

深度
正確にはピクセル深度という。画像は小さな点(画素とかピクセルという)の集まりで表示されるが、この一つのピクセルにどれだけのメモリをもたせるかをピクセル深度という。これが表示できる色の数を決める。通常フルカラーというのは深度24ビットで、RGB(赤緑青)それぞれが8ビットづつ、すなわち1600万色をいう。GIFファイルは256色以下と決められているので、最大が8ビットである。1ビットは2色、2ビットは4色である。白黒イメージの場合は1bit/pixelシステムテーブルかグレースケールテーブルを使う。深度は小さいほどファイルサイズが小さくなる。GIFファイルは複数のフレームを使うために、勢いファイルサイズが大きくなりがちだ。できる限り、色数を押さえたものを作るのがGIFアニメ制作のポイントだ。

ディザリング
GIFアニメの材料として写真を使うことも出来るが、フルカラーのものは256色以下に減色しなければならない。これを単純に色数を減らすと、縞模様やぶつぶつの色が出て非常に汚くなる。ディザというのは、減色するばあいに隣り合った色でなるべく近い色をシミュレートする方法である。ディザをかけたほうがきれいに行く場合と、反対に画質が悪くなる場合があるので、ためしてみるのがよい。

イメージサイズ
個々のフレームのサイズが異なる場合、ここで調整する。「最小のサイズ」が選択されている場合は角フレームの右下コーナーがアニメーションの右下コーナーになるように計算される。フレームは常にアニメーションの境界に入るよう調整される。

バックグラウンド色
バックグラウンドカラーはアニメーションウィンドーでフレームが表示されない部分の色である。これは透明か、表示するホームページのバックグランドカラーに合わせるのがよい。

ループ
このオプションではアニメーションの繰り返し回数を設定できる。ブラウザーによってはこのオプションを認識しないものもあるし、また1回以上であれば無限と認識するものもある。

透明化設定
透明というが、特定の色が透明になるのではなく、指定された色をもつピクセルが変化しない状態にする。色を「白」「始めのピクセル」「その他の色」から選び設定する。
ここの設定は分かりにくいので、自分で何回か見え方を試してみるしかない。

フレームの位置
それぞれのフレームは自由に位置を設定できる。アニメーションの左上隅を0、0として水平、垂直位置をピクセル単位で設定する。

フレーム速度設定
個々のフレームが次のフレームに描き変えられるまでの時間を100分の1秒単位で設定する。個々のフレームの速度を変えると同じフレームを使ったものでも異なるアニメーション効果を作ることが出来る。>始まりや終わりでポーズを取る場合は200とか300とかの数値に設定する。
但し、オンラインでは速度がもっと遅くなったり、反対に速くなったり、又一部の速度が変化したりすることがあるので、ある程度試行錯誤で設定するしかない。

フレーム排棄方法
このオプションの中で一番分かりにくい概念だが、それぞれのフレームが次のフレームに描き変えられるとき前のフレームをどうするかを設定する。
バックグラウンドが透明でなくかつ全部のフレームのサイズがアニメーションのサイズである表場合は「特定しない」を選ぶ。
前のフレームに一部だけを描き加えるために小さなフレームを用意した場合は、前のフレームは残さないといけないので「排棄しない」を選ぶ。
透明なバックグラウンドを物体を移動させるようなアニメーションの場合は、「バックグラウンドに戻す」。ただしこれをサポートしていないブラウザーがあるので注意。
初めに大きなフレームを描き、それをバックグランドとし小さな物体を移動させるようなアニメーションの場合は「前のフレームに戻す」を選択する。
ここも分かりにくく、普通は同じ大きさのイメージで作るので、ここの設定は特定しないを選んでおけばよい。
透明バックグラウンドの設定との組み合わせでいろいろな効果を出すことが出来る。

透明化なし/廃棄=特定しない透明化=白/廃棄=残像を残す

その他のメニューで分かりにくいところの説明をします。

フレームの最適化
これはフレームの画像の中で変化した部分だけを抽出して小さなフレームに描き変える。ファイルのサイズを小さくするのに非常に有効だが、排棄方法で「背景に残像を残さない」を選んでいるフレームがおかしくなることがあるので注意。

ファイルメニューの「変換」
QuickTimeムービーを直接アニメーションGIFに変換する。この方がメモリを節約できる。

編集メニューの「消去」
フレームウィンドーで特定のフレームを消去する場合、シフトキーを押しながら編集メニューを選択すると「消去」が「特殊消去」に変わっており、これを選ぶと消去したフレームの時間が合計して前のフレームに追加される。これはコマ落としをする場合には便利な機能。

●WWWサーバーにアップロードするときの注意
オフラインでNetscapeを立ち上げ、アニメーションGIFの見え方を確認してください。必要に応じ、オリジナルイメージやGifBuilderの設定を変更してください。
これでWWWサーバにアップロードするわけですが、転送中にファイルが壊れることがあります。Fetchの場合はデータ形式を必ず「Raw Data」にすることを忘れないようにしてください。それでもファイルがおかしくなることがあります。

●ブラザーでの見え方に関して
全てのブラウザーがアニメーションGIFの全ての機能をサポートしているわけではありません。Netscape2.0x以降のものであれば、基本的に全てのオプション設定が表示されます。しかし現実にはNetscape2.0xでの表示には問題があり、上の写真のループが止ったりする現象があります。Netscape3.0では問題ないようです。
しかし、現実にはブラウザーの上で見ると、オフラインで見たのとは違ってきます。速度も遅くなったり、フレーム毎の速度も設定が変わってしまったかも知れません。取りあえずは仕方ないと考えるしかないでしょう。
・現在のブラウザーではバックグランドでアニメーションGIFを置くことは出来ません。
・Netscapeで透明なアニメーションがきちんと表示されないことがあります。この場合は、全部のフレームの排棄方法を「バックグランドに戻す」にし、そこで使ったバックグランドをGIFファイルにしてホームページのバックグランドにしてみて下さい。

それではアニメーションGIFでユニークなホームページ作りに挑戦してみてください。


アニメーションGIFの問題点

JavaScripとのコンフリクト
私のホームページの初期画面に初めは救急車のアニメーションを入れていました。その後、現在の時刻を表示するJavaScriptを加えました。私はNetscape3.0で作業をしていたので、どちらもうまく機能していました。しかし、ある日、Netscape2.0.2で見てみるとJavaScript以下の本文が表示されないことに気づきました。色々と実験をしてみた結果次のことが分かりました。

従って、Netscape3.0が十分に普及していない現在、アニメーションGIFと時刻表時のJavaScriptは同一ページには入れないことが肝要です。このような新しい技術に全てのブラウザーが対応しているわけではなく、エラーを引き起こす場合もあるため、一般化するまでは多用は慎むべきかも知れません。(96.9.16.追加)


(c)Harry Ono 1996-1998 無断転載を禁ず

GifBuilder (c)95-98 Yves Piguet