반응형
이번 글에서는 **조명(Lights)**과 **소리(Sound)**를 켜고 끄는 방법을 다루겠습니다. 이전과 마찬가지로 **베리언트 매니저(Variant Manager)**를 사용하여 위젯에서 이러한 기능을 제어할 수 있습니다.
1. 조명 설정 및 베리언트 생성
A. 씬에 조명 배치 및 조정
- 조명 추가: 씬에 **스포트 라이트(Spot Light)**와 같은 조명을 추가합니다.
- 조명 속성 조정:
- 광원 강도(Intensity), 반도어(Barn Door)(빛 모양 조절), 감쇠 거리(Falloff Distance) 등을 조정하여 원하는 조명 효과를 만듭니다.
- 빛이 덜 강하고 **사실적(realistic)**으로 보이도록 강도를 낮출 수 있습니다.
B. 조명 제어 베리언트 생성

- 새 베리언트 세트 생성: 새로운 레벨 베리언트 세트를 만들고 이름을 LivingLights로 지정합니다.
- Light On 베리언트:
- 첫 번째 베리언트를 LightsOn으로 명명합니다.
- 씬에 배치한 모든 조명 액터를 베리언트 매니저로 드래그 앤 드롭합니다.
- 각 조명 액터의 속성으로 **Intensity(강도)**를 추가하고, 원하는 켜짐 상태의 강도 값(예: 0.5)을 설정합니다.
- Light Off 베리언트:
- LightsOn 베리언트를 **복제(Duplicate)**하고 이름을 LightsOff로 변경합니다.
- Intensity 속성 값을 0으로 설정합니다. (이 베리언트를 선택하면 조명이 꺼집니다.)

C. 가시성(Visibility)을 이용한 제어 (대안)


강도 대신 가시성을 사용하여 조명을 켜고 끌 수도 있습니다.
- Light On/Off 베리언트 (가시성):
- 조명 액터의 속성으로 **Component Visible(컴포넌트 가시성)**을 추가합니다.
- LightsOn 베리언트에서는 이 값을 **체크(True)**로 설정합니다.
- LightsOff 베리언트에서는 이 값을 **체크 해제(False)**로 설정합니다.
- 시작 상태 설정: 레벨이 시작될 때 조명을 끄고 싶다면, 조명의 Details 패널에서 Visible을 체크 해제하여 초기 상태를 보이지 않게 설정합니다.
- 블루프린트로 강제 설정: 레벨 블루프린트에서 Set Visibility 노드를 사용하여 게임 시작 시 강제로 조명을 켜거나 끌 수 있습니다. (예: 게임 시작 시 New Visibility를 체크하여 조명을 켭니다.)
2. 위젯 블루프린트에서 조명 제어 연결

이전 강의에서 사용한 로직을 재활용합니다.
- 버튼 클릭 이벤트: 위젯의 조명 버튼을 선택하고 On Clicked 이벤트를 생성합니다.
- Variant Reference 가져오기: My Variant Reference 변수를 가져옵니다.
- 베리언트 전환:
- Switch on Variant by Name 노드를 가져옵니다.
- Variant Set Name에는 생성한 베리언트 세트의 이름(LivingLights)을 정확히 입력합니다.
- Variant Name에는 LightsOn (조명 켜기 버튼) 또는 LightsOff (조명 끄기 버튼)를 연결합니다.
- 테스트: 게임을 실행하여 Tab 키로 메뉴를 열고 조명 버튼을 클릭하여 조명이 켜지고 꺼지는지 확인합니다.
3. 소리 설정 및 베리언트 생성 (음악)
A. 씬에 오디오 액터 배치
소리를 켜고 끄는 것은 조명과 유사하게 **오디오 컴포넌트(Audio Component)**의 속성을 제어하여 수행합니다.
- 오디오 액터 배치: 씬에 오디오 액터를 배치합니다 (예: 피아노 음악 소리)
B. 소리 제어 베리언트 생성

- 새 베리언트 세트 생성: 새로운 레벨 베리언트 세트를 만들고 이름을 Music 또는 LivingMusic으로 지정합니다.
- Music Off 베리언트:
- 베리언트 이름을 MusicOff로 지정합니다 (씬에서 소리가 기본적으로 켜져 있다고 가정).
- 오디오 액터를 베리언트 매니저로 드래그 앤 드롭합니다.
- 속성으로 **Volume Multiplier(볼륨 배율)**를 추가하고 값을 0으로 설정합니다 (소리 끄기).
- Music On 베리언트 (선택 사항): 소리를 다시 켤 수 있도록 MusicOn 베리언트를 만들고 Volume Multiplier를 1 또는 적절한 값(예: 0.5)으로 설정할 수 있습니다.
C. 위젯 블루프린트에서 소리 제어 연결

- 버튼 클릭 이벤트: 위젯의 음악 버튼을 선택하고 On Clicked 이벤트를 생성합니다.
- Variant Reference 및 전환:
- My Variant Reference를 가져옵니다.
- Switch on Variant by Name 노드를 연결합니다.
- Variant Set Name에는 Music을 입력합니다.
- Variant Name에는 MusicOff (음악 끄기 버튼) 또는 MusicOn을 연결합니다.
결론
이로써 베리언트 매니저를 사용하여 조명의 강도/가시성 및 소리의 볼륨을 위젯을 통해 완벽하게 제어할 수 있게 되었습니다. 이 개념은 언리얼 엔진의 어떤 씬에서도 적용 가능하며, 나머지 상호작용 아이콘에도 동일한 원리를 적용할 수 있습니다.
반응형
'Unreal Engine' 카테고리의 다른 글
Unreal Engine 물 애니메이션(Water Animation)켜고 끄는 방법 (0) | 2025.10.08 |
---|---|
Unreal Engine 미디어(Media)를 켜고 끄는 방법 (0) | 2025.10.07 |
Unreal Engine 재질(Material)을 베리언트 매니저(Variant Manager)를 활용하여 손쉽게 변경하기 (0) | 2025.10.06 |
Unreal Engine 위젯 메뉴에 애니메이션을 적용하는 방법 (0) | 2025.10.06 |
Unreal Engine 제작한 메뉴 플레이 화면에 적용하기 (0) | 2025.10.03 |