您当前的位置: 首页 > 

开发游戏的老王

暂无认证

  • 2浏览

    0关注

    803博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

虚幻引擎图文笔记:蒙太奇(Montage)+ 根运动(Root Motion),给我滚(Roll)!

开发游戏的老王 发布时间:2021-01-24 20:29:29 ,浏览量:2

UE4.26

效果

按下自定义控制滚动的按键,角色滚动,并且可以穿过低矮的空间

在这里插入图片描述

文章目录
    • 效果
    • 前言
    • 步骤
      • 0. 准备Root Motion的角色滚动动画素材
      • 1. 把这个动画序列转换为蒙太奇
      • 2. 在动画蓝图中添加插槽
      • 3. 在动画蓝图中添加插槽
        • 3.1 滚起来
        • 3.2 解决鬼畜现象
        • 3.3 解决碰撞体的变矮问题

前言

本文会涉及到两个知识点:蒙太奇(Montage)和根运动(Root Motion),篇幅的关系老王将在另外的文章中专题介绍它俩:

  • 关于蒙太奇 《虚幻引擎图文笔记:什么是蒙太奇(Montage)之 概念和原理》

  • 关于根运动 还没写。。。简言之就是引擎通过动画序列的根骨骼运动反向推算出物体位移的一种机制,听起来很高端,用起来很简单。

这篇文章仅介绍实现角色滚动的步骤和原理。

步骤

为了方便观察本文以SideScroller模板为起点开发

0. 准备Root Motion的角色滚动动画素材

在这里插入图片描述

开启这个动画序列的Root Motion选项

在这里插入图片描述

1. 把这个动画序列转换为蒙太奇

本文中需要的蒙太奇动画制作非常简单,只需要在原动画序列文件上右键创建即可!

在这里插入图片描述

蒙太奇编辑器中设置该蒙太奇动画的插槽(Slot)

关于插槽的作用在《虚幻引擎图文笔记:什么是蒙太奇(Montage)之 概念和原理》已有介绍,它就是一个位置标签。

在这里插入图片描述 系统会默认提供一个叫做DefaultSlot的插槽,我们也可以在Anim Slot Manager中添加插槽

在这里插入图片描述

在这里插入图片描述

2. 在动画蓝图中添加插槽

本例中的状态机非常简单,所以也没有什么可选择的插槽添加位置,不过如果你已经能够构复杂的状态机,那么到时你就应该知道在哪里添加你的插槽了

在这里插入图片描述 在这里插入图片描述

3. 在动画蓝图中添加插槽

接下来我们只需要在角色蓝图中实现逻辑就可以了,为了让大家理解这个逻辑的来龙去脉,老王分了三个步骤来实现这个功能

3.1 滚起来

在这里插入图片描述

在这里插入图片描述

就这么简单,但我们发现虽然角色可以滚了,当玩家狂按R键时,它会发生鬼畜现象。

3.2 解决鬼畜现象

鬼畜的产生是因为每次按下R键,蒙太奇动画就会从头开始,要解决这个问题,只要添加一个DoOnce节点就OK了!只有当这个蒙太奇完成或被打断后才可以再次触发它

在这里插入图片描述 在这里插入图片描述

3.3 解决碰撞体的变矮问题

然而当我们让角色真的在一个低矮的空间滚过的时候又发现了问题,在调用蒙太奇时我们只让角色播放了滚的动画,然而它的碰撞体并没有随之变矮。

在这里插入图片描述

解决这个问题很简单,滚的时候让它的碰撞体“下蹲”即可,蒙太奇结束或者被打断时一定要让碰撞体复原。

在这里插入图片描述

别忘了,在CharacterMovement上开启可以蹲(Can Crouch)选项。

在这里插入图片描述

这样就真的可以滚了!

在这里插入图片描述

关注
打赏
1656935939
查看更多评论
立即登录/注册

微信扫码登录

0.0391s