日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

开源游戏引擎体验

發(fā)布時(shí)間:2023/12/9 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开源游戏引擎体验 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

???????應(yīng)該說每個(gè)做游戲的人都會(huì)有一個(gè)自己寫游戲引擎的夢(mèng)。趁著還沒有到新公司報(bào)道,花點(diǎn)時(shí)間研究一下開源引擎,梳理一下自己的思路。

?????? 新的游戲引擎是基于cocos2d-x,我希望能夠從這些開源引擎中學(xué)到:

?????? 1、粒子系統(tǒng)、粒子編輯器。cocos2d-x的粒子系統(tǒng)相當(dāng)薄弱,不是說沒有,但是想用他做出酷炫的技能特效是非常困難的一件事。很多人都有做cocos2d-x的粒子編輯器,但是在我看來,粒子系統(tǒng)本身薄弱了,編輯器最終也就變成了一個(gè)參數(shù)編輯和效果預(yù)覽的工具。

?????? 2、模型加載和骨骼動(dòng)畫播放。研究一下?lián)Q裝系統(tǒng)需要哪些支持,順便看看能不能實(shí)現(xiàn)Unity的動(dòng)畫重定向功能。

?????? 3、聲音引擎??纯茨懿荒苷业筋愃崎_源的FmodEx的聲音引擎。

?????? 4、研究下編輯器框架如何設(shè)計(jì)和搭建

?????? 5、Box2D和PhysicX的物理系統(tǒng)如何封裝

???????

一、Genesis-3D(www.genesis-3d.com.cn)

?????? 搜狐暢游耗資千萬美金,開源的3D游戲引擎,可以支持發(fā)布到PC、Android、iOS平臺(tái)。

?????? 在分析第一印象的優(yōu)劣之前我先說下,UDK、UE4、Source、Quake、Doom什么的代碼是有的,但是暫時(shí)不打算看了,因?yàn)樘叽笊匣蛘呒夹g(shù)向的代碼我害怕Hold不住,我關(guān)注的是如何改進(jìn)生產(chǎn)流程,而不是學(xué)習(xí)什么高級(jí)技巧。而且我現(xiàn)在最需要的是基礎(chǔ)設(shè)施,而不是什么東西都有后要做的更好。


?????? 優(yōu)點(diǎn)是編輯器完整,框架清晰(還沒看代碼,只是從使用上來看),我想要的那些基礎(chǔ)設(shè)施也都在。文件和資源系統(tǒng)沒有像Unity一樣打包在一起,這點(diǎn)我是很喜歡的。粒子系統(tǒng)配置什么的都是xml文件,參考學(xué)習(xí)起來比較方便。粒子系統(tǒng)很美,跟Unity差不多,如果能直接拿來用就好了。可以說如果早個(gè)三五年推出應(yīng)該是非常有競(jìng)爭(zhēng)力的產(chǎn)品。

??????缺點(diǎn)是:

????? 1、不能直接在編輯器里面運(yùn)行游戲,只能預(yù)覽靜態(tài)場(chǎng)景。代碼他們似乎是通過自己修改的Mono來實(shí)現(xiàn)直接編譯的功能,直接改動(dòng)代碼不會(huì)需要重新發(fā)布版本。但是資源的修改似乎就麻煩了。從這點(diǎn)來看,Unity更偏向All in one的編輯器,一切都在編輯器里面操作測(cè)試完畢,最后需要的時(shí)候再發(fā)布版本。而Genesis3D更偏向一個(gè)公司的商業(yè)引擎,美術(shù)程序分開工作,需要的時(shí)候把資源整合,發(fā)布個(gè)可用的版本,然后繼續(xù)測(cè)試開發(fā)。 雖然我認(rèn)為這個(gè)是缺點(diǎn),但是說實(shí)話我個(gè)人還是傾向于Genesis3D的方式的。因?yàn)槲腋杏X只要生產(chǎn)流程清晰了,那么是不是有一個(gè)All in one的編輯器不那么重要,甚至沒有編輯器也OK。只要對(duì)應(yīng)開發(fā)的終端有合適的工具就可以了。 Genesis3D會(huì)讓我感覺自己更像程序開發(fā)者,而不是全包全攬的獨(dú)立游戲開發(fā)者。

????? 2、各方面都很像Unity。且不管是不是坊間傳聞的買了Untiy的代碼然后自己改的。我只能說是一個(gè)山寨的Unity1.0版本。代碼設(shè)計(jì)上孰優(yōu)孰劣更多的是個(gè)人喜好,但是編輯器上看很多地方做的都不如Unity方便。還是那句話,如果不跟Unity比,那么看起來很美,但是一比就山寨了。

????? 3、編輯器能擴(kuò)展不?? 我在教程里面沒有看到,暫時(shí)認(rèn)為沒有吧。? Unity最大的魅力是可以自定義編輯器內(nèi)容。? 以此衍生出很多非常有魅力的插件,比如一些行為樹AI插件、2D骨骼動(dòng)畫插件,這些插件跟Unity結(jié)合在一起大大的豐富了引擎本身的功能。 否則的話光靠自己是很難滿足用戶需求的,即便開源也不行。

????? 4、待續(xù)。我相信真正使用起來會(huì)有很多值得吐槽的敵方,但是如果是像我一樣的初學(xué)者來學(xué)習(xí)的話,還是能夠收獲很多東西。


二、Godot (http://www.godotengine.org/wp/)

?????? 又一個(gè)跟Unity長得很像的游戲引擎。依然在開發(fā)中,感覺設(shè)計(jì)上越到后面在細(xì)節(jié)上跟Unity越像。 當(dāng)然跟Genesis3D比還是能夠明顯感到一個(gè)是山寨者,一個(gè)是模仿者。 你一拿到這個(gè)引擎絕對(duì)不會(huì)說這貨就是一個(gè)Unity,但是在使用的過程中你會(huì)發(fā)現(xiàn)一個(gè)又一個(gè)熟悉的功能和操作方式,這個(gè)我感覺是相當(dāng)聰明的做法。總體感覺是偏2D偏小游戲的方向,但是麻雀雖小五臟俱全,UI、粒子、物理都不會(huì)少。 最大的問題似乎是沒有代表性的游戲產(chǎn)品,這個(gè)在某種程度上說就意味著失敗。 其實(shí)所有游戲引擎都是一樣的,需要成功的產(chǎn)品來撐場(chǎng)面。? 像cocos2d-x一樣,時(shí)不時(shí)宣傳一下“蘋果暢銷榜上面九成游戲都是cocos做的,最火的我叫mt也是cocos做的”,這樣用的人會(huì)越來越多,有很多東西并不是本身有多好,而是用的人多了影響了整體的審美,自然就變成所謂的“結(jié)構(gòu)漂亮、簡單易學(xué)”。

?????? 仔細(xì)看了看游戲的Demo,感覺非常喜歡這個(gè)引擎。首先我要說一下,一個(gè)引擎要想被用戶接受和學(xué)習(xí),豐富而又清晰的Demo必不可少,它一方面是展現(xiàn)了游戲的功能,比如cocos2d就把所有的功能列舉出來了,另一方面也可以當(dāng)作測(cè)試用例,最后它也是用戶的學(xué)習(xí)教程。

?????? 先說優(yōu)點(diǎn),2D/3D部分處理的都相對(duì)完整。而且Demo中展示了很多2D和3D相結(jié)合的部分,以及3D UI,這些對(duì)我而言都是非常有吸引力的??戳丝醋髡叩拈_發(fā)路線,后面會(huì)支持2D骨骼動(dòng)畫,導(dǎo)航尋路等功能,可以說這個(gè)引擎在做2D游戲或2.5D游戲上還是非常不錯(cuò)的選擇。

???????再說缺點(diǎn):

?????? 1、編輯器操作起來不是非常方便。

???????2、使用自己的GDScript語言。? 這個(gè)我是不太贊同的,我詳細(xì)說下我的看法。? 作者分析了現(xiàn)有語言的優(yōu)劣,然后決定自己開發(fā)一套腳本。比如lua、python如果用導(dǎo)出的方式會(huì)很麻煩,而且會(huì)大于現(xiàn)在GDScript的核心。 c++當(dāng)然是編譯語言,開發(fā)不方便。?? c#則是因?yàn)殚_源協(xié)議(Mono是LGPL)所以被放棄了。?? 但是在我看來,即便舍棄或者兼容一些東西,使用lua、python、javascript的意義也要大于自己開發(fā)一套腳本語言。? 且不說自己開發(fā)意味著大量的時(shí)間和精力投入,用戶會(huì)有一個(gè)學(xué)習(xí)的過程。就拿lua來說,掌握語法來寫代碼的確可以一兩天就搞定,但是寫出漂亮的高效的代碼或者代碼量大了如何正確的維護(hù)代碼都不是一天兩天能搞定的事情,這需要經(jīng)驗(yàn)的積累。而自己開發(fā)的腳本語言對(duì)開發(fā)者來說就意味著學(xué)習(xí)成本,誠然它很簡單可以半天上手,但是后面會(huì)遇到什么樣的坑就說不準(zhǔn)了。? 再說,lua和javascript都有jit,在android平臺(tái)可以極大的提升運(yùn)行效率,而這個(gè)也是自己開發(fā)腳本所不具備的。


三、Torque3D (http://www.garagegames.com/products/torque-3d/)

???????Torque有豐富的編輯器內(nèi)容,而且有點(diǎn)像Quake一樣,游戲就是編輯器。在地形編輯上面額外多了水流、道路編輯的功能。但總體來說這個(gè)引擎沒有太多值得學(xué)習(xí)和參考的東西。絕大多數(shù)功能都是通過腳本來實(shí)現(xiàn),編輯器只包含最基本的編輯功能。而且腳本也是自己開發(fā)的一套語言??蚣懿荒苷f詭異,但是怎么看怎么不舒服。


四、Torque2D (http://www.garagegames.com/products/torque-2d-1.8)

???????除了編輯器框架和腳本,似乎Torque2D和3D沒有什么直接聯(lián)系。一樣是功能該有的都有,但是我感覺這個(gè)引擎最致命的問題就是像UDK一樣自己搞一套腳本,如果直接用現(xiàn)成的腳本語言,比如python、lua、javascript,那么會(huì)更容易把引擎推廣出去。

?????? 好吧,這個(gè)Torque2D還不如Torque3D,屬于只有一個(gè)可以運(yùn)行游戲的程序,其他的編輯器什么都沒有。而且就2D功能來說,也只是包含最基本的圖片渲染、粒子光效和物理,不能說不夠用,但是也沒有什么亮眼的敵方。


?????? 以上四個(gè)是我現(xiàn)在找到的編輯器完整的開源游戲引擎?,F(xiàn)在在我看來,編輯器與否并不是很重要。 某些編輯器是必不可少的,比如UI編輯器、粒子編輯器、場(chǎng)景編輯器,但是并不一定需要一個(gè)大而全的所見即所得編輯器。 很多時(shí)候清晰的開發(fā)流程更加重要,美術(shù)用3DMax制作并導(dǎo)出模型,策劃在場(chǎng)景編輯器中使用和測(cè)試這些資源,程序完成功能的開發(fā)。? 只要每個(gè)人都善用工具來解決自己的問題就可以了。? 而且很多時(shí)候,從接受程度上來說,你給美術(shù)一個(gè)粒子編輯器要比給美術(shù)Unity然后告訴他只需要關(guān)注其中的粒子系統(tǒng)部分要高。




總結(jié)

以上是生活随笔為你收集整理的开源游戏引擎体验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。