Games104 引擎工具链笔记

一、GUI体系

1、Immediate Mode
比如UnityUGUI。优点:直接快速;缺点:逻辑比重大

2、Retained Mode
把要绘制的指令存到一个buffer中,统一绘制
优点:把游戏逻辑和UI渲染分开,扩展性强
例子:Unreal UMG

3、Design Pattern
(1)MVC
Games104 引擎工具链笔记_第1张图片
(2)MVPGames104 引擎工具链笔记_第2张图片
(3)MVVM
Games104 引擎工具链笔记_第3张图片

二、数据系统

1、数据定义(序列化):
(2)文本文件(Text Files):txt、obj、xml、json(相较xml,文件小,处理快)等
(3)二进制文件(fbx支持文本和二进制两种格式):优点是占用空间小,加载速度快,防破解,debug费劲
(4)资产引用与数据继承

2、数据加载(反序列化):
先扫描数据,生成< field - value >tree
无论多复杂的文件,都是一个树状结构
Games104 引擎工具链笔记_第4张图片
Games104 引擎工具链笔记_第5张图片
如果用二进制做反序列化,要注意Endianness(大小端)

3、资产版本兼容性
Unreal的做法:对于每一个资产,程序员手写版本号
Google:Protocol Buffers ,对于每一个数据(field),都会定义一个独立无二的unique id,通过比较id有无发生变化可得知数据是否发生更新

4、工具的鲁棒性
命令模式:方便引擎崩了恢复数据Games104 引擎工具链笔记_第6张图片

二、反射

1、什么是反射,有什么作用?

2、什么是元数据?MetaData?

3、利用反射生成属性面板的过程?

你可能感兴趣的:(游戏开发,游戏程序)