可以看到游戏引擎架构由多个软件层组成,几乎涵盖了计算机软件所有方面的内容。这里也不可能将全部讲清,主要是讲些重要的。这里主要以unity为例。
,例如,当角色跳起的时候,系统内定的重力值将决定他能跳多高,以及他下落的速度有多快,子弹的飞行轨迹、车辆的颠簸方式也都是由物理系统决定的。
碰撞探测是物理系统的核心部分,它可以探测游戏中各物体的物理边缘。当两个3D物体撞在一起的时候,这种技术可以防止它们相互穿过,这就确保了当你撞在墙上的时候,不会穿墙而过,也不会把墙撞倒,因为碰撞探测会根据你和墙之间的特性确定两者的位置和相互的作用关系。
游戏物理引擎主要包括:粒子数学、运动定律、粒子物理引擎、合力、弹力、硬约束条件、质体物理引擎、旋转操作的数学知识、刚体运算定律、刚体物理引擎、碰撞检测、生成碰撞、碰撞处理方案、静态接触和摩擦力、稳定性和优化问题、整合方案以及其他物理引擎等内容。
渲染是引擎最重要的功能之一,当3D模型制作完毕之后,美工会按照不同的面把材质贴图赋予模型,这相当于为骨骼蒙上皮肤,最后再通过渲染引擎把模型、动画、光影、特效等所有效果实时计算出来并展示在屏幕上。渲染引擎在引擎的所有部件当中是最复杂的,它的强大与否直接决定着最终的输出质量。
渲染引擎由渲染管理器组成。这个管理器负责将数据发送到GPU并激活正确的着色器。
要在屏幕上渲染像素,你需要与GPU通信。要做到这一点,你需要一个媒介。 这种介质称为OpenGL。
OpenGL不是一种编程语言,它的目的是将数据从CPU传送到GPU。因此,作为计算机图形开发人员,你 的任务是通过OpenGL对象将数据发送到GPU。为此,GPU需要三组数据:
1)Attributes数据:由GPU用于组装几何,应用照明和图像到游戏角色。
2)Uniforms数据:向GPU提供空间数据。
3)Texture数据:纹理是用于包装角色的2-D图像。
GPU由四个着色器组成:
1)顶点
2)面片
3)细分曲面
4)几何
着色器是一种存在于GPU中的程序。它们是可编程的,并允许操作几何和像素颜色。
分类
从目前国产游戏的音效结构来看,可以按以下方式简单分类:
按音效格式和制作方式分类:
1)单音音效
2)复合音效
3)乐音音效
按功能分类:
1)界面音效
2)NPC音效
3)环境音效
4)技能音效
5)背景音效
脚本引擎,就是一个计算机编程语言的解释器,它的功能是解释执行用户的程序文本,将它译成计算机能执行的机器代码,完成一系列的功能。
public class Move : MonoBehaviour
{
private float speed = 10f;
void Update()
{
transform.Translate(Vector3.forward * Time.deltaTime * speed);
}
}
这就是一个简单的实现人物移动得脚本。
互联网搜索引擎是万维网中的特殊站点,专门用来帮助人们查找存储在其他站点上的信息。
引擎组成:
1、搜索器
其功能是在互联网中漫游,发现和搜集信息;
2、索引器
其功能是理解搜索器所搜索到的信息,从中抽取出索引项,用于表示文档以及生成文档库的索引表;
3、检索器
其功能是根据用户的查询在索引库中快速检索文档,进行相关度评价,对将要输出的结果排序,并能按用户的查询需求合理反馈信息;
4、用户接口
其作用是接纳用户查询、显示查询结果、提供个性化查询项。
5、robots
robots协议,网站通过robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。Robots协议是网站国际互联网界通行的道德规范,其目的是保护网站数据和敏感信息、确保用户个人信息和隐私不被侵犯。因其不是命令,故需要搜索引擎自觉遵守
粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术,而这些现象用其它传统的渲染技术难以实现的真实感的 game physics。经常使用粒子系统模拟的现象有火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹或者象发光轨迹这样的抽象视觉效果等等。
在游戏引擎中,粒子系统主要是用来做各种特效。一些的十分炫丽的特效就是拿粒子系统做的。