游戏引擎架构Note1
【游戏引擎架构】
1、第14章介绍的对游戏性相关系统的设计非常有价值。各个开发人员几乎都是凭经验设计,很少见有书籍对这些做总结。
5、通过此书以知悉一些知名游戏作品实际上所采用的方案。
6、书名中的架构二字,并不单是给出一个系统结构图,而是描述每个子系统的需求、相关技术及与其他子系统的关系。
7、本书的第11章(动画系统)及第14章(运行时游戏性基础系统)是本书特别精彩之处。
8、此书翻译历时3年半。
【Note1】
1、游戏有多个种类(category)和类型(genre)。此处genre译为体裁更为合适。
2、很多游戏工作室并不隶属于个别发行商,这些工作室把他们制作的游戏,卖给出最好条件的发行商。还有一些工作室让单一发行商独家代理他们的游戏,其形式可以是签署长期发行合同,或是成为发行商全资拥有的子公司。
3、物理模拟可能需要每秒更新120次以保持稳定。一个游戏角色的人工智能系统可能每秒最少要“最一次”才能显得不呆。另外,也可能需要每1/60秒调用一次声音程序库,以确保音频缓冲有足够的声音数据,避免发出一些短暂失灵声音。
4、游戏引擎或中间件组件越通用,在特定平台运行特定游戏的性能就越一般。
5、OGRE是一个架构优良,又易学易用的三维渲染引擎。
6、软件层的构建通常上层依赖下层,下层不依赖上层。
7、PhysX是一个流行的工作级物理及碰撞引擎,NVIDIA提供免费下载。没有碰撞检测,物体会互相穿透。
8、当用微软的编译器编译代码时,编译器会定义_MSC_VER宏;当使用GNU编译器,则会定义__GNUC__宏。
9、小端:最低有效字节存储于最低位,大端:最高有效字节存储于最低位。
10、解决字节序的其中一个方案为所有数据以文字方式写入文件。
11、字节对齐的其中一个原因是,内存控制器对于非对齐的内存需要2次存储才能取出。例如:0x6a341173开始的4字节数据,需要分别从0x6a341170和0x6a341174中2个4个节块中取出数据组装后才能被使用。有些平台下非对齐会导致程序崩溃(PS2)。
12、__FILE__、__LINE__这2个宏可以获取文件名和行号信息。
13、除了笛卡儿坐标系外还有圆柱坐标系,球坐标系。
14、当向一物体施加力(force),当且驻当其施力方向离开中心点,该力会对物体的旋转运动产生影响。由此产生的旋转力称为力矩(torque),其计算方法如下:给定力F,从质心(center of mass)至施力点的矢量r,则产生的力矩为N=r x F。
15、线性插值(linear intepolation)LERP。
16、存取主系统内存是缓慢的操作,通常需要几千个处理周期才能完成。存取寄存器只需数十个周期,甚至有时只需要一个周期。
17、当使用断点时,需要使用以下代码来避免每帧间隔过长问题。
if (dt > 1.0f / 30.0f)
{
dt = 1.0f / 30.0f
}
18、利用多核优势的模型有:
1)“分叉及汇合”
2)“每个子系统运行于独立线程”
3)作业模型,工作被拆分为小颗粒度的作业,这些作业可于任何闲置的处理器运行。
19、当玩家尝试转方向盘时,方向盘会产生阻力,以模拟困难的行车条件或急转弯。这叫力反馈(force-feedback)。
20、OutputDebugString()不支持格式化输出,它只能打印char数组形式的字符串。
21、常用的调试方法包括调试绘图,游戏内置菜单,游戏内置控制台
22、玩家角色(player character, PC),非玩家角色(non-player character,NPC)
游戏引擎架构Note1的更多相关文章
- 游戏引擎架构Note2
[游戏引擎架构Note2] 1.视觉属性(visual property)决定光线如何与物体表面产生交互作用. 2.一个Mesh所使用三角形的多少可以用细致程度(level-of-detail,LOD ...
- 游戏引擎架构 (Jason Gregory 著)
第一部分 基础 第1章 导论 (已看) 第2章 专业工具 (已看) 第3章 游戏软件工程基础 (已看) 第4章 游戏所需的三维数学 (已看) 第二部分 低阶引擎系统 第5章 游戏支持系统 (已看) 第 ...
- 游戏引擎架构 && windows 核心编程
欲想正人,必先正己. 静坐当思己过,闲谈莫论人非. 垂直同步的作用: 为避免画面撕裂,许多渲染引擎会在交换缓冲区之前,等待显示器的垂直区间消隐,即电子枪重归屏幕上角的时间. 高分辨率计时器的时间漂移 ...
- 游戏引擎架构,3d游戏引擎设计、Unreal引擎技术等五本PDF推荐
扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop135452397.taobao.com/ 联系店主
- 游戏制作之路:游戏引擎选择、Mac下和Windows下UnrealEngine 4体验对比、文档及其他
UnrealEngine 4和Unity3d的选择 订阅了UrealEngine4(UE4)开发者.我开始做网站用的是ASP.NET和C#,之后做网站虽然换用更方便的PHP(因为做的都是小网站).我想 ...
- 棒!使用.NET Core构建3D游戏引擎
原文地址:https://mellinoe.wordpress.com/2017/01/18/net-core-game-engine/ 作者:ERIC MELLINO 翻译:杨晓东(Savorboa ...
- U3D 游戏引擎之游戏架构脚本该如何来写
这篇文章MOMO主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏引 ...
- 【转载】U3D 游戏引擎之游戏架构脚本该如何来写
原文:http://tech.ddvip.com/2013-02/1359996528190113.html Unity3D 游戏引擎之游戏架构脚本该如何来写 2013-02-05 00:48:4 ...
- Unity3D游戏开发初探—1.跨平台的游戏引擎让.NET程序员新生
一.Unity3D平台简介 Unity是由Unity Technologies开发的一个让轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的 ...
随机推荐
- java网络编程TCP传输—流操作—服务端反馈与客户端接收
在读取完流后,服务端会向客户端返回一些数据,告诉客户端,已经写完了. 在这里和”流操作—拿到源后的写入动作“差不多,客户端同样以byte与Buffered两种缓冲读取作为例子,同时,.也是希望大家给补 ...
- animal farm 第一章阅读笔记
chapter 1 Old Major's dream. paragraph 1 //Mr Jones is the mastor of the Manor Farm.That night ...
- 好强大的页面功能调试(js调试,查找js绑定的事件)值得学习
引自:http://www.poluoluo.com/jzxy/201209/178110_2.html 这篇文章是根据目前 chrome 稳定版(19.0.1084.52 m)写的,因为 googl ...
- 【框架】Django入门学习笔记
教程 Demo 教材2 教材3 [转] Django处理请求的工作机制 记住: 1.用manage.py runserver 启动Django服务器时就载入了在同一目录下的settings.py.该文 ...
- HDU - 6314:Matrix (广义容斥)(占位)
Samwell Tarly is learning to draw a magical matrix to protect himself from the White Walkers. the ma ...
- 基于epoll的TP传输层实现
1. 抽象TP传输层设计 在使用epoll实现实际的传输层之前,先设计一个抽象的传输层,这个抽象的传输层是传输层实现的接口层. 接口层中一共有以下几个通用的类或者接口: (1)Socket:通用的套接 ...
- rpm 软件包离线安装
1. 插件安装(可选) yum install yum-plugin-downloadonly 2. 只下载不安装(perl 演示) yum install --downloadonly --down ...
- 关于AutoCommit
AutoCommit设置为true(大多数JDBCdrive的默认配置),则每次执行的SQL语句执行完成后都会落实到数据库中:如果想要在跨语句事务,则需要添加Begin Transiction,Com ...
- Mysql 拿指定经纬度与数据库多条经纬度进行距离计算 (转)
公式如下,单位米: 第一点经纬度:lng1 lat1 第二点经纬度:lng2 lat2 round(6378.138*2*asin(sqrt(pow(sin( (lat1*pi()/180-lat2* ...
- bzoj 3612 [Heoi2014]平衡——整数划分(dp)
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3612 因为力矩的缘故,变成了整数划分. 学习到了整数划分.就是那个图一样的套路.https: ...