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);
'프로그래밍 > 언리얼엔진' 카테고리의 다른 글
언리얼엔진4 C++ 강좌 11 [쥐를잡자 찍찍찍-04] 포즈없애고 포즈잡기 (1) | 2023.12.20 |
---|---|
언리얼엔진4 C++ 강좌 10 [쥐를잡자 찍찍찍-03] 타이머 사용법 (0) | 2023.12.20 |
언리얼엔진4 C++ 강좌 8 [쥐를잡자 찍찍찍-01] cube와 sphere를 이용해 플레이어 만들기 (1) | 2023.12.04 |
언리얼엔진 강좌 75 [쥐를잡자-11] 잡았다 놓쳤다 소리 넣고 마무리 (0) | 2023.12.02 |
언리얼엔진 강좌 74 [쥐를잡자-10] 쥐 다 잡았으면 다시 새 게임 시작 (1) | 2023.11.29 |