Bind Star Opacity
이번엔 레어도를 나타내는 별 5개에 대해서도 바인딩 작업을 해주자.
먼저 헤더파일 바로 아래 부분에 enum 클래스를 선언하여 레어도에 대해 열거해주자.
각 지정된 레어도들에 대해 UMETA(Displayname = " ")을 통해 이름을 넣어주자.
그리고 EIR_MAX을 통해 열거형 최대 개수를 지정하게 된다.
uint8의 경우 메모리 절약을 위해 사용되었다.
그리고 해당 열거형을 변수로 선언해주자.
기본 등급은 우선 Common 등급으로 초기화하였다.
그리고 bool 타입 TArray도 선언해주자.
열거형에 대해서 bool로 판별하게 될 것이다.
다음으로 Stars를 활성화하기 위한 함수이다.
기본 값은 false로 초기화하고, 레어도에 따라서 해당 레어디의 별 갯수만큼 true로 값을 할당해주자.
이제 이를 BeginPlay() 함수에서 호출해주자.
이제 Star image를 누르고, Color and Opacity 부분에서 바인딩을 생성해주자.
그리고 Linear Color 타입 변수를 선언해주고 RGBA를 전부 0으로 둔 상태에서 컴파일 해보자.
RGBA 값이 0이므로 맨 첫 번째 Star가 사라진 모습을 볼 수 있다.
다시 기본 값은 RGB를 1.0으로 되돌려 놓자.
그리고 투명도를 담당하는 Alpha 값에 대한 변수를 만들어 주자.
먼저 불투명하여 보이는 것을 의미하는 VisibleAlpha 변수이다.
그리고 투명하여 보이지 않는 것을 의미하는 HiddenAlpha 변수도 생성해주자.
위 변수 2개를 토대로 값을 설정해보자.
Item Reference 값을 통해 Active Start에 접근하고, 여기서 Get (a copy)를 통해 원하는 요소에 접근한다.
그리고 해당 값(true or false)을 통하여 Branch로 연결하고,
이에 따른 결과로 true이면 Alpha 값을 1로 false이면 Alpha 값을 0으로 설정한다.
이렇게 설정한 Return color 값을 최종 Return Node에 Return 하게 된다.
나머지 Star에 대해서도 똑같다.
Get (a copy) 의 요소 부분만 index에 맞춰서 숫자만 바꿔주면 된다.
위 내용이 중복되니 중복되는 부분을 Collapse 하여 함수로 만들어주자.
그리고 인풋으로 star에 해당하는 index를, 아웃풋으로 Alpha 값을 할당해주자.
이렇게 설정한 모습은 다음과 같다.
Return하는 Alpha 값에 대해서는 로컬로 존재하는 것이 바람직하다.
따라서 Local 변수를 생성해주자.
기존 함수를 다듬어서 Index 값을 Get (a copy) 인풋으로 연결해주고,
기존 Return Color를 Set 하던 부분을 Return Alpha로 대체해주자.
또한 Return Node도 Return Alpha를 할당해주자.
이제 Index에 각 Star에 해당하는 Index 값을 넣고, Return 된 Alpha 값을 최종 Return Value로 넣어주면 된다.
모든 Star에 대해서 이를 반복해서 작업해주자.
이제 홈 화면 디테일 패널에서 Rarity를 바꿔보자.
해당 Rarity에 맞는 Star 개수가 표시된 모습을 볼 수 있다.
'Unreal > Udemy 강의' 카테고리의 다른 글
Unreal Engine 4 C++ The Ultimate Shooter Course Section 5-15 (0) | 2024.08.27 |
---|---|
Unreal Engine 4 C++ The Ultimate Shooter Course Section 5-14 (0) | 2024.08.23 |
Unreal Engine 4 C++ The Ultimate Shooter Course Section 5-12 (0) | 2024.08.22 |
Unreal Engine 4 C++ The Ultimate Shooter Course Section 5-11 (0) | 2024.08.22 |
Unreal Engine 4 C++ The Ultimate Shooter Course Section 5-10 (0) | 2024.08.22 |