본문 바로가기

Unreal

[02] Unreal Engine Learning

Your First Hour in Unreal Engine 5.2의 6 ~ 9 번을 마저 이어서 해보도록 하자.

편집 -> 프로젝트 세팅에서는 더 많은 설정을 건들 수 있는데, 그 중에는 빛, 렌더링도 있다. 

빛 설정 전에 기본적인 설정을 여기서 건들 수 있다. 퍼포먼스를 원하는 것에 따라서 설정해주면 좋다.(None이 최고 퍼포먼스)

이후 Directional Light에서 강도와 컬러를 설정해줘서 빛 세팅을 이어나갈 수 있다. 이때, 밝기 세팅이 진짜 밝기를 결정하지는 않는데, 이는 게임에서 적용될 시각 적응을 미리 해놓기 때문이다. '라이팅 포함'에서 게임 세팅을 제외하면 밝기 수치 그대로를 확인할 수 있다.

 

Sky Light도 마찬가지로 설정할 수 있다. Directional Light가 태양을 모방해서 직접적으로 내리쬐는 빛을 담당한다면, Sky Light는 반사광을 제어한다.

그 외에도 포인트 라이트, 스포트 라이트, 렉트 라이트 등이 있는데 각각 점, 원뿔 사각형 모양의 라이트를 만들어내는데 사용된다.

자동노출 프로젝트 세팅에서 자동 노출(auto exposure) 을 사용하면 라이트를 고정할 수 있다.

혹은 생성 - 볼륨 에서 포스트 프로세스 볼륨을 생성한 이후, 디테일 항목의 Exposure 항목에서 미터링 모드를 설정하는 방법도 있다.

 미터링 모드를 Manual로 설정하면 카메라 세팅을 따라가며, 이후 볼륨 정육면체 안에 있는 물체가 효과를 적용받는다.

만약 적용을 레벨 전체로 하고 싶다면, Unbound 체크를 통해서 레벨 전체를 안에 넣을 수 있다.

 

이후 노출보정을 디테일에서 설정하고나면, 강도 설정에 따라서 밝기가 그대로 올라가고 내려간다.(자동 노출 수준이 볼륨에 의해 고정되었기 때문)

다음으로 볼 것은 라이트 섀프트(Directional Light의 디테일에 있다.)

라이트 섀프트는 빛 줄기(창문 등으로 들어오는 햇빛)에 관여하는 옵션으로, 해당 옵션의 블룸을 키게되면 햇빛의 공기중 난반사를 통해 뿌옇게 보이는 효과 등이 적용된다. 블룸 활성화 전이 왼쪽. 활성화 후가 오른쪽이다. 더 자세한 블룸 설정은 블룸의 설정을 통해 가능하다.

 

라이팅 모빌리티 작업(디렉셔널 라이팅에 있다)

설명이 자세하게 써져있으므로 생략.

스태틱 < 스테이셔널 < 무버블 순으로 많은 성능을 요구한다. 

그리고 우리가 프로젝트 설정에서 글로벌 일루미네이션의 루멘은 무버블이 필요하므로, 건들지 말고 계속 진행하자.

다음으로 살펴볼 것은 블루프린트. 아웃라이너에서 이미 만든 블루프린트를 편집할 수 있고, 클릭하면 아래와 같은 화면이 등장한다.

뷰포트(좌)와 이벤트그래프(우)의 모습이다. 뷰포트에서는 만들어진 오브젝트를 볼 수 있고, 이벤트 그래프에서는 관련된 이벤트들이 어떻게 작동하는지 확인 할 수 있다. 

블루프린트를 가지고 레벨에 드래그하면, 각각의 독립된 인스턴스들이 생성됩니다. 이건 우측의 아웃라이너와 디테일에서 볼 수 있는데, 같은 블루프린트를 가지고 생성한 컴포넌트인 PushButton들은 각각 별개의 인스턴스들을 가집니다.

각 버튼마다 별개의 인스턴스를 가지지만, 부모 인스턴스는 공유(받아온 곳이 있으니까)

그래서 하나의 머티리얼을 수정하면 버튼 전체에 적용되지만, 머티리얼을 여러개 복제해서 각각의 버튼에 바꿔 넣어주기만 한다면 색깔만 다른 버튼이 작동할 수 있게 됩니다.

버튼의 작동 방식은 이벤트 그래프에 나와 있는데, 빨간 부분이 시작할 때 적용됩니다. 위치를 저장해놓고, 충돌이 일어나면(버튼을 누르면) 점차 가라앉은다음, 사람이 밟는 것을 멈추면 원래 자리로 돌아오는 이벤트들이 서술되어 있습니다.

위 사진은 움직이는 플랫폼의 블루 프린트인데, 아무것도 작성되어 있지 않습니다. 하지만 물체는 플레이를 누르면 꾸준히 위 아래로 왕복하는데, 이는 사진 오른 쪽의 InterpToMovement 때문으로, 이동 컴포넌트인 이것이 정해진 범위를 움직일 수 있게 해줍니다. 

그 다음, 마무리로는 역시 패키징과 배포가 있습니다. 상단의 플랫폼을 누르면, 어떤 플랫폼에서 실행할 지 표기합니다. Windows 에서 실행할 목적으로 하니, 윈도우를 선택해줍시다.

SDK, 그리고 언리얼 엔진용 플랫폼 소프트 웨어도 필요합니다.(단, 윈도우로 작업중이므로 윈도우로 빌드 할 때는 신경쓰지 않아도 됩니다.) 이 내용은 언리얼 버전의 옵션에 가면 있습니다.

SDK는 마이크로소프트 공식 홈페이지에서 받을 수 있고, 여전히 안 될 수도 있다. 그럴 경우에는 파일들을 뒤져서 잘 설정해줘야 한다. 나는 visual studio installer에서 추가적인 컨텐츠를 다운받으니 해결됐다.

그 이후 적당한 폴더에 빌드를 실행하면 꽤 오랜 시간 이후에 파일이 생성되고, 실행파일을 눌러 게임을 실행할 수 있다. (시작 맵을 정하지 않아서 제작한 맵이 아니라 테스트 맵이 뜨는 것 뿐이다. 시작 맵을 따로 정해줘야 한다.)

또, 개발모드로 빌드했기 때문에 ~ 를 눌러 명령어들을 입력하는 것도 가능하다.(~ quit가 종료)

편집 - 프로젝트 세팅 - 프로젝트 - 맵 & 모드 에서 시작 맵을 설정 가능하다. 단, 이때 똑같이 프로젝트 세팅에서 패키징 -> 추가 빌드(고급) 에 들어가서 시작 맵이 아닌 다른 맵들을 추가해주어야 한다.

그리고 다시 실행하면, 원래 목표로 했던 맵의 재생이 완료된다. 다음부터는 2024 언리얼 웨비나 내용을 따라 실행해보고, 포스트에 올리는 것을 목표로 하자.

'Unreal' 카테고리의 다른 글

[05] Unreal Singleton/Get Actor of Class  (2) 2024.09.04
[04] Actor Spawn, Algo/Sort  (0) 2024.08.15
[03] Pawn C++ Class  (0) 2024.08.02
[01] Unreal Engine Learning  (0) 2024.05.01