【譯】闖入遊戲開發 #5:動畫
凌嵐對免費書籍 Breaking into Gamedev(闖入遊戲開發)進行了授權中文翻譯,並將譯文轉交給 indienova 代為釋出,分享給希望接觸遊戲開發卻無從入手的愛好者們進行學習交流。indienova 會將譯文分節成多篇文章更新,對整書感興趣的朋友可以直接到下方的連結下載整書。同時,任何排版問題、翻譯錯誤等意見建議,歡迎直接評論留言。
這本指南的作者 Steven Harmon 是一名至今(2020 年)有著八年開發經驗的 USC 遊戲設計本科在讀學生,可以在 Steam 找到他開發的兩款免費遊戲:Awkward Dimensions Redux和 Griptape Backbone。
書籍名稱:Breaking into Gamedev(闖入遊戲開發)
作者:Steven Harmon
譯者:凌嵐
Steven Harmon 個人網站
《闖入遊戲開發》indienova 文章專欄
整書下載
《闖入遊戲開發(Breaking into Gamedev)》中文譯版 PDF
《闖入遊戲開發(Breaking into Gamedev)》英文原版 PDF
*中文版有部分視訊連結失效,建議中英都下載
#5.1:工具
大多數 3D 建模軟體,如 Maya 和 Blender,已經內建了動畫功能,但這裡有一些更小眾的動畫軟體和硬體。
Motion Builder
https://www.autodesk.com/products/motionbuilder/overview
價格:
學生試用版(免費),付費版(很貴)
適用於:
Windows, Mac, Linux
備註:
可在有或沒有動作捕捉資料的情況下,塑造和生成 IK、FK 骨骼,給角色重定向,並製做動畫。有一個強大的時間線編輯器,可建立動畫和迴圈動畫迴圈。
Fire alpaca
http://firealpaca.com/
價格:
免費版(有廣告),付費版(40 刀,無廣告速度更快)
適用於:
Windows, Mac
備註:
可靠且無缺陷的繪圖軟體,跟平板電腦很搭,易於學習,有如洋蔥皮這樣的動畫功能,很多線上教程,可匯出 gif 格式的圖片。
AVI4bmp
http://www.bottomap.com/Software/A4B/A4B.html
價格:
免費
適用於:
Windows
備註:
匯入 gif 和視訊,然後匯出優化過的、適用於遊戲引擎的精靈行列表。跟 Fire Alpaca 非常搭!
Paint of Persia
https://dunin.itch.io/ptop
價格:
付多少都行
適用於:
Windows, Mac
備註:
畫素轉描工具,可以讓你逐幀畫出動畫。可匯出單幀或精靈表單。挺花時間的但是成果不錯。
Kinect v2、介面卡和影視三腳架(自制動捕)
它不能打敗專業的多攝像頭動作捕捉工作室和緊身衣,但它對獨立開發者和業餘愛好者來說效果很好。這套下來挺貴的,但……這可是動捕啊!!!這有個視訊教程,可以教你如何在 Blender 裡用 kinect 做動捕。
#5.2:十二條原則
弗蘭克·托馬斯和奧利·約翰斯頓在 1981 年出版的《生命的幻象:迪斯尼動畫》一書中總結出了動畫的 12 條原則。這些原則可謂是動畫的聖經。雖然我可以自己提供每個例子,但 AlanBeckerTutorials 這兒有一系列教程,完美地展示了每項原則。另外,Issara Willenskomer 寫了一篇很棒的關於媒體的文章,展示了這些原則如何應用於 UX(使用者體驗)設計。最新的動畫資源是一個 YouTube 頻道The AniMates,對 3D 動畫新人來說這個資源真的超級棒,有著來自行業專家的關於動畫批評、演出(staging)、動捕、動機(motivation)等方面的探討!
在看過了 Alan Becker 的視訊後,你可以試著自己練習製作彈球動畫,給每個球加上不同的物理屬性,或者做一個人物走路的迴圈動畫。當你在使用參考時,試著只用真實的東西作為參考,而不是用其他動畫師的作品。動畫是對真實運動的誇張表達和刻畫,因此,永遠要直接從它的源頭——真實生活中——提取。
別怕看起來會很蠢
作為一名動畫師,最好的工具就是你自己的身體。這看上去可能有點蠢,但試著複製你想做成動畫的動作。製作動畫大多都是在理解身體如何運動,所以動起來吧。用你的電腦攝像頭錄下你自己想做成動畫的的動作,如果你有另一個螢幕的話,在你將這個動作再創作為動畫的時候,在另一個螢幕上重複慢放這個視訊。
#5.3:工具&技術
閒置動畫迴圈(idle loop)
不是最好的動畫師或藝術家,卻仍想為你的角色或 UI 注入生命?把你的動畫物件畫上一遍又一遍,但不要描摹。最終,當你有了足夠多的幀,你會得到一個栩栩如生的動畫。為什麼會這樣?完美地複製一幅畫是很難的,因此幀與幀之間細微的差別就成了動作。當然,動畫物件的比例可能會有些偏差,但因為它很可愛,所以掩蓋了這一缺點!
變形器(deformers)
大多建模軟體都帶有一個叫“變形器(deformers)”的功能,可讓你為製作動畫而變換、操縱、扭曲 mesh 網格(無需繫結骨骼)。這對擠壓和拉伸很有用。這個工具曾被用於製作一整部動畫,如《蔬菜寶寶》。
骨骼動畫&繫結
如果你的角色是個有關節的機器人,最好的辦法可能是將一個物體繫結為另一個物體的父級。但如果你想讓一個人物角色的皮膚隨著他四肢的旋轉而扭曲,那你就需要創造一個骨骼系統(skeletal rig)並將它繫結到 mesh 網格上。儘管你可以 Google 到大量的教程(
https://youtu.be/Ah-Jk7d30ks、https://youtu.be/cGvalWG8HBU),但還是很難將骨骼繫結(rigging)做到完美。當然這還有個附加關卡可以讓你達到目標,就是權重繪製,不過如果你只是從一個簡單的骨骼繫結開始著手,那權重繪製就不是那麼重要。骨骼繫結是一個如此複雜的工作,以至於動畫、電影和遊戲行業裡都有一個特定的職位來負責它。不過別被嚇跑了!在你自己做了幾個骨骼繫結後,你就漸漸可以熟能生巧,並對這整個過程都感到得心應手了。
FK & IK
圖源: SUPERHOT (2016) by SUPERHOT Team
數學上,正向動力學(FK)是指從關節空間對映到直角座標空間,而反向動力學(IK)則是指從直角座標空間對映到關節空間。然而在動畫術語中,FK 是通過旋轉和移動變換關節為動畫關鍵幀的姿勢而進行動畫,而 IK 則使用可拖動的手柄(handles),促使四肢接觸或立於表面。例如,IK 對製作腿部動畫很有幫助,而 FK 則最適用於手臂動畫(遊戲中的角色動態接觸場景物件的情況下除外)。能找到 IK 應用於遊戲中的一個好例子是 SUPERHOT,當敵人伸手去拿地上的新武器時,他們身體的其他部分也會跟著去拿。IK 可以很簡單容易的應用於你的專案中,Alan Zucconi 有個很棒的指南涵蓋了 Unity 中的 IK 和程式動畫。
混合變形器(Blendshapes)&面部動畫
混合變形器(Blendshapes),一個在 3D 動畫程式中很常見的工具,可建立你模型的不同版本,並用滑動條在它們之間變化,以創造出更精準的成品。對於製作面部表情和動畫很方便。
良好的拓撲
N-Gons (多於四個邊的平面)是糟糕的!整齊對稱是你的好夥伴,四邊形在彎曲時變化得十分良好。是的,所有東西最終都會被三角化,但如果你自己提前這麼做,你可以選擇它將如何變形。良好的拓撲可被簡化也更易於新增更多的分割槽或更少的迴圈邊。此外,當你知道你在看的東西是什麼的時候,UV 貼圖會變得更容易縫合。
譯者:凌嵐
來源:indienova
地址:https://indienova.com/indie-game-development/breaking-into-gamedev-5/
相關文章
- 【譯】闖入遊戲開發 #6:音效遊戲開發
- 【譯】闖入遊戲開發 #4:美術遊戲開發
- 【譯】闖入遊戲開發 #3:程式設計遊戲開發程式設計
- 【譯】闖入遊戲開發 #8:策劃(設計)遊戲開發
- 【譯】闖入遊戲開發 #9:理論&進一步閱讀遊戲開發
- 【譯】闖入遊戲開發 #7:音樂(對於非專業人士)遊戲開發
- 【譯】闖入遊戲開發 #2:遊戲開發的常見陷阱(以及如何避免它們)遊戲開發
- 【譯】闖入遊戲開發 #0-1:關於這部指南、遊戲引擎大清單遊戲開發遊戲引擎
- MD5骨骼動畫模型載入(一)動畫模型
- H5 遊戲開發:遊戲引擎入門推薦H5遊戲開發遊戲引擎
- Flutter動畫 5 - Flutter內建動畫元件Flutter動畫元件
- [譯] 5 個可以立刻在你的 Ionic App 中用上的動畫包APP動畫
- 危險區域闖入識別系統
- 【譯】Flutter:影象的爆炸動畫?Flutter動畫
- 遊戲開發入門(一)遊戲開發概述遊戲開發
- U3D遊戲開發從入門到彎道超車(2):《Flappy Bird》場景動畫及角色動畫製作3D遊戲開發APP動畫
- 微信小遊戲開發(4)-動畫和觸控事件遊戲開發動畫事件
- Flutter 動畫入門Flutter動畫
- 5個可愛的CSS3 Loading載入動畫CSSS3動畫
- iOS動畫程式設計-Layer動畫[ 5 ] Animation Groups組合動畫iOS動畫程式設計
- 【譯】Flutter中的花式背景動畫Flutter動畫
- [譯] 使用 Swift 實現原型動畫Swift原型動畫
- App Annie5月指數:“獨角獸”闖入國內收入榜TOP5,白俄羅斯廠商直追VoodooAPPOdoo
- Python挑戰遊戲( PythonChallenge)闖關之路Level- 5Python遊戲
- html5--6-55 動畫效果-關鍵幀動畫HTML動畫
- HTML5動畫API—— requestAnimationFrameHTML動畫APIrequestAnimationFrame
- HTML5 小動畫例子HTML動畫
- Flutter動畫入門篇Flutter動畫
- 屬性動畫 58同城資料載入動畫動畫
- app直播原始碼,等待時的載入動畫(交錯載入動畫)APP原始碼動畫
- H5遊戲開發:套圈圈H5遊戲開發
- 高效能的視差動畫【譯】動畫
- [譯] iOS 中賞心悅目的動畫iOS動畫
- [譯] WindowsInsets 和 Fragment 過渡動畫WindowsFragment動畫
- 獨立遊戲開發入門指南遊戲開發
- 面試闖關1面試
- 《JavaScript 闖關記》JavaScript
- 闖關提交01