KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
AMoviePanel 클래스 참조

#include <AMoviePanel.h>

+ AMoviePanel에 대한 상속 다이어그램 :
+ AMoviePanel에 대한 협력 다이어그램:

Public 멤버 함수

 AMoviePanel ()
 
void PlayMedia ()
 

Protected 멤버 함수

virtual void BeginPlay () override
 

Protected 속성

bool bOneShot = false
 
FName ColorParam = TEXT("Color")
 
int32 Group = 0.0f
 
TObjectPtr< class UMaterialInstanceDynamic > MediaMaterial
 
TObjectPtr< class UMediaPlayer > MediaPlayer
 
TObjectPtr< class UMediaSource > MediaSource
 
TObjectPtr< class UMediaTexture > MediaTexture
 
TObjectPtr< class UStaticMeshComponent > Screen
 
FName TextureParam = TEXT("MediaTexture")
 
float TileCount = 2.0f
 
FName TileParam = TEXT("Tile")
 

Private 멤버 함수

void HandleMediaEndReached ()
 
void HandleMediaOpened (FString OpenedUrl)
 

상세한 설명

AMoviePanel.h 파일의 10 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ AMoviePanel()

AMoviePanel::AMoviePanel ( )

AMoviePanel.cpp 파일의 20 번째 라인에서 정의되었습니다.

21{
22 PrimaryActorTick.bCanEverTick = false;
23
24 Screen = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Screen"));
25 RootComponent = Screen;
26
28 Screen->SetRelativeScale3D(FVector(16.0f, 9.0f, 0.1f));
29
30 // 각 인스턴스마다 고유한 MediaPlayer와 MediaTexture 생성
31 MediaPlayer = CreateDefaultSubobject<UMediaPlayer>(TEXT("MediaPlayer"));
32 MediaTexture = CreateDefaultSubobject<UMediaTexture>(TEXT("MediaTexture"));
33
34 // MediaPlayer의 출력을 MediaTexture로 설정
36 {
37 MediaPlayer->SetLooping(true);
38 MediaPlayer->PlayOnOpen = false;
39 }
40
42}
#define SCREEN_PATH
#define MEDIA_SOURCE_PATH
TObjectPtr< class UStaticMeshComponent > Screen
Definition AMoviePanel.h:32
TObjectPtr< class UMediaSource > MediaSource
Definition AMoviePanel.h:38
TObjectPtr< class UMediaTexture > MediaTexture
Definition AMoviePanel.h:44
TObjectPtr< class UMediaPlayer > MediaPlayer
Definition AMoviePanel.h:35
static T * LoadAsset(const TCHAR *Path)

다음을 참조함 : FComponentHelper::LoadAsset(), MEDIA_SOURCE_PATH, MediaPlayer, MediaSource, MediaTexture, Screen, SCREEN_PATH.

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

멤버 함수 문서화

◆ BeginPlay()

void AMoviePanel::BeginPlay ( )
overrideprotectedvirtual

AMoviePanel.cpp 파일의 44 번째 라인에서 정의되었습니다.

45{
46 Super::BeginPlay();
47
48 if (!Screen || !Screen->GetMaterial(0))
49 return;
50
51 // MediaTexture를 MediaPlayer에 연결
53 {
54 MediaTexture->SetMediaPlayer(MediaPlayer);
55 MediaTexture->UpdateResource();
56 }
57
58 MediaMaterial = UMaterialInstanceDynamic::Create(Screen->GetMaterial(0), this);
59 if (!MediaMaterial)
60 return;
61
62 MediaMaterial->SetVectorParameterValue( ColorParam, FLinearColor( 0, 0, 0, 1.0f ) );
63 MediaMaterial->SetTextureParameterValue(TextureParam, MediaTexture);
64 MediaMaterial->SetScalarParameterValue(TileParam, TileCount);
65
66 Screen->SetMaterial(0, MediaMaterial);
67
68 MediaPlayer->OnEndReached.Clear();
69 MediaPlayer->OnEndReached.AddDynamic(this, &AMoviePanel::HandleMediaEndReached);
70
71 PlayMedia();
72}
TObjectPtr< class UMaterialInstanceDynamic > MediaMaterial
Definition AMoviePanel.h:41
void HandleMediaEndReached()
FName ColorParam
Definition AMoviePanel.h:49
FName TileParam
Definition AMoviePanel.h:55
float TileCount
Definition AMoviePanel.h:58
FName TextureParam
Definition AMoviePanel.h:52
void PlayMedia()

다음을 참조함 : ColorParam, HandleMediaEndReached(), MediaMaterial, MediaPlayer, MediaTexture, PlayMedia(), Screen, TextureParam, TileCount, TileParam.

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ HandleMediaEndReached()

void AMoviePanel::HandleMediaEndReached ( )
private

AMoviePanel.cpp 파일의 104 번째 라인에서 정의되었습니다.

105{
106 if (bOneShot)
107 {
108 MediaMaterial->SetVectorParameterValue(ColorParam, FLinearColor(0.0f, 0.0f, 0.0f, 1.0f));
109 MediaPlayer->Pause();
110 }
111}

다음을 참조함 : bOneShot, ColorParam, MediaMaterial, MediaPlayer.

다음에 의해서 참조됨 : BeginPlay().

+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ HandleMediaOpened()

void AMoviePanel::HandleMediaOpened ( FString  OpenedUrl)
private

AMoviePanel.cpp 파일의 95 번째 라인에서 정의되었습니다.

96{
97 if (MediaPlayer)
98 {
99 MediaPlayer->Play();
100 PRINTLOG(TEXT("AMoviePanel::HandleMediaOpened - Media opened: %s"), *OpenedUrl);
101 }
102}
#define PRINTLOG(fmt,...)
Definition GameLogging.h:30

다음을 참조함 : MediaPlayer, PRINTLOG.

다음에 의해서 참조됨 : PlayMedia().

+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ PlayMedia()

void AMoviePanel::PlayMedia ( )

AMoviePanel.cpp 파일의 74 번째 라인에서 정의되었습니다.

75{
76 if (!MediaPlayer || !MediaSource)
77 {
78 PRINTLOG( TEXT("AMoviePanel::PlayMedia - MediaPlayer or MediaSource is null"));
79 return;
80 }
81
82 MediaMaterial->SetVectorParameterValue(ColorParam, FLinearColor(1.0f, 1.0f, 1.0f, 1.0f));
83
84 // OnMediaOpened 이벤트 바인딩
85 MediaPlayer->OnMediaOpened.Clear();
86 MediaPlayer->OnMediaOpened.AddDynamic(this, &AMoviePanel::HandleMediaOpened);
87
88 // 미디어 소스 열기
89 if (!MediaPlayer->OpenSource(MediaSource))
90 {
91 PRINTLOG(TEXT("AMoviePanel::PlayMedia - Failed to open media source"));
92 }
93}
void HandleMediaOpened(FString OpenedUrl)

다음을 참조함 : ColorParam, HandleMediaOpened(), MediaMaterial, MediaPlayer, MediaSource, PRINTLOG.

다음에 의해서 참조됨 : BeginPlay().

+ 이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
+ 이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ bOneShot

bool AMoviePanel::bOneShot = false
protected

AMoviePanel.h 파일의 64 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : HandleMediaEndReached().

◆ ColorParam

FName AMoviePanel::ColorParam = TEXT("Color")
protected

AMoviePanel.h 파일의 49 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : BeginPlay(), HandleMediaEndReached(), PlayMedia().

◆ Group

int32 AMoviePanel::Group = 0.0f
protected

AMoviePanel.h 파일의 61 번째 라인에서 정의되었습니다.

◆ MediaMaterial

TObjectPtr<class UMaterialInstanceDynamic> AMoviePanel::MediaMaterial
protected

AMoviePanel.h 파일의 41 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : BeginPlay(), HandleMediaEndReached(), PlayMedia().

◆ MediaPlayer

TObjectPtr<class UMediaPlayer> AMoviePanel::MediaPlayer
protected

AMoviePanel.h 파일의 35 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : AMoviePanel(), BeginPlay(), HandleMediaEndReached(), HandleMediaOpened(), PlayMedia().

◆ MediaSource

TObjectPtr<class UMediaSource> AMoviePanel::MediaSource
protected

AMoviePanel.h 파일의 38 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : AMoviePanel(), PlayMedia().

◆ MediaTexture

TObjectPtr<class UMediaTexture> AMoviePanel::MediaTexture
protected

AMoviePanel.h 파일의 44 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : AMoviePanel(), BeginPlay().

◆ Screen

TObjectPtr<class UStaticMeshComponent> AMoviePanel::Screen
protected

AMoviePanel.h 파일의 32 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : AMoviePanel(), BeginPlay().

◆ TextureParam

FName AMoviePanel::TextureParam = TEXT("MediaTexture")
protected

AMoviePanel.h 파일의 52 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : BeginPlay().

◆ TileCount

float AMoviePanel::TileCount = 2.0f
protected

AMoviePanel.h 파일의 58 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : BeginPlay().

◆ TileParam

FName AMoviePanel::TileParam = TEXT("Tile")
protected

AMoviePanel.h 파일의 55 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : BeginPlay().


이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: