想学习游戏引擎架构用哪个开源引擎好?

发布时间:
2024-09-10 17:59
阅读量:
2

我猜,题主提问的时候,应该是2014年吧。爷青回啊!

先扯点别的

那个时候,我还在Gameloft引擎组,用的是基于Irrlicht发展起来的内部引擎 Glitch 3D,负责对引擎进行维护、增强和适配,以满足特定项目需要。

很著名的重度手机游戏 《The Amazing Spider Man》系列,《 Iron Man》系列, 《Dungeon Hunter》 系列, 《Modern Combat》 系列, 《Order & Chaos》, 《Heros of Order & Chaos》都是用的这款引擎。

特别是《Dungeon Hunter》 系列, 《Modern Combat》 系列, 《Order & Chaos》, 《Heros of Order & Chaos》,画面效果和游戏性已经不输给现在的游戏了(10年了)。

光栅化图形引擎里能加的东西,都加了。 在Gameloft的工作经历让我受益匪浅,让我充分学习并实践了引擎中各个模块,并应用到商业项目中。

否则我可能和许多人一样,还在不停的寻找什么开源引擎更适合学习吧。


回到正题

抱歉,说了这么多废话,我们回到题主的正题:学习引擎架构,用哪个开源引擎最好。

有了上面的经历,我才发现,引擎的学习和研发,是万万不能离开商业项目的。加上这个大前提,可以选的就不多了。

我先说结论,再说原因吧。

推荐一:Cocos Creator

十年前,OGRE是首选,其次是 Irrlicht。

但现在,我优先推荐: Cocos Creator

Cocos引擎_游戏开发引擎

Cocos Creator 是 Cocos 引擎的最新版本,采用的是双核架构。支持2D、3D、原生与Web。

原生端内核使用C++编写,Web端内核使用TS编写, 对等架构,确保效果一致性。如果只是想看管线,甚至只需要看TS版本就可以了,非常方便。

如果对TS不熟悉,只想看C++的,直接看C++部分也行。 并且,Cocos Creator 的3D架构是从2015年开始设计的,没有历史包袱,很干净整洁。

目前支持:OpenGL,OpenGL ES,Valkan,Metal,WebGL,WebGPU 图形API。作为学习,我觉得已经非常棒了。

这里有一些视频可以看看:

我还写过一些版本介绍:

麒麟子MrKylin:Cocos Creator 3.6 新特性详解 1/3:编辑器篇麒麟子MrKylin:Cocos Creator 3.6 新特性详解 2/3:渲染篇麒麟子MrKylin:Cocos Creator 3.6 新特性详解 3/3:性能篇

推荐二、UNREAL ENGINE 4

Unreal Engine | The most powerful real-time 3D creation tool

UNREAL ENGINE 是公认的世界最强引擎,我就不多说了。

推荐三:UNITY3D

unity.com/

UNITY3D排最后,并不是说它架构不好,而是因为它不开源。有人会说,那URP呢? 抱歉,URP 只是渲染管线,还不足以让你掌握引擎架构。

当然,如果只是想研究引擎渲染管线的话,UNITY3D 是非常不错的选择。

为什么?

可能还会有人提到什么 O3DE,Godot之类的,当然,这些也很强。

但,我们在学习的同时,还是应该看投入回报,之所以锁定在 Cocos Creator,UNREAL ENGINE,UNITY3D 这个三引擎,是因为:

1、这是世界上现存的商业化游戏引擎 TOP 3。

商业化引擎就是指,有很多商业产品在使用的引擎,有很多公司在招聘使用它的开发者。

2、商业化使得这些引擎的功能都经过了充分迭代,并且可以应用到项目。

正如题主所说, KlayGE等引擎,更多是作为学术验证,而非项目生产。

3、精通商业化引擎,使你的外在价值更高,获得更多的机会。

当然,如果你不考虑工作和养家糊口的问题,选什么都一样。

希望这篇文章能够给想要学习引擎研发的朋友们一些帮助。

写在最后

不小心搜到这个问题,很是感触,就很想认真回答一下。

在2000~2010这段时间,图形研究和引擎开发可谓是百家争鸣,随便一个小团队,都能找到会写引擎和图形的朋友。作为程序员,毕业要进游戏行业的话,会写引擎,懂3D图形甚至是标配。

而现在的情况,由于游戏引擎越来越好用,能够做引擎的人才逐渐出现了断层。

随着元宇宙需求的日益增多,3D渲染技术的需求再次高涨,引擎技术人才(引擎工程师、引擎架构师、渲染工程师、技术美术)在接下来的日子里又将是被各大公司挣抢的人群。

希望越来越多的朋友加入到引擎研究行列,了解引擎原理,才能将引擎用得更好。

我是麒麟子,大家可以关注我,一起研究和探讨更多关于游戏引擎和图形渲染的知识。

END