본문 바로가기
Unreal/Manual

Unreal C++ Mesh->SetMaterial 방법

by Dev_카페인 2023. 12. 1.
반응형

[Unreal/C++] StaticMesh->SetMaterial 방법

 

먼저 SetMaterial의 방법은 어렵지 않다.

디테일 창에서 Material Element를 확인하고 그 숫자에 맞는 인덱스와 함께 Material을 전달해주면된다.

하지만 처음 Material을 설정하려 할 때 왜 안되지 ? 라는 생각이 먼저 들었다.

생성자에서 UMaterial을 정상적으로 가져오고 StaticMesh도 있지만 SetMaterial을 진행하면 적용이 안되는 것이었다.

다른 Component나 설정은 잘 먹히는데 경험해본 바로는 생성자에서 SetMaterial을 호출하면 작동하지 않는 것 이었다.

 

 

헤더 파일에 추가

class UStaticMeshComponent* StaticMesh;
class UMaterial* Material;

 

생성자에서

	ConstructorHelpers::FObjectFinder<UStaticMesh> mesh(L"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'");
	StaticMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Mesh"));
	StaticMesh->SetupAttachment(RootComponent);
    
	ConstructorHelpers::FObjectFinder<UMaterial> material(L"Material'/Game/Characters/Bullets/M_Bullet_Material.M_Bullet_Material'");
	Material = material.Object;

BeginPlay에서

	StaticMesh->SetMaterial(0, Material);

 

반응형