發(fā)布時(shí)間:2024-01-11 16:22:00 瀏覽量:202次
對(duì)于完全聽不懂的葡萄君來說,這堂課聽得太“生動(dòng)”了。
據(jù)統(tǒng)計(jì),全球前1000款最賣座的手機(jī)游戲中,約三分之一的游戲都是使用Unity軟件制作而成,其中就包括最近十分火爆的《Pokémon Go》游戲。
而它和Epic Games公司旗下的虛幻引擎(Unreal Engine)也構(gòu)成了業(yè)界兩大領(lǐng)先的引擎。雖然目前國(guó)內(nèi)大廠開始在自研引擎領(lǐng)域試水,但對(duì)于大部分團(tuán)隊(duì)而言,這兩種引擎對(duì)于項(xiàng)目開發(fā)將是必不可少的工具之一。那么,游戲開發(fā)者該如何選擇引擎打造高品質(zhì)游戲畫面?
7月21日,第五期葡萄學(xué)院「如何選擇引擎打造高品質(zhì)游戲畫面?」圓滿完成。前《永恒之塔》技術(shù)總監(jiān)魯棟振雖然是一名韓國(guó)開發(fā)者,去年剛剛來到中國(guó),但是它作為本期學(xué)院的導(dǎo)師,依然進(jìn)行了詳盡的中文分享,并回答了同學(xué)們的疑問。
以下內(nèi)容是第五期葡萄學(xué)院的精華內(nèi)容,經(jīng)葡萄君整理發(fā)布。
PS:本次公開的內(nèi)容并非我們課堂內(nèi)容的全部,如果您對(duì)葡萄課堂的內(nèi)容感興趣,不妨關(guān)注我們的下一期內(nèi)容。當(dāng)然如果您想成為老師,分享您的內(nèi)容,我們也非常歡迎~╰(*°▽°*)╯不管您想成為學(xué)員還是老師,請(qǐng)?zhí)砑佑螒蚱咸丫ㄎ⑿盘?hào):gamegrapes)為好友,快來加入吧~
大家好,我叫Eugene Rho,中文名魯棟振。今天準(zhǔn)備分享下我在移動(dòng)游戲開發(fā)中的經(jīng)驗(yàn)。
最先分享的是為什么我選擇了Unity引擎,而不使用虛幻引擎?


我想在移動(dòng)設(shè)備上開發(fā)高品質(zhì)的游戲,但是在移動(dòng)設(shè)備上會(huì)遇到這樣的問題:

但是移動(dòng)設(shè)備會(huì)有很多硬件的限制,虛幻引擎雖然畫面很好,但是只能在opengl 3.0以上比較好的展示,無法兼容中國(guó)更多的安卓手機(jī),而Unity引擎在移動(dòng)設(shè)備上相差不多。

虛幻引擎在很多安卓手機(jī)會(huì)是這樣的畫面:

但是我希望Unity也能開發(fā)出更好看的畫面。所以,我在Unity基礎(chǔ)上,采用虛幻引擎的渲染方式,二次開發(fā):

這是虛幻引擎在高配置手機(jī)上出來的HDR效果:

它的實(shí)現(xiàn)原理是這樣的:

這是虛幻引擎用來實(shí)現(xiàn)更好看畫面的、像素保存的方式。我框起來的深度值,會(huì)決定平時(shí)游戲制作中,景深還有影子,霧等方面的表現(xiàn)。

一般的顏色是0-255,但是如果想保存高光效果,就必須使用32bit float color render target。使用它需要消耗很多內(nèi)存,這個(gè)時(shí)候就容易導(dǎo)致游戲閃退,還會(huì)memory bandwidth開銷提高,所以很多高品質(zhì)的手機(jī)單機(jī)游戲,只能在iOS蘋果手機(jī)上運(yùn)行。如果硬件配置不夠,則無法顯示HDR效果。

但是,我又想在低配置手機(jī)上,實(shí)現(xiàn)HDR效果,所以我采用了這樣的辦法:

我們不使用float color render target 的方式,高光的顏色信息收集到alpha channel。

高光部分的信息消失,但是高光Luminance會(huì)保存到alpha channel。我們可以不使用float RT,還是用byte RT,可保存高光lumimance信息。使用這個(gè)信息,通過bloom技術(shù)能實(shí)現(xiàn)HDR效果。

左邊是沒有HDR,右邊是使用這個(gè)技法實(shí)現(xiàn)的HDR。這個(gè)技法比正式的HDR性能很高。因?yàn)椴皇褂胒loat RT. 不需要多內(nèi)存和多memory bandwidth。

左邊是在alpha channel保存的Luminance信息。這個(gè)問題的缺點(diǎn)是不能保存有顏色的高光。因?yàn)橹荒鼙4娓吖獾腖uminance,不保存高光顏色。不過可以實(shí)現(xiàn)很亮的白色,不能實(shí)現(xiàn)很亮的紅色。
但還有一個(gè)優(yōu)點(diǎn)是,除了計(jì)算燈光出來的HDR,它還能表現(xiàn)跟燈光沒有關(guān)系的特效bloom。還有其他優(yōu)點(diǎn),如下圖:

然后我沒有采用Unity的bloom效果,而是自己改造了渲染引擎的bloom效果,按著已經(jīng)收到的luminance信息,使用該找的bloom shader,實(shí)現(xiàn)了最后的結(jié)果。

除了HDR,使用LUMINANCE,還可以別的效果,正在開發(fā)按著每個(gè)配置上出現(xiàn)的效果不同的系統(tǒng),然后,我們?cè)谧詈玫氖謾C(jī)上可以實(shí)現(xiàn)這個(gè)效果。



最后一個(gè)是場(chǎng)景。但是考慮到中國(guó)環(huán)境,有些高品質(zhì)的材質(zhì)貼圖還是得換成512。
問答環(huán)節(jié)
1.提個(gè)問題,alpha通道才8位,怎么放HDR也就是大于255的亮度值?
我本來也考慮使用正式的HDR。在電腦上使用過,在手機(jī)上也實(shí)現(xiàn)過。這其中我發(fā)現(xiàn)了一個(gè)點(diǎn),高光的像素一般不超512,float值的話就是不超2。當(dāng)然有超的很高亮的部分,我發(fā)現(xiàn)了這樣的部分很小,決定忽略這點(diǎn)。
所以在alpha channel上保存的luminance是超1到2的值。超2的像素是保存為2,這也算是一個(gè)缺點(diǎn)。不能表現(xiàn)超量的效果,這個(gè)可以調(diào)整。如果一個(gè)場(chǎng)景上不要1~2的luminance可以使用1~3的范圍,這個(gè)不用固定的范圍。
2.游戲開發(fā)中美術(shù)對(duì)游戲性能把控的一個(gè)度怎么去衡量?往往游戲中會(huì)遇到性能問題,而不得不妥協(xié)然后降低美術(shù)效果。
韓國(guó)很重視畫面效果,所以開始不考慮性能,先做出好看的畫面,再考慮如何優(yōu)化。我對(duì)中國(guó)公司還了解的不多,但是我知道網(wǎng)易開發(fā)的質(zhì)量也非常高。所以,我想我在中國(guó)大概要理解中國(guó)的需求和韓國(guó)的需求。我現(xiàn)在的方式是,按照目前團(tuán)隊(duì)的需求,在這個(gè)范圍內(nèi)做出更好看的畫面。
Unity比虛幻引擎更需要圖形渲染優(yōu)化技術(shù),因?yàn)閁nity引擎的渲染目前不如虛幻引擎,一個(gè)好的角色,是由模型面數(shù),貼圖質(zhì)量,材質(zhì)系統(tǒng)和渲染系統(tǒng),還有特效共同打造。模型面數(shù)和貼圖質(zhì)量主要是看美術(shù)從業(yè)者素質(zhì),材質(zhì)系統(tǒng)和渲染主要是看程序員。
特效的話其實(shí)韓國(guó)也很缺高質(zhì)量的從業(yè)者。每個(gè)引擎都一樣,哪怕是自己研發(fā)的引擎,也還是需要自己開發(fā)渲染工藝。我也經(jīng)常參考虛幻4他們是如何做出好的畫面,比如會(huì)看Shader一些源代碼。
3.市面上的Unity引擎做出來的游戲的畫面,感覺很粗糙,相比于九陰真經(jīng)這種用自己引擎的游戲,如果是2d游戲的話選擇COCOS2d是不是更好呢,能具體說下優(yōu)劣嗎?
很抱歉,我的游戲開發(fā)生涯沒有接觸過2D游戲引擎,無法回答,我一直是3D游戲開發(fā)。
4.次世代手游的貼圖能做哪些優(yōu)化來降低貼圖容量大小同時(shí)保證視覺效果?
這其實(shí)是很困難的,一個(gè)游戲包體大部分是貼圖大小,不完全是美術(shù)從業(yè)者,程序也很重要。我也在嘗試有沒有好辦法,目前還沒完全開發(fā)完,所以嘗試中的技術(shù),不方便公開。
Unity引擎一個(gè)缺點(diǎn)是,不支持PNG或JPG發(fā)布。雖然提供Texture2D.LoadImage.. 可以使用這個(gè)函數(shù),使用 jpg 文件,但是這個(gè)方式也有限制。這個(gè)函數(shù)只能生成uncompressed 貼圖,它占很大的內(nèi)存。我們正在考慮開發(fā)發(fā)布jpg文件,開發(fā)native library,自己 encode to ETC.. 使用NEON architecture. 然后使用生成compressed貼圖。
目前基本的功能已經(jīng)開發(fā)完測(cè)試了,但是還是缺少足夠的開發(fā)人員,在深圳招人很不容易,大家都去騰訊了。我也特別希望能有人和我一起做這方面開發(fā)的嘗試。
我覺得這個(gè)辦法可以保證視覺效果不降低,然后又可以優(yōu)化貼圖,但是自己一個(gè)人開發(fā)過來,所以暫時(shí)說的這個(gè)辦法,沒有完全驗(yàn)證。
5.在unreal引擎下怎么根據(jù)設(shè)計(jì)的要求?比如同屏要求多少主角、敵人、場(chǎng)景等計(jì)算同屏的模型數(shù)上限?
這個(gè)問題沒有標(biāo)準(zhǔn)答案,模型面數(shù)其實(shí)不是最重要的問題,還得根據(jù)游戲類型決定。我們自己的游戲就是一萬多面的回合制。我們只有一個(gè)Boss,所以可以設(shè)置一萬多面,一百多骨骼,但是我覺得沒有參考意義。比面數(shù)更重要的是Drawcall,這個(gè)要控制在200以下,面數(shù)8萬和10萬的時(shí)候,差不了太多。但是Drawcall很重要,最好控制同屏200以下。
6.美術(shù)對(duì)于美術(shù)專業(yè)工具的使用會(huì)更專業(yè),而程序在通過評(píng)估引擎和實(shí)際情況后,可能不去使用美術(shù)之前選擇的或者他們擅長(zhǎng)的美術(shù)工具,這種情況下如何平衡?
這個(gè)問題可能得大家一起討論,比如團(tuán)隊(duì)中的程序是否愿意為美術(shù)開發(fā)專門的工具。我之前和現(xiàn)在的團(tuán)隊(duì),都會(huì)為美術(shù)盡可能的開發(fā)一些工具,為了方便他們高效的工作。我自己特別想做出好看的畫面,所以,我建議最好是雙方去平衡下開發(fā)效率,決定工具使用情況,沒有什么對(duì)錯(cuò),只有是不是適合自己團(tuán)隊(duì)。我現(xiàn)在來到中國(guó),為美術(shù)專門開發(fā)的其實(shí)也很少,因?yàn)槌绦蜷_發(fā)任務(wù)很重。
7.1個(gè)角色算上各種掛件(披風(fēng)、護(hù)臂、武器等),有近5k面,100多根骨骼,掛件有自己獨(dú)立的動(dòng)畫,總共6個(gè)以上skinmeshrender。這種標(biāo)準(zhǔn)在手機(jī)上超了嗎?
是BOSS可以,是NPC就超了。偶爾出現(xiàn)1,2個(gè)可以,如果都這樣就會(huì)很卡吧,主角如果只有一個(gè)的話應(yīng)該還可以。我沒有這樣使用,而是在U3D上,使用自己改造的渲染Paran工具,并不是把U3D和虛幻結(jié)合一起用,如果開發(fā)VR,我可能會(huì)選擇虛幻(不過也還沒超過Unity);如果是開發(fā)手機(jī)游戲,短時(shí)間不會(huì)選擇Unity。
8.MMO中每個(gè)玩家都可能達(dá)到這種標(biāo)準(zhǔn),請(qǐng)問魯老師是怎么平衡的呢?
很難,這樣的角色只能有1-2個(gè),多了超標(biāo)。
9.很多游戲中是不使用normal map 而是使用直接模型,但那樣有很多面數(shù),如果權(quán)衡的話是用高面數(shù)實(shí)現(xiàn)還是使用貼圖實(shí)現(xiàn)?
我現(xiàn)在開發(fā)的使用的是Normal map。
10.請(qǐng)問美術(shù)人員在游戲引擎中制作材質(zhì)設(shè)定的時(shí)候,引擎的節(jié)點(diǎn)多以程序語言表現(xiàn)出來, 那么美術(shù)人員該如何做能更好的理解這些節(jié)點(diǎn)所表達(dá)的含義以及使用這些節(jié)點(diǎn)進(jìn)行材質(zhì)編輯?
Shader優(yōu)化是程序,程序制作局部的部件,并且給美術(shù)人員一定的限制,為了保證效率,美術(shù)人員負(fù)責(zé)組合使用這些部件。
Unity有這樣的插件,可以自己調(diào)整,不用自己寫代碼,但是不好用。我們不使用Unity4了,Unity5的效果更好。如果需要更好的靜態(tài)展示,得多和美術(shù)溝通,程序和美術(shù)要一起合作,但是Unity4的渲染效果更差。
11.請(qǐng)問魯老師能分享unity4制作次時(shí)代靜態(tài)展示模型的一些心得嗎?好多游戲在創(chuàng)建角色場(chǎng)景會(huì)使用高模提取法線,再用低模實(shí)現(xiàn)高光效果,我嘗試下,總是有很強(qiáng)的塑料感。
主要是shader燈光和材質(zhì)導(dǎo)致,皮膚效果需要分散效果。
12.U5新的烘培很慢不好用,有啥解法呢?
我們也很辛苦,Unity5不支持多臺(tái)烘培,只能買好機(jī)器了,或者期待官方更快的開發(fā)完這個(gè)功能。
13.U3D自帶的pbr效率不高樣。老師在用么?
自己改造用,不用官方的,很費(fèi)效率。
14.如果做成VR項(xiàng)目,與普通次時(shí)代項(xiàng)目具體區(qū)別需要注意一些什么?
我還沒有資源開發(fā)VR,你要支持我嗎?
15.之前看過你分享的Micro Shader + Node Class Hierarchy材質(zhì)系統(tǒng),能給解釋一下么?能多介紹點(diǎn)實(shí)現(xiàn)細(xì)節(jié)么?

是說這個(gè)嗎?
本來一個(gè)Shader是一個(gè)整體。我現(xiàn)在開發(fā)的Shader,美術(shù)根據(jù)自己想要的效果,在我的shader里去挑選對(duì)應(yīng)效果,然后MIX到一起。雖然Unity的 #pragma shader_feature 或者 multicompile 很方便,但這兩個(gè)功能有數(shù)量限制,所以我自己開發(fā)了這樣的系統(tǒng)。而且開發(fā)過uber shader方式的系統(tǒng),這個(gè)也有限制。所以這次開發(fā)了新的方式的系統(tǒng)。
16.這套材質(zhì)系統(tǒng)是在運(yùn)行時(shí)自動(dòng)適配的吧?
材質(zhì)系統(tǒng)不是自動(dòng)適配,材質(zhì)系統(tǒng)是editor time時(shí)MIX出來,美術(shù)從業(yè)者在開發(fā)游戲時(shí)候會(huì)使用得到,它也是程序員為了做出更好的畫面和效果而開發(fā)的系統(tǒng)。
我聽說中國(guó)很多團(tuán)隊(duì)都不太重視這個(gè)系統(tǒng)。但是對(duì)于做出很好的游戲畫面和品質(zhì),很有幫助,美術(shù)開發(fā)人員需要這個(gè),才能做出好品質(zhì)的模型。
關(guān)注微信公眾號(hào)“游戲葡萄”,每天獲取最前瞻的游戲資訊
熱門資訊
探討游戲引擎的文章,介紹了10款游戲引擎及其代表作品,涵蓋了RAGE Engine、Naughty Dog Game Engine、The Dead Engine、Cry Engine、Avalanche Engine、Anvil Engine、IW Engine、Frostbite Engine、Creation引擎、Unreal Engine等引擎。借此分析引出了游戲設(shè)計(jì)領(lǐng)域和數(shù)字藝術(shù)教育的重要性,歡迎點(diǎn)擊咨詢報(bào)名。
2. 手機(jī)游戲如何開發(fā)(如何制作傳奇手游,都需要準(zhǔn)備些什么?)
?如何制作傳奇手游,都需要準(zhǔn)備些什么?提到傳奇手游相信大家都不陌生,他是許多80、90后的回憶;從起初的端游到現(xiàn)在的手游,說明時(shí)代在進(jìn)步游戲在更新,更趨于方便化移動(dòng)化。而如果我們想要制作一款傳奇手游的
3. B站視頻剪輯軟件「必剪」:免費(fèi)、炫酷特效,小白必備工具
B站視頻剪輯軟件「必剪」,完全免費(fèi)、一鍵制作炫酷特效,適合新手小白。快來試試!
4. Steam值得入手的武俠游戲盤點(diǎn),各具特色的快意江湖
游戲中玩家將面臨武俠人生的掙扎抉擇,戰(zhàn)或降?殺或放?每個(gè)抉定都將觸發(fā)更多愛恨糾葛的精彩奇遇?!短烀嬗肪哂卸嗑€劇情多結(jié)局,不限主線發(fā)展,高自由...
?三昧動(dòng)漫對(duì)于著名ARPG游戲《巫師》系列,最近CD Projekt 的高層回應(yīng)并不會(huì)推出《巫師4》。因?yàn)椤段讕煛废盗性诓邉澋臅r(shí)候一直定位在“三部曲”的故事框架,所以在游戲的出品上不可能出現(xiàn)《巫師4》
6. 3D動(dòng)畫軟件你知道幾個(gè)?3ds Max、Blender、Maya、Houdini大比拼
當(dāng)提到3D動(dòng)畫軟件或動(dòng)畫工具時(shí),指的是數(shù)字內(nèi)容創(chuàng)建工具。它是用于造型、建模以及繪制3D美術(shù)動(dòng)畫的軟件程序。但是,在3D動(dòng)畫軟件中還包含了其他類型的...
7. 3D打印技巧揭秘!Cura設(shè)置讓你的模型更堅(jiān)固
想讓你的3D打印模型更堅(jiān)固?不妨嘗試一下Cura參數(shù)設(shè)置和設(shè)計(jì)技巧,讓你輕松掌握!
8. 虛幻引擎5節(jié)省存儲(chǔ)空間用這招!緩存的清理與設(shè)置
眾所周知,虛幻引擎5(下面簡(jiǎn)稱UE5)特別占用存儲(chǔ)空間,僅一個(gè)版本安裝好的文件就有60G,這還不包括我們?cè)谑褂脮r(shí)保存的工程文件和隨之產(chǎn)生的緩存文件。而...
9. Bigtime加密游戲經(jīng)濟(jì)體系揭秘,不同玩家角色的經(jīng)濟(jì)活動(dòng)
Bigtime加密游戲經(jīng)濟(jì)模型分析,探討游戲經(jīng)濟(jì)特點(diǎn),幫助玩家更全面了解這款GameFi產(chǎn)品。
10. 3D動(dòng)漫建模全過程,不是一般人能學(xué)的會(huì)的,會(huì)的多不是人?
步驟01:面部,頸部,身體在一起這次我不準(zhǔn)備設(shè)計(jì)圖片,我從雕刻進(jìn)入。這一次,它將是一種純粹關(guān)注建模而非整體繪畫的形式。像往常一樣,我從Sphere創(chuàng)建它...
最新文章
同學(xué)您好!