今天聊聊BIGANT中的G。这里的G是Game,也就是3D游戏引擎的意思,简称为3D引擎。 3D引擎,很多人可能并不清楚这到底什么? 听到"引擎"两个字,你可能首先会想到汽车引擎,是汽车提供动力的核心部件。如果没有引擎,汽车就只能是一个模型,趴窝里不能动。3D模型也一样,用3DMax软件制作了一个非常逼真、精美的3D模型,带有光影和动画效果。但它是“死”的,不能互动这就差些意思。 而引擎给3D模型赋予人机交互的能力,让模型“活”起来。你可以在满是废墟的街道上奔跑,寻找补给,街道两边的建筑和光影效果都是“实时渲染”出来的,你可以利用3D引擎“编排剧情”,通过和游戏人物(NPC)互动来触发不同的分支任务。有些任务会引发激烈的枪战,你可以增加一大堆跑酷动作,比如“下蹲”、“奔跑”、“跳跃”、“飞翔”、“拾取”、“射击”、“爆炸”、“躲避”等等,而且这些能力并不需要开发大量代码,3D引擎帮你实现。 这就是3D引擎的能力,它给3D模型赋予了“交互方法、物理定律、剧情脚本、AI智能”,不需要编写很多代码就能让3D模型在“体”、“相”、“用”三方面逼近现实世界真实的人和物,让人感觉模型“活”了。而且与汽车引擎不同,汽车没引擎不能跑,但游戏没引擎是可以运行的。游戏引擎其实更像汽车工厂,本质上是一种开发游戏的软件。 其实在三十多年前,电子游戏出现的早期,没有游戏引擎也能开发出好游戏,我们熟悉的玛丽兄弟、魂斗罗,都是程序员用简陋的代码编辑器,从零开始一行一行代码写出来的。 那时,游戏的玩法很简单,所以允许使用这种作坊式的粗糙方法。但后来游戏市场规模越来越大,用户要求越来越高,游戏玩法也越来越复杂,这就导致游戏的代码量变得非常巨大。于是一些游戏公司中的一小部分程序员开始做直觉性的尝试,在开发某个功能时,把未来可能重用的部分单独剥离出来。这种尝试就像荒野中微微闪现的星火,但这些零散的可重复利用的代码块还远远称不上"引擎"。 在卡马克和他的3D游戏如日中天之时,他的竞争对手也在慢慢浮现。此后的三十年是一场漫长的游戏引擎战争,数十款游戏引擎在市场中激烈搏杀,直到今天还未尘埃落定,但两大巨头已经缓缓隐现。 今天的3D引擎已远远超出最初的形态,除了可复用的代码库(称为引擎内核),还逐步演进出一整套工具平台。后续我们聊聊UE引擎(Unreal)的史诗成长故事,欢迎大家点赞或留言。 |
2022-07-01
2021-05-31
2022-07-20
2021-03-22
2022-07-01