用过虚幻4的朋友都知道,虚幻4建项目的时候包含了很多种游戏类型的模板,现在就来分析一下虚幻4自带的几个模板,看看虚幻官方是怎么实现这些基础游戏功能的。
这个系列的第一篇,就交给SideScroller吧
正如他的名字一样,这是一个横版卷轴类游戏,游戏中包含了一个可以左右行走跳跃的角色,他可以在关卡中各个物体之间移动,首先我们新建项目,然后运行,来仔细观察下这个Example有哪些特点!
我们可以看到主要两个效果:
1.我们按a键角色向左移动,面向左边,按d键角色向右移动,并且面向由左边转向右边
2.然后摄像机也会跟随角色进行左右移动
好了,接下来我们自己来实现这两个效果吧!
新建一个角色蓝图,给他一个新命名,这里我给的是PowrchCharacter,双击打开
选中Mesh,将SkeletalMesh换成SK_Mannequin,调整一下位置,将正面调整到蓝色箭头的方向,然后将动画蓝图换成第三人称动画蓝图。接着点击添加组件
添加一个弹簧臂和摄像机,调整弹簧臂和摄像机位置,如下图所示
好了,现在这个角色有了,怎么让他动起来呢?
首先在项目设置里定义一个输入,MoveRight
D键是正方向,A键是反方向,再到角色蓝图里面设置输入响应事件
这里方向是0 -1 0,为什么是这样呢?等下再说
将角色放进场景,旋转角色方向为移动方向,打开GameMode,将Default Pawn class换成刚才我们自己建的角色蓝图。
运行,然后发现角色可以左右移动了
放入场景后,大家都看到了吧?我们右移的时候就是y轴负方向,所以前面设成0 -1 0
但是出现了一个问题,角色并不会跟随左右移动而进行转向,这里就需要对CharacterMovement进行设置,打开角色蓝图
选中CharacterMovement,在详细面板里勾上Orient Rotation to Movement,这个选项就是让角色转向移动方向,然后还有一个属性是RotationRate,旋转速率,因为我们是绕z轴旋转,所以将z轴的值设为720,值越大转的越快。
除了Orient Rotation to Movement外,还需要设置Pawn选项的Use Conroler rotation yaw,这个东西是使角色旋转由控制器控制,因为我们这里需要角色跟随移动方向旋转,所以这个选项要去掉,ok,现在进游戏看看吧。
进游戏后发现角色可以跟随移动方向旋转了,但是摄像机也跟着旋转了,所以我们要设置一下摄像机不跟随角色旋转
选中弹簧臂组件,将旋转由相对设置成绝对,这样就不会跟随角色旋转了
大功告成,和原来的模板一模一样了!