3D游戏引擎技术架构设计

市面上目前流行最广的游戏引擎,在2D领域是Cocos2d引擎,在3D领域是Unity3D。这二者分别占领2D游戏开发市场和3D游戏开发市场,虽然虚幻4也开始发力,引擎代码开源。但是由于它是C++编写的,对于一些初级用户使用起来比较困难,推广起来有点难度。除了上面提到的引擎还有一些开源的3D引擎,比如最著名的是Ogre图形引擎。这些引擎的开发对于开发者来说要求都比较高。在中国各大IT知名公司比如腾讯,网易,巨人,蜗牛,网龙等等,它们都有公司的自研引擎。引擎是游戏开发的最底层技术,而掌握这些技术的人相对来说非常少。但是并不是说对于初级开发者就没机会了,因为对于开发者来说一直开发逻辑,对于自己的提升是非常不利的。这个不利于主要在于两点:一点是对于引擎的接口内部是如何实现的不清楚;二点是对于引擎的整体架构设计一无所知。久而久之,自己与别人的差距会越来越大,能力与薪资是成正比的。对于开发者如何学习引擎或者说如何架构引擎,笔者在这里就给你一一解密。

       说到引擎的底层设计,就不得不提两个流水线:固定流水线和可编程流水线。固定流水线通过字面意思知道:“固定”就是按照固定的步骤进行,比如我们要把美术之作的3D模型绘制到PC端的显示屏上或者移动端的显示屏上。它们之间要经历过一系列的矩阵变换。空间中的3D的点都是三维的,但是三维的点无法实现物体的平移,旋转,缩放这些变换所以程序会将三维的点扩展成四维的点。这样通过4X4矩阵实现上述物体的变换,其固定流水线效果图如下所示:


固定流水线是最基本的,作为开发者来说必须掌握的,可编程流水线是基于固定流水线基础上发展起来的,就是把一些矩阵变换放在GPU中进行。掌握了引擎技术对于开发者编写逻辑帮助也是非常大的。笔者利用固定流水线开发了一款游戏,主要内容都收录在了《手把手教你架构3D游戏引擎》电子工业出版社,在天猫,京东等都有销售。书的内容主要是介绍了固定流水线变换中使用的矩阵变换以及利用该流水线实现了一款游戏引擎,在此引擎的基础上开发了一个Demo。非常适合初级开发者,书的编写语言非常易懂。从底层代码编写到引擎架构设计逐一讲解,本书的编写不同于其他书籍的存理论而是实际项目开发。另外附上笔者的个人网站:www.vr3d-edu.com  欢迎访问。

笔者在业余时间喜欢录制视频和编写书籍,在CSDN在线教育51CTO学院泰课学院都有视频课程,讲述的都是实战技术,欢迎大家访问。

最后再给读者推荐一本非常实用的技术书籍《Unity3D实战核心技术详解》电子工业出版社 已在天猫和京东等平台发布,书中的技术可以直接应用到项目开发中。书的编写不同以往而是采用理论与案例相结合的方式。



©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页