| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> UE4-如何做一个简单的TPS角色(二)-实现角色基础移动 -> 正文阅读 |
|
[游戏开发]UE4-如何做一个简单的TPS角色(二)-实现角色基础移动 |
先将项目设置打开,把我们创建的关卡场景,设置为编辑器默认打开地图和游戏默认地图 这个时候我们会发现,我们用的游戏模式还是最基础的gamemode,接下来我们需要创建一个专属的游戏模式,在项目路径中创建一个BluePrints文件夹,在里面创建一个gamemode类型的蓝图文件,并将它命名为BP_TPS_GameMode 双击打开刚刚创建的BP_TPS_GameMode,在右侧旋转BP_TPS_GameModem,在左边细节面板中将默认pawn类修改为我们刚刚创建的TPS_Nova,编译并保存 ?接下来回到刚刚创建的角色蓝图TPS_Nova打开它的事件图表,这个时候我们要开始写一些蓝图来控制角色移动 首先我们先获得角色控制器的旋转,用Get Control Rotation,获取的对象是角色自己 接下来我们将他的旋转进行拆分,用Break Rotator得到他的x,y,z ?接下来让我们创建一个旋转体用于获取角色移动的方向,用Make Rotator,并且分别获取向前和向右两个方向? ?接下来我们用到输入轴,来获取用户的操作输入,使用inputaxis moveforward和inputaxis moveright两个蓝图,分别创建两个获取add movement input add movement input是用于控制角色移动的,但是他需要两个参数,一个是运动的方向,另一个是运动值的大小(用于控制正向运动还是反向运动) 用inputaxis moveforward和inputaxis moveright下面的小绿点将运动值的大小传给移动输入,用向量值的方向传给运动方向 最后保存,点击编译,就可在关卡界面看到可以自由移动的角色了 此时我们还不能让移动摄像头,控制角色旋转,那么我们需要使用add control yaw input来控制左右旋转,并且通过inputaxis turn来获取鼠标的左右移动的输入操作 ?编译后,运行游戏,走到世界的角落,移动鼠标可以控制角色移动 ?接下来我们还可以为角色加入上限旋转,用add control pitch input这个蓝图设置角色的上下旋转,用inputaxis lookup这个事件蓝图来获得鼠标的上下移动输入 ?进入游戏后发现,好像无论如何操作,角色都不会上下旋转,这个时候回到TPS_Nova蓝图,选中TPS_Nova自身,在右侧细节面板当中,有个pawn的选项,里面有使用控制器旋转pitch,yaw,roll三个轴的选项,只有yaw被勾选,但是pitch没有被勾选上 因为我们用的是使用control的方法来控制主角,所以需要将可以被旋转的配置也一起勾选上,现在将pitch勾上 再次编译,进入游戏,控制鼠标向上移动,角色面朝天空 ?控制鼠标向下移动,角色面朝大地 ?这个效果和其他游戏的旋转控制完全不同,是因为我们控制的是角色pitch轴的旋转,而TPS游戏用的是摄像头pitch轴的旋转,导致最终结果不同,这个问题我们会在后面解决 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 16:31:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |