• 【UE5.1 角色练习】11-坐骑——Part1(控制大象移动)


    前言

    在上一篇(【UE5.1 角色练习】10-物体抬升、抛出技能 - part2)基础上创建一个新的大象坐骑角色,并实现控制该角色行走的功能。 

    效果

    步骤

    1. 在商城中下载“African Animal Pack”资产和“ANIMAL VARIETY PACK”资产导入工程

    2. 复制一份第三人称角色蓝图,这里命名为“Character_Elephant”

    打开“Character_Elephant”,将网格体组件中的骨骼网格体资产替换为“SK_Elephant”

    增加弹簧臂长度

    新增一个骨骼网格体组件,用于表示象牙,这里命名为“SkeletalMesh_Teeth”,骨骼网格体资产使用“SK_ElephantTusksBig”

    3. 新建一个动画蓝图,骨骼使用“SK_Elephant_Skeleton”

    动画蓝图这里命名为“ABP_Elephant”

    打开“ABP_Elephant”,在动画图表中添加一个新的状态机,这里命名为“Default”

    打开“Default”状态机,添加一个状态,这里状态命名为“Idle/Run”

    打开状态“Idle/Run”,我们需要在里面添加大象走路和跑步的动画混合空间。因此这里先创建一个

    混合空间,骨骼选择“SK_Elephant_Skeleton”

    这里命名混合空间为“BlendSpace_Elephant_IdleRun”

    打开“BlendSpace_Elephant_IdleRun”,设置一下水平和垂直坐标

    将待机的动画序列“ANIM_Elephant_IdleLookAround放到方向为0,Speed为10位置处

    将走路的动画序列放置在(0,400)处

    放入大象向左转和向右转的动画序列

    放入大象跑步的动画序列

    4. 回到动画蓝图的状态“Idle/Run”中,将刚创建的混合空间作为该状态的输出姿势,可以看到我们需要设置混合空间的“Direction”和“Speed”数值

    新建两个浮点型变量,这里就命名为“Direction”和“Speed”

    将这两个变量的值作为混合空间的输入值

    再添加一个布尔类型变量,这里命名为“IsInAir”,用于表示大象当前是否在空中(常用于掉落或跳起)

    接下来我们需要在动画蓝图的事件图表中去设置这三个变量的值

    5. 在大象蓝图中,设置网格体的动画使用我们上面创建的动画蓝图

    设置最大行走速度为800

    如果感觉大象转向速度太快,我们可以修改一下旋转速率

    此时控制大象移动效果如下,可以看到象牙位置有误,因此我们需要设置蒙皮

    6. 在大象蓝图的事件图表中添加如下节点,表示将牙齿蒙在身体上

    此时可以看到象牙的位置准确无误

  • 相关阅读:
    树,二叉树,二叉树遍历,哈夫曼树(详解+刷题)
    js对象、类、面向对象编程
    Code Representation方面的Empirical Studies
    Ant Design Vue & Element-ui 中table 合并行功能,以及带分页并合并行
    MYSQL语言总结
    C 标准库 - <math.h>和<setjmp.h>详解
    33.CSS发光按钮的悬停效果
    Shell echo、printf、test命令
    搬到新办公室,开始新征程
    无头单向非循环链表(C语言实现)
  • 原文地址:https://blog.csdn.net/ChaoChao66666/article/details/139443744