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、利用反射生成属性面板的过程?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值