技術美術是近些年游戲研發(fā)公司熱招的崗位之一,它對于個人的綜合能力有著極高的要求。從該崗位所要掌握的技能來看,程序與美術自然會是一批優(yōu)質的儲備力量,但想要成為一名合格的技術美術,或許你還有很長的一段路要走。
一、美術篇
工程師轉技術美術的這類同學,一定要掌握藝術方面的內容,否則本質上還是一個程序員。
1.1 美術DCC軟件操作方面
必須精通:Photoshop,3dsmax/Maya
無論是繪圖還是3D建模,這幾款軟件是游戲美術必不可少的。作為標準的游戲美術,TechnicaArtist必須精通里面的所有功能,并熟練掌握完整的各個管線的工作流程和常用功能的使用方法。
而Artist轉TA的同學可以根據自己本來的專精,歸納工作流程,并嘗試編寫自動化工具。
稍微進階一些需要掌握:AfterEffects/NUKE/Fusion360,Blender,ZB/SubstancePainter/SubstanceDesigner,MotionBuilder 等等。
根據經驗的增長,你逐漸掌握了一些圖像合成知識,并開始了解流行的開源3D建模軟件、引擎外部的貼圖繪制軟件、材質生成軟件, 動作捕捉軟件等等。這里面開始涉及到了各個不同的專業(yè),可以選擇性地進行學習。
再進階一些需要掌握:
Houdini,WorldMachine/WorldCreater, SpeedTree 等等更專業(yè)或專精的軟件。
這時你已經積累了很長時間的軟件操作經驗,對美術工作流了如指掌,于是便可以往難度更高或更細分的領域深入研究。如果你有了一定的代碼經驗,并且對于日常的DCC功能開發(fā)已經游刃有余,再深入就變成技術知識構成的范圍。
1.2 美術基礎知識方面
Technical Artist顧名思義是包含大量的Artist的內容,而Artist以最基礎的美術知識為根本,萬變不離其宗。
TA需要通過掌握的美術知識會使調節(jié)出來的畫面效果比圖形程序員要好看的多,并且具有一定的藝術觀賞性。另外一方面,完全不掌握Tech調節(jié)方法的Artist會有勁沒處使,不知道怎么調節(jié)出好看的畫面效果。
當美術管線被優(yōu)化到足夠便捷的話(類似美術更喜歡使用UE4,而非其它引擎開發(fā)的定制化渲染管線),Artist自己就可以進行畫面調節(jié)了,并且能比TA調節(jié)得更美。TA的工作恰恰是使這個復雜的調節(jié)過程簡單化。
當渲染管線過于繁瑣時,TA應當提供完整的操作文檔提供給美術,畢竟他們調節(jié)出來的是最好看的。作為一個綜合性的輔助職位,沒有必要和他們搶飯碗。
作為TA你要掌握基礎的美術知識,包括造型,透視,色彩構成,質感刻畫等各個方面。
你要可以迅速判斷游戲畫面的黑白灰關系、層次關系、畫面的色彩構成,還要能通過修改shader或Toonmapping等方法進行調節(jié)。對于各種質感的表現特征,你需要了如指掌,例如金屬的明暗交界線和反射的狀態(tài),這里可以基于物理渲染但是并不一定符合物理,以畫面好看為主。
尤其是非真實感渲染,對TA的美術方面的要求更高,由于是非物理渲染,所以圖形程序能幫上忙的空間非常小。
比如最近流行的二次元風格,如果你大學學了動畫專業(yè),那么你會對二次元的畫面構成了如指掌。透臺是怎么使用的,賽璐璐是怎么使用的,畫面怎么由layout到原畫、中間畫,到上色、后期,為什么某些角色的動態(tài)畫面是扭曲的,為什么要用色指卡來上色,為什么不同的漫畫家的線條都各具有特色等等,你都完全清楚。你可以通過你的美術經驗,對所有關鍵性內容進行拆解,然后通過技術手段實現它。這是其它工種完全無法替代的。
1.3 溝通技法
和美術溝通時,“說人話”非常重要。因為你之前本身就是美術或對美術工作流程非常了解,這是你和程序員相比非常大的優(yōu)勢,那么要以美術能快速聽懂的方式對相關美術人員進行解釋,把復雜問題簡單化概括。實際上當你對一個技術越了解的時候,你描述的過程是越通俗易懂且簡約的。盡量不要拽各種專業(yè)性技術名詞、英文縮寫。
例如圖形程序口中的toonmaping等術語,或其他復雜算法。對于精通Photoshop的美術來說就是點擊兩個按鈕,比如可選顏色,漸變映射等等。但是大多數程序員連ps基礎操作都不會,這就需要你來簡化描述。
你在美術方面是不如美術的,程序方面又不如程序。和程序溝通時要把專業(yè)水平拿上來,通過技術知識來描述美術的想法和實現方式,描述后不一定是你來做,有可能是程序員去做,但是你也不要把自己僅僅定位為傳話筒,要盡量想到既效果好又性能好的trick方案。
TA屬于一個完美的輔助型魔劍士,既肉又奶又可以輸出,形成一個良好的工作氛圍后,美術和程序是都愿意和你配合的。
二、技術篇
美術師轉技術美術的這類同學,一定要掌握編程方面的內容。
這方面的內容包含3類,第一種是腳本語言,第二種是編程語言,第三種是shading語言。
2.1 腳本語言
腳本語言簡單來說就是:
3DSMAX 的 maxscript 或 MAYA 的 mel 語言 或 Houdini 的 vex 這種DCC軟件語言。
這種語言使用的功能相對簡單,大多是對軟件封裝好的功能進行調用。
作為TA,你可以根據你在你之前的美術領域(模型/動畫/特效/UI)浸淫多年的DCC軟件操作習慣來使用腳本語言。這會對你的大量重復性工作進行自動批處理,從而使你和你支持的藝術家從操作的工作中解脫出來,進行藝術創(chuàng)作。
其中,在某一美術領域浸淫多年這一點非常重要,這也就是”使用者既開發(fā)者“原理。所以我并不贊成畢業(yè)生沒有進行過美術工作直接進入到這一領域,否則開發(fā)出來的功能會十分難用。
它的工作流一般是線性的、擬人化的方式。不同軟件的寫法和API差異很大,由于官方文檔寫的爛,有很大的學習負擔,所以這方面工作一般沒有程序員會接手,只有TA來承擔。
DCC工具一般來說以批處理和資源檢查為主,一定程度上追求運行速度,因為美術要經?焖傩薷拿佬g資源,所見即所得非常關鍵。由于這里生產的資源是完全與游戲項目脫離的,所以穩(wěn)定性不是最主要的,而是以提高美術制作人員的舒適度為主。在引擎工具方面,還會對美術資源進行二次,三次的反復檢查。
python介于腳本語言和編程語言之間,各個軟件或引擎之間可以同時支持。所以目前來看性價比要高一些。
圖片
2.2 編程語言
編程語言就是C,C++, C#, 這種更接近于程序員使用的代碼語言。這類語言一般用于游戲引擎中的內容修改或工具制作。
作為TA,這類語言你至少要精通一種,不是比其它美術師稍微懂點引擎操作方法就可以變成TA了。因為許多高級美術師,同樣對游戲引擎的使用非常熟練,例如經常使用游戲引擎內置編輯器的游戲特效師、經常編輯動畫狀態(tài)機的游戲動畫師。
技術美術應該做的事情是在高級游戲美術師的基礎上,使用編程語言,自動控制/檢測美術資產的正確性,對重復性工作進行批處理開發(fā),對引擎中的操作繁瑣的步驟進行一鍵操作的簡化處理,甚至把很多操作集中在打包流程中。
這方面工作與引擎程序或客戶端程序有一定的交集,要掌握工作分配尺度。
TA在引擎層面開發(fā)的工具或功能,由于和游戲項目耦合性較高,所以要首要關注可靠性。美術生產資源的合理性要完全在這一步把握住,通過使用資源檢查工具、資源后處理工具、資源提交工具,完全阻斷出錯率的效果。
其次需要關注的是美術工具流方面的易用性(因為工具交互做的很差或不好用,美術用起來就很排斥,這導致沒有反饋信息的輸入,沒有這部分輸入就會導致無法更新迭代,這樣的話就開發(fā)不下去了。如果強行推廣使用的話,那么對于美術來說就由幫手變成了敵人)。
最后一點才是運行速度,但這一點又是不可或缺的,如果你使用編程語言開發(fā)了工具,必定帶來開發(fā)速度的提升。這是要遵循二八原理,比如花很少的開發(fā)時間,把美術生產輸出從幾天或幾周優(yōu)化到了分鐘級或秒級,就沒必要再花百分之八十的時間扣算法,優(yōu)化那么幾毫秒的運行速度。
以上所有引擎內功能的穩(wěn)定性是由一套”穩(wěn)定“的引擎底層架構和渲染/客戶端邏輯來支撐的,如果引擎和邏輯變來變去,那么工具也無法保證穩(wěn)定。
2.3 Shading語言
一般是opengl, hlsl, cg這種類似于C語言這種底層語言的寫法,對Shading語言的了解目前成了技術美術必不可缺的要素。這幾種語言的寫法非常接近,基本可以做到同時精通。
你不一定會掌握底層shading的基礎算法或架構,這里面很大程度上的工作由圖形程序員承擔(不要搶他們的飯碗,或者一部分圖形程序變成了所謂的TAT)。但是作為TA一定要掌握surface層面的效果向shading開發(fā),并具有很強的優(yōu)化能力。
作為TA你要通過你的傳統(tǒng)美術技法,產生大量的trick能力,這是圖形程序員不具備的,尤其是非真實感渲染方面,你的地位十分重要。由于一般傳統(tǒng)藝術家畫畫是直接用畫筆在畫布上畫的,效果不一定真實,但非常好看。你要使用美術的基礎知識對其明暗調子,色彩構成,線條的優(yōu)美,等等方面進行把控。
如果你精通PhotoShop或AfterEffects來進行圖像處理的話,那么你對于圖像后處理技術也會非常精通的,這部分的門檻就會非常低。
國內最開始有TA行業(yè)的時候,對于連接節(jié)點方式的shading創(chuàng)作是鄙視的。目前來說放開了一些,但如果你對優(yōu)化有一定要求的話,依然還是要掌握代碼。
三、結語
以上幾個方面,從初級,中級,高級必須做到由少到多,由入門逐漸到熟練,精通。這是一個積累的過程,尤其是對于美術來說,學習曲線非常陡,由一種語言到多種語言,加上熟悉API,起碼要持續(xù)幾年。所以不要著急,不能由于行業(yè)比較火,一口吃個胖子。
雖然標題是技術美術的技術知識構成,但是程序員不要由于編程優(yōu)勢妄圖混進來~趕快去看藝術史,畫石膏像,用DCC軟件建模吧,這樣才能達到“使用者既開發(fā)者”的目的。
一閃一閃亮晶晶