目录
这节将会完成课程设置的第二次作业之一 —— 实现角色的粒子位移技能,即发射出一个特殊的粒子,经过一定时间后,该粒子会爆炸并将角色传送到爆炸位置。
1. 创建粒子类
考虑到后面制作的粒子都需要实现爆炸效果,所以在SurProjectileBase中添加实现爆炸的函数和OnActorHit事件函数,爆炸函数仅包括最基本的爆炸后销毁自身的功能,方便子类可以根据自己的需求来进行重写。绑定事件的方法已经在第6、12节的爆炸桶内容出现过,重写函数的内容已经在第7节打开宝箱的文章中出现过。
// SurProjectileBase.h
UPROPERTY(EditDefaultsOnly, Category = "Effects")
UParticleSystem* ImpactVFX;//VFX指Visual effects, 即视觉特效,负责爆炸时的特效
UFUNCTION()
virtual void OnActorHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit);
UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
void Explode(); // 爆炸函数
// SurProjectileBase.cpp
void ASurProjectileBase::OnActorHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* Othe