728x90
VV
로그인 UI
언리얼 엔진의 프로젝트를 본격적으로 포스팅 해보려고 한다.
이번 목표는 로그인 UI를 만드는 것이다.
Unity에서 쉽게 panel을 이용했던 것과는 다르게 좀 언리얼은 복잡해서 다른 여러 블로그를 참조하면서 진행했다.

Ctrl+Space 를 통해 Content Browser를 열고, 빈 곳에서 우클릭을 통해 User Interface → Widget Blueprint를 눌러줘서 생성해주었다.

User Widget을 눌러서 생성해주었다.

이런 창이 열리게 되는데 화살표 버튼을 드래그 해보면 화면 영역이 나타나게 된다.

여기서 만드려고 하는 화면 비율을 따라서 선택해주면 된다.
나는 1920x1080으로 선택했다.

옆의 Palette를 통해서 원하는 UI를 드래그 드롭시켜주었다.

간단하게 만든 텍스트 박스와 로그인 버튼을 만들었다..
여기서 바로 렌더링 되는게 아니라 블루프린트 설정을 해야한다.

Open Level Blueprint 버튼을 눌러서 Level Blueprint를 열어주고, 아래 와 같이 Blueprint를 구성하면 화면에 UI가 렌더링된다.

Class에 방금 작업한 Widget Blueprint를 넣어준다.
이후 반환된 값이 3번째 노드의 Target으로 들어가면 된다.

이런식으로 실행화면이 구성된다.
UE5
검증 코드
- 언리얼 엔진에서 검증 코드는 주로 코드의 안정성과 유효성을 보장하기 위한 Assert 계열의 매크로를 의미하며, 이를 통해 코드 실행 도중 예상치 못한 상황이나 오류를 잡아낼 수 있다. 얼리얼 엔진은 다양한 검증 매크로를 제공하여 런타임 시점에 코드의 논리적 오류를 감지하거나 개발 과정에서 잠재적인 문제를 조기에 발견할 수 있게 한다.
검증 코드 개요
- 검증 코드(Assertion)는 프로그램이 실행 중일 때 필요한 조건을 만족하지 않을 경우 오류를 발생시키는 코드이다. 주로 개발 중에만 활성화되고, 실제 출시 빌드에서는 비활성화되도록 설계되어 있다.
- 언리얼 엔진의 검증 매크로는 주로 ensure() , check(), verify() 같은 함수나 매크로를 사용하여 구현된다.
주요 매크로
- check()
- 목적
- check()는 주어진 조건이 항상 참이어야 함을 보장한다.
- 만약 조건이 거짓이라면 즉시 프로그램을 중단시키고, 에러 메시지를 출력한다.
- 사용 사례
- 논리적으로 절대 실패해서는 안 되는 중요한 부분에서 사용된다.
- 특징
- 개발 빌드와 테스트 빌드에서만 활성화되며, 배포 빌드에서는 무시된다.
- 코드
- void MyFunction(int32 Value) { check(Value > 0); // Value가 0보다 커야 함 // 조건이 실패하면 프로그램은 중단됨 }
- 목적
- ensure()
- 목적
- ensure()는 주어진 조건이 거짓일 때 경고를 출력하지만, 프로그램을 중단시키지는 않고 계속 실행시킨다.
- 이는 프로그램이 치명적인 문제를 일으키지 않지만, 잘못된 상황이 발생했음을 개발자가 인지하도록 도와준다.
- 사용 사례
- 오류가 발생해도 프로그램이 계속 실행이 가능한 경우, 오류 로그를 남기고 싶을 때 사용된다.
- 특징
- 개발 빌드와 테스트 빌드에서만 활성화되며 배포 빌드에서는 무시된다.
- 코드
- void MyFunction(int32 Value) { if (!ensure(Value > 0)) // 조건이 거짓이면 경고 메시지를 출력 { // 잘못된 값이 들어왔을 때 처리 } }
- 목적
- verify()
- 목적
- verify()는 check()와 비슷하게 동작하지만, 릴리스 빌드에서도 조건을 평가한다. 이 조건이 릴리스 빌드에서 반드시 평가되어야 할 때 사용된다.
- 사용 사례
- 릴리스 빌드에서 실행될 때도 조건이 중요할 경우 사용된다.
- 특징
- 디버그 빌드에서는 check() 처럼 동작하고, 릴리스 빌드에서는 조건을 평가하고 통과하지 않으면 실패하지만, 중단하지는 않는다.
- 코드
- void MyFunction(int32 Value) { verify(Value > 0); // 릴리스 빌드에서도 조건 평가가 필요함 }
- 목적
중요한 이유
- 디버깅 및 문제 조기 발견
- 개발 과정에서 검증 코드를 사용하면 예상하지 못한 상황에서 문제를 쉽게 찾아낼 수 있으며, 디버깅 과정이 단순해진다.
- 코드 안전성 확보
- 검증 코드는 실행 중에 코드의 논리적 안정성을 유지하고, 발생할 수 있는 예외 상황을 조기에 방지할 수 있다.
- 성능 최적화
- 잘못된 조건이 실행되는 것을 방지함으로써 프로그램이 의도대로 동작하도록 하고, 성능 저하나 비효율적인 동작을 방지할 수 있다.
- 배포 시 불필요한 검증 생략
- 대부분의 검증 코드는 배포 빌드에서는 자동으로 비활성화되므로, 런타임 성능에 영향을 주지 않는다.
728x90
'Study > TIL(Today I Learned)' 카테고리의 다른 글
24.10.28 VV (0) | 2024.10.29 |
---|---|
24.10.23 VV (0) | 2024.10.23 |
24.10.21 UE5 (0) | 2024.10.22 |
24.10.18 UE5 (0) | 2024.10.18 |
24.10.17 CS, UE5 (3) | 2024.10.18 |