为什么要替换第三人称模板?

1可以使用我们自己的角色来进行游戏,是不是很有趣呢?

2.了解虚幻中retarget mannager、动画蓝图、动画序列等等,主要是动画模块。

如何替换第三人称模板?

1.找到一个喜欢的角色,将其导入虚幻中

2.添加第三人称模板

3.进行retarget,将动画映射到自己的角色上,

4.替换模板中的网格体和动画蓝图

5.运行,可以操控自己的角色进行移动


1.找到一个喜欢的角色,将其导入虚幻中

添加了虚幻官方提供的悟空角色

2.添加第三人称模板

点击AddNew选择Add Feature or Content Pack

接下来打开第三人称的地图,点击运行,我们可以操控机器人在场景中自由移动

对第三人称模板的分析

1.第三人称角色的构成:

胶囊体:一个类似胶囊的圆柱,主要用于简单碰撞时作为物体的边缘

Arrow:规定向前的方向

Mesh:角色的网格体设置

CameraBoom:弹簧臂组件

PlayerCamera:玩家的摄像机

Character Movement:定义了角色与移动相关的各个参数

2.当按下运行之后,可以按下键盘wasd对机器人进行控制,这是因为在项目设置中已经对输入进行了一些动作映射. PlayerInput中定义了 两种结构体。第一种是 FInputActionKeyMapping,它定义了操作映射(ActionMapping)。另一种是 FInputAxisKeyMapping,它定义了轴映射(AxisMapping)。

ActionMappings

将离散按钮或按键映射到一个"友好的名称",该名称稍后将与事件驱动型行为绑定。最终的效果是,按下(和/或释放)单个键、鼠标按钮或键盘按钮将直接触发某个游戏行为。

AxisMappings

将键盘、控制器或鼠标输入映射到一个"友好的名称",该名称稍后将绑定到连续的游戏行为,例如移动。在轴映射(AxisMapping)中映射的输入会被持续轮询,即使当它们刚刚报告它们的输入值当前为零时也是如此。这可实现移动或其他游戏行为的平稳过渡,而不是由操作映射(ActionMapping)中输入所触发的离散游戏事件。

3.当机器人从楼梯跳下的时候,可以看到角色做了一个跳跃动作,但是我们并没有按键来让机器人进行跳跃,为什么机器人会自动跳跃呢?

为了解答这个问题,需要看一下机器人是怎么运动的?首先从按下wasd键开始。

打开第三人称模板的蓝图类。

WA分别控制事件MoveForward和MoveRight,当按下W键后,更新Input Axis MoveForward的值,Axis Value的值为1,现在Z为是正向运动,也就是向前运动,人物的Velocity也就是速度会迅速递增至蓝图类中设置的最大速度600,这时并没有动画的改变,接下来就需要查看mesh调用的动画蓝图了。

动画蓝图编辑器中大致分为8个模块:

1.工具栏:动画蓝图编辑器中的 工具栏 允许你编译蓝图,保存,在 内容浏览器 中找到动画蓝图资源,以及定义 类设置(Class Settings) 和 类默认值(Class Defaults) 设置,与 蓝图编辑器工具栏 相似。 工具栏最右侧的是 编辑器工具栏 ,它使你能够在虚幻引擎4中的不同动画工具间进行切换。

2.资源快速访问栏:可以快速访问所有有关该网格体的资源

3.视口:视口 窗口允许你预览选定的骨架网格体上的动画资源的播放并提供与资源相关的信息。你可以更改照明模式,显示或隐藏骨架的骨骼,调整动画播放速度,甚至将骨架网格体设置为在转盘上自动旋转,以便从各个角度查看它。

4.事件图表:每一帧都会对数据进行更新,将更新的数据传入动画图表,最常见的用途时更新混合空间和其他混合节点使用的值,来驱动动画图表中的动画。

5.动画图表:评估当前帧的股价网格体的最终姿势,可在其中放入动画节点 以采样动画序列,使用骨架控制执行动画混合或控制骨骼变形。 之后,逐帧将结果姿势应用到骨架网格体。执行流不基于事件,进行逐帧评估

6.我的蓝图:蓝图编辑器中还具有 我的蓝图(My Blueprint) 面板,其中包含图表、函数、变量和动画蓝图中包含的其他相关属性的列表。

7.细节/预览场景设置:动画蓝图编辑器中的 细节(Details) 面板与蓝图编辑器中的 细节面板 相同,你可以在其中访问和编辑与任何已创建的变量以及已放置在图表中的节点相关的属性。

同样位于此部分的是 预览设置 选项卡,它使你能够定义要用作预览的 动画模式(Animation Mode) 或 动画(Animation) 等视口设置,切换用于预览的 骨架网格体,以及要应用的视口照明和后期处理设置,以便你可以在应用不同照明的情况下预览设置。

8.动画预览编辑器 / 资源浏览器:动画预览编辑器 允许你更改将在视口中更新骨架网格体的变量。 你也可切换到 编辑默认值(Edit Defaults) 模式并更改变量,然后将它们应用为默认值。 资源浏览器 停靠在单独的选项卡中,它允许你查看与关联的骨架资源关联且可由其使用的所有动画资源。

事件图表

根据上图可以看到,在模板中创建了两个变量:Float类型的名字为Speed、布尔类型的名字为IsInAir?,可以知道一个变量为速度,一个标志着是否在空中。通过修改这两个值来修改动画图表中的输出的最终Pose。接下来打开动画图表

动画图表

可以看到事件图表包括了一个输出姿势和一个状态机,有关状态机的描述请参见状态机,在这里不在介绍。

状态机

打开第三人称模板的状态机就可以看到有一个入口连接着Idle/Run,并且通过状态检查,来切换到跳跃状态,在通过状态检查,若状态符合就切换到跳跃循环,在通过状态检查,若状态符合就切换到跳跃结束,

,在通过状态检查,若状态符合就切换到idle,形成一个闭环结构,接下来我们看一下idle中的状态吧

在这里它使用了一个BlendSpace 1D,通过传入的Speed数值来将两段动画序列进行混合,输出混合的pose,当我们没有按下wasd时,人物的速度为0,则现在处于Idle状态,所以输出的姿势为Idlepose,动画蓝图便会在Tick中对Idle动画序列进行评估,拿到最终的Pose,

jumpStart、JumpLoop、JumpEnd:分别调用的不同的动画序列

接下来开始分析如何进入这些状态

JumpStart:用户按下了空格键,IsInAir为真,,就进入了JumpStart的状态,此时就播放开始起跳的状态。

jump Loop:当进入开始起跳的状态后,若开始起跳的动画播放超过90%就开始播放JumpLoop的动画。

JumpEnd:不再空中的话,就判定跳跃动作结束,开始播放停止跳跃动画序列

Idle:当JumpEnd动画播放超过90%就进入Idle状态。

了解了动画切换的原理之后,接下来需要将将模板中的动画序列替换为我们自己的动画序列。

3.进行retarget,将动画映射到自己的角色上

使用Rwetarget Mannage对机器人和悟空进行映射​​​​​​​

i.切换至骨骼编辑器,打开retarget Mannager

点击Select Rig,选择绑定,我们选择人形绑定

选择AutoMap 如自动匹配有问题,则需要手动指认

接下来打开悟空的网格体,按照同样的方式设置

上面我们将机器人和悟空的骨骼分别对照虚幻的统一骨骼进行了一一对应,就等于悟空的骨骼和机器人的骨骼进行了关联。

注:有的模型初始Pose可能不同,需要将初始Pose调整为相同Pose后点击ModifiesPose保存。

做好匹配后,找到机器人的动画蓝图,右键选择retarget Anim BluePrints,对现有的动画序列进行retarget并复制动画蓝图。

选择刚刚创建的wukong骨架,点击Retarget。

会在Content目录下生成若干动画序列和动画蓝图,

4.替换模板中的网格体和动画蓝图

接下来我们就可以替换模板中的mesh和动画蓝图了

替换完Mesh和动画蓝图的第三人称模板,可以看到有的骨骼运动的位置是有问题的这个时候我们需要检查一下retarget中对应的骨骼是否存在问题,如果有问题修正过来就可以了。

你学会了?

UE4之替换第三人称模板相关推荐

  1. UE4 视角切换,从第一人称角色的视角切换到第三人称角色的视觉

    1.新建一个第一人称射击模板的项目,将官方的人物动画资源导入: 2.新建Character蓝图:ThirdCharacter,添加摄像机,设置如图: 3.打开第一人称来图,进入图表,具体节点如图: 箭 ...

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

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

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

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

  4. 虚幻引擎图文笔记:官方模板中第三人称角色(ThirdPersonCharacter)的构成图解

    本文图解一下官方第三人称游戏模板中角色控制器的构成,以方便学习和扩展. 文章目录 蓝图类 EventGraph 组件构成 Mesh:USkeletalMesh组件 ThirdPerson_AnimBP ...

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

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

  6. 虚幻4创建第三人称角色模板

    新建项目 新建一个带新手包的工程,新建蓝图类 选择Character 双击创建的蓝图打开蓝图编辑器,选择组件窗口中的模型栏 在细节窗口中的模型栏内指定要使用的模型 调整位置大小方向等 添加用于连接摄像 ...

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

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

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

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

  9. 【UE4(虚幻4)蓝图】第三人称人物的奔跑,冲刺,二段跳

    本文使用4.24版本完成 一.双击W冲刺和按住左shfit奔跑 以下内容都在第三人称角色蓝图内完成 ①奔跑 从左到右节点名称依次为 set max walk speed设置速度 set field o ...

最新文章

  1. mysql5.7 temp_MySQL5.7-学习笔记(kylix)-2019.3.29-tempundo
  2. Python Module — asyncio 协程并发
  3. python 函数 日期区间_python-如何获取两个日期之间的日期
  4. .net中怎样实现json转化时仅仅处理部分属性二?
  5. 《网易编程题》计算糖果
  6. centos7设置成文件服务器,CentOS7服务器架设ftp过程
  7. LazyInitializationException的四个解决方案–第2部分
  8. Piggydb 6.2 发布,个人知识库管理
  9. 六、openstack安装之Horizon篇
  10. java检查页面ajax请求,Java AJAX电子邮件检验示例
  11. laravel 下载文件
  12. mysql导出数据库1146_MySQL复制出错 Last_SQL_Errno:1146的解决方法
  13. Max 文件制作三维场景
  14. 如何优雅地在Stack OverFlow 上进行编程问题搜索
  15. 生物统计学(biostatistics)学习笔记(一)
  16. October——I Will Talk
  17. 单链表删除元素之狸猫换太子法
  18. C++声明指向数组的指针
  19. Android本地数据存储: Reservoir
  20. php10501 怎么解决,龙三公子博客-win10不能兼容GTX1050以上显卡驱动提示nvidia驱动程序与此windows版本不兼容的解决方案...

热门文章

  1. 2018沈阳集训day1
  2. vivado hls 2019.1百度云安装包,包含license
  3. 2012年5月后QQ空间农场Farmkey最新计算字符串
  4. Odoo14问题总结——模块视图不显示
  5. 格局大小决定你的人生高度---the height of your life depends on the size of your life pattern.
  6. [乡土民间故事_徐苟三传奇]第四二回_见洋广争啃西瓜皮
  7. 大学生python期末解答题_大学mooc2020年用Python玩转数据期末考试大全答案
  8. python装饰器这一篇就够了
  9. 华为云存储空间图库占比太大_终于知道为什么华为手机删了照片,存储空间还是不足了!...
  10. 知识体系更新迭代的探索