目录
这一节内容将会为角色添加是否存活的判定,并为其添加击败后的倒地动画。
1. 判断存活
在之前第13节实现血量条时,我们创建了一个AttributeComp来实现血量的相关逻辑,因此我们可在其中添加查询角色是否存在的公有const(因为这个函数只读)函数。
// SurAttributeComponent.h
UFUNCTION(BlueprintCallable)
bool IsAlive() const;
// SurAttributeComponent.cpp
bool USurAttributeComponent::IsAlive() const
{
return Health > 0.0f;
}
2. 添加击败动画
首先,在UE中使用快捷键Ctrl + P可以打开资产搜索,搜索Gideon_Anim找到角色的动画蓝图,打开后会发现里面已经带有十分完整的动画逻辑。
在左侧变量中添加一个判断角色是否存活的bool变量bIsAlive,在AnimGraph中最下方的Foot IK controls添加一个“按布尔姿势混合”节点,将bIsAlive接入Active Value,False姿势接入倒地姿势“播放Death_Back”,True姿势为原有姿势。随后,调整“播放Death_Back”的循环为关闭,bIsAlive默认值为真: