반응형

이번 글에서는 **베리언트 매니저(Variant Manager)**와 이 기능을 사용하여 위젯 블루프린트(Widget Blueprint) 내에서 **머티리얼(Material)**을 변경하는 방법에 대해 알아보겠습니다. **언리얼 엔진(Unreal Engine)**에서 머티리얼을 가장 쉽게 변경할 수 있는 방법입니다.
베리언트 매니저 플러그인 확인 및 설정
- 플러그인 확인: 플러그인(Plugins)

- 메뉴로 가서 Variant Manager가 활성화되어 있는지 확인합니다.
- 레벨 베리언트 세트 생성:
- **블루프린트(Blueprints)**의 **Miscellaneous(기타)**에서 **레벨 베리언트 세트(Level Variant Sets)**를 생성합니다.
- 이름을 LivingFloorMat (Living Floor Material Changer의 약자)와 같이 전략적으로 지정합니다.
- 베리언트 추가:
- 더블 클릭하여 베리언트 세트를 열고 **베리언트(Variant)**를 추가합니다. 이름을 Variant 1 또는 변경할 머티리얼 이름으로 지정할 수 있습니다.

머티리얼 변경을 위한 베리언트 설정

베리언트 매니저를 사용하여 **스태틱 메시(Static Mesh)**의 속성, 즉 머티리얼을 변경하도록 설정합니다.
- 액터 추가: SM_Floor05 (바닥 스태틱 메시)를 선택하고 베리언트 매니저에 추가합니다.
- 속성 추가: 스태틱 메시를 클릭한 후, 변경하려는 **속성(Property)**인 **머티리얼(Material)**을 선택합니다. Element 0을 선택하여 원하는 머티리얼 슬롯을 지정합니다.
- 머티리얼 지정:
- Variant 1에 적용할 첫 번째 머티리얼을 Megascans Surface와 같은 **콘텐츠 브라우저(Content Browser)**에서 찾아 지정합니다 (예: 대리석 같은 머티리얼).
- Variant 2를 복제하거나 새로 추가하고, 여기에 적용할 두 번째 머티리얼을 지정합니다 (예: 회색빛 콘크리트).
- 중요: 베리언트 매니저가 제대로 작동하려면 레벨 베리언트 세트 액터를 반드시 **씬(Scene)**에 드래그 앤 드롭해야 합니다.

위젯 블루프린트에서 베리언트 적용


이제 위젯 버튼을 클릭했을 때 설정한 머티리얼이 변경되도록 블루프린트를 구성합니다.
- 버튼 클릭 이벤트: 위젯의 디자이너(Designer) 탭에서 Living Floor M1 버튼을 선택하고 On Clicked 이벤트를 생성합니다.


- 액터 참조 가져오기:
- Get All Actors of Class 노드를 가져와서 **클래스(Class)**를 씬에 배치한 Level Variant Sets Actor로 설정합니다.
- 반환된 배열의 Get a Copy 노드를 사용하여 첫 번째 요소를 가져옵니다.
- 이 노드를 **변수로 승격(Promote to Variable)**하여 My Variant Reference라고 이름 짓습니다. Event Construct에서 이 작업을 수행하여 참조를 저장하고, 이후 On Clicked 이벤트에서 이 변수를 사용할 수 있습니다.



- 베리언트 전환:

- My Variant Reference에서 Switch on Variant by Name 노드를 가져옵니다.
- Target을 My Variant Reference에 연결합니다.
- Variant Name 입력에 변경하고자 하는 베리언트의 정확한 이름을 입력합니다 (예: "Variant 1").
- On Clicked 이벤트를 Switch on Variant by Name 노드에 연결합니다.
- 테스트: Play를 눌러 위젯을 표시하고, Tab 키를 눌러 메뉴를 열고, 버튼을 클릭하여 머티리얼이 변경되는지 확인합니다.
다른 버튼에 기능 복제

다른 머티리얼 변경 버튼에도 동일한 기능을 복사하여 적용합니다.
- 버튼 클릭 이벤트 생성: Living Floor M2 등 다른 머티리얼 버튼에도 On Clicked 이벤트를 생성합니다.
- 블루프린트 복사 및 변수 변경:
- 이전에 만든 블루프린트 로직을 복사하여 붙여넣습니다.
- Switch on Variant by Name 노드의 Variant Name을 해당 버튼이 적용해야 하는 베리언트의 정확한 이름 (예: "Variant 2")으로 수정합니다.
이와 같은 방식으로 다른 가구(예: 소파)의 머티리얼 변경 기능도 베리언트 세트를 생성하고 위젯 버튼에 연결하여 설정할 수 있습니다.
반응형
'Unreal Engine' 카테고리의 다른 글
Unreal Engine 위젯 메뉴에 애니메이션을 적용하는 방법 (0) | 2025.10.06 |
---|---|
Unreal Engine 제작한 메뉴 플레이 화면에 적용하기 (0) | 2025.10.03 |
Unreal Engine 화면에 메뉴 만들기 (0) | 2025.10.03 |
Unreal Engine 블루프린트를 이용한 반응형 애니메이션 작동하도록 설정하기 (0) | 2025.10.03 |
Ureal Engine 플레이어에 반응해서 열리는 문 제작하기 (0) | 2025.10.03 |