發(fā)布時間:2024-01-11 16:22:00 瀏覽量:183次
對于完全聽不懂的葡萄君來說,這堂課聽得太“生動”了。
據(jù)統(tǒng)計,全球前1000款最賣座的手機游戲中,約三分之一的游戲都是使用Unity軟件制作而成,其中就包括最近十分火爆的《Pokémon Go》游戲。
而它和Epic Games公司旗下的虛幻引擎(Unreal Engine)也構(gòu)成了業(yè)界兩大領(lǐng)先的引擎。雖然目前國內(nèi)大廠開始在自研引擎領(lǐng)域試水,但對于大部分團隊而言,這兩種引擎對于項目開發(fā)將是必不可少的工具之一。那么,游戲開發(fā)者該如何選擇引擎打造高品質(zhì)游戲畫面?
7月21日,第五期葡萄學院「如何選擇引擎打造高品質(zhì)游戲畫面?」圓滿完成。前《永恒之塔》技術(shù)總監(jiān)魯棟振雖然是一名韓國開發(fā)者,去年剛剛來到中國,但是它作為本期學院的導師,依然進行了詳盡的中文分享,并回答了同學們的疑問。
以下內(nèi)容是第五期葡萄學院的精華內(nèi)容,經(jīng)葡萄君整理發(fā)布。
PS:本次公開的內(nèi)容并非我們課堂內(nèi)容的全部,如果您對葡萄課堂的內(nèi)容感興趣,不妨關(guān)注我們的下一期內(nèi)容。當然如果您想成為老師,分享您的內(nèi)容,我們也非常歡迎~╰(*°▽°*)╯不管您想成為學員還是老師,請?zhí)砑佑螒蚱咸丫ㄎ⑿盘枺篻amegrapes)為好友,快來加入吧~
大家好,我叫Eugene Rho,中文名魯棟振。今天準備分享下我在移動游戲開發(fā)中的經(jīng)驗。
最先分享的是為什么我選擇了Unity引擎,而不使用虛幻引擎?
我想在移動設備上開發(fā)高品質(zhì)的游戲,但是在移動設備上會遇到這樣的問題:
但是移動設備會有很多硬件的限制,虛幻引擎雖然畫面很好,但是只能在opengl 3.0以上比較好的展示,無法兼容中國更多的安卓手機,而Unity引擎在移動設備上相差不多。
虛幻引擎在很多安卓手機會是這樣的畫面:
但是我希望Unity也能開發(fā)出更好看的畫面。所以,我在Unity基礎(chǔ)上,采用虛幻引擎的渲染方式,二次開發(fā):
這是虛幻引擎在高配置手機上出來的HDR效果:
它的實現(xiàn)原理是這樣的:
這是虛幻引擎用來實現(xiàn)更好看畫面的、像素保存的方式。我框起來的深度值,會決定平時游戲制作中,景深還有影子,霧等方面的表現(xiàn)。
一般的顏色是0-255,但是如果想保存高光效果,就必須使用32bit float color render target。使用它需要消耗很多內(nèi)存,這個時候就容易導致游戲閃退,還會memory bandwidth開銷提高,所以很多高品質(zhì)的手機單機游戲,只能在iOS蘋果手機上運行。如果硬件配置不夠,則無法顯示HDR效果。
但是,我又想在低配置手機上,實現(xiàn)HDR效果,所以我采用了這樣的辦法:
我們不使用float color render target 的方式,高光的顏色信息收集到alpha channel。
高光部分的信息消失,但是高光Luminance會保存到alpha channel。我們可以不使用float RT,還是用byte RT,可保存高光lumimance信息。使用這個信息,通過bloom技術(shù)能實現(xiàn)HDR效果。
左邊是沒有HDR,右邊是使用這個技法實現(xiàn)的HDR。這個技法比正式的HDR性能很高。因為不使用float RT. 不需要多內(nèi)存和多memory bandwidth。
左邊是在alpha channel保存的Luminance信息。這個問題的缺點是不能保存有顏色的高光。因為只能保存高光的Luminance,不保存高光顏色。不過可以實現(xiàn)很亮的白色,不能實現(xiàn)很亮的紅色。
但還有一個優(yōu)點是,除了計算燈光出來的HDR,它還能表現(xiàn)跟燈光沒有關(guān)系的特效bloom。還有其他優(yōu)點,如下圖:
然后我沒有采用Unity的bloom效果,而是自己改造了渲染引擎的bloom效果,按著已經(jīng)收到的luminance信息,使用該找的bloom shader,實現(xiàn)了最后的結(jié)果。
除了HDR,使用LUMINANCE,還可以別的效果,正在開發(fā)按著每個配置上出現(xiàn)的效果不同的系統(tǒng),然后,我們在最好的手機上可以實現(xiàn)這個效果。
最后一個是場景。但是考慮到中國環(huán)境,有些高品質(zhì)的材質(zhì)貼圖還是得換成512。
問答環(huán)節(jié)
1.提個問題,alpha通道才8位,怎么放HDR也就是大于255的亮度值?
我本來也考慮使用正式的HDR。在電腦上使用過,在手機上也實現(xiàn)過。這其中我發(fā)現(xiàn)了一個點,高光的像素一般不超512,float值的話就是不超2。當然有超的很高亮的部分,我發(fā)現(xiàn)了這樣的部分很小,決定忽略這點。
所以在alpha channel上保存的luminance是超1到2的值。超2的像素是保存為2,這也算是一個缺點。不能表現(xiàn)超量的效果,這個可以調(diào)整。如果一個場景上不要1~2的luminance可以使用1~3的范圍,這個不用固定的范圍。
2.游戲開發(fā)中美術(shù)對游戲性能把控的一個度怎么去衡量?往往游戲中會遇到性能問題,而不得不妥協(xié)然后降低美術(shù)效果。
韓國很重視畫面效果,所以開始不考慮性能,先做出好看的畫面,再考慮如何優(yōu)化。我對中國公司還了解的不多,但是我知道網(wǎng)易開發(fā)的質(zhì)量也非常高。所以,我想我在中國大概要理解中國的需求和韓國的需求。我現(xiàn)在的方式是,按照目前團隊的需求,在這個范圍內(nèi)做出更好看的畫面。
Unity比虛幻引擎更需要圖形渲染優(yōu)化技術(shù),因為Unity引擎的渲染目前不如虛幻引擎,一個好的角色,是由模型面數(shù),貼圖質(zhì)量,材質(zhì)系統(tǒng)和渲染系統(tǒng),還有特效共同打造。模型面數(shù)和貼圖質(zhì)量主要是看美術(shù)從業(yè)者素質(zhì),材質(zhì)系統(tǒng)和渲染主要是看程序員。
特效的話其實韓國也很缺高質(zhì)量的從業(yè)者。每個引擎都一樣,哪怕是自己研發(fā)的引擎,也還是需要自己開發(fā)渲染工藝。我也經(jīng)常參考虛幻4他們是如何做出好的畫面,比如會看Shader一些源代碼。
3.市面上的Unity引擎做出來的游戲的畫面,感覺很粗糙,相比于九陰真經(jīng)這種用自己引擎的游戲,如果是2d游戲的話選擇COCOS2d是不是更好呢,能具體說下優(yōu)劣嗎?
很抱歉,我的游戲開發(fā)生涯沒有接觸過2D游戲引擎,無法回答,我一直是3D游戲開發(fā)。
4.次世代手游的貼圖能做哪些優(yōu)化來降低貼圖容量大小同時保證視覺效果?
這其實是很困難的,一個游戲包體大部分是貼圖大小,不完全是美術(shù)從業(yè)者,程序也很重要。我也在嘗試有沒有好辦法,目前還沒完全開發(fā)完,所以嘗試中的技術(shù),不方便公開。
Unity引擎一個缺點是,不支持PNG或JPG發(fā)布。雖然提供Texture2D.LoadImage.. 可以使用這個函數(shù),使用 jpg 文件,但是這個方式也有限制。這個函數(shù)只能生成uncompressed 貼圖,它占很大的內(nèi)存。我們正在考慮開發(fā)發(fā)布jpg文件,開發(fā)native library,自己 encode to ETC.. 使用NEON architecture. 然后使用生成compressed貼圖。
目前基本的功能已經(jīng)開發(fā)完測試了,但是還是缺少足夠的開發(fā)人員,在深圳招人很不容易,大家都去騰訊了。我也特別希望能有人和我一起做這方面開發(fā)的嘗試。
我覺得這個辦法可以保證視覺效果不降低,然后又可以優(yōu)化貼圖,但是自己一個人開發(fā)過來,所以暫時說的這個辦法,沒有完全驗證。
5.在unreal引擎下怎么根據(jù)設計的要求?比如同屏要求多少主角、敵人、場景等計算同屏的模型數(shù)上限?
這個問題沒有標準答案,模型面數(shù)其實不是最重要的問題,還得根據(jù)游戲類型決定。我們自己的游戲就是一萬多面的回合制。我們只有一個Boss,所以可以設置一萬多面,一百多骨骼,但是我覺得沒有參考意義。比面數(shù)更重要的是Drawcall,這個要控制在200以下,面數(shù)8萬和10萬的時候,差不了太多。但是Drawcall很重要,最好控制同屏200以下。
6.美術(shù)對于美術(shù)專業(yè)工具的使用會更專業(yè),而程序在通過評估引擎和實際情況后,可能不去使用美術(shù)之前選擇的或者他們擅長的美術(shù)工具,這種情況下如何平衡?
這個問題可能得大家一起討論,比如團隊中的程序是否愿意為美術(shù)開發(fā)專門的工具。我之前和現(xiàn)在的團隊,都會為美術(shù)盡可能的開發(fā)一些工具,為了方便他們高效的工作。我自己特別想做出好看的畫面,所以,我建議最好是雙方去平衡下開發(fā)效率,決定工具使用情況,沒有什么對錯,只有是不是適合自己團隊。我現(xiàn)在來到中國,為美術(shù)專門開發(fā)的其實也很少,因為程序開發(fā)任務很重。
7.1個角色算上各種掛件(披風、護臂、武器等),有近5k面,100多根骨骼,掛件有自己獨立的動畫,總共6個以上skinmeshrender。這種標準在手機上超了嗎?
是BOSS可以,是NPC就超了。偶爾出現(xiàn)1,2個可以,如果都這樣就會很卡吧,主角如果只有一個的話應該還可以。我沒有這樣使用,而是在U3D上,使用自己改造的渲染Paran工具,并不是把U3D和虛幻結(jié)合一起用,如果開發(fā)VR,我可能會選擇虛幻(不過也還沒超過Unity);如果是開發(fā)手機游戲,短時間不會選擇Unity。
8.MMO中每個玩家都可能達到這種標準,請問魯老師是怎么平衡的呢?
很難,這樣的角色只能有1-2個,多了超標。
9.很多游戲中是不使用normal map 而是使用直接模型,但那樣有很多面數(shù),如果權(quán)衡的話是用高面數(shù)實現(xiàn)還是使用貼圖實現(xiàn)?
我現(xiàn)在開發(fā)的使用的是Normal map。
10.請問美術(shù)人員在游戲引擎中制作材質(zhì)設定的時候,引擎的節(jié)點多以程序語言表現(xiàn)出來, 那么美術(shù)人員該如何做能更好的理解這些節(jié)點所表達的含義以及使用這些節(jié)點進行材質(zhì)編輯?
Shader優(yōu)化是程序,程序制作局部的部件,并且給美術(shù)人員一定的限制,為了保證效率,美術(shù)人員負責組合使用這些部件。
Unity有這樣的插件,可以自己調(diào)整,不用自己寫代碼,但是不好用。我們不使用Unity4了,Unity5的效果更好。如果需要更好的靜態(tài)展示,得多和美術(shù)溝通,程序和美術(shù)要一起合作,但是Unity4的渲染效果更差。
11.請問魯老師能分享unity4制作次時代靜態(tài)展示模型的一些心得嗎?好多游戲在創(chuàng)建角色場景會使用高模提取法線,再用低模實現(xiàn)高光效果,我嘗試下,總是有很強的塑料感。
主要是shader燈光和材質(zhì)導致,皮膚效果需要分散效果。
12.U5新的烘培很慢不好用,有啥解法呢?
我們也很辛苦,Unity5不支持多臺烘培,只能買好機器了,或者期待官方更快的開發(fā)完這個功能。
13.U3D自帶的pbr效率不高樣。老師在用么?
自己改造用,不用官方的,很費效率。
14.如果做成VR項目,與普通次時代項目具體區(qū)別需要注意一些什么?
我還沒有資源開發(fā)VR,你要支持我嗎?
15.之前看過你分享的Micro Shader + Node Class Hierarchy材質(zhì)系統(tǒng),能給解釋一下么?能多介紹點實現(xiàn)細節(jié)么?
是說這個嗎?
本來一個Shader是一個整體。我現(xiàn)在開發(fā)的Shader,美術(shù)根據(jù)自己想要的效果,在我的shader里去挑選對應效果,然后MIX到一起。雖然Unity的 #pragma shader_feature 或者 multicompile 很方便,但這兩個功能有數(shù)量限制,所以我自己開發(fā)了這樣的系統(tǒng)。而且開發(fā)過uber shader方式的系統(tǒng),這個也有限制。所以這次開發(fā)了新的方式的系統(tǒng)。
16.這套材質(zhì)系統(tǒng)是在運行時自動適配的吧?
材質(zhì)系統(tǒng)不是自動適配,材質(zhì)系統(tǒng)是editor time時MIX出來,美術(shù)從業(yè)者在開發(fā)游戲時候會使用得到,它也是程序員為了做出更好的畫面和效果而開發(fā)的系統(tǒng)。
我聽說中國很多團隊都不太重視這個系統(tǒng)。但是對于做出很好的游戲畫面和品質(zhì),很有幫助,美術(shù)開發(fā)人員需要這個,才能做出好品質(zhì)的模型。
關(guān)注微信公眾號“游戲葡萄”,每天獲取最前瞻的游戲資訊
熱門資訊
探討游戲引擎的文章,介紹了10款游戲引擎及其代表作品,涵蓋了RAGE Engine、Naughty Dog Game Engine、The Dead Engine、Cry Engine、Avalanche Engine、Anvil Engine、IW Engine、Frostbite Engine、Creation引擎、Unreal Engine等引擎。借此分析引出了游戲設計領(lǐng)域和數(shù)字藝術(shù)教育的重要性,歡迎點擊咨詢報名。
2. 手機游戲如何開發(fā)(如何制作傳奇手游,都需要準備些什么?)
?如何制作傳奇手游,都需要準備些什么?提到傳奇手游相信大家都不陌生,他是許多80、90后的回憶;從起初的端游到現(xiàn)在的手游,說明時代在進步游戲在更新,更趨于方便化移動化。而如果我們想要制作一款傳奇手游的
3. B站視頻剪輯軟件「必剪」:免費、炫酷特效,小白必備工具
B站視頻剪輯軟件「必剪」,完全免費、一鍵制作炫酷特效,適合新手小白??靵碓囋?!
游戲中玩家將面臨武俠人生的掙扎抉擇,戰(zhàn)或降?殺或放?每個抉定都將觸發(fā)更多愛恨糾葛的精彩奇遇。《天命奇御》具有多線劇情多結(jié)局,不限主線發(fā)展,高自由...
5. Bigtime加密游戲經(jīng)濟體系揭秘,不同玩家角色的經(jīng)濟活動
Bigtime加密游戲經(jīng)濟模型分析,探討游戲經(jīng)濟特點,幫助玩家更全面了解這款GameFi產(chǎn)品。
6. 3D動漫建模全過程,不是一般人能學的會的,會的多不是人?
步驟01:面部,頸部,身體在一起這次我不準備設計圖片,我從雕刻進入。這一次,它將是一種純粹關(guān)注建模而非整體繪畫的形式。像往常一樣,我從Sphere創(chuàng)建它...
7. 3D動畫軟件你知道幾個?3ds Max、Blender、Maya、Houdini大比拼
當提到3D動畫軟件或動畫工具時,指的是數(shù)字內(nèi)容創(chuàng)建工具。它是用于造型、建模以及繪制3D美術(shù)動畫的軟件程序。但是,在3D動畫軟件中還包含了其他類型的...
想讓你的3D打印模型更堅固?不妨嘗試一下Cura參數(shù)設置和設計技巧,讓你輕松掌握!
9. 如何自己開發(fā)一款游戲(游戲開發(fā)入門必看:五大獨立游戲開發(fā)技巧)
?游戲開發(fā)入門必看:五大獨立游戲開發(fā)技巧無論您是剛剛起步開發(fā)自己的第一款游戲,還是已經(jīng)制作了幾款游戲,本篇文章中的5大獨立游戲開發(fā)技巧都可以幫助您更好地設計下一款游戲。無論你對游戲有著什么樣的概念,都
?三昧動漫對于著名ARPG游戲《巫師》系列,最近CD Projekt 的高層回應并不會推出《巫師4》。因為《巫師》系列在策劃的時候一直定位在“三部曲”的故事框架,所以在游戲的出品上不可能出現(xiàn)《巫師4》
最新文章
同學您好!