包含6節(jié)視頻教程
關(guān)注8.2萬(wàn)次
本系列使用Unity3D制作一個(gè)完整的像素鳥(niǎo)游戲,這種2d游戲是最常見(jiàn)的橫版過(guò)關(guān)游戲,老師通過(guò)簡(jiǎn)潔易懂的語(yǔ)言,很完美的詮釋了這一過(guò)程。即使是你不會(huì)編程,不會(huì)美工,仍然可以把這個(gè)游戲制作出來(lái),做完之后你可以應(yīng)用這些技術(shù)制作類(lèi)似的游戲,馬上來(lái)學(xué)習(xí)吧!
最近兩天下載了虛幻4的源代碼和編譯好的環(huán)境,稍微嘗試了下。沒(méi)有深入研究,只是運(yùn)行了幾個(gè)Sample,看了看編輯器環(huán)境,甚至連c++代碼都沒(méi)有多看。所以并沒(méi)有資格對(duì)這個(gè)世界上最先進(jìn)的游戲引擎品頭論足。不過(guò)由于不打算繼續(xù)深入研究了,所以表達(dá)一下感想。
雖然對(duì)Unity已經(jīng)比較熟悉了,但是真正接觸虛幻4還是感覺(jué)力不從心。單單使用Unity的時(shí)候,感覺(jué)有很多坑,各種不爽,但是換了UE4,反而感覺(jué)Unity無(wú)論從編輯器界面還是代碼框架設(shè)計(jì)都非常干凈精簡(jiǎn)。從某種程度上說(shuō),Unity入門(mén)容易,上手快,并不僅僅是一個(gè)噱頭。
虛幻4的編輯器功能選項(xiàng)很多,菜單中也有各種看得懂和看不懂的功能。有點(diǎn)像是用3DMax一樣,熟悉而又陌生,要真正上手估計(jì)要一兩個(gè)月的時(shí)間。當(dāng)然如果是之前接觸過(guò)UDK或者是有過(guò)虛幻引擎開(kāi)發(fā)經(jīng)驗(yàn)的人或者是真正的大牛,上手會(huì)快一些。但是個(gè)人感覺(jué),無(wú)論如何要比Unity難一些。
我準(zhǔn)備業(yè)余時(shí)間(短期內(nèi)不會(huì)有太多時(shí)間)自己開(kāi)發(fā)一個(gè)ARPG的,目標(biāo)就是火炬之光手游版本。所以選擇引擎的標(biāo)準(zhǔn)就是3D、酷炫、手游、開(kāi)發(fā)方便。試了試UE4感覺(jué)就是,UE4不花一些力氣是Hold不住的,而在Unity5已經(jīng)非常好用的情況下,除非個(gè)人興趣,否則沒(méi)有必要多花力氣去搞定UE4。
下面是我的一些個(gè)人感想:
1、虛幻4開(kāi)放了所有的源代碼,只要19美元一個(gè)月,就可以隨時(shí)獲得最新代碼。網(wǎng)上也可以下到最新的代碼和編譯好的環(huán)境。 開(kāi)放源代碼,這個(gè)對(duì)于技術(shù)向的程序員應(yīng)該非常有吸引力。因?yàn)樗腥硕紩?huì)有這樣的想法,代碼開(kāi)放了,那我出了問(wèn)題可以自己修改Bug,并且可以自己隨意擴(kuò)展功能。不過(guò)使用Unity后的感受是,如果設(shè)計(jì)非常漂亮的話,即便不開(kāi)放源代碼也可以自由的擴(kuò)展引擎功能。雖然有無(wú)法擴(kuò)展或修改的部分(也就是一些很不爽的敵方),但是這個(gè)也不是自己能隨意改的,因?yàn)楹芏鄸|西牽一發(fā)而動(dòng)全身,結(jié)果自己能修改的部分還是一些插件性質(zhì)的內(nèi)容。而這些東西Unity沒(méi)有開(kāi)放代碼也做到了。不知道為什么會(huì)有人覺(jué)得不開(kāi)放代碼我們就會(huì)碰到搞不定的問(wèn)題,而開(kāi)放代碼后一切都可以搞得定。感覺(jué)UE4開(kāi)放代碼更像是一個(gè)噱頭,或者是自己設(shè)計(jì)不足時(shí)的補(bǔ)救措施。
2、BluePrint
這個(gè)東西很強(qiáng)大,簡(jiǎn)單說(shuō)就是不寫(xiě)一行代碼就可以做出一個(gè)游戲。Unity里面也有很多類(lèi)似的插件,最出名的是PlayMaker。雖然我很贊賞這些工具讓策劃或者不是很擅長(zhǎng)程序的人也可以做出一個(gè)漂亮的游戲。但是我個(gè)人是很不習(xí)慣使用這些的,就像我很不習(xí)慣MecAnim中的狀態(tài)機(jī)編輯器一樣,我感覺(jué)使用代碼和配置來(lái)維護(hù)狀態(tài)操作起來(lái)更加方便,很多時(shí)候也更加智能。而且當(dāng)項(xiàng)目復(fù)雜起來(lái)的時(shí)候,使用這些可視化工具很容易陷入泥沼。當(dāng)然能夠正確的使用他們的話,對(duì)項(xiàng)目還是非常有幫助的。比如關(guān)卡設(shè)計(jì)的時(shí)候開(kāi)放一些功能給策劃去配置,這個(gè)就相當(dāng)于一個(gè)可視化的而且更加強(qiáng)大的關(guān)卡事件編輯器。
3、工作流程
引擎最重要的職能就是定義工作流程。代碼可以自己摸索,功能可以自己實(shí)踐,但是正確的工作流程卻必須要在團(tuán)隊(duì)中學(xué)習(xí)。Unity因?yàn)橄鄬?duì)簡(jiǎn)單,所以還可以自己摸索下,但是UE4的工作流程是什么,怎么做才能發(fā)揮這個(gè)最先進(jìn)引擎的真正威力,這個(gè)都需要好好學(xué)習(xí)摸索。如果僅僅是把它像OGRE一樣去使用,反而會(huì)顯得憋手蹩腳。如果不能真正發(fā)揮引擎威力的話,那再先進(jìn)的引擎也是浪費(fèi)。
4、次世代的渲染效果
次世代一直在進(jìn)化,比如UE4使用GPU粒子,可以渲染幾百萬(wàn)個(gè)粒子(正常來(lái)說(shuō)同屏幾千個(gè)粒子已經(jīng)會(huì)拖慢速度了),使用曲面和物理光照可以實(shí)現(xiàn)更加真實(shí)的渲染效果。但是我的需求是一個(gè)手游ARPG,我要表現(xiàn)的是一個(gè)酷炫的感覺(jué),是否真實(shí)不在我的考慮范圍之內(nèi)。至于GPU粒子就更不用說(shuō)了,幾年內(nèi)手機(jī)顯卡估計(jì)都不會(huì)支持。所以說(shuō),很多高級(jí)特性給我們了也不能用,不敢用。 Unity5里面的全局光照我都持有懷疑態(tài)度,不知道是否真的不再需要LightingMap了,不知道手機(jī)上性能和兼容性如何。所以單從渲染技術(shù)上說(shuō),UE4并不具備真正的優(yōu)勢(shì),很多U3做的游戲非常炫,但是那個(gè)也需要美術(shù)給力才行。
5、c++代碼
基本上說(shuō)UE4開(kāi)發(fā)就是c++代碼和Blue Print相結(jié)合。雖然可以方便的嵌入lua什么的腳本語(yǔ)言,但是估計(jì)不會(huì)有特別的好處。雖然寫(xiě)C++寫(xiě)習(xí)慣了,不會(huì)感覺(jué)有很多坑。但是跟c#相比還是麻煩了一點(diǎn)。 Unity使用c#真是相當(dāng)明智的選擇,一方面借助c#解決了開(kāi)發(fā)者難題,一方面借助Mono實(shí)現(xiàn)了跨平臺(tái),同時(shí)還能夠保證效率。至于游戲運(yùn)行效率,如果c#代碼能夠成為性能瓶頸的話,那我感覺(jué)c++也不會(huì)好到哪里去,這個(gè)時(shí)候更應(yīng)該優(yōu)化客戶(hù)端代碼而不是抱怨語(yǔ)言效率。
6、代碼熱加載,即寫(xiě)即編譯
借助于llvm,可以實(shí)現(xiàn)即時(shí)編譯,而Unity又可以實(shí)現(xiàn)動(dòng)態(tài)庫(kù)的運(yùn)行時(shí)熱加載,所以可以實(shí)現(xiàn)邊修改變查看運(yùn)行結(jié)果的效果。
7、很多實(shí)際功能不知道如何去解決
比如使用Unity,我已經(jīng)知道了碰撞盒如何去加,物理如何設(shè)置,動(dòng)畫(huà)如何處理,如何設(shè)計(jì)技能系統(tǒng),UI怎么做,光效怎么編輯。而這些在UE4中都要重新去學(xué)習(xí)掌握,而UE4的文檔教程并不是很多,很多時(shí)候也找不到具體功能如何去實(shí)現(xiàn)。 等UE4發(fā)展起來(lái)估計(jì)會(huì)好一些,不過(guò)UDK發(fā)展了這么多年,也沒(méi)有起色,我很擔(dān)心UE4能夠有什么改變。Unity能夠備受游戲公司和獨(dú)立開(kāi)發(fā)者推崇,在最近一兩年出了如此多Unity制作的賣(mài)好又賣(mài)座的精品游戲,肯定有其理由。而這個(gè)優(yōu)勢(shì)肯定不是開(kāi)放個(gè)源代碼就可以彌補(bǔ)的。整個(gè)生態(tài)鏈的搭建沒(méi)有個(gè)一兩年是做不到的。除非它能夠放下身段去學(xué)習(xí)Unity,不過(guò)那樣的話虛幻就不是虛幻了。
8、沒(méi)有找到內(nèi)嵌的性能分析工具
Unity自帶的Profiler功能強(qiáng)大而且簡(jiǎn)單好用。這個(gè)不是說(shuō)用個(gè)Intel GPA就可以替代的。運(yùn)行時(shí)也不像Unity一樣可以直接查看當(dāng)前的性能參數(shù),我不知道怎么樣評(píng)估游戲運(yùn)行的性能。這個(gè)其實(shí)很重要。 同時(shí),因?yàn)楝F(xiàn)在還幾乎沒(méi)有UE4(UE3的也不多)的成功游戲,所以運(yùn)行性能、發(fā)熱、兼容性也都不能做任何保證。
其實(shí)不光是性能分析工具,像GUI編輯器之類(lèi)的東西,貌似也要自己處理。且不說(shuō)插件商店之類(lèi)的外圍設(shè)施,即便是編輯器和引擎核心的功能UE4也還有很多路要走。
總結(jié)就是:出于興趣玩一下UE4是可以的,但是除非是專(zhuān)業(yè)的引擎開(kāi)發(fā)人員,或者有真正的項(xiàng)目需要,否則研究下去即不能用來(lái)做項(xiàng)目也學(xué)不到什么東西。
朱峰社區(qū)網(wǎng)頁(yè)版(手機(jī)掃描-分享-添加到屏幕)
朱峰社區(qū)微信公眾號(hào)(微信掃一掃-關(guān)注)
未知用戶(hù)
2005-2025 朱峰社區(qū) 版權(quán)所有 遼ICP備2021001865號(hào)-1
2005-2025 ZhuFeng Community All Rights Reserved
VIP