激情六月丁香婷婷|亚洲色图AV二区|丝袜AV日韩AV|久草视频在线分类|伊人九九精品视频|国产精品一级电影|久草视频在线99|在线看的av网址|伊人99精品无码|午夜无码视频在线

高校合作1:010-59833514 ?咨詢電話:400-810-1418 服務(wù)與監(jiān)督電話:400-810-1418轉(zhuǎn)接2

「知識(shí)分享」3D制作人員需掌握的Unity知識(shí)

發(fā)布時(shí)間:2024-01-11 19:48:08 瀏覽量:141次

工作中經(jīng)常遇到3D制作不了解引擎要求導(dǎo)致返工或是被客戶說沒有經(jīng)驗(yàn),所以就邀請了工作十多年,經(jīng)驗(yàn)豐富的TA-紅偉大哥做了一篇相關(guān)文章為大家解惑,紅偉大哥也有相關(guān)獨(dú)立游戲開發(fā)經(jīng)驗(yàn)。


很多3D同學(xué)都會(huì)面臨一個(gè)問題,就是對引擎不熟悉,導(dǎo)致對某些資源規(guī)范和優(yōu)化方法知其然不知所以然,特別是3D相關(guān)的同學(xué),由于平時(shí)工作基本上不需要跟引擎打交道。另外3D美術(shù)外包更是如此,更沒有機(jī)會(huì)接觸到引擎。

于是,為了給廣大3D同學(xué)謀福利,此篇就誕生了。


引擎是什么?

想想汽車引擎是什么就明白了,要想讓汽車跑,必須要有引擎,同樣游戲要想運(yùn)行起來也需要引擎,引擎將我們的美術(shù)資源與程序組合起來并利用渲染、物理等模塊進(jìn)行拼裝使其可以正常運(yùn)行。汽車引擎有各種品牌,游戲引擎也是一樣,目前市場主流引擎有:Unity和Unreal,本篇我們主要討論Unity。


Unity引擎

Unity的版本相當(dāng)?shù)亩?,截止目前為止,最新的正式版?017.4.1f1。

每個(gè)版本的后綴你會(huì)發(fā)現(xiàn)不一樣,分別代表什么意思呢?

· b (beta版,也就是測試版,還沒有正式發(fā)布,b1代表beta第一個(gè)版本,b2代表beta第二個(gè)版本)。

· f (正式版,面向所有開發(fā)者的版本,一般比較穩(wěn)定)。

· p (補(bǔ)丁版,一般是針對正式版進(jìn)行的bug修復(fù)版本)。

比如上面的2017.4.1f1就是指版本為2017.4.1的第1個(gè)正式版.

選擇什么版本一般由項(xiàng)目主程來決定,所以我們不用過多操心,只要保證項(xiàng)目成員版本統(tǒng)一就可以了。


本篇重點(diǎn)

接下來,我們步入主題,我們以下幾個(gè)維度來重點(diǎn)分析下(由于篇幅有限,不能把每個(gè)步驟操作都詳細(xì)說明,還請各位3D同學(xué)見諒)


1. 規(guī)范

2. 品質(zhì)

3. 性能


規(guī)范

美術(shù)資源,不管是3D還是2D,也不管是模型還是動(dòng)作亦或者是特效,在引擎中都要有一定的規(guī)范才行,因?yàn)檫@些資源并不是給我們自己用的,而是團(tuán)隊(duì)中大家都會(huì)共同用到的資源,特別是程序,如果規(guī)范沒有定清楚,會(huì)導(dǎo)致工程很混亂,不管是后期維護(hù)的成本還是開發(fā)的成本都會(huì)增加不少。

那么關(guān)于3D模型的規(guī)范有以下幾點(diǎn):

· 單位



3D資源導(dǎo)入U(xiǎn)nity時(shí),首先面臨的問題就是單位,由于Unity中的單位是米,所以我們通過以上設(shè)置即可達(dá)到max與Unity的單位統(tǒng)一,這對于整體比例把控以及引擎中世界大小的制定相當(dāng)重要。

· 方向



由于Unity的坐標(biāo)系是左手坐標(biāo)系,max是右手坐標(biāo)系,而且Unity中z軸的正方向被認(rèn)為是前方(物理系統(tǒng),方向變換等都是基于此進(jìn)行的),所以為了使其簡單化,3D資源最好是將方向調(diào)整為unity的標(biāo)準(zhǔn)。


標(biāo)準(zhǔn):在max中,更改模型的軸,使其Z軸指向物體的前方,Y軸朝上!


品質(zhì)

不管是角色還是場景最終的美術(shù)效果都要以引擎的為準(zhǔn),不以引擎為目的的資源都是耍流氓!那如何要做到這一點(diǎn)呢?其實(shí)很簡單,單說品質(zhì)這一點(diǎn),只有一個(gè)概念——Shader。

Shader可能大家不是很了解,但是大家一定都對材質(zhì)相當(dāng)熟悉,那事情就簡單了,你可以理解為材質(zhì)的底層就是Shader,Shader是引擎中渲染一個(gè)物體時(shí)所必須要用到的一段程序代碼,一般是由TA或者程序來為項(xiàng)目制作的。一個(gè)物體的材質(zhì)質(zhì)感如何完全取決于Shader,材質(zhì)只不過是更上一層,可以用來調(diào)整 Shader中參數(shù)的對象而已。關(guān)于Shader,水很深,我們不做過多不相關(guān)介紹,本文主要圍繞作為3D美術(shù)所必須知道的知識(shí)來講解。


既然我們已經(jīng)知道了3D軟件中的效果并不是最終游戲所呈現(xiàn)的效果這件事情,那么作為一個(gè)有責(zé)任的3D同學(xué),就要想辦法去使自己做的3D資源能夠在引擎中顯示出最佳效果。

最常用的方法就是將自己制作的3D資源導(dǎo)入到Unity中進(jìn)行觀察效果(一定要使用項(xiàng)目定好的Shader,否則也是白調(diào)),來回反復(fù)調(diào)整,以使其在引擎中達(dá)到最佳。

那么要做到這一點(diǎn)我們需要掌握什么知識(shí)呢?

· Unity引擎的簡單使用(基礎(chǔ)教程網(wǎng)上很多,有天賦的同學(xué)自己打開軟件摸摸也就了解了)

· 重點(diǎn)學(xué)習(xí)下如何在Unity中給3D模型賦材質(zhì),以及調(diào)整材質(zhì)效果。

然后你就可以為所欲為了。。。


優(yōu)化

模型效果上來了,但是程序說太耗了,要優(yōu)化,這時(shí)我們不能讓自己于一臉蒙逼的狀態(tài),一定要有所覺悟,知道該如何去優(yōu)化。關(guān)于優(yōu)化,并且跟3D同學(xué)相關(guān)的,我們有以下幾點(diǎn)需要注意:


頂點(diǎn)數(shù)

很多同學(xué)以為模型影響消耗的都是三角面數(shù),只要控制三角面數(shù)就好了,其實(shí)不然,三角面數(shù)固然重要,但是頂點(diǎn)數(shù)也不容忽視,這里普及一個(gè)知識(shí)點(diǎn):渲染一個(gè)模型需要用到Shader,而Shader中又一定分為頂點(diǎn)著色器與片斷著色器,而頂點(diǎn)數(shù)量的多少直接與Shader中頂點(diǎn)著色器的消耗成正比。也就是就頂點(diǎn)數(shù)越多消耗越大!

除了常規(guī)美術(shù)上的少點(diǎn)少面以外,我們這里額外說兩點(diǎn)與引擎相關(guān)的,如何去減少頂點(diǎn)數(shù)。

首先我們做個(gè)簡單的測試:

在max建一個(gè)Box,然后導(dǎo)入到Unity中,觀察他們的頂點(diǎn)數(shù)區(qū)別。



max:8個(gè)頂點(diǎn),12個(gè)三角面

unity:24個(gè)頂點(diǎn),12個(gè)三角面

三角面數(shù)一致,頂點(diǎn)數(shù)竟然相差這么大!


產(chǎn)生頂點(diǎn)數(shù)不一致的原因主要有兩點(diǎn):

1. 光滑組不一致,當(dāng)多個(gè)面設(shè)置了不同的光滑組時(shí)(如果這些都處于一個(gè)平面,則不會(huì))就會(huì)導(dǎo)致頂點(diǎn)數(shù)增加。

2. 當(dāng)模型上一個(gè)頂點(diǎn)在UV中對應(yīng)多個(gè)頂點(diǎn)時(shí)(切割UV會(huì)產(chǎn)生這種效果)也會(huì)導(dǎo)致頂點(diǎn)數(shù)增加。

當(dāng)兩個(gè)面光滑組不一致時(shí),它們所共用的頂點(diǎn)將需要兩個(gè)表現(xiàn)法線方向的信息,unity中無法通過一個(gè)頂點(diǎn)來獲取到這些信息,所以在unity中會(huì)被識(shí)別為兩個(gè)頂點(diǎn),同樣,模型上的一個(gè)頂點(diǎn),在UV中出現(xiàn)在多個(gè)位置,也會(huì)被unity識(shí)別為兩個(gè)頂點(diǎn)。

當(dāng)然了,并不是說完全不能用光滑組與UV切割,只是如果我們知道了這些原理,那么在制作時(shí)就能夠盡量去規(guī)避這些問題了。


三角面數(shù)

這個(gè)沒有什么好說的,在保證效果的前提下,能少則少。


貼圖

貼圖的做法和Shader息息相關(guān),需要在前期與TA一起討論清楚,其中尺寸可以做的大些,因?yàn)榭梢灾苯釉趗nity中根據(jù)需求縮小,如果做小了,放大就會(huì)有損失了。還有要注意,最好是方形,同時(shí)是2的次冪。如果貼圖需要有額外的信息存儲(chǔ)到Alpha通道,則用tga,否則用png格式。


材質(zhì)

材質(zhì)數(shù)量直接影響DrawCall,所以盡量做到一個(gè)物體一個(gè)材質(zhì)球,特別是在max中盡量少用多維子材質(zhì)。因?yàn)槎嗑S子材質(zhì)的信息會(huì)被導(dǎo)入到unity中,并以多個(gè)材質(zhì)的形式出現(xiàn),除非你真的需要這么做。


頂點(diǎn)色

頂點(diǎn)色如果不需要的話一定要清除,因?yàn)轫旤c(diǎn)色在unity中會(huì)影響合批,導(dǎo)致性能下降,同時(shí)本身的頂點(diǎn)色數(shù)量也會(huì)導(dǎo)致模型本身的資源加大。



模型中的頂點(diǎn)色一旦修改,就會(huì)使模型附帶了頂點(diǎn)色屬性,既使你更改回默認(rèn)顏色和透明度也是一樣,這個(gè)時(shí)候只能通過ChannelInfo來移除了,注意在ID那一列中,標(biāo)識(shí)為:VC的就是頂點(diǎn)色(Vertex Color)。


UV數(shù)量

模型的UV數(shù)量正常情況下只需一套,如果在max設(shè)置了多套,既使沒有用到也會(huì)被導(dǎo)出到unity中,同樣也是通過Channel Info來移除。


如果大家能做到以上這些,那么TA和程序會(huì)愛死你的!




這里是最接地氣最普通的3D美術(shù)圈從業(yè)人員的交流地,希望可以將最實(shí)用的知識(shí)分享給你。

勵(lì)志成為業(yè)界一股清流,如果對你有用,期待你的轉(zhuǎn)發(fā)帶給我們更多動(dòng)力呦~

熱門課程推薦

熱門資訊

請綁定手機(jī)號

x

同學(xué)您好!

您已成功報(bào)名0元試學(xué)活動(dòng),老師會(huì)在第一時(shí)間與您取得聯(lián)系,請保持電話暢通!
確定