本文最后更新于211 天前,其中的信息可能已经过时,如有错误请联系作者
UE音频学习之路
创建Sound Cues
- 创建Sound Cue,并创建WavePlayer
- 在WavePlayer中勾选Looping实现循环
- 创建Sound Attenuation 该资产控制声音相对于听者在距离上的行为的各个方面
- 为之前的Sound Cue分配Attenuation
定义了当听者远离声音时,声音的音量将如何降低(衰减)。声音的音量将在衰减形状的内部区域内达到最大值。当听者远离这个内部区域时,声音的音量会减小,在外部区域的边界处达到最小音量。相对于距离的衰减率由衰减函数决定。
- 创建Random,实现声音的随机
6.添加Modulator
- 添加Doppler
、
添加击中音效
修改MagicProjectileBP的蓝图
Play Sound 2D
直接播放声音,没有衰减,非常适合 UI 声音。
在这里我们使用Random Float in Range为声音添加一个随机的音量大小
Random Float in Range
生成最小值和最大值之间的一个随机数字
目标是Kismet数学库
接下来我们也可以实现在固定位置实现声音播放
//SProjectileBase.h
UPROPERTY(VisibleAnywhere, Category = "Components")
UAudioComponent* AudioComp;
//SProjectileBase.cpp
AudioComp = CreateDefaultSubobject<UAudioComponent>("AudioComp");
AudioComp->SetupAttachment(RootComponent);
void ASProjectileBase::Explode_Implementation()
{
UGameplayStatics::PlaySoundAtLocation(this, ImpactSound, GetActorLocation());
}
之后在由SProjectileBase创建的派生类中,为AudioComp添加音频就行了。