ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 사운드 추가
    Game Programming/언리얼 2023. 9. 30. 15:53
    	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Camera, meta = (AllowPrivateAccess = "true"));
    	class USoundCue* FireSound;

    USoundCue 멤버 변수를 추가했다.

    	static ConstructorHelpers::FObjectFinder<USoundCue> propellerCue(
    		TEXT("/Game/Voyager/Demo/Audio/Weapons/AssaultRifle/SCue_Weapons_Rifle_Noise-Exterior-Close_01.SCue_Weapons_Rifle_Noise-Exterior-Close_01")
    	);
    	FireSound = propellerCue.Object;

    기존 블루프린트에서 설정하는 사운드큐 에셋을 cpp로 추가했다.

    	// Create an audio component, the audio component wraps the Cue, 
    	// and allows us to ineract with
    	// it, and its parameters from code.
    	FireAudioComponent = CreateDefaultSubobject<UAudioComponent>(
    		TEXT("PropellerAudioComp")
    		);
    	// I don't want the sound playing the moment it's created.
    	FireAudioComponent->bAutoActivate = false;
    	FireAudioComponent->bReverb = true;
    	// I want the sound to follow the pawn around, so I attach it to the Pawns root.
    	FireAudioComponent->AutoAttachParent = RootComponent;
    	// I want the sound to come from slighty in front of the pawn.
    	FireAudioComponent->SetRelativeLocation(FVector(0.f, 0.0f, 0.f));
    
    	// Attach our sound cue to the SoundComponent (outside the constructor)
    	if (FireAudioComponent->IsValidLowLevelFast()) {
    		FireAudioComponent->SetSound(FireSound);
    	}

    구글에서 찾은 UAudioComponent를 사용해 재생하는 방법도 있다.

    SetRelativeLocation(FVector(0.f, 0.0f, 0.f));으로 설정해도 플레이어 위치에서 소리가 나질 않았다...

    더 검색해봐야겠다.

    위 컴포넌트를 사용하면 이외에도 다양한 설정을 할 수 있다.

    'Game Programming > 언리얼' 카테고리의 다른 글

    Animation Montage  (0) 2023.10.03
    Muzzle Flash  (0) 2023.09.30
    Fire Weapone  (0) 2023.09.29
    Rotator Character to Movement  (0) 2023.09.29
    애니메이션 인스턴스 추가  (0) 2023.09.29
Designed by Tistory.