프로그래밍/언리얼엔진

언리얼엔진4 C++ 강좌 9 [쥐를잡자 찍찍찍-02] material 입히는 2가지 방법

panpro 2023. 12. 7. 20:51

 

material을 입히는 2가지 방법입니다.

 

첫 번째는 에디터에서 material을 받는 방법입니다.

 

헤더파일에, 

UPROPERTY(EdtiAnywhere)
UMaterial* BodyMaterial;

 

와 같이 설정해 주면 에디터에서 material을 설정해 줄 수 있습니다.

 

 

이렇게 에디터에서 material을 받을 수 있습니다. 

이렇게 해 놓으면 각 인스턴스마다 각각 다른 material을 쉽게 설정해 줄 수 있지만, 인스턴스의 수 만큼 설정해 주는 작업을 해야 합니다.

 

그래서 그냥 저 M_Player라는 이름의 material을 소스코드에서 찾아서 할당해 주는 방법도 쓸 수 있어야 합니다.

 

두 번째 방법은 이렇게 소스코드에서 material을 정해주는 방법입니다.

static ConstructorHelpers::FObjectFinder<UMaterial> M_Player(TEXT("Material'/Game/M_Player.M_Player'"));
if (NULL != M_Player.Object)
{
	BodyMaterial = (UMaterial*)M_Player.Object;
}

 

이렇게 하면 BodyMaterial에 M_Player 라는 이름의 재질이 연결됩니다.

 

이제 아래처럼 MeshComponent에 할당하면 됩니다.

재질 할당은 BeginPlay() 함수에서 합니다.

pBodyMeshComp->SetMaterial(0, BodyMaterial);

 

 

https://youtu.be/Owk1kx8OlTE