1、开始项目导入资源

创建一个包含新手包的Blank空项目,在StarterContent目录下创建一个MyCharacter目录用于保存模型和动画;

准备好动画资源,首先要导入的是骨骼(动画的导入成功的前提是项目中已经存在对应的骨骼)。

将指定文件拖入MyCharacter文件夹

因为拖入的文件时骨骼文件,所以不存在动画等其他一些资源,直接点击Import就行了

警告不用理睬,等待shader的初始化,完成后:

点击Save All保存导入的所有文件,然后新建一个Animation的文件夹,用于保存所有的动画资源。

将资源包里面其他所有文件都拖入进来

骨骼选择,之前导入的骨骼,然后点击Import All 导入所有动画

点击Save All 保存所有动画文件。

设置控制器输入,这里为了简便,主要设置电脑控制,wasd,空格,鼠标,不考虑移动端和手柄。

修改MyCharacter Event Graph蓝图

为了好看,简单修改一下Material颜色表现一下:

2、Blend Space 1D 一维混合空间

在Animation文件夹中创建Blend Space 1D,用于表示和定义Idle,Walk和Run动画之间的关系。

双击打开

在左侧,找到Axis Setting 并做如下设置

将右侧动画片段拖动到速度轴上面

3、动画蓝图 Animation BP

创建动画蓝图,并命名为CharacterAnimBp

双击打开动画蓝图

右键空白处,键入state machine,添加状态机,并且命名为locomotion,

双击状态机,进入,右键空白处,创建一个state,并将其重命名后,双击进入。

将右侧资源(第二部中准备得Blend Space)拖入进来,并连线

创建速度变量Speed,这个变量会在Event Graph里面被改变,从而控制动画

这时,切换到最外层,并连线

通过改变右侧的Speed值,可以看到左侧视窗中人物的动画变化。

进入状态机内,完成状态机

创建跳跃开始状态

设置跳跃开始动画

设置可以从混合空间包含的动画转换到JumpStart状态的条件,当绑定了该动画蓝图的Pawn在空中时,执行此起跳动画。

设置跳跃循环动画,并设置转换条件,动画过渡比率为0.5,


设置跳跃结束动画,并设置转换条件——当Pawn不在空中,也就是在地面的时候,播放此动画


连接结束动画和一维混合动画,并设置条件,比率为百分之十

在Event Graph中进行逻辑判断

  • 当该动画蓝图附加给一个实例化的对象时, Set (Is In Air和Speed才会执行下去);
  • 其中Try Get Pawn Owner 是尝试获取场景中存在的Pawn;
  • Get Movement Component 是获取该Pawn的Movement组件,通过Movement组件判断该Pawn是否在空中;
  • Is Falling正在下落,也就是不在地面,在空中时,返回true;
  • Get Velocity获取Pawn的向量速度;
  • VectorLength获取向量的长度;

4、MyCharacter角色蓝图之ViewPort

创建角色蓝图,命名为MyCharacter


双击打开MyCharacter,选中Mesh组件,在Details面板中修改Mesh和Animation,使用我们自己的骨骼,使用在第三步中创建的动画蓝图。

使用移动快捷键W,上下移动,得到合适的位置,使用旋转工具,让Character面向淡蓝色箭头

选中CapsuleComponent,在Details面板中修改Shape,使得Capsule Collision组件与Character差不多

添加相机,添加相机之前先给相机添加一个父组件Spring Arm,用于管理相机,修改名字,并在Details面板中的Camera Settings勾选Use Pawn Control Rotation,勾选之后,相机会跟随控制器旋转,这里,我们的控制器是鼠标


选中Movement组件,修改Jump Z Velocity为600,跳的时候,向上的速度就是600了

勾选 Orient Rotation to Movement,当角色发生旋转的时候,旋转的速度会使用上面设置的Rotation Rate

点击Class Defaults ,搜索controller,取消勾选Use Controller Rotation Yaw,使用控制器来旋转Z轴,这里我们会自己来控制,所以不需要勾选

5、角色蓝图之EventGraph

跳转到Event Graph选项卡,删除原有的事件,输入如下节点,这里是控制WASD 行走

添加鼠标输入,鼠标作为控制器,控制着Spawn后面的摄像机依据Spawn的世界坐标系进行旋转。

添加键盘空格键控制角色跳跃的操作

6、创建游戏模式蓝图

创建GameStateBase类型的蓝图,打开后,在Class Defaults的Details面板下,更改Default Pawn Class 改成我们自己的

在主窗口的世界设置的下,更换GameMode

7、运行游戏

按键WASD,空格,鼠标都可以正常运行

Bug解决:
当Pawn跳跃的时候,下落的过程中,主角会抖一抖,落地的时候也会抽搐的样子……

Loop动画需要循环,Start和End动画不需要循环,另一方面,当动画表现不好的时候,修改的动画的相关属性可以得到比较好的表现。

UE4 第三人称完全流程相关推荐

  1. Blueprints - UE4第三人称游戏角色控制

    虚幻引擎4中第三人称游戏相关,UE4中Blueprint相关,个人学习笔记:

  2. UE4第三人称射击游戏总结一

    第三人称和第一人称的区别: 第三人称:镜头在人身后 第一人称:镜头就是眼睛,拿着枪瞎突突 新建项目,创建GameFile文件夹,创建蓝图类的三个类:3P_GameInstance,  3P_GameM ...

  3. UE4 第三人称人物 目标偏移(Aim offset)学习笔记

    今天撸UE4教程时,学到了状态机,其中在学目标偏移时出现了挺多的BP结点,感觉逻辑上对于欧拉角的一些计算上的一些理解需要记一下. 欧拉角 关于欧拉角个人的理解呢,其实和三维坐标系差不了太多,只要根据 ...

  4. UE4第三人称射击游戏总结二

    三,实现人物的射击功能 当前存在的bug:人物向左走或向前走速度是0.7,但是如果前和左一起按,速度变为1.0了,个人感觉是向量叠加了,以后再弄 1,为射击添加子弹 创建一个蓝图类继承actor,添加 ...

  5. UE4第三人称射击游戏总结三

    4,巡逻状态 对于巡逻要设定几个点,敌人在巡逻状态下绕着几个点不断乱转. 在游戏窗口左侧搜素Nav Mesh Bounds Volume,拖动到游戏中,将这个立方体底部和地面相交,按p键发现相交地方会 ...

  6. UE4导入3dmax模型并在场景中添加第三人称角色

    1.3dmax安装Datasmith插件 插件下载位置 https://www.unrealengine.com/zh-CN/datasmith/plugins 2.3dmax导出模型 3.UE4导入 ...

  7. UE4在第三人称游戏中添加角色和角色的空闲动画

    1.首先可以在Mixamo里选择喜欢的人物,下载fbx文件. 2.打开UE4,创建一个第三人称游戏. 3.在内容浏览器里创建文件,命名"Character". 在Character ...

  8. UE4学习-第三人称游戏的AI巡逻

    文章目录 创建一个第三人称游戏工程 复制一个对象,添加到场景 给角色的蓝图添加事件 添加导航网格体边界体积 如果AI不动 创建一个第三人称游戏工程 创建一个工程 这里其实创建蓝图工程和C++工程,并没 ...

  9. UE4之替换第三人称模板

    为什么要替换第三人称模板? 1可以使用我们自己的角色来进行游戏,是不是很有趣呢? 2.了解虚幻中retarget mannager.动画蓝图.动画序列等等,主要是动画模块. 如何替换第三人称模板? 1 ...

最新文章

  1. libev源码解析——监视器(watcher)结构和组织形式
  2. Puppet学习之文件管理
  3. python 字符串形式的列表 转 列表
  4. python3 list 列表 方法说明
  5. Java XML解析工具 JDOM介绍及使用实例
  6. wxWidgets:运行时类型信息 (RTTI)
  7. wifi信号增强android,WiFi信号增强大师APP
  8. 【1】生产者-消费者模型的三种实现方式
  9. js判断时间跨度,以月数为单位
  10. 亲密关系--【承担情绪】-如何让对方的情绪软着陆
  11. jQuery ajax get与post后台交互中的奥秘
  12. window对象小结
  13. 问卷星指定内容批量自动填写的Python+Selenium+Pandas+Excel解决方案
  14. 【分享】哪个OS X版本支持哪个Xcode的版本?
  15. android 显示大屏幕_android android如何将优化的体验带到大屏幕
  16. mysql中selec sum返回null的解决方法
  17. 电信和移动差距:关于充话费赠手机的营销对比
  18. 在线查看.doc,.docx,.ofd,.PDF,.WPS以及Office文档的在线解析方式。
  19. opencv对视频进行人脸识别--使用videoCapture类
  20. VM虚拟机启动U盘内镜像

热门文章

  1. 二维码生成器在线制作带logo二维码
  2. nginx的作用及原理(一)
  3. 【华为机试真题 Python实现】篮球比赛【2022 Q1 Q2 | 200分】
  4. 什么是模块化,为什么要模块化
  5. 2020年燃料电池行业研究及产业链梳理
  6. 机器人项目研发笔记(一)
  7. 晶振、时钟周期、机器周期
  8. 不得不承认、放弃造车是明智之举!
  9. 杰理之AUX/LINEIN 设计注意【篇】
  10. DCHQ + EMC REX-Ray在多个云和虚拟化平台上交付容器数据库服务