http://baike.baidu.com/view/33343.htm(百度百科)
游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的 在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。大部分都支持多种操作平台,如Linux、Mac OS X、微软Windows。游戏引擎包含以下系统:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、电 脑动画、人工智能、网络引擎以及场景管理。
=========分割线================
以上答案来自百度
对于游戏开发者来说,引擎可以理解为一个封装好的盒子,它的功能是提供调用接口,好让一些复杂的事情通过这个盒子之后变的简单。
举个例子,我们要在计算机上渲染一个3D的场景,而从实际上来说,显示在你的电脑屏幕上的只是一张带有深度感觉的2D图片。(不能理解的翻相册,看看自己 的照片,您老不论多么3D的脸庞,印在照片上之后都是一个平面,就在那张纸上。之所以你还是觉得自己看起来是立体的,是因为有了深度感的颜色变化和光影变 化。)
对于游戏场景来说是一样的。
首先美术创建了许多3D模型,而这些3D模型分解起来就是许多的三角形包围出来的密封体。然后在这模型基础上,美术绘制了一层叫做贴图的东西,这东西很像人的皮肤,于是……一个模型就诞生了。
接着,我们发现,通过画法几何,3D几何等学术内容的一大堆算数结果……(这点是凑字数的,看不懂没关系,我也不懂)
我 们得到一个结论,我们在这个模型的前面摆上一个摄像机,摄像机的视角是扇形范围内的一小块,在这一小块范围内,我们能看到的内容,我们先称之为摄像机视 角。不难发现,物体的背面,我们是看不到的(除非你丫转视角),两个物体之间的前后关系,是通过遮挡关系来实现的,除此之外,这个视角下的内容符合我们一 切所熟知的光学原理……漫反射、反射、折射、光吸收、投影……想想你的高中物理知识,你不难得到结论:想要描述一个物体,我只需要描绘关于这个物体的全部 光信息就可以了。
那么…………我们得到了一套可以通用的算法,我们把这套算法称之为绘制物体时所需要的算法。
转头看来代码层……
如果你每去创建一个物体,都用这种反锁的方式去写一套算法给这玩意儿……你不觉得你很脑残么……于是,就有了这个封装盒子。当然,绘制一个3D图形只是这个封装盒子其中一部分功能。
我们一般把引擎分为:客户端引擎和服务器端引擎。他们分别提供不同的借口,来解决不能的问题。
客户端引擎是我们接触的最多的,它关联的内容包括,骨骼动画、材质、shader、特效、渲染………………等等等。
but!!!
这个非常重要,我因为我见过很多2B跟我在这儿瞎得得!
引擎并不包含功能,或者是引擎并不包含逻辑。比方说,你TM要写一套组队功能,对不起,引擎不管你这事儿。
================================以下是对程序猿同学的建议
程序猿分很多岗位。
对于不同开发需求,会要求程序猿会不同的语言和开发工具。
e.g:
游戏引擎程序猿一般要求是会C++,但是熟知数学、3D数学、至少你要明白四元数是个什么玩意儿,如何做矩阵叉乘。
客户端程序猿是看开发需求,一般要求是C++、C、或者是脚本语言,例如python。
页游程序猿,主要是服务器端程序猿和前端程序猿,前端程序猿的要求一般是as架构。
手游程序猿……以前是JAVA,现在是了解APP平台和APP开发工具,还有些什么玩意儿,不是很清楚。
此外,会有公司要求你熟悉引擎,比如说,熟悉BG、GB,UE,CE。还有一些引擎本身支持跨平台。例如UE,他支持家用机平台开发,手游开发,客户端游戏开发,等等。
但总体来说万变不离其宗,看好C++走遍天下都不怕~
转载请注明:学时网 » 关于游戏引擎的简单总结