第三周:25/9/29 ~ 25/10/6
whiteviera2025-09-29
编辑器崩溃次数:2
开发内容
- 建立本地化文本机制
- 完成任务系统的开发
- 物品系统设计和开发
- 资源管理系统的设计和开发
- 全局事件系统的设计和开发
TODO
- 为全局Constant中的StringTable引用添加校验机制
- 为物品数据开发从JSON导入的编辑器util
- 在交互系统实现后为ItemContainerActor添加交互相关的机制
关于负重系统的一点思考
负重机制在游戏里的意义有两点:
- 对于那种没有什么战利品消耗机制的游戏来说,设计师为了玩家能够有动力去探索游戏,只能在奖励里面放一些比较强力的装备。
- 但是如果玩家每次探索都能搜刮到一堆强力装备的话容易导致数值崩坏。
- 通过加入负重机制来限制玩家最多能携带的东西,就能对这种情况做出限制。
- 对于那些有战利品消耗机制的游戏来说,负重更倾向是一种添加策略性的限制。
- 不同类型(不同负重)的战利品消耗得到的奖励(如金钱、稀有配件等)不同,但是玩家一次能携带的所有战利品是有限的,这就需要玩家根据需求去权衡自己要拿什么。
踩过的坑
- UE5的本地化面板已经移到了Tools一栏下面。
- UE5.0~5.4的版本中 收集本地化文本 这个功能无法在编辑器中调用,需要手动调用编辑器cmd来执行。
- FText有延迟加载的特性,调试器里不一定能看得到真实值!!!
- 为什么我做好StringTable了蓝图里还是不能选,,,,怎么这么恶心人,,,,,,,
- 原来是要重新gather compile了才能选,这么弱???
- 对于UMG Widget来说,其中的组件(TextBox,...)只有在其被添加到屏幕(或者被添加到已经显示出来的组件当中)之后才能被正确访问;在此之前访问会返回None。
- 什么叫模板特化???为什么我之前从来没听过这种玩意??
TScriptInterface<T>里面的接口类T和Implements<T>里面的参数都需要写的是U开头的接口类(因为是它携带着UCLASS()生成的StaticClass等代码。)
关于FText和本地化
等到有时间的时候再写吧。。。