達文西密碼與 GIMP:蘭登教授的簡報

電影「達文西密碼(The Da Vinci Code)」的開頭,羅浮宮館長遭到謀殺。法舍(Fache)探長拜訪正在巴黎舉辦新書發表會的藍登(Langdon)教授告知此事,並請求協助。解開達文西密碼的一連串故事,自此展開。

在法舍出現之前,藍登在新書發表會的簡報上,用了個很有趣的簡報技巧。先將某個符號自脈絡中抽離出來呈現,再放回脈絡中呈現。其中一幕他投影出三叉戟(trident),問聽眾那代表什麼意義。聽眾的反應是「惡魔」、「邪惡」與「撒旦」等。然後銀幕上逐漸出現海神(Poseidon)手中握著三叉戟,那是三叉戟的原始脈絡(context)。

我過去偶而也使用此技巧,不過通常只用兩張靜態影像切換。看了電影中的動畫簡報,一時興起,想自己動手做做看。以下 GIF 動畫檔是實做的產品,主題還是三叉戟,但脈絡改為 BSD 精靈(BSD Daemon)(點圖放大,480×260 GIF,1.2 MB)。另外還做了幾種不同檔案格式的版本:AVI(需 DivX codec)、MPGFlash

若在簡報中使用,不需要循環播放。播放前,先呈現第一個畫格(frame)的獨立影像,按鍵後再播放動畫,就有電影中的效果了。

我使用的軟體是 GIMP 動畫套件 GAP(GIMP Animation Package)。GIMP 是一套開放原始碼影像編輯軟體,本身不具備處理動畫的能力。GAP 讓偶有製作動畫需求的 GIMP 使用者,使用同一套軟體來產生動畫。GAP 的功能或許不如專業動畫軟體,但足以應付一般網頁或簡報特效的需求。

以下是邊學邊做的記錄,並非完整教學。關於 GIMP 的使用,可以參閱 GIMP 使用手冊維基百科上的 GIMP 文件英文)。關於 GAP 的使用,可以閱讀 “AnimatedGif – Wilber’s Wiki” 及 “GAP Tutorial (Flash)” 兩篇文章。

1. 來源檔與動畫檔

來源檔是用以製作動畫的來源影像。BSD 精靈圖是從 Mats Peterson 的網站下載的。

動畫檔是一個白底的影像,我將大小設為 480×260。若要使用於簡報中,需要再大一些。以 daemon_000001.xcf 的檔名儲存後,選 Video → Duplicate Frames,複製約 47 個畫格。

第一個檔案的檔名結尾數字是必要的,GAP 會根據它產生每一個畫格,例如 daemon_000001.xcf 到 daemon_000048.xcf。GAP 產生很多檔案,所以動畫相關的檔案最好放在獨立的目錄。

2. Move Path

在動畫檔視窗的主選單,選 Video → Move Path。在 Move Path 的使用者介面,從 Source Image/Layer 選擇來源檔,並將 Stepmode 設為 None。然後,調整來源影像的位置與放大比例,設定兩個控制點。

第一個控制點是動畫的起點:

第二個控制點是動畫的終點:

按 Anim Preview 預覽。預覽結果無誤,按「確定」產生動畫。此時,動畫檔的下方會顯示 “Copying layers into frames…”。這需要一些時間,請耐心等候。

3. VCR Navigator

在動畫檔視窗的主選單,選 Video → VCR Navigator,檢查畫格的分佈。在這個例子中,從第一個控制點到第二個控制點大約經過 24 個畫格,所以 48 個畫格中最後 24 個畫面都是一樣的。我把最後 12 個畫格刪掉,再把第一個畫格複製 12 次,這樣以每秒 24 畫格播放時,會有前後各停頓 0.5 秒的效果。

4. 存成 GIF 檔

在動畫檔視窗的主選單,選 Video → Frames to Image。按「確定」,會產生一個影像檔,每一個圖層就是一個畫格。儲存時,選擇存成 GIF 檔,並選擇存成動畫(預設值是合併圖層),每個圖層就會成為 GIF 動畫檔中的一個畫格。你也可以選擇循環播放,或是只播放一次。

儲存之前,記得先把生成影像的色彩模式從 RGB 轉換為索引色。選擇「擬色」可以讓轉換後的顏色不致和原圖差太多,但會花相當長的時間計算,請耐心等候。

5. 存成電影檔

在動畫檔視窗的主選單,選 Video → Encode → Master Encoder。

你可以指定 Framerate,例如我就設定每秒 24 個畫格。Encoder 選 FFMPEG,然後按 Parameters,會出現 FFMPEG Video Encode Parameters 視窗。

在 Fileformat 選擇想要的格式,例如 AVI 或 MPEG1 video。按「確定」回 Master Encoder,再按「確定」即可產生電影檔。

6. 轉換成 Flash 檔

你可以用你喜歡的工具,將 GIF 檔或 AVI 檔轉換為 Flash 檔。我用的是開放原始碼的命令列 SWF 工具集(swftools)中的 gif2swfavi2swf

延伸閱讀:GIMP 的前景擷取功能Portable GIMP簡報軟體與個人品味