游戏引擎架构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开发的一个让轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的 ...
随机推荐
- Android 系统信息的获取
Android 系统信息的获取 一.内存(ram): 1.android 的内存大小信息存放在系统的 /proc/meminfo 文件里面,通过adb shell 进入 手机目录后,使用 cat /p ...
- List列表按照对象进行排序
在某些业务场景下需要根据list列表中对象的字段进行排序.今天就以实例说明: 实体类 public class Product { private int discount; // 省略getter/ ...
- Tinker爬坑之路
目的 热修复去年年底出的时候,变成了今年最火的技术之一.依旧记得去年面试的时候统一的MVP,然而今年却变成了RN,热修复.这不得不导致我们需要随时掌握最新的技术.不然可能随时会被淘汰.记得刚进公司,技 ...
- ng 双向数据绑定
1.方向1:model->View模型数据绑定到视图 绑定的方式:①双花括号 ②常见的ng指令(ngRepeat ngIf ngShow....) 效果:数据一旦绑定到视图上,随着数据的修改,视 ...
- mysql 存储过程查询语句
可以用 命令"show PROCEDURE status"查看所有的存储过程或检索系统表"mysql.proc"来查询已有的存储过程.例如:用show PROC ...
- 11g R2 rac linstener 监听配置
两个节点host,ipvip ,scan的信息 #eth0-Public IP 162.12.0.1 cqltjcpt1 162.12.0.3 cqltjcpt2 #eth1 PRIVAT ...
- php-excel 与 laravel-excel
php-excel: http://blog.csdn.net/evkj2013/article/details/65441170 php-excel中文手册(前端的jqury) http://www ...
- 使用readelf和objdump解析目标文件 ***
引言 本文是对程序员的自我修养:链接.装载与库中第3章的实践总结(和结构相关的示意图都是用Gliffy Diagrams画的
- Python学习书籍推荐 中英对照
Learn Python The Hard Way 笨办法学 python A Byte of Python 简明Python教程 初学者 英文版 Learning Python, 3rd Editi ...
- 完整的qt安装教程
大家可能认为qt收费了 其实不是 大家直接点击 这个 Community 这里的下载 Download 然后呢 就跳转到这个界面 点击 Qt Offline Installer 就会跳到这个地方 滑下 ...