完成了UE4非常简单的第三视角圆球走动,适合像我一样刚接触UE4和蓝图的朋友学习!

运行后大概这样。

主要步骤如下:

1.新建项目

2.新建关卡-选择empty模式。

3.首先需要建出地面和墙体。我全部用的是BSP的盒体,个人感觉BSP盒体比基本的cube更好用一些。在放置盒体的时候可以利用alr+h(主视图),alt+k(侧视图),alt+g(透视图)来切换显示方向,w,e,r来切换移动、旋转和缩放。

4.然后可以放置定向光源(太阳光)和大雾气(天空)来渲染环境。

5.然后放置一个玩家起始位置。

A:然后可以运行看一看,可以通过WASD键控制摄像头移动,控制鼠标能够旋转摄像头。如果前面还能显示一个角色就差不多是第三视角了。不过W控制摄像头移动是当前摄像头的矢量方向,就是说摄像头能够飞。这当然不是想要的状况。

6.为了放置一个可以移动的对象,我在内容浏览器中新建了一个character蓝图类(character是可走动的物体),然后在蓝图类编辑窗口中,为mesh(人物的网格物体)增加了一个sphere(圆球)的基本物体。这就有了表象。然后还需要增加一个摄像头,可以从后方300像素位置看圆球。这就初步设置完成。

7.设置了这个蓝图类后,还需要告诉项目要用这个圆球作为玩家起始地对象。这个在世界设置选项卡中进行设置,这里需要设置一个world mode override(重写世界模式),里面就一个gamemode选项,是系统默认的运行方式,运行后效果就如前面的A。character蓝图类就包含在世界模式中。需要新建一个gamemode蓝图类,然后再这个蓝图类中将default pawn class选中刚刚新建的character蓝图类。

8.接着就可以在世界设置中将worldmode override设置为刚刚新建的gamemode蓝图类。

B:然后可以再运行看一看,就能看见一个圆球出现在了界面中。但是我们再按AWSD和移动鼠标没有任何效果。这是因为我们用新建的gamemode替换了原来的模式,就需要自己设置键盘控制和鼠标控制了。

9.我们需要AWSD来控制圆球前后左右移动,鼠标左右移动前后移动来控制摄像头旋转。需要在编辑中进行项目设置,项目设置中选中输入,找到axis mapping,增加控制方式,输入控制名称如forward表示向前走,在下面选择键盘中的W选项,然后将比例设置为1,继续新增控制方式,选中S用来后移,将比例设置为-1(和前进相反)。同理设置鼠标控制。

10.然后在蓝图事件图表中进行蓝图绘制。以前学过一段时间的单片机,感觉这个跟单片机接线好像。移动的逻辑是这样:当按下某个键不放,圆球就向这个键所代表的方向移动,比如按下W,就代表了我需要用一个朝向前的方向移动。在空白区域点击右键会弹出逻辑选项,在搜索中输入forward就可以看见坐标轴事件的forward。这个forward事件就用来来连接刚刚在项目设置中设置的输入操作。当按下W或者S的时候,它就被出发发出一个使能量,接收这个使能的对象就是移动的方法,这里选择add actor forward ,这个方法需要提供一个矢量vector和一个比例值scale。vector用get actor forward vector提供,scale由forward事件提供。这样就可以响应W按钮,做出前后的移动。get actor forward vector就是获取现在摄像机矢量在X,Y平面的投影。然后增加矢量可以达到移动的效果。这也能阻止往天空飞的状况。

11.同理我们可以设置其它移动和旋转,甚至可以设置跳跃等动作。

C:然后再运行看看,就能够移动和旋转。不过这里有一个问题就是后退和左右移动会颤抖,并且控制鼠标旋转视角到了极限位置会乱。这个问题就是因为移动和旋转没有一个范围限定。需要增加一个范围。

12.进入character蓝图类编辑,增加一个springarm(弹簧臂),然后将摄像头拖动为它的子类。弹簧臂和移动的对象坐标系应该重合。然后将弹簧臂的详细信息中的use pawn control rotation设置选中。弹簧臂的设置还有一个距离选项,摄像机和弹簧臂坐标系的距离应该小于或者等于这个距离才能保证最好的效果。这个弹簧臂的意思就是当摄像头和其他物体发生干涉时,就移动摄像头和坐标系之间的距离。use pawn control rotation用来控制视角,保证不会超过范围。

最后经过这些设置,就能够达到移动圆球的目的。虽然过于简单,不过对认识UE4还是有一定帮助的。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值