首页 > 其他分享 >ue4.26学习笔记1-角色移动

ue4.26学习笔记1-角色移动

时间:2023-09-18 17:46:06浏览次数:37  
标签:控制器 ue4.26 角色 Yaw 笔记 旋转 移动 鼠标

ue4.26学习笔记1-角色移动

角色旋转

首先创建character蓝图类

打开创建的蓝图类,为骨骼网格体添加模型,此处使用小白人的模型,然后添加弹簧臂组件和摄像机组件

项目设置->输入中添加鼠标x轴和y轴的操作映射,此处x轴操作映射命名为鼠标左右移动,y轴操作映射命名为鼠标上下移动,其中x轴就是控制摄像机左右看,y轴就是控制摄像机上下看,此处y轴的缩放为-1也是为了符合一般游戏的操作习惯(可自行设置成1来感受一下区别)

设置完之后回到蓝图类的图标,添加以x轴和y轴操作映射为命名的事件进来,如下图所示,选择事件选项下的时间,因为事件才会有输出引脚,下面绿色的只会输出操作映射的值(该值范围是-1n~1n,其中n就是项目设置时设置的缩放值)

然后将添加控制器Yaw输入添加控制器Pitch输入添加进来,其中鼠标左右移动和Yaw(z轴)连接,鼠标上下移动和Pitch(y轴连接),大家可以想象一下我们左右摇头的时候其实是绕着z轴旋转,上下看的时候是绕着y轴旋转


回到场景将蓝图拖入到场景中就会生成一个角色,此时选中生成的角色,在细节面板中输入pawn找到自动控制玩家下拉框中选择玩家0,这样你开始运行的时候才能控制这个角色

然后运行,会发现鼠标左右移动角色能够跟随移动正常,但是鼠标上下移动的时候却好像没有反应,失效了?其实不是,回到蓝图类选择类默认值会发现此处默认勾选了使用控制器旋转Yaw(z轴)也就是说我们通过鼠标左右移动控制控制器Yaw,而角色通过控制器Yaw来控制角色的Yaw(z轴)轴旋转,我们也可以通过鼠标上下移动控制控制器Pitch但是角色没有勾选使用控制器选择Pitch,所以就造成了鼠标上下移动但是角色没有反应(若此处你怀疑是事件没有触发,那么你可以在事件触发后输出字符串来判断事件是否触发了)

如何解决?勾选上控制器旋转Pitch??emmmm你以后可能会需要这个功能,但是此处不需要,但是你可以勾选上尝试一下效果如何!
此处提出一个解决方案,那就是取消勾选类默认值中的控制器旋转Yaw,选择角色移动组件在细节面板中勾选将旋转朝向运动。注意类默认值中的使用控制器旋转Yaw(Pitch/Roll)和将旋转朝向运动只能选择其中一个,如果两个都勾选了那么将旋转朝向运动就会失效实际上使用的就是使用控制器旋转

然后选择弹簧臂组件在细节面板中选择使用pawn控制旋转这样就能通过控制器来旋转弹簧臂,从而实现看到角色正面并且鼠标上下移动也能生效

角色移动

同样在项目设置中添加轴映射分别是键盘W,A,S,D四个键的映射对应前后移动(WS),左右移动(AD),其中向后移动和向左移动分别设置为-1,之所以这么设置是因为ue4中默认向前移动和向右移动为正

然后在蓝图中将轴映射的事件添加进来,同时也将添加移动输入节点添加进来,该节点的World Direction接收一个3d向量,scale接收浮点值也就是轴映射中的缩放的值,该节点会将World Direction*scale得到一个方向向量作为角色移动的方向,所以该节点的作用就是提供运动的方向,至于角色的移动速度就是在角色移动组件中设置的

以上的一些点,你可能会好奇为啥获取控制旋转节点长这样(该节点的作用是获取控制器的旋转),那是因为此处将结构体展开了(至于结构体是什么如果想知道的话去看看c语言吧)

完成。

标签:控制器,ue4.26,角色,Yaw,笔记,旋转,移动,鼠标
From: https://www.cnblogs.com/lizifashe/p/17712562.html

相关文章

  • 大三落汤狗の算法笔记 (持续更新)
    1.算法复杂度分析简便:复杂度取阶数最高项,去系数。如:O(3n²+2n+1)=O(n²)O()低阶/o(),Ω()高阶/w(),θ()同阶阶关系成立:自反OΩθ/对称θ/传递OoΩwθO(f)+O(g)=O(max(f,g))O(f)+O(O(f))=O(f)O(递归)迭代法:n次计算,每次O(单次)求和eg:求n!求退出条件:T(1)=1求递推公式:T(n......
  • 《LINUX驱动程序设计》学习笔记 ——04
    1.模块的装载竞争(竞态)竞态是驱动程序设计极其重要的方面,始终要铭记:在注册完成后,内核的某些部分可能会立即使用我们刚刚注册的任何设施。换句话说,在初始化函数还在运行的时候,内核就完全可能会调用我们的模块。因此,在首次注册完成后,代码就应该准备好被内核其他部分调用;在用来......
  • 新手入门ArkTS调用NATIVE库的学习笔记
    【本文正在参加2023「盲盒」+码有奖征文活动】,活动链接https://ost.51cto.com/posts/25284前言本来想这周跟着HarmonyOS官网的codelabs学习一下ArkTS下对Native库的调用,不料harmonyos官网直接把这个Codelabs课程下线了,不知以后还会不会上线。上周五还看的挺正常的,自己还加入......
  • Cadence应用笔记:批量修改原理图元器件属性
    OrCad批量修改元器件属性方法软件内修改过滤选择Part、随后Ctrl+A全选,再右键选择修改导出/导入Excel修改点中.DSN文件,随后在工具栏Tool中选择导出......
  • 软件测试学习笔记
    软件测试学习笔记  看视频写笔记  目标:能复述软件测试的定义——使用技术手段验证软件是否满足需求。      能说出7种测试分类的区别      能说出质量模型的重点5项      能说出测试模板8个要素      能针对穷举场景设......
  • Git学习笔记
    一、使用Git的前期准备,即告诉Git你是谁,即需要进行个人信息配置,即:用户名、邮箱。配置用户名:gitconfig--globaluser.email "邮箱地址"配置邮箱:gitconfig--globaluser.name"用户名"二、想用Git进行版本控制,需要分几步走?1、版本控制 -> Git管理文件夹:①、进入需要管理的文......
  • 学习笔记2
    目录知识点归纳重点核心二进制文件操作文本文件和二进制文件的转换数据结构的读写苏格拉底挑战问题与解决思路实践过程总结C语言文件操作总结:Markdown的优点总结:知识点归纳系统调用函数:open()、read()、write()、lseek()、close()I/O库函数:fopen()、fread()、fwrite()、flseek......
  • 《信息安全系统设计与实现》第二周学习笔记
    《信息安全系统设计与实现》第二周学习笔记一、第九章I/O库函数1、系统调用函数函数描述fork创建一个新的进程,新进程是当前进程的副本。execve在当前进程中执行新的程序。waitpid等待指定进程的终止,并获取其退出状态。exit终止当前进程并返回退出状态。......
  • 2023-2024-1 20211306 密码系统设计与实现课程学习笔记2
    20211306密码系统设计与实现课程学习笔记2学习任务详情自学教材第九章,提交学习笔记本章是复习C语言中的文件操作内容,结构化从文本文件操作,二进制文件操作两个大内容考虑,以前可能只关注文本文件的操作,我们以后更多的是操作二进制文件。文本文件中考虑字符读写,行读写,任意位......
  • 学习笔记2
    学习笔记2@目录学习笔记2一、学习笔记1.C语言中的文件操作内容2.文件操作都有什么?3.二进制文件和文本文件如何转换?4.数据结构如何读写?5.二进制文件操作6.相比于曾经我们关注文本文件的操作,我们以后该如何更多的关注操作二进制文件nullnull二、部分代码展示1.fget2.fprint3.fputs4......