Blender 3D:菜鳥到高手/基礎動畫/彈跳
|
|
適用的 Blender 版本:2.49。 |
本教程假定您具備基本的 Blender 知識,以及一些有關使用 Blender 網格和關鍵幀基礎知識的 Blender 面板。瞭解 IPO 曲線在後面會很有用,因為我們會進一步學習更高階的技術。
在螢幕上放置一個球體並將其動畫設定為上下移動非常容易,但說實話,它看起來不像彈跳球。它不會以任何方式令人信服。
為了可信,球體必須使用一些良好的動畫最基本原理。特別是,球體必須在落下、撞擊地面、反彈和再次升起準備再次落下時 **壓縮** 和 **拉伸** 以及改變 **速度**。只要稍微努力,我們就能讓那個無聊的球體看起來栩栩如生!
可以使用不使用網格物件的簡單彈跳球動畫,但使用網格,我們不僅可以彈跳球體。例如,一旦我們有了我們想要的彈跳球,我們就可以為球體新增旋轉,使其在空中旋轉和彈跳,然後,隨著彈跳減少,球體可以滾動到靜止。如果不使用網格,這將是一個更復雜的練習,因為旋轉的壓縮和拉伸的球體看起來像是它在空間中搖晃(就像讓一個扁平輪胎的扁平部分圍繞輪胎旋轉,而不是始終保持在底部,即使車輪在轉動)。
首先,在 **頂檢視**(NUM7)中新增一個 UV 球體(空格鍵新增>網格>UV 球體)。在頂檢視新增物體很重要,以保持它們的 **Z 軸** 向上對齊。根據需要在球體上設定平滑和細分曲面。按下 Tab 鍵返回 **物體模式**,然後立即新增一個網格(空格鍵新增>網格)。調整大小(S 鍵)以使其緊密包圍球體。使網格的邊緣與球體的圓周對齊,因為這將使動畫更容易。
(預設情況下,網格物體名稱為“網格”。最好為所有物體提供唯一且合理的名稱,尤其是在您計劃建立複雜場景時。因此,您可以將球體命名為“Red_Ball”,將網格命名為“Red_Ball_Latt”或類似名稱,以便以後輕鬆引用和識別。) (菜鳥小貼士:我養成了用全部大寫字母命名一切的習慣。隨著場景變得越來越複雜,我可以輕鬆地跟蹤我已經命名了什麼以及需要命名什麼。)
在 Blender 2.4 之前,物體是透過網格變形選項與網格關聯的。在 2.4+ 版本中,您可以選擇物體(球體)併為其應用網格修改器(Ob: 網格)。但是,如果您使用這種新方法,球體將不會移動到網格移動的位置,並且當網格壓縮時球體也不會壓縮,而我們希望它做到這兩點。
幸運的是,您仍然可以使用舊的 **關聯選項**,然後使用修改器面板使網格變形“真實”。因此,選擇球體,然後按 SHIFT 鍵選擇網格,然後按 **CTRL-P** 鍵進行關聯,並選擇“**網格變形**”選項。如果您現在只選擇球體,按下 **F9** 鍵,檢視修改器面板,您將看到“**網格父級變形**”的列表,以及“**設為真實**”按鈕。您可以忽略此按鈕或按一下它。現在它實際上並不重要。如果我們想要對球體做一些奇怪的事情,比如踢它或以其他複雜的方式變形它,那麼我們必須使用“真實”網格修改器選項。
因此,這可能不是使用網格的最純粹方法,但它是實現我們想要的結果的便捷方法。基本上,它有效並且相當直觀。
|
|
適用的 Blender 版本:2.69。 |
(在後面的版本中,似乎這些都不需要。只要關聯了它,就會出現完整的網格螢幕。)
您可以透過選擇網格並調整大小、移動或旋轉它來輕鬆地檢查網格是否按我們想要的方式工作。**球體應該做網格做的一切。**我並不想讓這成為關於網格的完整課程,因此,如果您不理解以上任何內容,或者您確定您的網格沒有按預期工作,那麼請在繼續之前學習一些關於 網格 的知識。
對於我們的基本動畫,我們將使用僅 23 幀,從球體處於較高位置開始,然後落下、壓縮、反彈,並最終回到起始位置。當在 3D 視窗中回放時,它將迴圈,我們會看到球體在一個地方永遠彈跳。
這部分在“SCR:1 - 動畫”視口配置中更易於完成。透過右鍵單擊調整視口大小箭頭並選擇“拆分割槽域”,然後建立一個頂檢視、側面檢視等,在視口中開啟多個正交檢視也很有用。
轉到 **正面檢視**(Num1)按下 F10 並將您的起始(Sta)幀設定為幀 1,將您的結束幀設定為幀 23。然後確保您處於 **幀 1**(Shift+左箭頭)以開始動畫製作。請注意,我們正在 **對網格進行動畫製作**,而不是對球體進行動畫製作。我們對網格所做的所有操作都會直接影響球體。
注意:對網格的所有修改都必須在“物體”模式下進行。否則,它們會影響所有幀。
選擇網格(**不是**球體),然後在相應的幀上執行以下操作
- **幀 1:**按下 I 鍵併為 LocRotScale 設定一個 **關鍵幀** - 球體的起始位置(較高)。
- **幀 11:**將網格移動到地面級別,並再次為 LocRotScale 設定 **關鍵幀** (現在保持落下的距離很小)。
- **幀 13:**將網格保持在與幀 11 相同的位置,並再次為 LocRotScale 設定 **關鍵幀**。
- **幀 23:**將網格移動回起始位置(如果需要,可以使用 Num(N)面板)並再次為 LocRotScale 設定 **關鍵幀**。
(菜鳥注意- 這可能看起來很明顯,但在插入關鍵幀之前移動網格。)
這四個幀提供了基本的上下動畫,底部有一個暫停。我們可以新增幀 12 上的壓縮以完成。
- **幀 12:**將游標放置在網格的底部,然後將旋轉/縮放樞軸設定為“3D 游標”
沿 Z 軸縮小網格 **S 鍵-Z 鍵**,檢視球體壓縮。再次按下 **I 鍵** 設定 LocRotScale 的關鍵幀。
設定完所有五個關鍵幀後,你可以迴圈播放動畫,你應該可以在我們剛剛設定的關鍵幀上看到以下結果。 
我們五個關鍵幀中,3D 視窗的正面檢視截圖。
現在,如果你在3D 視窗中按下Alt-A,你應該看到球在反彈。即使壓縮只發生在一幀上,我們的大腦仍然能正確地解讀它,並且比沒有壓縮的動畫有了很大的進步。 (按下RMB或ESC停止動畫播放)。
如果你有一個設定好的相機和燈光,你可以渲染動畫並使用Blender的“PLAY”按鈕迴圈播放渲染的動畫。 在頁面底部檢視根據以上步驟製作的 OpenGL 渲染結果。 為球體和地面新增材質,可以獲得更有趣的結果。
如果你想讓球反彈三次,你可以重複以上操作三次——如果你有耐心的話——但Blender有更好的、更簡單的方法。
選擇 Lattice,然後開啟一個 IPO (InterPOlation) 視窗,放大關鍵幀組。如果從右側的通道列表中選擇 LocZ 和 SizeZ,你應該會看到類似於下圖的畫面(我在截圖中添加了標籤)。
注意這裡 IPO 型別為“物件”。純粹主義者可能會對此感到不安或困惑,但請記住,我們並沒有真正地以純粹的 Lattice 修改器形式使用 Lattice。 不用擔心,它能正常工作。

Lattice 的 IPO 曲線,顯示 LocZ 和 SizeZ 通道。
它顯示了 Lattice 在 Z 軸上的相對位置和 Z 軸上的大小。你可以看到,大小在第 11 幀之前保持不變,然後減小,然後恢復並保持不變直到第 23 幀。類似地,LocZ 曲線顯示了球體從高處開始,下降,然後在再次上升之前停止。LocZ 曲線的圓形底部是因為 IPO 曲線映射了 Lattice 的中心點,當我們壓縮它時,中心點會略微降低。
特別值得注意的是,預設情況下,Blender 使用貝塞爾曲線作為 IPO,這使得曲線呈現出圓形的頂部。這意味著球體開始緩慢向下移動,然後加速直到到達底部。同樣,當它接近頂部時,它會再次減速。這很好,因為這正是現實生活中球體上升和下降時發生的情況 (它可以做得更好——但這是一個良好的開端)。
在 IPO 視窗中,選擇兩條曲線,然後按下KKEY,你將會看到每個關鍵幀由一條垂直線指示。(注意: 如果你記不住這個快捷鍵,也可以按下檢視->顯示關鍵幀——過去這對我很有幫助)。

按下AKEY選擇所有關鍵幀,然後複製 (Shift-D) 它們。曲線看起來會變形,但當你將幀向右拖動時,它們會自動排列。將它們放置在“第一”幀在第 24 幀處,而新結束幀現在在第 46 幀處。重置場景 (F10) 視窗中的結束幀,然後再次觀看動畫。效果還不錯。你可以重複這個過程來實現更多的反彈。(要讓它在一個長動畫中永遠反彈,請忽略上述步驟,只需在曲線選單中將“擴充套件模式”設定為“迴圈”。你可能需要稍微調整一下第一幀和最後一幀的曲線,但你只需要做一次,Blender 會將更改應用到所有其他迴圈)。
|
|
適用的 Blender 版本:2.69。 |
新手提示: 不用 IPO 視窗,轉到圖形編輯器。我無法找到任何在每個關鍵幀上顯示黃色線的方法,如上圖所示,但使用 A 在每個關鍵幀上放置貝塞爾控制點。我需要進行實驗才能弄清楚如何使用它們。 SHIFT D 與上面相同。
對於一個開端來說還不錯,但要讓這個球體達到申請動畫工作的標準,還有很多事情要做。
注意: 在更新版本的 Blender 中,你可以進入圖形編輯器,使用 AKEY 選擇所有圖形,然後選擇通道-外推模式-設定為迴圈。這將外推現有圖形以覆蓋所有幀。
你如何在 Blender 中指定儲存動畫幀的位置?答案就在渲染設定 (F10) 中的“輸出”迷你視窗中。 在視窗頂部附近有兩個可編輯的文字欄位,第一個在我的 Linux 系統上最初設定為“/tmp/”,第二個設定為“//backbuf”。第一個是輸出路徑名或目錄字首,用於在按下“ANIM”按鈕時將生成的幀儲存為 JPEG 檔案。如果它不包含“#”字元,則它用作目錄字首;因此,預設情況下將動畫幀儲存為/tmp/0001.jpg, /tmp/0002.jpg等等。另外,如果你在檔名規範中輸入了包含“#”字元的字元,那麼這些井號將被替換為幀號。因此,如果我將欄位設定為“/home/ldo/Documents/BlenderTuts/ball####.jpeg”,則幀將被儲存到該/home/ldo/Documents/BlenderTuts目錄,並命名為ball0001.jpeg, ball0002.jpeg等等。
在現實生活中和典型的卡通片中,球體不會一直在一個地方無限反彈。它們會移動並逐漸失去反彈力,然後滾動到停止。而且它們比我們正在製作的彈跳球更有特點。
接下來需要考慮的事項
- 完善壓縮——保持體積
- 新增拉伸
- 觀察加速和減速
- 讓球體在反彈時旋轉
- 隨著時間的推移降低反彈高度
- 讓球體在反彈時四處移動
檢視此動畫連結 (580kb, AVI-DivX) 以瞭解如何透過多花一點力氣就能獲得有趣的結果。 but its k? k
彈跳球動畫原理: http://www.idleworm.com/how/anm/01b/bball.shtml
Blender 2.49B 彈跳球動畫: http://www.youtube.com/watch?v=BEY_6dFdUJY
Blender 2.49B 向量模糊動畫,為動畫新增真實感: http://www.youtube.com/watch?v=qY4WcNgEXv8



