반응형
[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);
반응형
'Unreal > Manual' 카테고리의 다른 글
Unreal C++ Component BeginOverlap, EndOverlap 구현 (1) | 2023.12.02 |
---|---|
Unreal 애니메이션 몽타주 파티클 추가 재생 (0) | 2023.12.01 |
Unreal C++ Animation Notification에 변수 추가하기 (0) | 2023.12.01 |
Unreal C++ Sphere Component 충돌체 추가 (0) | 2023.11.30 |
Unreal C++ AnimNotifyState 사용 하기 (0) | 2023.11.30 |