本篇讲解UE4 新手开发者如何自定义一个角色模型,网上相关资料很少,这里分享给大家供参考
本文主要知识点:

  • Animation Blueprint(动画蓝图)的使用
  • Blend Space(速度控制动画/混合过渡动画)的使用

一、下载人物模型 和动画

下载网站:https://www.mixamo.com。该网站提供了很多人物模型和动画,采用Adobe(PhotoShop)账号,没有就注册一个。

  • 下载模型
    随便找一个,搜索mouse,找到一个小老鼠模型,点击右上角DOWNLOAD下载

  • 下载动画:搜索running


选中这个动画,右边预览窗口里小老鼠开始跑动,记得要把图中的In Place勾上,勾上表示原地跑动,因为游戏是通过改变小老鼠的位置来移动的,动画里不需要它跑动,只需要它跑的动作就行了

下载动画的时候选择without Skin(不要下载皮肤),因为上一步下载模型的时候已经有了皮肤。如果选择了with skin,那么下载的动画里就有模型和贴图,那就不用单独下载上一步的模型了

按照上面的方法下载待机动画,搜索idle 找到下面这个动画并下载。

二、导入模型和动画

  1. 在UE4 引擎的资源窗口中新建文件夹Mouse,并点击Import按钮选择刚刚下载的模型和动画

    也可以直接在文件夹中选中资源,然后拖拽到引擎的资源窗口Mouse目录下。在弹出的窗口中点击Import All ↓↓↓↓。
    注意:导入模型的时候这个窗口里Import Animations 不用勾选。导入动画的时候把这个勾上,如果你下载动画里有皮肤,就是绑定了骨骼,下面的窗口下就不用选择骨骼了,只需要勾选导入动画(Import Animations)

    如果你下载的时候选择了without skin就是不带皮肤的,就是一个纯动画,没有绑定骨骼。导入的时候界面是这样的↓↓↓↓,把Skeleton(骨骼)设置为刚刚下载的模型的骨骼,点击下拉菜单选择刚刚导入的骨骼

  2. 可以看到目录已经导入了模型的各种贴图和骨骼,其中我选中的那个格式为(Static Mesh)的就是放入到场景中的角色

  3. 我将动画导入放在了Mouse/Animation目录下,

这个动画里有两个动画,格式为Animation Sequence(序列动画)。(后面这个动画并没有动作,可能是动画制作的人,制作了一个多余的,暂且不用后面这个)。双击打开前面这个动画,可以看到小老鼠动起来了

下面是导入的待机动画:

三、创建动画蓝图

资源窗口右键点击↓↓↓↓

弹出的窗口如下:

选择AnimInstance(动画实例),下面 Target Skeleton选择刚刚导入的骨骼, 然后点击OK创建,保存命名为MouseAnimationBP。↓↓↓↓

四、关联动画蓝图和下载的动画

  1. 创建速度控制动画,UE4提供了强大功能,通过速度的混合权重大小来控制动画的状态。


    保存命名为 MouseAnimationSpeed

    双击打开这个速度控制动画界面如下:
  • 可以看到上图右边的资源窗口中有刚才下载的待机和跑的动画,
  1. 分别将待机动画拖拽至箭头所指的位置,对应Y轴(默认范围0-100, 如果你的实际速度超出这个范围,也可以在左边窗口黄色框标记位置修改范围)的坐标。这意味着待机动作对应速度趋近于0,而跑的动作对应速度为50。换句话说就是如果小老鼠的速度接近0时就会自动播放待机动画,而速度达到50就会播放跑的动画。
    那速度在0-50之间呢?上图中的蓝色小点是可以拖动的,蓝色小点对应的Y坐标就是当前小老鼠的速度,将蓝色小点拖到30的位置,小老鼠处于慢跑状态,也就是待机和跑之间的状态,这其实在待机和跑的动作之间进行的插值。
    有了这个功能,那我们就可以通过程序传入一个速度值来改变小老鼠的动作,速度只要是均匀变化的,那动画也会渐变,不会出现动作跨度过大的情况。
  2. Horizental Axis(横坐标)是控制小老鼠的转向,设置变量名为Turn, 下面可以设置Turn值的变化范围
  3. Vertical Axis (纵坐标)是控制小老鼠的移动速度,设置变量名为Speed,下面可以设置Turn值的变化范围(默认都是0-100)
  1. 打开动画蓝图“MouseAnimationBP”如下图
    1. 点击左边 Animation Grahps(动画图表), 将右边资源窗口中的速度控制动画(MouseAnimationSpeed) 拖入到中间的图表窗口
    1. Turn就是速度控制动画界面设置的横轴旋转变量
    1. Speed就是速度控制动画界面设置的纵轴速度值,这里我们先直接填写30,然后连接到Outpot Pose(输出)节点。然后(compile)编译保存

五、创建角色蓝图



保存为HeroMouse。

然后双击打开如下图

    1. 选中左边层级视图中的mesh(网格)。
    1. 设置Animation Mode(动画模式)为 Use Animation Blueprint(使用动画蓝图)。
    1. 然后下面选择Anim Class(动画蓝图类)为刚才创建的动画蓝图:
    1. 下面的Skeletal Mesh 设置为刚才下载的模型(Static Mesh)

可以看到老鼠被放进了一个胶囊体中间,这个胶囊体就是角色的范围,所以我们需要手动调整Z坐标位置让他的脚对齐到下面

为了能在游戏中正确的看见角色,需要给小老鼠添加一个跟踪摄像机:

    1. 添加摄像机手臂(类似于自拍杆的东西),然后在摄像机手臂上添加摄像机
    1. 勾选控制旋转类型,如果不勾选,小老鼠转向摄像会跟随小老鼠转向,这样我们就无法看到老鼠的正面。勾选了摄像机就不会跟着转,读者可以试试两种不同的效果
      小老鼠与摄像机的方位可能不对,需要手动调整一下老鼠的旋转角,这里从老鼠的后背方向向前看。

然后编译:

六、游戏效果

将角色拖入到场景中:

运行游戏看到如下画面:

【UE4 005】自定义人物角色(Charactor) 替换小白人相关推荐

  1. ue4 unreal4 自定义网格 绘制自定义网格 绘制面 (Plus)

    额四月份写了 CustomMeshComponent 用于创建自定义网格 ue4 unreal4 自定义网格 绘制自定义网格 绘制面_ljason1993的博客-CSDN博客 当时想着找时间写个 Pr ...

  2. 基于 Thingsboard 平台自定义 RPC 控制类小部件示例

    基于 Thingsboard 平台自定义 RPC 控制类小部件示例 1. 小部件介绍 2. 创建小部件 3. 部件编辑器 3.1 简介 3.2 资源 / HTML / CSS 3.3 JavaScri ...

  3. UE4 创建自定义 Slate UI 控件

    UE4 创建自定义 Slate UI 控件 文章目录 UE4 创建自定义 Slate UI 控件 前言 一.什么是 Slate 二.创建自己的 Slate 控件 1.模块引用 2.定义 Slate 控 ...

  4. Vim替换小技巧(兼浅谈Vim哲学)

    想必用过Vim的人都知道,在Vim里面,以下命令可以替换当前文件的内容: :[range]s/{要被替换的模式}/{替换的内容}/[flags] 其中range指定替换命令生效的范围.flags指定替 ...

  5. ithoughts怎么自定义样式_微信小程序自定义导航栏组件封装

    相信很多小伙伴在开发微信小程序的时候都会有自定义顶部导航栏的需求,不够要说明的是小程序右上角的胶囊是不能自定义的哦,除了胶囊其他地方都是可以根据自己的项目而定了,在一次小程序开发中就需要对顶部进行自定 ...

  6. 微信公众号配置自定义菜单跳转小程序,自动回复跳转小程序

    自定义菜单跳转小程序 菜单json中找到自己想加的位置 {"type": "miniprogram", "name": "wxa& ...

  7. python图像处理——图片区域颜色替换小工具

    python图像处理--图片区域颜色替换小工具 使用场景 图片区域颜色替换小工具使用python开发,可用于选取图片相同颜色的区域,可设定选择精度,可自由选择颜色,将区域的颜色进行替换.可使用橡皮擦工 ...

  8. php 获取域名前缀,蓝奏批量自定义域名前缀替换php源码

    蓝奏批量自定义域名前缀替换php源码,最近蓝奏云推出了一个自定义域名前缀的功能,譬如https://www.lanzous.com/ibd9qnc这个链接,可以将www替换为任意的前缀,比方说cr17 ...

  9. 自定义Toolbar的一些小技巧

    目录 1.改变Toolbar高度(解决图标不垂直居中) 2.改变toolbar弹窗菜单样式 3.改变toolbar整体样式 4.改变searchview样式 1.改变Toolbar高度(解决图标不垂直 ...

最新文章

  1. js获取 日期 星期 时间
  2. MS SQL SERVER数据库简单回顾
  3. LeetCode 1567. 乘积为正数的最长子数组长度
  4. 漫画:IT公司年终总结会开崩了...
  5. sql/plus 常用操作
  6. 基于gdal的格网插值
  7. Cannot detect Web Project version. Please specify version of Web Project through Maven project ...报错
  8. C++汽车4S店管理系统
  9. Autodesk BIM 360 全球在线骇客马拉松
  10. 连接方法:网线水晶头接法
  11. 中南大学保研去华科计算机,巨无霸学校保研清北比率,武大山大中大华科川大吉大大工中南。...
  12. 【ant.design】解决Instance created by `useForm` is not connected to any Form element.
  13. Lonlife-ACM 1000 - Spoon Devil's 3-D Matrix(最小生成树)——“玲珑杯”acm比赛-试运行赛
  14. 0xc0000225无法进系统_U盘装win10后无法进系统错误代码0xc0000225怎么修复
  15. Githup上第三方控件的地址收藏
  16. python---之cython的使用
  17. SOPC设计02——硬件系统开发流程
  18. 软件设计的三重境界:守-破-离
  19. 阿里天池--工业蒸汽预测
  20. java8新特性-stream对map集合进行过滤的方法

热门文章

  1. Notepad++删除各类注释
  2. echarts中自定义图片的矢量路径设置
  3. MAVEN依赖jar版本下载错误:xxx.pom.part.lock (文件名、目录名或卷标语法不正确。)
  4. 思维导图 基础篇(05)思维方法-高度思维
  5. 浅谈精益数字化工厂(Lean Digital Factory, LDF)
  6. 纷享销客联合B.P商业伙伴携手30+企业CEO走进南天信息
  7. 简析王者荣耀的匹配机制
  8. windows defender might impact performance
  9. CutPaste: Self-Supervised Learning for Anomaly Detection and Localization 全文翻译+详细解读
  10. Linux 2.6 劫持系统调用 隐藏进程