網頁

2018年12月11日 星期二

匯入FBX檔案至Unity材質的設定 - Shader

我習慣使用iClone軟體做人物建模,並套用動作。
完成後直接丟到Unity裡面,做後續發佈至其他VR硬體的事情。

將FBX檔案匯入Unity時,材質常常需要另做指定。
那是因為材質的資料夾(folder)沒有指定好,
只需去Material裡面,把材質的資料夾指定一下,即可。

以下用圖示再仔細講一次。



一般而言,FBX檔案丟進Unity時會長這樣。



模型沒有材質在上面,是赤條條的白色或灰色。
1. 這時候可以去① Material,點選Material之後
2. 在② Location,點選「Use External Materials(Legacy)」
3. 然後,按下Apply



4. 再來,它會自動生成兩個檔案夾,
    一個是Materials,另一個是xxx.fbm

5. 進去Material資料夾看一下,裡面會依照這個3D模型的結構,
    自動生成各個部件(part)的材質球,眼睛、身體、衣服、鞋子等,都各自有其材質球。

   一個材質球可以用來裝載多個用來呈現樣貌的Texture檔案,譬如:Diffuse, Normal, Specular。
 


6. 進去001.fbm資料夾看一下,裡面幫我們載入各個部件(ex.眼睛、衣服等)的材質球,該材質球所需的Texture檔案,譬如:Diffuse、Normal、Specular



7. 這個FBX人物建模,在結構上,以及其對應的材質球,和材質球裡面的Texture檔案。
    對應的關係,就是如下圖所示。

8. 我先前在匯入FBX檔案,以及材質匯入,通常做到這一步,就都可以成功匯入了。

不過,我這次遇到一個問題,材質球匯進來以後,結果人物變成這樣。



這個問題的解法,找了好久,原來不難,只是要稍微理解一下Unity裏頭,對於3D模型的使用與概念,即可。

有個叫做Shader的東西,概念上比較像是3D模型放到舞台上(這已類似是模擬發佈後情況)之後,或可是說是這個模型最後要發佈到VR裝置時,我們想如何呈現(render)這個3D模型,
Unity提供一些選項讓我們做設定。

因為是考慮到render的情況,所以得先把模型先放置到舞台上,之後才能做調整與設定。
步驟上是這樣的,誠如上圖所示,先把FBX模型,拖曳到舞台上。



1. 先把FBX模型,拖曳到舞台上。
2. 把模型的結構展開,如上圖 ① 所示。
3. 針對想要修改的部件,點擊進去,可以在右邊的Inspector看到選項,如上圖 ② 所示。





4. 如上圖,點擊①這個箭頭符號,可以把相關功能展開。

5. 點擊②裡面的選項,可以選擇你想要使用的Shader

6. 這個人物模型裡,有的Rendering Mode預設是Transparent
    難怪會顯示破破碎碎的樣貌,只需點擊③,然後改成Opaque,即可。

7. 有耐心的,一個個部件點擊進去,設定好之後,就可以把FBX模型修改好了。




參考出處:FBX Importing to Unity 2017/2018+|Where did my texture go? 前往[連結]

沒有留言:

張貼留言