源貼圖工具:Blender材質(zhì)繪制工作流實(shí)戰(zhàn)指南)
材質(zhì)和貼圖這塊很多人第一次接觸都會(huì)卡在一個(gè)很尷尬的位置模型建得還行UV也展了但一到“上色”環(huán)節(jié)就抓瞎。Blender自帶的紋理繪制不是不能用可一旦圖層多起來(lái)、筆刷要調(diào)壓感、還想邊畫(huà)邊看PBR效果它就開(kāi)始力不從心。商業(yè)軟件那邊Substance Painter確實(shí)是行業(yè)標(biāo)桿但訂閱費(fèi)用對(duì)個(gè)人開(kāi)發(fā)者和小團(tuán)隊(duì)來(lái)說(shuō)是一道實(shí)打?qū)嵉拈T(mén)檻。ArmorPaint就是在這個(gè)縫隙里長(zhǎng)出來(lái)的東西——它脫胎于Blender生態(tài)定位很明確開(kāi)源、輕量、專(zhuān)注材質(zhì)繪制能直接吃Blender導(dǎo)出的模型和貼圖把“畫(huà)材質(zhì)”這件事從大而全的引擎里拆出來(lái)單獨(dú)做好。這篇內(nèi)容適合三類(lèi)人看剛學(xué)完Blender基礎(chǔ)想進(jìn)階材質(zhì)的新手、被商業(yè)軟件訂閱費(fèi)勸退的獨(dú)立開(kāi)發(fā)者、以及想搞清楚開(kāi)源貼圖工具到底能不能扛活的老手。我會(huì)從它的定位、安裝、工作流、和Blender的配合、以及實(shí)際繪制中那些文檔里不會(huì)寫(xiě)的坑一層層拆開(kāi)講。1. ArmorPaint到底解決的是哪一段工作流1.1 它不搶Blender的活只補(bǔ)Blender的短先把定位說(shuō)清楚不然很容易用錯(cuò)。ArmorPaint不是建模軟件也不是渲染器它干的事情非常聚焦在已經(jīng)展好UV的模型上用筆刷和圖層的方式繪制PBR材質(zhì)貼圖。你可以把它理解成一個(gè)“貼圖專(zhuān)用的畫(huà)板”模型是別人做好的UV是別人展好的它負(fù)責(zé)的是最后那層“皮膚”。為什么這件事值得單獨(dú)拿一個(gè)軟件來(lái)做因?yàn)榧y理繪制和建模在操作邏輯上完全是兩碼事。建模講究的是拓?fù)?、布線、修改器堆棧是結(jié)構(gòu)性的工作紋理繪制講究的是筆觸、圖層混合、遮罩、壓感是繪畫(huà)性的工作。Blender把這兩件事塞進(jìn)同一個(gè)界面里結(jié)果是紋理繪制模式下的筆刷系統(tǒng)、圖層管理、性能表現(xiàn)都只能算“夠用”離“好用”還有距離。ArmorPaint把繪畫(huà)這部分單獨(dú)拎出來(lái)界面干凈筆刷響應(yīng)直接圖層邏輯接近Photoshop對(duì)習(xí)慣2D繪畫(huà)的人來(lái)說(shuō)上手成本低很多。從技術(shù)棧上看ArmorPaint是用Haxe語(yǔ)言寫(xiě)的底層通過(guò)Kha框架做跨平臺(tái)渲染支持Windows、Linux、macOS甚至能跑在移動(dòng)端和瀏覽器里。這個(gè)技術(shù)選型決定了它啟動(dòng)快、體積小對(duì)顯卡的要求也比一些重型引擎溫和。我實(shí)測(cè)在一臺(tái)核顯筆記本上只要模型面數(shù)不是特別夸張繪制過(guò)程是流暢的這一點(diǎn)比在Blender里開(kāi)紋理繪制模式要舒服。1.2 和Substance Painter的差距在哪值不值得換這是所有人都會(huì)問(wèn)的問(wèn)題。我不繞彎子直接給結(jié)論如果你靠材質(zhì)吃飯、接商業(yè)外包、需要大量智能材質(zhì)和生成器Substance Painter仍然是更穩(wěn)的選擇如果你是獨(dú)立開(kāi)發(fā)、學(xué)習(xí)階段、預(yù)算有限或者就是想把Blender工作流打通ArmorPaint完全夠用而且沒(méi)有訂閱焦慮。具體差距體現(xiàn)在幾個(gè)地方。第一是智能材質(zhì)庫(kù)Substance那套基于程序化生成的材質(zhì)體系積累了太多年ArmorPaint的預(yù)設(shè)和素材生態(tài)還在建設(shè)中很多效果你得自己手畫(huà)或者自己搭節(jié)點(diǎn)。第二是烘焙工具鏈Substance自帶的高模到低模的烘焙流程非常成熟ArmorPaint雖然也能導(dǎo)入烘焙好的貼圖但烘焙這一步通常要借助Blender或者其他工具完成。第三是導(dǎo)出預(yù)設(shè)Substance對(duì)各大引擎的導(dǎo)出配置做了大量預(yù)設(shè)ArmorPaint的導(dǎo)出選項(xiàng)相對(duì)樸素需要你自己清楚目標(biāo)引擎要哪幾張圖。但反過(guò)來(lái)說(shuō)ArmorPaint的優(yōu)勢(shì)也很實(shí)在開(kāi)源、免費(fèi)、代碼可查、可以自己改。它的工程文件格式是開(kāi)放的貼圖數(shù)據(jù)存在本地不依賴云服務(wù)。對(duì)于在意數(shù)據(jù)主權(quán)和長(zhǎng)期可用性的人來(lái)說(shuō)這些點(diǎn)比幾個(gè)智能材質(zhì)更值錢(qián)。而且它的更新節(jié)奏一直沒(méi)停社區(qū)版和付費(fèi)版并行付費(fèi)版主要是支持開(kāi)發(fā)和獲取預(yù)編譯的便利核心功能并沒(méi)有被鎖死。1.3 誰(shuí)適合現(xiàn)在就上手誰(shuí)可以再等等我給一個(gè)比較實(shí)在的判斷標(biāo)準(zhǔn)。如果你現(xiàn)在的工作流是“Blender建模 → Blender展UV → 導(dǎo)出到某處畫(huà)貼圖”那ArmorPaint值得你花一個(gè)下午試一下它大概率能替掉你現(xiàn)在的某一環(huán)。如果你還在糾結(jié)“要不要學(xué)Blender”那先別碰ArmorPaint因?yàn)樗妮斎胍蕾囈粋€(gè)已經(jīng)處理好的模型你連模型都沒(méi)有工具再好也白搭。還有一類(lèi)人要謹(jǐn)慎做寫(xiě)實(shí)角色、皮膚、毛發(fā)這類(lèi)對(duì)材質(zhì)精度要求極高的項(xiàng)目。ArmorPaint能畫(huà)但它的筆刷引擎和圖層混合在極端精細(xì)的場(chǎng)景下和成熟商業(yè)軟件比還是有差距。這種項(xiàng)目我建議先用成熟工具把活干完把ArmorPaint當(dāng)成一個(gè)備選和補(bǔ)充而不是主力。2. 裝起來(lái)就能用先把這幾個(gè)前置條件理清楚2.1 獲取渠道和版本選擇ArmorPaint的獲取方式主要有兩種官網(wǎng)直接下載預(yù)編譯版本或者從源碼自己編譯。對(duì)絕大多數(shù)人來(lái)說(shuō)直接下預(yù)編譯版就行省事。官網(wǎng)提供的是付費(fèi)下載價(jià)格不高一次買(mǎi)斷包含后續(xù)更新。如果你不想付費(fèi)也可以去它的代碼倉(cāng)庫(kù)自己拉源碼編譯但編譯過(guò)程對(duì)新手不算友好需要裝Haxe工具鏈和一堆依賴我建議除非你有明確的定制需求否則別折騰源碼。版本上要注意區(qū)分桌面版和移動(dòng)版。桌面版是主力功能完整移動(dòng)版更多是嘗鮮性質(zhì)筆刷和圖層功能有裁剪不適合正經(jīng)干活。另外它有一個(gè)“ArmorPaint Studio”的訂閱版本主要面向團(tuán)隊(duì)協(xié)作和額外素材個(gè)人用戶用基礎(chǔ)版就夠了別被版本名繞暈。提示下載時(shí)認(rèn)準(zhǔn)官方渠道第三方打包的版本可能夾帶舊版依賴或者改動(dòng)過(guò)的運(yùn)行庫(kù)出了問(wèn)題很難排查。2.2 顯卡和驅(qū)動(dòng)的實(shí)際要求官方給的配置要求看起來(lái)不高但實(shí)際體驗(yàn)和顯卡驅(qū)動(dòng)關(guān)系很大。ArmorPaint依賴GPU做實(shí)時(shí)渲染如果你的驅(qū)動(dòng)太舊可能出現(xiàn)筆刷延遲、貼圖顯示異常、甚至啟動(dòng)黑屏。我的建議是先把顯卡驅(qū)動(dòng)更新到近一年的版本這一步能省掉后面一大半玄學(xué)問(wèn)題。具體到硬件集成顯卡能跑但繪制大分辨率貼圖比如4K以上時(shí)會(huì)吃力筆刷會(huì)有明顯跟手感延遲。獨(dú)立顯卡里近幾年的中端卡就足夠流暢。顯存方面畫(huà)4K貼圖建議至少4GB顯存8GB會(huì)更從容。如果你經(jīng)常處理8K貼圖那顯存就是硬門(mén)檻別指望靠軟件優(yōu)化繞過(guò)去。還有一個(gè)容易被忽略的點(diǎn)多顯示器和高DPI屏幕下的縮放問(wèn)題。ArmorPaint在不同系統(tǒng)上的DPI處理不完全一致如果你在高分屏上發(fā)現(xiàn)界面元素特別小或者特別大去設(shè)置里找界面縮放選項(xiàng)手動(dòng)調(diào)別硬扛。2.3 第一次啟動(dòng)要做的三件事裝好之后別急著畫(huà)先做三件事。第一進(jìn)設(shè)置把筆刷壓感確認(rèn)一下如果你有數(shù)位板測(cè)試一下壓感是否生效沒(méi)生效的話檢查驅(qū)動(dòng)和軟件里的輸入設(shè)置。第二設(shè)置默認(rèn)貼圖分辨率和工程保存路徑ArmorPaint的工程文件會(huì)引用外部貼圖路徑亂了后面很容易丟文件。第三把快捷鍵過(guò)一遍它的默認(rèn)快捷鍵和Blender、Photoshop都不完全一樣提前熟悉能少很多誤操作。這三件事花不了十分鐘但能避免后面大量的返工。我見(jiàn)過(guò)太多人上來(lái)就畫(huà)畫(huà)到一半發(fā)現(xiàn)壓感沒(méi)開(kāi)、貼圖存到了臨時(shí)目錄、快捷鍵按錯(cuò)把圖層刪了心態(tài)直接崩。3. 從Blender到ArmorPaint模型和UV的交接細(xì)節(jié)3.1 導(dǎo)出前必須檢查的模型狀態(tài)ArmorPaint吃的是標(biāo)準(zhǔn)格式的模型文件常見(jiàn)的是OBJ和FBX。從Blender導(dǎo)出之前有幾個(gè)檢查項(xiàng)必須過(guò)一遍不然導(dǎo)進(jìn)去就是各種奇怪問(wèn)題。第一應(yīng)用所有修改器。Blender的修改器是程序化的導(dǎo)出時(shí)如果不應(yīng)用導(dǎo)出的模型可能和你看到的不一樣。特別是鏡像、細(xì)分、陣列這類(lèi)修改器一定要在導(dǎo)出前應(yīng)用掉或者在導(dǎo)出設(shè)置里勾選“應(yīng)用修改器”。第二確認(rèn)法線方向。法線反了的模型在ArmorPaint里會(huì)出現(xiàn)光照詭異、筆刷畫(huà)不上去的情況。在Blender里開(kāi)面朝向顯示把反的面翻正再導(dǎo)出。第三UV不能重疊。ArmorPaint是按UV坐標(biāo)往貼圖上畫(huà)的如果UV有重疊你畫(huà)一個(gè)地方會(huì)同時(shí)影響另一個(gè)地方。展UV的時(shí)候就要注意除非你是故意要做對(duì)稱復(fù)用否則別讓UV島疊在一起。第四模型尺度要合理。ArmorPaint的筆刷大小和模型的實(shí)際尺寸掛鉤如果模型尺度差了幾個(gè)數(shù)量級(jí)筆刷調(diào)起來(lái)會(huì)很別扭。導(dǎo)出前把模型縮放到合理范圍比如一個(gè)角色控制在1.8米左右。3.2 UV布局對(duì)繪制效率的直接影響UV展得好不好直接決定你在ArmorPaint里畫(huà)得順不順。這里說(shuō)幾個(gè)實(shí)操層面的經(jīng)驗(yàn)。UV島之間要留夠間距。間距太窄畫(huà)貼圖時(shí)筆刷稍微超出邊界就會(huì)溢到相鄰的島上出現(xiàn)接縫。一般建議島與島之間留出貼圖分辨率2%到5%的間距具體看你的貼圖尺寸和精度要求。接縫要藏在不容易看到的地方。這是展UV的基本功但在ArmorPaint里尤其重要因?yàn)樗墓P刷是直接往貼圖上畫(huà)的接縫處的處理比程序化生成要麻煩。把接縫放在腋下、大腿內(nèi)側(cè)、頭發(fā)遮擋處這些位置能省掉大量后期修補(bǔ)。UV朝向要統(tǒng)一。如果UV島的朝向亂七八糟你在畫(huà)的時(shí)候方向感會(huì)很差畫(huà)條紋、畫(huà)布料紋理的時(shí)候尤其明顯。展UV時(shí)盡量讓主要UV島的方向一致畫(huà)起來(lái)會(huì)順手很多。給重要部位留足UV面積。臉、手這些視覺(jué)焦點(diǎn)區(qū)域UV面積要給夠不然貼圖精度不夠畫(huà)出來(lái)糊。這個(gè)道理和展UV的通用原則一樣但在ArmorPaint里因?yàn)橐之?huà)精度不夠的代價(jià)更直觀。3.3 導(dǎo)入后的第一輪檢查清單模型導(dǎo)進(jìn)ArmorPaint之后別急著開(kāi)畫(huà)先做一輪檢查。我整理了一個(gè)清單照著過(guò)一遍能避開(kāi)大部分低級(jí)問(wèn)題。檢查項(xiàng)正常表現(xiàn)異常處理模型顯示完整顯示無(wú)破面檢查法線和導(dǎo)出設(shè)置UV顯示貼圖區(qū)域?qū)?yīng)正確重新檢查UV重疊光照響應(yīng)轉(zhuǎn)動(dòng)視角明暗變化正常檢查法線方向筆刷落點(diǎn)畫(huà)哪里顯示哪里檢查UV和模型尺度貼圖分辨率和預(yù)期一致在工程設(shè)置里調(diào)整這一輪檢查花幾分鐘但能避免你畫(huà)了半天才發(fā)現(xiàn)模型有問(wèn)題。特別是法線方向很多人是畫(huà)到一半發(fā)現(xiàn)光照不對(duì)才回頭查那時(shí)候已經(jīng)畫(huà)了不少改起來(lái)很痛苦。4. 圖層、筆刷和遮罩ArmorPaint的核心操作邏輯4.1 圖層系統(tǒng)怎么用才不亂ArmorPaint的圖層邏輯和Photoshop很像但它是針對(duì)PBR材質(zhì)設(shè)計(jì)的每個(gè)圖層可以攜帶顏色、粗糙度、金屬度、法線等多通道信息。這個(gè)設(shè)計(jì)是它比普通2D繪畫(huà)軟件強(qiáng)的地方也是新手最容易用亂的地方。我的建議是按材質(zhì)區(qū)域分層而不是按顏色分層。比如一個(gè)角色你可以分成皮膚層、衣服層、金屬配件層、頭發(fā)層每層負(fù)責(zé)一個(gè)材質(zhì)區(qū)域。這樣做的原因是PBR材質(zhì)的不同通道是綁定的你把皮膚的顏色和粗糙度放在同一層里管理調(diào)整起來(lái)邏輯清晰如果按顏色分紅色一層、藍(lán)色一層粗糙度信息就散了后面想統(tǒng)一調(diào)某個(gè)材質(zhì)的質(zhì)感會(huì)很麻煩。圖層組也要用起來(lái)。把相關(guān)的層歸到一個(gè)組里比如“上半身”“下半身”“裝備”組可以整體調(diào)透明度和混合模式做整體調(diào)整的時(shí)候非常方便。圖層命名要養(yǎng)成習(xí)慣別留一堆“圖層1”“圖層2”過(guò)兩天你自己都不記得哪層是哪層。還有一個(gè)細(xì)節(jié)基礎(chǔ)材質(zhì)層要放在最下面。先鋪一層基礎(chǔ)色和基礎(chǔ)粗糙度再往上疊細(xì)節(jié)。這樣即使上面的細(xì)節(jié)層出了問(wèn)題底層的基礎(chǔ)材質(zhì)還在不至于整個(gè)模型變成默認(rèn)灰模。4.2 筆刷設(shè)置里最影響手感的幾個(gè)參數(shù)ArmorPaint的筆刷系統(tǒng)不算復(fù)雜但有幾個(gè)參數(shù)對(duì)繪制手感影響極大值得單獨(dú)說(shuō)。筆刷大小和壓感的映射曲線。默認(rèn)的壓感曲線是線性的但實(shí)際繪畫(huà)時(shí)很多人更習(xí)慣“輕按變化慢、重按變化快”的曲線。在筆刷設(shè)置里可以調(diào)壓感曲線調(diào)完之后筆觸的過(guò)渡會(huì)自然很多。這個(gè)沒(méi)有標(biāo)準(zhǔn)答案看你自己的手感但一定要調(diào)默認(rèn)值往往不是最優(yōu)的。流量和透明度的區(qū)別。流量控制的是單位時(shí)間內(nèi)出墨的量透明度控制的是單次筆觸的最大不透明度。畫(huà)疊加效果的時(shí)候低流量高透明度能畫(huà)出很自然的漸變畫(huà)實(shí)色的時(shí)候高流量高透明度一筆到位。搞混這兩個(gè)參數(shù)畫(huà)出來(lái)的東西要么臟要么飄。筆刷間距。間距太大會(huì)出現(xiàn)明顯的筆觸斷點(diǎn)太小又會(huì)影響性能。一般設(shè)置在10%到25%之間比較平衡畫(huà)細(xì)節(jié)的時(shí)候可以調(diào)小鋪大色塊的時(shí)候可以調(diào)大。抖動(dòng)修正。手抖的人一定要開(kāi)這個(gè)它會(huì)對(duì)筆觸做平滑處理。但修正強(qiáng)度別開(kāi)太高太高了筆觸會(huì)變得遲鈍畫(huà)細(xì)節(jié)的時(shí)候反而不好控制。我一般開(kāi)在20%到30%之間。4.3 遮罩和材質(zhì)ID的配合技巧遮罩是ArmorPaint里做精細(xì)控制的核心手段。最簡(jiǎn)單的用法是用筆刷直接畫(huà)遮罩畫(huà)到哪遮到哪。但更高效的做法是配合材質(zhì)ID或者UV區(qū)域來(lái)做。如果你在Blender里給模型的不同部位分配了不同的材質(zhì)槽導(dǎo)出時(shí)這些信息會(huì)保留導(dǎo)入ArmorPaint后可以按材質(zhì)ID快速選中區(qū)域然后基于選區(qū)生成遮罩。這樣你就能做到“只在這個(gè)材質(zhì)區(qū)域里畫(huà)”不用小心翼翼地控制筆刷邊界。另一個(gè)技巧是用曲率遮罩和環(huán)境光遮蔽遮罩。這兩個(gè)是基于模型幾何自動(dòng)生成的曲率遮罩能選中邊緣和凸起AO遮罩能選中縫隙和凹陷。用它們來(lái)做磨損、臟跡、邊緣高光特別方便比手畫(huà)效率高得多。生成這些遮罩需要模型有合理的法線和拓?fù)渌郧懊嬲f(shuō)的模型檢查不是白做的。注意遮罩是可以疊加和反相的。多個(gè)遮罩疊加時(shí)注意它們的混合模式加法和減法出來(lái)的結(jié)果完全不同。做復(fù)雜遮罩的時(shí)候建議一層一層加每加一層看一眼效果別一次性堆一堆遮罩然后發(fā)現(xiàn)不對(duì)又不知道是哪層的問(wèn)題。5. 和Blender的雙向配合貼圖回傳與迭代5.1 導(dǎo)出貼圖時(shí)的通道選擇在ArmorPaint里畫(huà)完最終要導(dǎo)出貼圖給引擎或者渲染器用。導(dǎo)出的核心問(wèn)題是目標(biāo)平臺(tái)需要哪些通道以什么格式打包。常見(jiàn)的PBR貼圖通道有這么幾類(lèi)基礎(chǔ)色、粗糙度、金屬度、法線、高度、環(huán)境光遮蔽、自發(fā)光。不同的引擎和渲染器對(duì)這些通道的打包方式不一樣。比如有些引擎要求把粗糙度和金屬度打包到一張圖的不同通道里有些則要求分開(kāi)。導(dǎo)出前一定要查清楚目標(biāo)平臺(tái)的規(guī)范別導(dǎo)錯(cuò)了再返工。ArmorPaint的導(dǎo)出界面提供了通道選擇和打包選項(xiàng)你可以按需勾選。我的習(xí)慣是同時(shí)導(dǎo)出一套分開(kāi)的通道圖和一套打包好的圖分開(kāi)的用于在Blender里調(diào)試打包的用于最終導(dǎo)入引擎。這樣兩邊都不耽誤。導(dǎo)出格式上基礎(chǔ)色和自發(fā)光用sRGB色彩空間粗糙度、金屬度、法線、高度、AO用線性色彩空間。這個(gè)色彩空間搞錯(cuò)的話貼圖在引擎里會(huì)明顯偏亮或偏暗是很常見(jiàn)的坑。5.2 在Blender里驗(yàn)證貼圖的正確姿勢(shì)貼圖導(dǎo)回Blender之后怎么驗(yàn)證它是對(duì)的最直接的方法是搭一個(gè)標(biāo)準(zhǔn)光照環(huán)境把貼圖接到Principled BSDF上然后轉(zhuǎn)動(dòng)視角看效果。具體操作新建一個(gè)材質(zhì)把基礎(chǔ)色貼圖接到Base Color粗糙度接到Roughness金屬度接到Metallic法線貼圖經(jīng)過(guò)Normal Map節(jié)點(diǎn)接到Normal。然后打一盞三點(diǎn)光或者用HDRI環(huán)境光轉(zhuǎn)動(dòng)視角觀察。重點(diǎn)看幾個(gè)地方高光是否自然、金屬區(qū)域是否有正確的反射、法線細(xì)節(jié)是否清晰、接縫處是否有明顯色差。如果發(fā)現(xiàn)貼圖顏色偏了先檢查色彩空間設(shè)置如果發(fā)現(xiàn)法線效果不對(duì)檢查法線貼圖的綠色通道方向不同軟件對(duì)法線綠通道的定義可能相反如果發(fā)現(xiàn)接縫明顯回到ArmorPaint檢查UV間距和筆刷溢出。這個(gè)驗(yàn)證環(huán)節(jié)很重要因?yàn)锳rmorPaint里看到的效果和Blender里渲染出來(lái)的效果可能有差異提前發(fā)現(xiàn)比在引擎里發(fā)現(xiàn)要好改。5.3 迭代修改的高效流程材質(zhì)繪制很少一次成型迭代是常態(tài)。高效的迭代流程能省大量時(shí)間。我的做法是在ArmorPaint里保留工程文件每次修改只改需要改的層導(dǎo)出時(shí)只導(dǎo)出受影響的通道。比如只改了基礎(chǔ)色那就只重導(dǎo)基礎(chǔ)色其他通道不動(dòng)。這樣導(dǎo)入Blender或者引擎時(shí)只需要替換那一張貼圖其他連接不用動(dòng)。另外ArmorPaint的工程文件會(huì)記錄圖層和筆刷狀態(tài)所以你可以隨時(shí)回去調(diào)整。但要注意如果你在Blender里改了模型或者UV再回到ArmorPaint工程文件里的貼圖可能就對(duì)不上了。所以模型和UV一旦定稿就盡量別再大改要改的話做好重新繪制的心理準(zhǔn)備。如果確實(shí)需要改UV一個(gè)折中辦法是在Blender里用UV編輯工具做微調(diào)盡量保持UV島的整體位置不變這樣ArmorPaint里的貼圖還能大致對(duì)上只需要局部修補(bǔ)。6. 實(shí)際繪制中那些文檔不會(huì)寫(xiě)的坑6.1 筆刷畫(huà)不上去或者畫(huà)出來(lái)是黑的這是新手最常遇到的問(wèn)題原因通常有三個(gè)。第一當(dāng)前選中的圖層是空的或者被鎖定了。檢查圖層面板確認(rèn)你選中的層是可編輯的并且有內(nèi)容。第二遮罩把整個(gè)模型遮住了。檢查遮罩設(shè)置看看是不是有個(gè)全遮罩沒(méi)關(guān)掉。第三法線方向反了。法線反了的區(qū)域筆刷落點(diǎn)會(huì)異常畫(huà)出來(lái)可能是黑的或者完全沒(méi)反應(yīng)?;谺lender檢查法線翻正后重新導(dǎo)出。還有一個(gè)不太常見(jiàn)但很坑的原因貼圖分辨率設(shè)置得太低而模型UV又特別碎。這種情況下每個(gè)UV島分到的像素太少筆刷畫(huà)上去幾乎看不出變化。解決辦法是提高貼圖分辨率或者重新規(guī)劃UV把重要的UV島放大。6.2 貼圖接縫明顯怎么補(bǔ)救接縫問(wèn)題分兩種一種是UV島之間的接縫一種是貼圖邊緣的接縫。UV島之間的接縫根本解決辦法是展UV時(shí)留夠間距、藏好位置。如果已經(jīng)畫(huà)完了才發(fā)現(xiàn)接縫明顯可以在ArmorPaint里用克隆筆刷或者涂抹筆刷做局部修補(bǔ)把接縫處的顏色過(guò)渡抹平。貼圖邊緣的接縫通常是因?yàn)橘N圖沒(méi)有做邊緣擴(kuò)展。ArmorPaint導(dǎo)出時(shí)可以設(shè)置邊緣擴(kuò)展的像素?cái)?shù)一般設(shè)4到8個(gè)像素能有效緩解邊緣接縫。如果目標(biāo)引擎支持也可以在引擎里開(kāi)紋理過(guò)濾來(lái)減輕。還有一個(gè)技巧在接縫處畫(huà)的時(shí)候把筆刷的硬度調(diào)低用軟筆刷過(guò)渡。硬筆刷在接縫處容易留下明顯的邊界軟筆刷的過(guò)渡更自然。6.3 性能突然變卡的原因排查畫(huà)著畫(huà)著突然變卡通常有幾個(gè)原因。第一貼圖分辨率太高顯存吃滿了。檢查一下當(dāng)前工程的貼圖尺寸如果開(kāi)了8K試試降到4K看是否流暢。第二圖層太多每層都在實(shí)時(shí)合成。把暫時(shí)不用的圖層隱藏或者合并能明顯減輕負(fù)擔(dān)。第三筆刷間距設(shè)得太小導(dǎo)致單位距離內(nèi)計(jì)算量暴增。適當(dāng)調(diào)大間距。第四后臺(tái)有其他程序占用GPU關(guān)掉不必要的程序。如果以上都排查了還是卡那可能是模型面數(shù)太高。ArmorPaint在繪制時(shí)會(huì)實(shí)時(shí)渲染模型面數(shù)太高的話即使貼圖不大也會(huì)卡。這種情況建議在Blender里做減面或者把模型分成幾個(gè)部分分別繪制。6.4 工程文件管理和備份的血淚教訓(xùn)ArmorPaint的工程文件會(huì)引用外部貼圖如果你移動(dòng)了貼圖文件或者改了路徑工程打開(kāi)時(shí)就會(huì)丟貼圖。我的做法是每個(gè)項(xiàng)目建一個(gè)獨(dú)立文件夾工程文件和所有相關(guān)貼圖都放在里面整個(gè)文件夾一起備份。別把貼圖散落在各個(gè)地方也別用絕對(duì)路徑引用。另外養(yǎng)成定期另存版本的習(xí)慣。材質(zhì)繪制是個(gè)反復(fù)調(diào)整的過(guò)程有時(shí)候改了一版發(fā)現(xiàn)還不如上一版如果沒(méi)有版本備份就只能重畫(huà)。我一般會(huì)在幾個(gè)關(guān)鍵節(jié)點(diǎn)另存鋪完基礎(chǔ)色、畫(huà)完主要細(xì)節(jié)、最終導(dǎo)出前。這樣出問(wèn)題可以快速回退。還有一點(diǎn)ArmorPaint的工程文件在不同版本之間可能有兼容性問(wèn)題。如果你升級(jí)了軟件版本打開(kāi)舊工程前先備份一份確認(rèn)沒(méi)問(wèn)題再繼續(xù)用。7. 把ArmorPaint放進(jìn)完整工作流的幾種組合方式7.1 純Blender加ArmorPaint的輕量組合這是最省事的組合適合獨(dú)立開(kāi)發(fā)者和學(xué)習(xí)階段。流程是Blender建模、展UV、烘焙必要的貼圖比如AO、曲率導(dǎo)出模型到ArmorPaint繪制材質(zhì)導(dǎo)出貼圖回Blender驗(yàn)證最后在Blender里渲染或者導(dǎo)出到引擎。這個(gè)組合的優(yōu)勢(shì)是工具少、鏈路短、沒(méi)有額外費(fèi)用。烘焙這一步在Blender里用Cycles就能做雖然不如專(zhuān)業(yè)烘焙工具快但勝在免費(fèi)且可控。對(duì)于中小型項(xiàng)目這套組合完全夠用。要注意的是Blender的烘焙設(shè)置采樣數(shù)、邊距、輸出格式都要調(diào)好不然烘焙出來(lái)的貼圖質(zhì)量不行會(huì)直接影響ArmorPaint里的繪制效果。7.2 配合其他DCC工具的擴(kuò)展組合如果你的項(xiàng)目涉及多個(gè)DCC工具比如用Maya做硬表面、用ZBrush做高模、用Blender做整合那ArmorPaint可以作為統(tǒng)一的材質(zhì)繪制環(huán)節(jié)。流程是各工具產(chǎn)出的模型統(tǒng)一導(dǎo)出成標(biāo)準(zhǔn)格式在Blender或者專(zhuān)門(mén)的UV工具里統(tǒng)一展UV然后進(jìn)ArmorPaint繪制。這種組合的關(guān)鍵是統(tǒng)一模型格式和尺度。不同DCC工具的默認(rèn)單位和坐標(biāo)軸可能不一樣導(dǎo)出前一定要統(tǒng)一不然進(jìn)ArmorPaint后模型大小和朝向會(huì)亂。我一般以Blender為基準(zhǔn)其他工具導(dǎo)出的模型都先導(dǎo)入Blender檢查一遍再往ArmorPaint送。7.3 面向游戲引擎的最終輸出如果最終目標(biāo)是導(dǎo)入游戲引擎那ArmorPaint的導(dǎo)出設(shè)置要按引擎的規(guī)范來(lái)。不同引擎對(duì)貼圖通道的打包要求不同導(dǎo)出前查清楚。另外引擎通常對(duì)貼圖分辨率有要求移動(dòng)端項(xiàng)目一般控制在1K到2KPC和主機(jī)項(xiàng)目可以用到4K甚至更高。導(dǎo)出后建議在引擎里做一次完整的材質(zhì)驗(yàn)證看光照、反射、法線效果是否正常。引擎里的渲染管線和Blender可能不同有些在Blender里看著沒(méi)問(wèn)題的貼圖進(jìn)引擎后可能暴露新的問(wèn)題。提前驗(yàn)證比后期返工劃算。我在實(shí)際項(xiàng)目里用ArmorPaint的體會(huì)是它最適合的場(chǎng)景是中小型項(xiàng)目的材質(zhì)繪制特別是那些不需要復(fù)雜程序化材質(zhì)、靠手繪就能搞定的項(xiàng)目。它的學(xué)習(xí)曲線比Substance Painter平緩對(duì)Blender用戶尤其友好因?yàn)楹芏喔拍钍窍嗤ǖ?。但如果你要做的是高度?xiě)實(shí)的角色或者需要大量程序化生成的場(chǎng)景它目前還替代不了成熟商業(yè)軟件。把它當(dāng)成工具箱里的一件趁手工具而不是萬(wàn)能鑰匙心態(tài)就對(duì)了。最后分享一個(gè)小技巧ArmorPaint的筆刷和材質(zhì)預(yù)設(shè)是可以自己導(dǎo)出和分享的如果你調(diào)出了一套好用的筆刷參數(shù)記得導(dǎo)出備份換電腦或者重裝的時(shí)候直接導(dǎo)入能省不少重新調(diào)參數(shù)的時(shí)間。