角色蓝图
在这一篇文章中,我们将添加一个新的 GameMode 和人物蓝图。
我们可以先运行程序,看看默认的行为:可以看到角色直接从地板上掉下来了。这是因为地板没有添加碰撞体导致的。为此我们选中地板组件,然后找到 静态网格体 属性,然后点击旁边的放大镜按钮,这样对应的网格体文件就会在内容菜单中显示。
接着双击网格体组件,会出现如图 1 所示的编辑窗体。我们可以勾选 显示 - 简单碰撞,可以看到原本网格体的确是没有添加碰撞的。此处,我们可以点击 碰撞 - 添加盒体简化碰撞,添加一个简单的盒体碰撞。
默认的碰撞边框是包裹网格体的,但是我们的网格体的高度为 0。所以我们在细节中找到 碰撞 - 图元 - 盒体 属性,Z 范围 设置为 10,即给它 10 厘米的高度。因为高度默认加在网格体上方,所以我们还需要将 中央 的 z 分量偏移设置为 -10,这样碰撞体就正好在网格的下方了。

地板添加好碰撞之后,我们再次运行程序,可以看到默认的 GameMode 和人物蓝图已经运行良好。但是和之前其他蓝图一样,为了后续方便修改模板蓝图的属性和逻辑,我们对 GameMode 和人物蓝图进行继承操作。
我们首先找到模板默认的人物蓝图,在 FirstPerson/Blueprints 目录下的 BP_FirstPersonCharacter。接着右击选择 创建子蓝图类,就能创建一个继承的人物蓝图。
双击新建的人物蓝图,如图 2 所示,我们可以对它进行修改。默认人物有一对手臂,因为模板是射击游戏,但我们这边不需要。我们可以选择 Mesh 1P 组件,找到 骨骼网络体资产,将其设置为 None。

人物蓝图设置完成后,我们继续添加自己的 GameMode 蓝图。GameMode 在之前的文章中已经介绍过,此处再温习一下。点击蓝图图标,选择 游戏模式 - 创建,父类选择模板默认的 BP_FirstPersonGameMode。
如图 3 所示,我们对新创建的 GameMode 蓝图进行修改。找到其中的 默认pawn类,将其修改为自己新建的人物蓝图。

最终的效果如下方视频所示。