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