Untiy3D在美工方面需要知道的知識(更多資訊羣193521697邀請碼:10026)

1.引擎沒有說具體的面數限制,也許是跟VIRTOOLS一樣的標準,按機器性能而定。

2.導入圖形或者MESH的方法無非兩種,一種是直接拷貝到文件目錄下的Assets文件夾下面,Unity3d引擎會自動找到添加的文件,並且能在PROJECT面板中找到它。另一種是我們在PROJECT面板中用右鍵菜單,導入素材。

當然,我是用MAYA導入的,U3D引擎對於MAYA的支持還是不錯的,但是也需要注意,不要用中文的目錄結構,最好直接從MAYA的工程文件夾中導入,最好在導入MESH前先吧貼圖文件放到相應的文件夾,或者相關文件夾的子文件夾。

在我們導入場景文件的時候,需要在導入設置中勾選創建碰撞,這樣導入的場景我們就可以踩在上面了。(這跟我們添加碰撞組件是有些不同德)

3. Unity3d引擎支持大多數常用的貼圖,比如漫反射貼圖,高光貼圖,法線貼圖。如此一來,它就成了一個名副其實的次時代引擎了。當然與UNREAL引擎的強大材質編輯器不同,U3D引擎主要是編輯材質的方式是使用一種專門的語言,類似於CgFX和Direct3D的語法。當然如果不是專門的圖形程序員,我們只要掌握相關的SHADER的使用方法就可以了。在我們安裝完U3D引擎後,系統自帶的SHADER足夠我們日常大多數情況下使用了。如果我們還有特殊的要求,可以去官網上下載相關的程序,然後把代碼保存爲 .shader 的文件,放到相應的目錄底下,然後我們就有了這種SHADER。

------------------------------------------------------------------

掌握並且理解了上面我說的亂七八糟的三點,你就可以作爲一個U3D引擎的美工開始工作了。其中有幾個需要我們進行深入探討的幾個方面:一是導入的MESH的要求,如何減面,UV的情況怎樣,是否可以重疊UV。 二是導入的貼圖規範,我們的各種貼圖要達到怎樣的程度才能導入,並不是直接拍了照片貼上就很有效果的,我們需要在三維軟件中烘焙,之後才能導入。還有光照貼圖怎麼製作。三是各種材質的應用,比如說我們最常用在皮膚上的3S材質效果,如何在U3D引擎中實現這種效果?

至此,你可以輕鬆的駕馭U3D引擎的Assets部分了。(鬆了一口氣,其實很簡單)

然後我們要用引擎構建關卡。好吧現在你要成爲一個U3D引擎的關卡設計師,當然這裏面也有很多美工要做的事情。我們不用每天對着素材模型,貼圖罵娘了。

作爲關卡設計師,特別是U3D的,一定要有一個GAMEOBJECT的概念,在這個可愛引擎中,我們可以看到各種的元素都是由GAME OBJECT組成的,在GAME OBJECT上我們又可以添加組件在實現特定的功能,比如最簡單的位移。我在第一次使用這個引擎的時候,突然興致大發想要在場景中創建一盞燈,弄了半天都沒成,後來才明白,燈光是要附着在GAME OBJECT上的。同理,聲音也是要附着在這上面的。

還要有一個PREFABS得概念,就在層級菜單中的藍色文字所代表的屬性,其實就是在遊戲中可以無限複製的意思,比如子彈,比如無數的需要出現的小物件兒。

類似於三維軟件以及其他引擎,U3D的燈光分爲那麼普通的幾類,電光源、方向光、自然光。瞭解燈光的屬性和使用方法。

還有U3D引擎的物理系統。當我看到這個系統的時候我的心都開花了,一想到各種獨立遊戲中無敵的物理效果心裏就暗爽。比如我們可以用最簡單的方法做一個足球遊戲。

********************

還是做遊戲好,這個引擎能做網頁遊戲,也可以做PC單機遊戲,網絡遊戲,也可以做IPHONE平臺的手機遊戲。真是萬能了!

當然,上面很多都是初學時候的經驗,下面是我後來加上的一些內容,是經過學習總結和辛苦翻譯的。

讓你的遊戲能夠順暢的運行是成功的第一個要求。感謝UNTIY,他們通過大量的優化和調整可以讓這個引擎發佈的遊戲運行於各種不同性能的硬件系統。下面是一個通用的優化遊戲性能的方法。

 

 

總體來說:合併,合併,合併!

如果你比較關心遊戲的速度,請合併模型。最好能夠把合併的模型使用同樣的材質和貼圖。RenderingStatistics窗口時很有用的!

現在的圖形顯卡可以很好的支持很多的多邊形,但是他們他們還是有一些瓶頸的。所以如果你有一個有100個三角形的MESH,它渲染起來所需要花費的運算跟1500個面數的物體是沒有多大差別的。因此最佳的渲染設置時每個模型大約1500-4000個三角面。

只有在遊戲組件中的屬性欄中勾選Mesh Renderer選項顯卡纔會渲染相應的模型,並且在場景中的空的GameObject組件是不會被渲染的。

      所以再次重複,最好的導入渲染設置時合併Objects直到他們每個模型在1500個三角面面甚至更高一些,並且爲整個模型使用一個材質。

如果只是把兩個模型合併在一起但是不共同使用同一個材質並不會給你的圖形帶來一點優化。如果你想有效的合併物體,你需要保證你合併後的模型使用一個材質。(其實就是儘量減少材質球的數量)

在你合併物體的時候需要知道一件事:如果你在你的場景中用到了很多小的燈光,你可以把場景中離得很近的物體合併爲一個Object。

按照上面的思路,如果一個MESH具有多個材質球,那就說明在計算機渲染的時候是要進行多重運算的。最普遍的你之所以一個MESH用多個材質的原因是因爲兩個材質不能使用相同的貼圖。所以如果你想要優化渲染設置,你最好確定你合併的那些MESH的材質是相同的。

      Unity對於向顯卡導出各種多邊形是很擅長的,它可以很詳盡的把所有的圖形導入到顯卡,並且優化數據。你需要做的只是確定你的圖形顯示卡正常工作。而不是要調整很多手動調節的設置。

      Thenumber of Pixel Lights affecting an object heavily affects performance. 相當數量的實時燈光對於遊戲速度也是有限制的。

如果你想要有一個不錯的展示,並且不關心凹凸貼圖和實施燈光(Bumpmapping orPixel Lighting),可以去Edit->Render Settings...然後設置Pixel Light Coun爲0.這將會給所有的Object使用頂點燈光。這將會讓所有的物件在每一幀都會被渲染一次。這是一個比較極端的LOD設置,所以你的遊戲就可以再比較老的圖形顯卡下運行了。

Pixel lights 像素燈光

如果你使用的是像素燈光,那麼每個被這個燈光照射到的GameObject都會在每一幀被渲染一次。如果你合併了兩個距離很遠的物體,他就會增加物件的大小,然後你就會需要一些燈光來照亮這些物體。如果你的物件是分開的,燈光將不會渲染遠處的物體,這將會導致模型得到多次渲染,相比較沒有被合併的模型,我們並沒有得到多少實惠。因此,如果你的GameObject中有很多獨立物件的時候,你可以讓他們離得比較遠。

當渲染一個模型的時候,UNTIY如果發現很多燈光在MESH的周圍,它將會找出那個是主要影響這個MSEH的燈光,在Edit->RenderSettings中的設置就是用來調整有多少個燈光最終作爲像素燈光有多少作爲頂點燈光。

每一個燈光通過計算離MESH得距離和自己燈光強度來決定自己的重要程度。

在遊戲中的某些燈光是很重要的,所以,每一個燈光都會有一個Render Mode設置,這個用來設置哪一個可以被用來設置爲Force Pixel 或者 Force Vertex.

想象一下假如我們是一個駕車的遊戲,你的角色在夜晚打開車燈,前面的車燈就是遊戲中最重要的燈光。因此,前大燈的渲染模式將會被設置爲Force Pixel

當然如果你有一個不是很重要的燈光,也是選擇使用"ForceVertex"的渲染模式,這個方式也不會對遊戲的速度有很大的影響的。

影子

陰影普遍運算量比較大。如果運用得當,可以讓遊戲畫面出色,你也可以樂隊相關文檔。

角色建模優化

你的角色應該只被用於一個蒙皮模型渲染器。當然有時候可能需要多個蒙皮的模型,但是如果你同時用兩個蒙皮來作爲一個角色,它就相當於你進行了兩個角色的運算量。
你同樣需要保持MESH的材質數量儘可能低。一般建議身體的材質數量爲2-3個,當然如果你有武器的材質,也是需要單獨一個的,因爲你需要換武器。
減少骨骼的數量,一般來說遊戲中的骨骼數量爲15-60個。骨骼越少運行速度越快,一般來說30塊骨骼就可以讓角色動的很舒服了。如果你不是有特殊的設置,我們強烈建議每個角色30個骨骼。
多邊形的數量主要是看你對遊戲的質量要求,500-6000個三角面是比較推薦的。如果你的遊戲場景中將會出現多個角色,那麼就要適當的降低一下多邊形數量了。如果你想要在比較老的機器上運行,你需要更少的多邊形數量。比如,半條命2遊戲的角色通常是2500-5000個三角面。達到AAA標準的次時代遊戲比如像是PS3或者XBOX360上的遊戲角色通常有5000-7000個三角面。


把IK控制器和FK控制器分離,當動畫導入以後,IK的節點將會烘焙到FK上,其實UNITY並不需要IK節點,你可以刪除它們。
創建一個公共的骨架,這樣就可以讓你讓不同的角色之間共享動作了。
給每一個骨骼正確的命名,方便團隊工作,也方便類似於Motionbuilder的動作軟件,不然你得每次指定骨骼。

優化綜合的圖形卡
優化模型參數
使用盡量少的面
   UV接縫的數量儘可能少
烘焙燈光

烘焙燈光到光照貼圖或者到頂點顏色。

MAYA具有不錯的製作光照貼圖的工具,UNITY可以從MAYA中導入第二個UV貼圖或者頂點顏色。

製作環境的光照貼圖的流程要比直接在場景中打燈光要繁瑣的多,但是運行速度明顯增快。
如果你使用全局光並且平滑光照貼圖,可以讓畫面效果明顯增強。
甚至次時代遊戲比如戰爭機器始終在很多方面使用光照貼圖。通常他們在場景中使用光照貼圖,然後在上面放置一個動態燈光。在UNITY中也可以製作相應的光照貼圖Shader.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章