ue4蓝图中节点GetPlayerController中的PlayerIndex是什么,答案是:本地玩家索引。但是大家好像并不知道什么是本地玩家索引,因为大部分人觉得本地只有一个玩家,还需要什么索引?其实不然!一些游戏本地可是会出现多个玩家的。
ue4虚幻引擎框架对于主角(玩家)的构建有个严格的把控流程。设计人员如果希望自己构建的角色被应用为控制角色。则需要将角色添加到GameMode的默认玩家中(这是最好的方案)。或是手动获取玩家控制器,进行Possess控制。当设置了玩家角色后,引擎启动会构建第一个角色,给一号玩家控制器(我们暂时这么称呼)使用。这就是单人单机游戏。
如果你想添加本地玩家,则需要使用CreatePlayer节点。这个节点会在本地添加新的玩家,并使用标准流程构建被控制的角色,添加到场景中。
- Controller Id 指定新加入的玩家的ID索引值,-1则按照递增的方式自动生成索引。
- Spawn Pawn 是否生成默认角色。如果不勾选,则在本关卡不会生成玩家控制器和角色(Return返回为空),当进入到下一个关卡才会生成。
- Return 返回生成的新的玩家控制器PlayerController
执行节点后你将获得下面的屏幕效果(使用第三人称模板测试工程)
修改分屏模式
虚幻引擎的本地多人模式,默认是分屏的。当然,如果你希望修改则可以在项目设置地图中完成。
通过去掉图5中的勾选,则可以把分屏模式修改为同屏模式。如图6
不仅如此,你还可以通过调整图5中的参数,修改分屏的排版。在这里就不一一赘述了,大家可以自己试试。
如何控制另外一个角色?
当添加了一个玩家后,对应的玩家角色我们应该如何控制呢?这点也不需要担心,虚幻引擎会默认搜索终端硬件控制器(手柄,键盘),然后默认匹配。对于输入事件处理,按照正常开发来处理即可。二号玩家的硬件控制器与PlayerController的对应关系,引擎已经处理完成。我们直接使用即可。
不过在此之后,包括获得角色,获得控制器,都需要注意玩家索引关系。
本地多人,最多几人?
虚幻引擎目前支持最多4个本地玩家一起游戏,当超过4个玩家时,生成会失败,并有错误提示。
虚幻引擎版本:4.21.2