游戏引擎开发涉及的知识和技术
游戏引擎开发涉及的知识和技术
运行时引擎架构
可以看到游戏引擎架构由多个软件层组成,几乎涵盖了计算机软件所有方面的内容。这里也不可能将全部讲清,主要是讲些重要的。这里主要以unity为例。
1、物理引擎
,例如,当角色跳起的时候,系统内定的重力值将决定他能跳多高,以及他下落的速度有多快,子弹的飞行轨迹、车辆的颠簸方式也都是由物理系统决定的。
碰撞探测是物理系统的核心部分,它可以探测游戏中各物体的物理边缘。当两个3D物体撞在一起的时候,这种技术可以防止它们相互穿过,这就确保了当你撞在墙上的时候,不会穿墙而过,也不会把墙撞倒,因为碰撞探测会根据你和墙之间的特性确定两者的位置和相互的作用关系。
游戏物理引擎主要包括:粒子数学、运动定律、粒子物理引擎、合力、弹力、硬约束条件、质体物理引擎、旋转操作的数学知识、刚体运算定律、刚体物理引擎、碰撞检测、生成碰撞、碰撞处理方案、静态接触和摩擦力、稳定性和优化问题、整合方案以及其他物理引擎等内容。
2、渲染引擎
渲染是引擎最重要的功能之一,当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中的程序。它们是可编程的,并允许操作几何和像素颜色。
3、游戏音效
分类
从目前国产游戏的音效结构来看,可以按以下方式简单分类:
按音效格式和制作方式分类:
1)单音音效
2)复合音效
3)乐音音效
按功能分类:
1)界面音效
2)NPC音效
3)环境音效
4)技能音效
5)背景音效
4、脚本引擎
脚本引擎,就是一个计算机编程语言的解释器,它的功能是解释执行用户的程序文本,将它译成计算机能执行的机器代码,完成一系列的功能。
public class Move : MonoBehaviour
{private float speed = 10f;void Update(){transform.Translate(Vector3.forward * Time.deltaTime * speed);}
}
这就是一个简单的实现人物移动得脚本。
5、网络引擎
互联网搜索引擎是万维网中的特殊站点,专门用来帮助人们查找存储在其他站点上的信息。
引擎组成:
1、搜索器
其功能是在互联网中漫游,发现和搜集信息;
2、索引器
其功能是理解搜索器所搜索到的信息,从中抽取出索引项,用于表示文档以及生成文档库的索引表;
3、检索器
其功能是根据用户的查询在索引库中快速检索文档,进行相关度评价,对将要输出的结果排序,并能按用户的查询需求合理反馈信息;
4、用户接口
其作用是接纳用户查询、显示查询结果、提供个性化查询项。
5、robots
robots协议,网站通过robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。Robots协议是网站国际互联网界通行的道德规范,其目的是保护网站数据和敏感信息、确保用户个人信息和隐私不被侵犯。因其不是命令,故需要搜索引擎自觉遵守
粒子系统
粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术,而这些现象用其它传统的渲染技术难以实现的真实感的 game physics。经常使用粒子系统模拟的现象有火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹或者象发光轨迹这样的抽象视觉效果等等。
在游戏引擎中,粒子系统主要是用来做各种特效。一些的十分炫丽的特效就是拿粒子系统做的。
游戏引擎开发涉及的知识和技术相关推荐
- 【转载】浅析游戏引擎开发
浅析游戏引擎开发 1 引言 电脑游戏作为一种娱乐方式越来越为人们所接受.即时通讯开发对于电脑游戏来说, 游戏引擎是用于控制游戏功能的 主程序, 如接受玩家控制信息的输入, 选择合适的声音以合适的音量播 ...
- 用C++实现跨平台游戏引擎开发
游戏开发系列 用C++实现跨平台游戏引擎开发 你是否梦想写一部格斗游戏但却无从着手呢?是否你只因游戏开发好玩而对之感兴趣?本文我们将分析一个通用的跨平台游戏引擎,每个游戏开发新手都可以自由地使用它. ...
- 视频教程-三维游戏引擎开发-图形理论基础-其他
三维游戏引擎开发-图形理论基础 2004年毕业于西南科技大学,计算机科学技术专业,从事软件开发,游戏开发,擅长游戏开发,桌面应用,手机游戏. 张立铜 ¥117.00 立即订阅 扫码下载「CSDN程序员 ...
- unity应用开发实战案例_Unity3D游戏引擎开发实战从入门到精通
Unity3D游戏引擎开发实战从入门到精通(坦克大战项目实战.NGUI开发.GameObject) 一.Unity3D游戏引擎开发实战从入门到精通是怎么样的一门课程(介绍) 1.1.Unity3D游戏 ...
- 简单游戏引擎开发笔记(一)
---恢复内容开始--- 一.游戏引擎简介 1.概念 游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些互交式实时图像应用程序的核心组件.这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在 ...
- 游戏引擎开发和物理引擎_视频游戏开发的最佳游戏引擎
游戏引擎开发和物理引擎 In this article, we'll look at some of the most popular game engines for video game deve ...
- 游戏引擎与游戏引擎开发入门
早想写一点游戏设计的文章与大家交流,一是经验的问题,二是公司正在紧张的游戏制作期,实在抽不出多少时间,一直没有动手,今天忽然头脑发热,写了一段,以后准备陆续写一些游戏创意,策划,制作,流程管理,和制作 ...
- 游戏引擎开发中常用的设计模式
仅仅因为你知道编程语言的语法,不足以让你成为一个程序员.我讨厌这么对你说,但它确实是真的.什么知识将会使你成为一个真正的程序员呢?答案是数据结构,算法和设计模式的知识.语言的语法与知道字母表同义.任何 ...
- Python游戏引擎开发(六):动画的小小研究
今天我们来研究动画,其实这个动画就是一个Sprite+Bitmap的结合体.不造什么是Sprite和Bitmap?=__=#看来你是半路杀进来的,快去看看前几章吧: Python游戏引擎开发(一):序 ...
最新文章
- PyTorch 笔记(13)— autograd(0.4 之前和之后版本差异)、Tensor(张量)、Gradient(梯度)
- ar开发 ue4_Oculus计划将UE4“500万美元营收版权分成免除计划”扩展到UE5
- 神箭手爬虫学习笔记(二)
- sift计算描述子代码详解_代码详解——如何计算横向误差?
- cgroup 介绍 与使用
- 鼠标移入视频播放,鼠标移出播放停止,恢复到原来状态
- TiDB备份恢复方式你知多少?
- Red Hat 6.5 Samba服务器的搭建(匿名访问,免登录)
- mysql分布式数据库_分布式数据库搭建详细教程
- 2003下的共享问题
- 重磅!Intel联合OpenStack基金会发布Kata Container项目
- 计算机机房维护与管理,计算机机房的管理与维护.doc
- 文件压缩——哈夫曼树编码2.0
- 关于FPGA软件quartus仿真出现cannot launch the modelsim software问题的解决
- J2EE框架技术(持续更新)
- Collaborative Filtering with Temporal Dynamics
- 2021年中国城市财力半年报 Top 30
- 支付账户体系(分账接口)的9大价值
- Quartz 定时任务相关介绍表
- consulandnacos
热门文章
- NULL和‘‘,存储空间优化
- 计算机适合女生考研的专业,计算机领域哪些专业适合女生?
- 选对数据采集器,轻松采集所需数据!
- NRF51822---常见问题总结
- Object克隆的补充与总结
- angular2中一种换肤实现方案
- Web前端第二季(CSS):十:第5章:案例开发:505-SiKi学院首页布局分析+506-开发右侧学习中心链接样式+507-切分SiKi学院的布局+508-开发SiKi学院的导航按钮
- 根据下列信息计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上?
- 怎么本地查看svn服务器文件
- CentOS最常用命令及快捷键整理