11月16日 给游戏添加声音,给角色添加死亡动画,创建物体的血量UI UE4斯坦福 学习笔记入声音

给游戏添加声音

很简单的小功能

新建两个蓝图类型是Cue和Attenuation

修改Attenuation的预设

在cue内插入预设

给角色添加死亡动画

首先在角色蓝图的状态蓝图内添加死亡动画

添加一个bool变量Is Alive

 

修改角色组件USAttributeComponent.h文件

UFUNCTION(BlueprintCallable,Category="Health") bool IsALive();

在.cpp内添加

bool USAttributeComponent::IsALive() { return Health > 0.0f; }

在角色.h蓝图内添加函数

UFUNCTION() void OnHealthChanged(AActor* InstigatorActor,USAttributeComponent* OwningComp,float NewHealth,float Delta);

virtual void PostInitializeComponents() override;

在.cpp内添加

void ASCharacter::PostInitializeComponents() { //初始化的时候绑定事件 Super::PostInitializeComponents(); AttributeComp->OnHealthChanged.AddDynamic(this,&ASCharacter::OnHealthChanged); }

void ASCharacter::OnHealthChanged(AActor* InstigatorActor, USAttributeComponent* OwningComp, float NewHealth, float Delta) { //当血量少于0的时候清除控制器的输入 if(NewHealth < 0.0f && Delta<0.0f) { APlayerController * PC = Cast(GetController()); DisableInput(PC); } }

最后在角色动画蓝图内添加

 

创建物体的血量UI

新建UI

 

在之前学习材质建立的Dummy物体内添加蓝图

##这里遇到了问题,创建出来的UI一直在画面中央不在物体上

已经解决,是Dummy的蓝图内创建错误

我一开始创建的是Object

 

经过修改后是

 

我们应该创建的是Widget类型而不是Object类型

##又出现了奇怪的Bug,SetRenderTranslation显示的位置错误

已解决,是因为我忘记调整UI的位置了

修改前:

 

修改后:

 

效果图:

最后让UI在击中的时候才会显示


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部