前言
在上一次的實驗中發現,在製作低模的拓樸對於高模bake上非常有關係,在製作低模的時候不能用差高模拓譜太多的方式製作,之前的實驗雖然目前render出來的底部看起來還是不太OK,但是看起來柵欄的線條已經堪用了,也達到了我們需要的low poly效果,接著就開始將進氣柵欄製作新的低模來Bake看看是否如我們實驗的結果一樣。
- 因為原本的高模進氣柵欄高模有77118個面數,光一個模型就佔了相當高的面數,所以依照上一個實驗我需要再建立一個依照高模的拓樸製作低模。
製作模型的時候像這種可以鏡射製作的模型只需要建立一半的模型即可,利用原本高模的位置跟形狀進行節省型拓樸,首先需要先依照高模的外型製作外框,這邊我是直接拿高模的模型刪除到只剩最外面的點,因為這樣最準確也可以在製作斜線拓樸上知道怎麼切會比較省。

外型做好以後就要開始製作斜線的拓樸,這邊我是使用Line cut來做柵欄式的拓樸,因為低模的關係我不想要太多餘的面,所以我是以原本的斜線間隔的方式來製作,而斜線的線最好都在原本的高模線上並取中間的位置。

2. 再來就是比較苦工的部分了,因為拓譜好的斜線只是對到高模的線上,但是模型的部分是很3D且不是規則的曲型,所以要利用點對點的方式來對,到時候bake的時候才不會因為沒有對到點而產生失敗。

苦工的部分要利用三視圖以及Vertex Snap來對點會比較快一點,其實說快也是沒辦法快,這就像是重新建模一樣但是又要以低模的方式去製作,所以需要一些精神跟耐心去製作,這邊我都將點的位置在高模的中心點位置製作,之後要調整也比較好製作,這部分算是蠻基本建模的技術。

3. 這時候製作好低模的一半以後就可以利用Symmetry製作鏡射,並按C讓物件變成一個真正的模型物件。

因為進氣柵欄的部分還有底部的模型需要製作,這時候要當作bake用的低模來 Extrude 產生立體的底部。

4. 整個高模邊框、柵欄、底部的模型都準備好以後,接著要進行boolen了,但是在進行boolen前要注意原本高模的柵欄上有很多的洞,因為boolen需要完整的模型才可以製作,所以也是要把這些洞全部補起來。

這邊我用了幾種方法,其中以第三個方式最快。
- polygon pen – 用點的方式

2. Bridge – 用線對線的方式

3. Loop Selection – 首先先選整個缺洞的線

接著使用Close Polygon Hole來製作面。

面補起來以後還是需要讓他是合法的面,所以這邊使用Triangulate直接讓電腦做拓樸即可。

5. 洞補好以後就要準備將三個模型合併了,但是放上去後會發現有很多地方有模糊的交界,這時候還是需要苦工的一個一個調整位置,到時候boolen以後才不會產生錯誤。

6. 製作好高模的模型後,接著利用之前製作好的低模來跟高模對位,對位完成後就可以開始bake Normal 了。
Bake Normal的方法可以參考之前J哥所教學的流程 傳送門 。

然後我們就可以將剛剛bake好的Normal map製作材質球,並放上去看看。

放上去看起來好像還OK,接著我們來Render看看效果。

Bake Normal的結果出來成功地看到柵欄的形狀被保存了下來,而且面數降低了非常多,算是一個良好的實驗成果。

小結:
這次的實作過程中因為模型本身比較複雜一點,但是也沒有人臉那樣的複雜,但是因為此次的高模是有很多的洞比較容易bake失敗,所以先前實驗了幾種方法才下去製作,但是經過這次的實作成功地從7萬多面減到8百多面,對於減面上可以說是非常大的減少,接著就要依照Unity HDRP的需求利用這張Normal map製作HDRP的材質球,目前我會設定利用Shader grpah的方式來使用這張Normal看看是否能夠將低模render出一個漂亮高模的皮。