UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SoundNodeDistanceCrossFade.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3
4#pragma once
5
6#include "CoreMinimal.h"
8#include "Sound/SoundNode.h"
9#include "SoundNodeDistanceCrossFade.generated.h"
10
11class FAudioDevice;
12struct FActiveSound;
14struct FWaveInstance;
15
16USTRUCT()
18{
20
21 /* The FadeInDistance at which to start hearing this sound.
22 * If you want to hear the sound up close then setting this to 0 might be a good option.
23 */
24 UPROPERTY(EditAnywhere, Category=DistanceDatum )
25 float FadeInDistanceStart;
26
27 /* The distance at which this sound has faded in completely. */
28 UPROPERTY(EditAnywhere, Category=DistanceDatum )
29 float FadeInDistanceEnd;
30
31 /* The distance at which this sound starts fading out. */
32 UPROPERTY(EditAnywhere, Category=DistanceDatum )
33 float FadeOutDistanceStart;
34
35 /* The distance at which this sound is no longer audible. */
36 UPROPERTY(EditAnywhere, Category=DistanceDatum )
37 float FadeOutDistanceEnd;
38
39 /* The volume for which this Input should be played. */
40 UPROPERTY(EditAnywhere, Category=DistanceDatum)
41 float Volume;
42
43
45 : FadeInDistanceStart(0)
46 , FadeInDistanceEnd(0)
47 , FadeOutDistanceStart(0)
48 , FadeOutDistanceEnd(0)
49 , Volume(1.0f)
50 {
51 }
52
53};
54
81UCLASS(hidecategories=Object, editinlinenew, MinimalAPI, meta=( DisplayName="Crossfade by Distance" ))
83{
85
86
90 UPROPERTY(EditAnywhere, export, editfixedsize, Category=CrossFade)
91 TArray<struct FDistanceDatum> CrossFadeInput;
92
93
94public:
95 //~ Begin USoundNode Interface.
96 virtual void ParseNodes( FAudioDevice* AudioDevice, const UPTRINT NodeWaveInstanceHash, FActiveSound& ActiveSound, const FSoundParseParameters& ParseParams, TArray<FWaveInstance*>& WaveInstances ) override;
97 virtual int32 GetMaxChildNodes() const override
98 {
99 return MAX_ALLOWED_CHILD_NODES;
100 }
101 virtual void CreateStartingConnectors( void ) override;
102 virtual void InsertChildNode( int32 Index ) override;
103 virtual void RemoveChildNode( int32 Index ) override;
104#if WITH_EDITOR
106 virtual void SetChildNodes(TArray<USoundNode*>& InChildNodes) override;
107#endif //WITH_EDITOR
108 virtual float GetMaxDistance() const override;
109 virtual int32 GetNumSounds(const UPTRINT NodeWaveInstanceHash, FActiveSound& ActiveSound) const;
110 //~ End USoundNode Interface.
111
112 virtual float GetCurrentDistance(FAudioDevice* AudioDevice, FActiveSound& ActiveSound, const FSoundParseParameters& ParseParams) const;
113
117 virtual bool AllowCrossfading(FActiveSound& ActiveSound) const;
118};
int Volume
Definition AndroidPlatformMisc.cpp:380
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::UPTRINT UPTRINT
An unsigned integer the same size as a pointer.
Definition Platform.h:1146
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
int32 ParseParams(const FString &ParamStr, TArray< FString > &OutArray)
Definition NativeJSScripting.cpp:193
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
Definition AudioDevice.h:417
Definition Array.h:670
Definition SoundNodeDistanceCrossFade.h:83
virtual int32 GetMaxChildNodes() const override
Definition SoundNodeDistanceCrossFade.h:97
Definition SoundNode.h:58
U16 Index
Definition radfft.cpp:71
Definition ActiveSound.h:283
Definition SoundNodeDistanceCrossFade.h:18
Definition ActiveSound.h:64
Definition Audio.h:180
FActiveSound * ActiveSound
Definition Audio.h:208