目录
一、前置知识
1.1 创建蓝图类

补充:
【Actor】->【Pawn】->【角色/Character】->【我们创建的角色蓝图类】
【Actor】->【控制器】->【玩家控制器/AI控制器】
1.2 蓝图实例化与场景应用
在内容浏览器中找到创建好的蓝图类,将其拖拽到关卡场景中,即可创建该蓝图的一个实例。
设置实例属性:选中场景中的蓝图实例,在细节面板中可以修改其属性值,这些修改仅针对当前实例,不会影响蓝图类本身。
1.3 增强输入系统
增强输入系统(Enhanced Input)分为输入动作、输入映射上下文、修改器、触发器。
为什么要使用增强输入系统呢?


1.4 混合空间
混合空间(Blend Space)是一个非常重要的概念,特别是在角色动画和运动系统中。混合空间主要用于平滑地过渡和混合多个动画状态,以创建自然、流畅的动画过渡效果。


注:当然我们可以把水平坐标设置为方向,垂直坐标设置为速度,来实现速度相同但方向不同时播放不同的动画(类似于CF角色移动)。当然在动画蓝图中,我们就要给混合空间两个变量输入啦
1.5 骨骼动画合并
骨骼动画合并(通过 Layered blend per bone 节点)可以将两个不同的动画根据指定骨骼分别播放指定动画,然后合并为一个动画。动画合并的节点可以是动画也可以是混合空间。

经过测试 Base Pose 是角色最下面骨骼的动画,Blend Poses 0...是上面的骨骼的动画。
1.6 动画合成
我们可以拖动 不同动画 到 合成 这一轨道,将多个动画组合成一个动画。动画合成 和 动画序列应该是地位相同的。


1.7 瞄准偏移
瞄准偏移可以让射击姿势瞄准朝向相机的方向。
如何使用?
1.创建 9 个方向的单帧动画序列,Aim_Center_Center、Aim_Center_Up、Aim_Center_Down、Aim_Left_Center、Aim_Left_Up、Aim_Left_Down、Aim_Right_Center、Aim_Right_Up、Aim_Right_Down。
2.选中这 9 个动画序列,然后鼠标右键点击“通过属性矩阵进行批量编辑”。

选中这9个动画序列,然后将【Additive动画类型】设置为【网格体空间】,【基础姿势类型】设置为【选择的动画帧】,【基础姿势动画】设置为"角色初始端枪待机的动画"。

创建瞄准偏移(其实瞄准偏移类似于混合空间)。

将 9 个动画序列放置在相应的位置上。像混合空间一样,此时我们修改预览点的坐标位置,就可以看到角色不同的端枪姿势。

动画图表设置


1.8 补充小知识
1.8.1 将游戏场景的主角设置为你自己的角色
方法一
在角色蓝图类中设置【自动控制玩家】为玩家0。

方法二
新建游戏模式基础蓝图。


【世界场景设置】-【游戏模式重载】,设置出生点位置,运行后角色就会出现在出生点了。

1.8.2 摄像机


二、角色蓝图类
2.1 实践:创建简单的角色控制功能
2.1.1 创建角色蓝图类
首先创建角色蓝图类,命名为BP_Player。


2.1.2 配置按键输入
设置输入动作。 在输入操作里面我们一般对将来键盘会输入的值的类型进行设置,比如布尔值、1维轴、2维轴、3维轴等。



设置输入映射情境。其中输入映射情景用于集成各种我们定义的输入操作。

我们的输入操作默认都是将按键输入映射到X轴,也就是说如果全部为默认状态的话,我们的WASD所有按键都是往右走,所以要对它们进行修改。
拌合输入轴值:将按键输入映射到Y轴。
否定:方向取反。


2.1.3 蓝图应用
首先通过获取玩家控制器添加输入映射上下文。然后输入动作事件。


补充操作:


2.2 动画蓝图
2.2.1 什么是动画蓝图?
动画蓝图是一种特殊的蓝图,它用于在游戏中控制骨骼网格体的动画效果。
- 事件图表(Event Graph) 可以构建基于蓝图的逻辑,用于定义节点的属性和包含其他图表区域信息的变量。
- 动画图表(Anim Graph) 用于构建基于姿势的逻辑,可以为当前帧评估骨架网格体的最终姿势。
- 状态机(State Machines), 用于构建基于状态的逻辑,通常用于移动。(状态机图表需要在动画图表中自行创建)
补充:借助状态机,你可以创建各种 状态(State),定义要在这些状态中播放的动画,并创建各类 转换(Transition)来控制何时切换到其他状态。
2.2.2 上述案例使用动画蓝图
下面演示操作,首先创建动画蓝图ABP_Player。
动画蓝图事件图表部分。

动画蓝图 Anim Graph 部分。

状态机1



状态机2
2.3 额外添加下蹲功能(非官方)

然后在状态机中添加下蹲状态,设置转换条件。

669

被折叠的 条评论
为什么被折叠?



