#pragma once // 1."CriWareApi.h", "AtomComponent.h", "AtomSoundObject.h" をインクルード #include "CriWareApi.h" #include "AtomComponent.h" #include "AtomSoundObject.h" #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "MyActor.generated.h" UCLASS() class SO_PROJECTED_API AMyActor : public AActor { GENERATED_BODY() public: // Sets default values for this actor's properties AMyActor(); public: // 2.メンバ変数としてUAtomComponent*型変数を持つ UAtomComponent * AtomExPlayer; };MyActor.cpp
#include "MyActor.h"// Sets default valuesAMyActor::AMyActor(){// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.PrimaryActorTick.bCanEverTick = true;AtomExPlayer = CreateDefaultSubobject<UAtomComponent>(TEXT("UAtomComponent1"));AtomExPlayer->bEnableMultipleSoundPlayback = true;AtomExPlayer->SetupAttachment(RootComponent);// 3.CreateDefaultSubobject又はNewObject関数を使用してUAtomSoundObjectのオブジェクトを作成UAtomSoundObject * SoundObject = CreateDefaultSubobject<UAtomSoundObject>(TEXT("UAtomSoundObject"));// 4.作成したサウンドオブジェクトのメンバ変数EnableCategoryCueLimitScopeやEnableVoiceLimitScopeを用途に応じてtrueに設定SoundObject->EnableCategoryCueLimitScope = true;// 5.UAtomComponent*型変数のSetSoundObjectメンバ関数を使用してサウンドオブジェクトを設定AtomExPlayer->SetSoundObject(SoundObject);}