UE4中分屏游戏制作(本地多人游戏 SplitScreen)

引子

图1

很多人问过我蓝图中节点GetPlayerController中的PlayerIndex是什么,我的解释是本地玩家索引。但是大家好像并不知道什么是本地玩家索引,因为大部分人觉得本地只有一个玩家,还需要什么索引?其实不然!一些游戏本地可是会出现多个玩家的!不信可以往下看!

前言

大家有没有玩过 《铁拳》《实况足球》《NBA》《FIFA足球》 呢?这些游戏有个共同特点,就是可以多个玩家一起玩。并且,在出现多个个玩家时,他们共用一个屏幕视野,我们称这样的游戏叫本地多人同屏游戏。

当然有同屏多人游戏,那有没有本地多人分屏游戏呢?当然有!像《真三国无双7》《无主之地》,PS上的《我的世界》,《超神集结》等。这些可都是典型的本地多人游戏,并且使用同一块屏幕进行了分视野设计。

那在虚幻引擎中,是否可以实现本地多人游戏设计呢?当然是可以的!与Unity引擎不同的是,虚幻并不需要使用者自己摆放摄像机来完成分屏或是同屏设计。基于引擎框架,虚幻提供了完整的解决方案,我们只需要使用少量的代码即可完成操作!

操作

添加新的玩家

虚幻引擎框架对于主角(玩家)的构建有个严格的把控流程。设计人员如果希望自己构建的角色被应用为控制角色。则需要将角色添加到GameMode的默认玩家中(这是最好的方案)。或是手动获取玩家控制器,进行Possess控制。当设置了玩家角色后,引擎启动会构建第一个角色,给一号玩家控制器(我们暂时这么称呼)使用。这就是单人单机游戏。

如果你想添加本地玩家,则需要使用CreatePlayer节点。这个节点会在本地添加新的玩家,并使用标准流程构建被控制的角色,添加到场景中。

图2
  • Controller Id 指定新加入的玩家的ID索引值,-1则按照递增的方式自动生成索引。
  • Spawn Pawn 是否生成默认角色。如果不勾选,则在本关卡不会生成玩家控制器和角色(Return返回为空),当进入到下一个关卡才会生成。
  • Return 返回生成的新的玩家控制器PlayerController

执行节点后你将获得下面的屏幕效果(使用第三人称模板测试工程)

图3

修改分屏模式

虚幻引擎的本地多人模式,默认是分屏的。当然,如果你希望修改则可以在项目设置地图中完成。

图4
图5

通过去掉图5中的勾选,则可以把分屏模式修改为同屏模式。如图6

图6

不仅如此,你还可以通过调整图5中的参数,修改分屏的排版。在这里就不一一赘述了,大家可以自己试试。

如何控制另外一个角色?

当添加了一个玩家后,对应的玩家角色我们应该如何控制呢?这点也不需要担心,虚幻引擎会默认搜索终端硬件控制器(手柄,键盘),然后默认匹配。对于输入事件处理,按照正常开发来处理即可。二号玩家的硬件控制器与PlayerController的对应关系,引擎已经处理完成。我们直接使用即可。

不过在此之后,包括获得角色,获得控制器,都需要注意玩家索引关系。

本地多人,最多几人?

虚幻引擎目前支持最多4个本地玩家一起游戏,当超过4个玩家时,生成会失败,并有错误提示。

虚幻引擎版本:4.21.2

添加评论

您的邮箱地址不会被公开。 必填项已用 * 标注