언리얼 인트로를 추가해보겠습니다
Content폴더에 Movies로 폴더를 생성
해당 폴더에 사용할 mp4 파일을 옮겨줍니다
ㅎ
파일 미디어 소스의 파일경로가 제데로 Movies/ ~mp4로 끝나는지 확인합니다
미디어플레이어에 해당 영상을 더블클릭해 지정해줍니다
Media Player 를 만듭니다
비디오가 미디어 텍스처 에셋 출력 체크해줍니다
Media Player, Media Texture가 생성되었습니다
Media Player에서 재생될 영상을 선택해줍니다
위젯에 Media Texture을 꺼내준다
Media파일을 c++에서 제어할려면 Build.cs파일에 모듈을 추가해야합니다
해당 모듈을 추가해주시면됩니다
"MediaAssets"
필요한 헤더를 추가합니다
#include "MediaPlayer.h"
#include "MediaSource.h"
#include "Components/Image.h"
UCLASS()
class BLASTERDREAM_API UIntroWidget : public UUserWidget
{
GENERATED_BODY()
public:
virtual void NativeConstruct() override;
UPROPERTY(meta = (BindWidget))
UImage* Image_IntroVideo;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MySettings")
UMediaPlayer* introPlayer;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MySettings")
UMediaSource* introMediaSource;
};
void UIntroWidget::NativeConstruct()
{
Super::NativeConstruct();
introPlayer->OpenSource(introMediaSource);
introPlayer->Play();
}
재생시킬 플레이어와 source를 할당해줍니다
ProjectSetting에서 DirectX를 치고 DirectX11로 변경해줍니다 해당 내용의 적용을 위해 엔진을 재시작해줍니다
이미지를 캔버스패널에 꽉 맞추기위해 앵커를 꽉차게 그리고 오프셋을 전부 0으로 설정해줍니다
만약 영상이 재생되지않는다면
플러그인에서 Electra Player를 설치해줍니다
영상의 사운드는 별도로 처리를 해줘야 사운드가 출력됩니다
인트로맵에서 액터를 만들고 해당 액터에 사운드를 출력해도됩니다
저는 인트로맵에서 사용할 플레이어컨트롤러를 별도로 만들고 플레이어컨트롤러에서 사운드를 출력하도록 하겠습니다
UPROPERTY(EditAnywhere, Category = "MySettings")
UMediaPlayer* shareMediaPlayer;
UPROPERTY()
UMediaSoundComponent* introSoundComponent;
필요한 헤더추가합니다
#include "MediaSoundComponent.h"
BeginPlay에서 사운드를 출력시킵니다
introSoundComponent = NewObject<UMediaSoundComponent>(this);
introSoundComponent->SetMediaPlayer(shareMediaPlayer);
introSoundComponent->RegisterComponent();
영상이 끝나면 델리게이트로 메인메뉴창이 있는 맵으로 이동합니다
void UIntroWidget::NativeConstruct()
{
Super::NativeConstruct();
introPlayer->OpenSource(introMediaSource);
introPlayer->Play();
introPlayer->OnEndReached.AddDynamic(this, &UIntroWidget::IntroFinished);
}
void UIntroWidget::IntroFinished()
{
if (!targetLoadingMap.IsEmpty())
{
UGameplayStatics::OpenLevel(this, FName(*targetLoadingMap));
}
}
결과물
'Unreal5 프로젝트 다이어리' 카테고리의 다른 글
Unreal - 위젯 나이아가라 (0) | 2025.06.06 |
---|---|
Unreal - Foot Step Sound (0) | 2025.05.30 |
Unreal - 새로하기, 이어하기 메인메뉴 만들기 (0) | 2025.05.29 |
Unreal - 던전 클리어 위젯 만들기 (0) | 2025.05.25 |
Unreal - 플레이어 리스폰 (0) | 2025.05.24 |