当前位置:   article > 正文

Games104 引擎工具链笔记_games104 反射系统

games104 反射系统

一、GUI体系

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

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

3、Design Pattern
(1)MVC
在这里插入图片描述
(2)MVP在这里插入图片描述
(3)MVVM
在这里插入图片描述

二、数据系统

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

2、数据加载(反序列化):
先扫描数据,生成< field - value >tree
无论多复杂的文件,都是一个树状结构
在这里插入图片描述
在这里插入图片描述
如果用二进制做反序列化,要注意Endianness(大小端)

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

4、工具的鲁棒性
命令模式:方便引擎崩了恢复数据在这里插入图片描述

二、反射

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

2、什么是元数据?MetaData?

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/93319
推荐阅读
相关标签
  

闽ICP备14008679号