游戏引擎架构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开发的一个让轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的 ...
随机推荐
- CABAC与CAVLC有什么区别?
待完善 7.3.12 用 CAVLC 方式编码的残差数据的语义 coeff_token 指明了非零系数的个数,拖尾系数的个数. trailing_ones_sign_flag 拖尾系数的符号 - ...
- 开源一款远程控制软件 —— pcshare
这里开放一款远程控制软件的源码--pcshare,该软件分为被控制端和控制端.部分界面如下: 控制端通过寄生在被控制端的后台程序来实现控制,可以对被控制台进行文件管理.屏幕监控.键盘监控.监控管理.查 ...
- RAD Studio Mobile Roadmap updated,XE5 will released on next month, Andriod will be supported.
RAD Studio Mobile Roadmap updated Embarcadero updated his RAD Studio Mobile Roadmap. This concern ...
- DataBase project physical design
DataBase physical design //Table: /*student*/ create table student( id int not null primary key, /*学 ...
- 修改Sublime Text3 的侧边栏字体大小
修改Sublime Text3 的侧边栏字体大小 1. 安装”Package Control Package Control”,建议使用官方安装命令:https://sublime.wbond.net ...
- NOIP模拟题 序列
题目大意 给定长为$n$的序列$A$,定义长为$k$的区间中位数为从小到大排完序后第$\lfloor\frac{k}{2}\rfloor$个数的大小. 每次询问给定$l_1,r_1,l_2,r_2$有 ...
- 怎么用HD Tune检测硬盘坏道
HD Tune软件不仅小巧而且很易使用,是一款检测电脑硬盘的优良工具.不仅是电脑硬盘,包括移动硬盘在内一样可以检测.那么,如何使用HD Tune呢?如何使用HD Tune检测磁盘坏道呢? 工具/原料 ...
- 模糊聚类算法(FCM)
伴随着模糊集理论的形成.发展和深化,RusPini率先提出模糊划分的概念.以此为起点和基础,模糊聚类理论和方法迅速蓬勃发展起来.针对不同的应用,人们提出了很多模糊聚类算法,比较典型的有基于相似性关系和 ...
- Java基础总结大全
一.基础知识: 1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平台,jvm不是跨平台的. J ...
- bzoj 4310 跳蚤——后缀数组+二分答案+贪心
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4310 答案有单调性? 二分出来一个子串,判断的时候需要满足那些字典序比它大的子串都不出现! ...