UE4-(蓝图)第九十六课 测试角色移动旋转

213 篇文章 593 订阅

一、在项目工程中,如果迁移角色控制蓝图后,因为没有在新项目的项目设置中设置输入Mappings,会导致蓝图报错。不方便我们使用通用的测试角色控制蓝图进行浏览操作。

二、制作简单的浏览操作,控制角色前后左右移动 上下左右看功能操作

1.新项目中创建蓝图基类为Character命名为test_Controller.

2.打开蓝图,在事件图表中分别创建WSAD的输入节点

3.前后移动 左右移动 需要设置不同的方向值进行传参,进而控制角色移动。所以创建两个float类型变量,命名分别为MoveForwardDirection,MoveRightDirection。

4.创建一个函数,此函数中进行编辑角色移动和视角控制逻辑,函数命名为MoveAndRot;

5.在角色类型蓝图中,蓝图中直接使用AddMovementInput节点控制角色进行移动,但是该节点需要时刻赋值才会有移动效果,所以需要将第4步中创建的函数放到Tick节点中执行。

6.在MoveAndRot函数中编辑前后移动逻辑,通过WS按键按下进行传值,控制角色前后移动。使用获取角色方向,然后获取到角色的正前方方向,同理完成左右移动逻辑

7.使用序列节点,连接。

8.事件图表完成WSAD的赋值操作

9.设置该蓝图在关卡开始时自动获取控制权(不设置,无法将视角跳转到该对象视角上)

选中蓝图自身(或者点击类默认值),然后在细节面板中的Pawn下设置Auto Possess Player为Player 0 

编译运行查看效果。

注意:此蓝图只是编辑测试角色移动旋转功能,在当前蓝图中存在一个问题,当按下W后再按下S,然后松开S,W依然按着,会发现角色并没有向前移动,这是因为当S抬起时,MoveForwardDirection的值变为了0。 在当前蓝图中3个变量控制4个状态,会造成错误效果,所以如果要求较高,可以使用其他方法分别控制4个状态,是他们之间不存在相互影响的问题。

9.编辑左右旋转效果,在函数MoveAndRot中编辑

执行线连接到序列节点上

10.编辑上下旋转效果,如果想要角色在上下看的时候也跟随旋转但是前后左右移动还是原水平面方向上,需要对Mesh进行旋转操作,并在Mesh下添加摄像机,在+AddComponent下搜索Camera。调整相机位置

获取mesh中的相对于父类旋转变化节点,并将Rotation分割脚本

执行线与序列连接。

完成移动旋转逻辑:

此蓝图编辑完成后,哪个项目需要使用直接迁移,不用再去项目设置中设置输入映射列表。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值