【UE4、5】游戏启动时不创建Character和隐藏Joystick
最近一直再看ActionRPG的代码,细心的去了解每个模块。还是可以发现很多新鲜的内容的。比如今天我们要讲到的两个点:
游戏启动时不创建Character
在没有登录游戏之前,隐藏系统提供的虚拟摇杆(JoyStick)
为什么要在游戏启动时不创建Character呢,也许你希望先加载很多玩家数据之后,再根据这些信息,初始化Character的属性和外形。
翻看GameModeBase源码可以看到,在进入游戏的时候会调用RestartPlayer创建角色。如果该方法不被调用,那么就不会创建了。也即是说,当你需要生成控制角色时,手动去调用该方法。
看看下面两段代码:
只要在重写PlayerController的CanRestartPlayer,在合适的时机让其返回true或false。再调用RestartPlayer,就可以控制Character的生成了。
这里也可以不由Controller来控制,GameMode也可以由蓝图来实现PlayerCanRestart控制是否创建Character。


为什么启动时不显示操作摇杆呢?刚进游戏,肯定不是直接开始移动,要做些角色选择、游戏介绍、Sequence等特殊处理。此时显示Joystick,肯定不合适。而且在有些情况,游戏进行中也不希望有Joystick。
如何隐藏虚拟摇杆呢?直接看看ActionRPG中的实现。

