https://www.bilibili.com/video/BV1dk4y1r752?from=search&seid=12555269421119713078
Why数据驱动?
职责分离;分工协作,策划配表;易维护;外部数据中心,sql数据库;易调试,易迭代
少硬编码数据:c++中尽量少写,蓝图的default也尽量少写
少硬编码类:少写死一些东西(如蓝图spawn actor)
数据驱动的方式:
初级
1.BP_ClassDefaultObject / Instance,
直接在类的默认对象或是实例里。
优 :简单,最好是配合结构/枚举。
缺 :散乱,不好管理。
2.在c++中进行资源配置,需要从文件路径中读取资源,这是一种强绑定,写死的,
最大的问题是路径怎么写?
【1】
https://www.cnblogs.com/fuhaiqing/p/13287641.html
3.Class Reference 尽量将变量类型用基类,方便套用子类
4.数据表 create umg stop,,, CompositeDataTable//有优先级的普通数据表
数据表根据行名查找数据,所以排序可以打乱。
优:表格视图,已编辑,导出csv/json,方便配置大量数据
缺:不能包含UObjects,无父子层级关系,不能引用其他表格
依然属于强绑定资产的加载,
5.DataAsset
蓝图用Async Load Asset节点读取
优:可以子类化,可以使用Uobject实例,可以用BulkEdit快速编辑多个AS
可以快速引用其他资产 ,灵活 方便配置树装组织的数据 全局配置,
每一个AS都是一份数据对象
缺:不好管理大量的数据
6.CurveTable / CompositeCurveTabe 纯数据/值表
需要从.csv导入
7.WorldSetting 世界场景设置
https://www.cnblogs.com/fuhaiqing/p/13287641.html 【4】