ue4纯蓝图跨关卡,跨地图的正确存档姿势
咱就是说,疯狂的踩坑,疯狂的踩坑,终于是解决了,顺便写个心得,后来的人就尽量别踩了
原本看到有一个savegame类,想着可以直接用啥的,然后发现p都没有用
当然直接把数据存到gameplaymode或者character/state都是不现实的,在world/level切换的时候一切的一切都会被刷新
所以说应该怎么办呢?
其实原理特别简单,就是基于gameplay框架的原理(当初背了那么老半天,结果差点没想起来用),gameinstance是位于最底层的,所以在世界被刷新的时候,instance就像一个奇点一样,里面的东西都会被保留下来
然后呢,只要你新建一个instance类,就可以在游戏全程保存你需要的数据了,instance的蓝图操作界面和别的基本上也没啥区别,新建变量新建函数就完事了捏
然后就是记得在项目设置里面,地图和模式选项,拉到最下面,然后有个选择instance的地方,选择你自己新建的那个就行了
再然后呢,你想在什么地方调用/修改存好的东西了,就用个getgameinstance(绿的)拉出来,castto你自己命名的那个类,做个强制类型转换,然后再右下角蓝点一拉,就能调用你自己需要的变量了捏
大概就是这样
真的简单,简单的离谱,然后我特么像了一晚上才想起来,就是说疯狂的踩坑,然后网上也没有资料,只能说还是不够返璞归真
就写这些吧
然后正好最近在研究离线存档和基于蓝图的文件快速读取,要是能研究明白就再写个新博
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具