Unreal Engine 5/Tutorial Project: 시작해요 언리얼 2023

Unreal Engine 5 Tutorial - 시작해요 언리얼 2023 (5)

HappyFrog 2023. 8. 14. 21:48

 

https://www.youtube.com/watch?v=ql5X1kZfGmg 

 

해당 게시물은 'Unreal Engine KR 유튜브 채널의 시작해요 언리얼 2023 | 5주차 | 영상 연출 및 렌더링하기'를 시청하며 따라한 내용입니다.

 

* 영상과는 내용이 다를 수 있습니다

 


0. 소품 수정

4주차 영상을 마무리하고 내 프로젝트에 몇가지 문제점과 불만족스러운 부분이 있어 수정했다.

 

Before vs After 

우선 내가 진행하던 프로젝트는 초기에 스케일값을 다르게 설정하여 캐릭터의 스케일이 (2, 2, 2)일때로 가정하고 만들어진 프로젝트였다. 따라서 Play를 누를 시 생성되는 캐릭터의 크기를 2로 수정하거나 배치된 환경을 다시 스케일이 1인 캐릭터에 맞도록 수정해야 했는데, 환경을 수정하는 방향으로 결정했다.

 

굉장히 간단하게 수정했으며, 연출될 폐공장 환경을 모두 부모가 되는 액터인 Mother Object에 넣은 후, 부모가 되는 액터의 스케일을 (0.5, 0.5, 0.5)로 하여 자식 오브젝트들이 자연스럽게 1/2이 되도록 했다. 예상대로 잘 수정됐고, 폐공장의 액터들을 부모가 되는 액터에서 Root로 다시 꺼내주니 Scale이 모두 (1,1,1)인채로 크기만 작아진 채 원형을 유지했다. 

 

공장을 축소시키는 과정에서 바닥에 배치된 Foliage의 크기가 너무 크다고 판단되어 Foliage를 모두 지운 후 Min과 Max 스케일을 0.2~0.7로 설정하여 다시 Fill을 사용해 배치했다.

 

Change Intensity and Indirect Lighting Intensity

그리고 공장이 작아지니 빛이 들어오는 천장의 구멍들도 모두 작아져서 공장 내부가 어두워졌다. 그래서 Directional Light의 강도(Intensity)를 10으로 수정하고(기존엔 7이었다.) 이렇게 해도 구석진 곳은 너무 어두워서 간접광강도(Indirect Lighting Intensity)를 3까지 올려줬다.

 

Do not delete SimpleWind Folder in Materials

또, 지난번에 받은 메가스캔의 European HornBeam에셋의 ㅇ나무들 밑동이 텍스쳐가 없다고 체크무늬표시가 되길래 Simple Wind폴더를 잘못지운 것을 알게됐다. Geometry폴더의 SimpleWind폴더를 지워야햇는데, 다른 폴더의 SimpleWind폴더까지 삭제해서 나타나는 현상으로 보였기에 에셋을 다시 추가하니 해결됐다. 위 사진에서 보이는 Materials 폴더 하위의 SimpleWind는 지우지 말자.

 

Before vs After

마지막으로 공장이 너무 낮아 나무를 추가해도 키가 큰 나무를 배치하기가 어려워 공장의 높이를 높였다. 이 과정은 단순하게 천장쪽 액터를 모두 이동시키고 높아진만큼 타일과 추가 식생, 그라피티나 흠집을 표현한 데칼들을 추가배치하여 마무리했다. 확실히 답답한 느낌이 줄었다.

 

 

1. Post Process Volume

Outliner에서 Post를 검색하여 PostProcessVolume을 선택하자.

 

만약 PostProcessVolume이 없다면 Place Actor > Visual Effects > PostProcessVolume을 배치하여 만들자.

 

 

PostProcessVolume을 새로 만들었다면 반드시 Infinite Extent(무한 규모)를 활성시켜주자.

 

이 포스트 프로세스 볼륨으로 UE5에서 색보정이나 후처리 이펙트 등 굉장히 많은 효과들을 설정할 수 있다.

 

 

Details 패널을 보면 그에 맞게 많은 옵션들이 있으며, 각 항목별로 세부사항이 굉장히 많다.

 

 

Bloom Intensity 0 vs 3

여기서 Lens의 Bloom을 간단히 살펴보자면, 위 사진에서 보이듯이 Bloom의 Intensity(강도)가 높을수록 빛이 들어오고 비춰지는 부분이 밝게 빛난다.

 

 

Threshold -1 vs 100 vs 1000

이어서 바로 아래 있는 Threshold(임계점)도 살펴보자. Threshold는 빛의 세기의 임계점을 설정하는 옵션이다. 즉, 빛의 세기가 이 Threshold값보다 낮다면 Bloom이 적용되지 않는다.

 

위 사진에서 비교해보면, 빛도 각 부분별로 세기가 다르며, Threshold값을 변경해가며 확인해보면 bloom이 값마다 다르게 적용되는 것이 보인다.

 

 

Lens Flares

다음으로 Lens Flares는 카메라에 비치는 상같은 것을 표현한다. 위 사진에서 보면 이해가 될 것이다. 이것은 각 광원의 위치마다 다르게 표현되며, 움직이면 광원의 위치에 따라 Lens Flares도 다르게 표현된다.

 

 

Lens Flares Intensity 1 vs 20

Intensity는 렌즈 플레어가 얼마나 짙게 표현될지를 결정한다.

 

 

BokehSize 3 vs 10

그 아래쪽에 있는 BokehSize는 렌즈 플레어에 맺히는 상의 크기를 수정할 수 있는 옵션이다.

 

그리고 그 아래쪽에 Threshold라는 옵션이 또 있는데, 이것 역시 빛의 세기에 따라 상이 맺히게 할지를 결정해주는 옵션이다.

 

간단하게 Intensity와 Bokeh Size를 조절하여 연출해보자.

 

 

Intensity and BokehSize (5, 1) vs (0.1, 15)

현재 프로젝트는 천장에 구멍이 굉장이 많아 광원이 충분하므로 Intensity를 낮춰 렌즈 플레어가 아주 희미하게 표시되도록 했으며 보케사이즈를 크게 늘려서 더욱 자연스럽게 만들었다.

 

위 사진을 보면, 강도가 높고 보케가 작을수록 보케가 진해지며, 광원이 많아 중구난방으로 찍히는 모습이지만, 보케를 연하게 만든 뒤 이것을 더욱 크게만들어 흐리게한다면 주 광원에서만 아주 희미하게 비치는 보케를 볼 수 있다.

 

그리고 Tint를 활용하여 보케의 색을 입힐 수 있는데, 이것도 본인이 만족하는 색으로 지정해주면 된다. 나는 크게 티가 안나기도 하고, 기본 색이 마음에 들어 변경하진 않았다.

 

 

그 아래의 Image Effects의 Vignette Intensity를 알아보자.

 

 

Vignette Intensity 0 vs 0.4(default) vs 1

이것은 내가 보고있는 화면, 즉 카메라의 시점에서 주변을 어둡게 만드는 필터같은 것이다.

 

어떤 사물을 강조하고 싶거나 시선를 집중시킬 때 사용할 수 있을 것 같은데, 기본값이 괜찮은 것 같아 그대로 두었다.

 

다음은 Color Grading을 살펴볼 것이다. 이 부분에서 색보정을 할 수 있다.

 

 

temp 5000 vs 8000

우선 Temperature부터 살펴보자. 여기서 Temp와 Tint를 살펴볼 것인데, Temp는 온도를 의미하며, 낮을수록 차가운 색감으로 변하고 높을수록 따뜻한 색감으로 변한다. 기본값은 6500이다. 

 

 

Tint -1 vs 1

Tint는 낮을수록 초록색으로, 높을수록 분홍색으로 필터가 씌워진다. 

 

 

Temp = 6000, Tint = 0

난 Tint는 기본값인 0으로 사용했고, Temp는 살짝 낮췄다.

 

다음은 Global을 보자.

 

Global에는 5가지 옵션이 있는데, Saturation(채도), Contrast(대비), Gamma(감마), Gain(게인), Offset(오프셋)으로 이루어져 있다. 이 옵션들은 색보정 프로그램에서도 볼 수 있는 것들인데, UE에서는 Post Process Volume을 통해 이것들을 수정할 수 있다.

 

 

Saturation 0 vs 2

우선 Saturation(채도)은 색의 강도를 뜻한다. 이것이 낮을수록 색이빠져 흑백으로 변하고, 높으면 색이 진해진다.

 

* Saturation은 표현되는 색(색상)의 세기(순도)를 조절한다. 채도 값이 높으면 보다 원색에 가까운 식으로 나타나며, 채도가 낮으면 회색이 섞여 탁하거나 탈색된 것처럼 보이게 된다. - UE5 Docs

 

 

Saturation = 1.05

미세하게 높여 1.05로 설정했다.

 

 

Contrast 0.5 vs 1.5

Contrast(대비)는 낮을수록 밝은 부분이 강조, 높을수록 어두운 부분을 강조하는 옵션이다. 만약 맵 전체의 분위기가 밝다면 Contrast값을 조금 높이는 것이 좋고, 맵 전체의 분위기가 어둡다면 값을 조금 낮추는 것이 좋다.

 

* Contrast는 씬의 밝고 어두운 색 값의 색조 범위를 조정한다. 세기를 낮추면 하이라이트가 없어지고 이미지가 밝아져 탈색된 것처럼 보이는 반면, 높이면 하이라이트가 타이트해지고 이미지가 전반적으로 어두워진다. - UE5 Docs

 

 

Contrast = 1.1

맵이 좀 밝다고 느껴서 Contrast를 1.1로 맞췄다.

 

 

Gamma 0.5 vs 1.5

Gamma(감마)는 시야의 밝기를 조절한다. Contrast와 비슷하지만 조금 다르다. Gamma는 중간톤 휘도를 조정하여 색을 재현해내는 옵션이라고 한다. Contrast의 효과로 충분해보여 Gamma는 기본값을 사용했다.

 

* Gamma는 이미지의 중간톤 휘도를 조정하여 보다 정확한 색을 재현한다. 이 값을 낮추거나 높이면 이미지가 탈색 또는 너무 어두워 보이게 된다. - UE5 Docs

 

여기서 휘도(Luminance)는 단위 면적에서 반사되는 빛의 양이고 사람은 반사되는 빛을 보기 때문에 눈부심의 정도라고도 표현한다. 이런 휘도는 계산하는 식이 있다.

 

* Gain은 이미지의 하양 휘도를 조정하여 보다 정확한 색을 재현해낸다. 이 값을 낮추거나 높이면 이미지 하이라이트가 탈색되거나 너무 어두워 보이게 된다.

 

* Offset은 이미지의 검정 휘도를 조정하여 보다 정확한 색을 재현한다. 이 값을 낮추거나 높이면 이미지 그림자가 탈색되거나 너무 어두워 보이게 된다.

 

2. Cine Camera

이제 결과물을 영상으로 촬영할 것이다. 그러기위해선 카메라가 필요한데, 우리가 씬을 돌아다니는 카메라말고 다른 것이 필요하다.

 

 

Place Actors에서 cine를 검색하면 Cine Camera Actor가 검색될 것이다. 이 액터가 있어야 촬영하여 영상을 작품으로 출력이 가능해진다. 배치하자. 

 

 

배치한 후에 G키를 누르면 카메라 액터의 모델링을 볼 수 있다. 그리고 시네 카메라를 선택하면 시네 카메라의 화면이 뷰포트 우하단에 출력된다. 그렇기 때문에 카메라를 이동하거나 회전시키면 출력되는 화면도 달라진다.

 

 

이 시네 카메라를 우클릭하여 Pilot "시네 카메라 이름"을 선택한다면 뷰포트에 시네 카메라의 화면이 출력된다.

 

 

Pilot Default vs Cine Cam

위 사진처럼 뷰포트가 바뀌게 된다. 시네 카메라 시점에서도 마찬가지로 WASD와 스크롤 등의 조작으로 시네카메라를 조작할 수 있다.

 

시네카메라는 현실 카메라처럼 굉장히 많은 기능을 포함하고 있다. 그 중 몇 가지만 살펴보자.

 

 

우선 현재 카메라 세팅에서의 Current Focal Length(현재 초점 길이), Current Aperture(현재 조리)을 볼 것이다.

 

 

Current Focal Length 35 vs 4

먼저 Current Focal Length는 흔히 FOV라고도 표현되는 시야각을 조절할 수 있는 옵션이다. 이 값은 작아질수록 시야각이 넓어져 광원에 가까워지며 높아질수록 시야각이 좁아져 망원에 가까워진다. 위 사진에서 시네 카메라의 Transform값은 완전히 일치하는 상태이다. 이 값은 어떤 부분을 촬영할 지 아직 미정이므로 후에 변경하기로 했다.

 

 

Aperture 1.2 vs 22

그리고 Current Aperture은 말 그대로 카메라의 조리개다. 이것은 카메라가 수용하는 빛의 양을 조절하는 장치인데, 이것은 조리개의 구멍이 커질수록 조리개 값은 낮아진다. 조리개 값이 낮아지면 초점으로 맞출 수 있는 범위가 좁아지기 때문에 흐려지는 범위가 커진다. 반대로 조리개를 많이 가려 조리개 값을 높인다면 초점으로 맞출 수 있는 범위가 늘어나고, 사진이 더욱 선명해진다. 위 사진을 보면 조리개의 값이 낮아질수록 화면이 흐려지는 것을 볼 수 있다. 이 또한 나중에 수정할 것이다.

 

그리고 카메라의 초점도 살펴보자. 카메라의 초점에 따라 뿌옇게 표현되거나 선명하게 표현되는 것을 쉽게 떠올릴 수 있다. 이것은 초점 거리에 따라 선명하게 표현되는 곳이 다른 건데, 시네 카메라 역시 이것을 설정할 수 있다. 

 

 

Focus Setting에서 Manual Focus Distance(수동 초점 거리)라고 된 이 옵션이 초점거리다. 현재는 수동초점으로 설정 돼있기 때문에 수동 초점 거리를 조절하여 맞출 수 있다. 근데 단위가 cm로 돼있다.

 

 

이건 이 프로젝트 제일 처음에 시작할 때 언급한 내용인데, UE5에선 이 큰 격자 한 칸이 1m로 설정 돼있다. 그러므로 작은 격자는 10cm일 것이다. 이것에 따라 계산하면 된다.

 

만약 332cm로 설정했다면, 카메라는 카메라로부터 332cm떨어진 곳에 초점을 맞출 것이란 얘기다. 이것을 더 쉽게 확인하는 방법이 있는데, 그 바로 아래에 있는 Draw Debug Focus Plane이다. 이것은 초점이 잡히는 영역을 뷰포트에 그려주는 것인데, 파일럿을 시네 카메라로 해두면 확인하기 어려우니 잠깐 파일럿을 풀어주고 확인하면 좋다.

 

 

이렇게 설정한 색깔로 나타나며, 거리를 수정하면 거리에 맞게 영역이 멀어지거나 가까워진다.

 

하지만 이렇게 해도 어떤 액터에 초점을 맞출 땐 번거로운 것이 사실이다. 이럴 때를 위해 특정한 액터에 초점을 맞추고 싶을 때 사용하는 기능도 있다.

 

 

Manual Focus Distance 의 값영역 오른쪽에 있는 스포이드를 클릭하여 초점을 맞추고 싶은 액터를 선택하자.

 

 

Focus distance 50cm vs Focus on orange mark

왼쪽 사진은 초점거리가 50cm인 사진이고, 오른쪽은 스포이드 버튼을 이용하여 주황색 표시에 초점을 맞춘 것이다. 초점이 바로 개선되는 모습을 확인할 수 있었다.

 

그리고 파일럿이 아닐 때처럼 모든 사물에 초점이 맞게 할 수도 있고, 반대로 초점이 잡히지 않아 흐려지는 효과를 더 줄 수 있는 옵션도 존재한다.

 

 

Aperture 2.8 vs 10

그 중 하나로는 앞서 살펴보았던 Current Aperture(현재 조리개) 값을 수정하는 것이다. 위 사진은 조리개 2.8과 10을 비교한 것이다. 이렇게 흐려지는 효과를 개선할 수 있다.

 

그리고 현재 조리개 값의 범위는 1.2 ~ 22.0으로 고정이 돼있는데, 값을 더 낮추거나 높이고 싶다면 Lens Settings > Min FStop, Max FStop을 수정하면 된다. Min FStop은 조리개의 최소값 범위를 설정하는 것이고, Max FStop은 최대값 범위를 설정한다.

 

하지만 조리개 값이 0이 된다면 모든 사물에 초점이 맞게된다. 만약 흐린 효과를 충분히 내고 싶어 값을 낮춘다면, 0보다는 크게 설정해야한다.

 

이 정도만 다뤄도 UE5의 촬영효과는 충분히 배운거라고 한다.

 

이어서 Filmback이다.

 

 

(23.76 * 13.365) vs (13.365 * 13.365)

Filmback의 옵션 중 Sensor Width, Sensor Height는 센서의 너비와 높이를 의미하는 데 이것은 카메라가 찍어내는 화면의 높이와 너비를 나타낸다.

 

이렇게 종횡비를 조절하여 영화같은 느낌이나 쇼츠, 틱톡과 같은 숏폼 컨텐츠에 맞는 영상으로도 촬영이 가능하다.

 

이렇게 준비가 됐다면, 여태 소개했던 내용들을 이용하여 공장 내의 원하는 구도를 정하고 카메라를 배치하자. 만약 너무 어둡다면 Directional Light를 직접 수정하거나 Point Light를 배치하여 빛의 세기를 변경하고 배치하는 방법 등 배웠던 내용을 토대로 디테일을 살려가며 구도를 잡자. 빛기둥이 쏟아지는 것을 연출하고 싶다면 Directional Light의 각도를 수정하면 되는 식으로 말이다.

 

 

기존 TV는 4:3(1.33:1), HDTV나 유럽의 TV는 16:9(1.78:1), 영화는 1.85:1이나 2.39:1을 사용한다고 한다. 개인적으로 영화같은 느낌의 와이드한 화면비를 선호하여 화면비가 1.85와 2.39를 해보니, 1.85는 조금 짧은 느낌, 2.39는 너무 긴 느낌이 들어 중간점인 2.21:1이 나오도록 설정했다. Height는 13.0으로 맞췄으며, Width는 [13 * 2.12 = 27.56]으로 맞췄다.

 

그리고 시네 카메라를 하나만 써야하는 것은 아니다. 여러 구도를 잡아두고 싶다면 시네 카메라를 필요한만큼 배치하여 구도를 잡아주면 된다.

 

 

하지만 새로운 시네 카메라를 다시 설정해주고 수정해주는 것은 매우 번거로운 일이다. 기존에 수정했던 시네카메라를 선택한 후 Ctrl + D를 해준다면 CineCameraActor가 자동으로 넘버링이 되어 생성되며, 속성값은 복사한 것과 완전히 똑같다. 구도만 잡아주면 되는 것이다.

 

 

Cine cam 1, 2, 3

원하는 만큼 구도를 잡았다면 UE5에서 지원하는 Sequencer를 사용해볼 차례다. Sequencer는 UE5에서 제공하는 엔진의 영상 편집 프로그램과도 같다. 다만, 영상 편집기들과는 다르게 엔진에 함께 내장되어있기 때문에 시퀀서에서 직접 카메라 설정과 각도를 조정해가며 시퀀서에서도 영상을 편집할 수 있다는 장점이 있다.

 

 

Film Icon > Add Level Sequence > Make 'Sequencer' folder below Dev's folder > Make Level Sequence and name 'MainSequence'

뷰포트 상단을 보면 영화 필름모양의 아이콘이 있다. 이것을 누르면 Sequence 추가에 관한 옵션이 나타나는데, 레벨 시퀀스를 만들자. 

 

레벨 시퀀스 생성을 눌렀다면 에셋을 다른이름으로 저장하는 창이 나타난다.

 

여기서 이전에 자신 이름으로 생성했던 폴더 하위에 Sequence들을 모아둘 수 있도록 'Sequencer'폴더를 생성한다. 그리고 창 하위에 'Name:' 이라고 된 인풋필드에 'MainSequence'라고 첫 시퀀스 이름을 작성하여 생성해주자.

 

 

+ Track > Actor to Sequencer > search the actor you want to add > select it

Sequencer는 위와 같이 생겼다. 편집프로그램같이 생긴 오른쪽 부분은 영상과 그 프레임을 나타내는데, 빨간색 수직바를 드래그하면 영상의 총 프레임을 조절할 수 있게된다. 기본값은 150으로 설정된 듯하다.

 

영상 편집툴과 비슷하게 생겼는데, 여기서 [+Track] 이라고 된 버튼을 눌러  [Actor to Sequence]를 선택하면 씬에 배치된 액터의 Transform값을 기준으로 시점을 만들어 시퀀스에 추가할 수 있게된다.

 

 

Added actors are shown up in the sequence list

나는 총 3개의 시네캠을 추가했는데, 추가할 때 Camera Cuts라는 목록이 생기며 선택한 액터도 목록에 나타나는 것을 볼 수 있다. 그 왼쪽에는 편집 프로그램처럼 영상의 길이와 프레임이 표시되는데, 현재는 시네캠1만 영상에서 표현중이고 2와 3은 시퀀스에 올라가지 않았다.

 

 

Need some space for cam2 and 3. Drag cam1's frame for shorten it to 50

그 이전에 캠1의 영상 길이 프레임을 1/3으로 드래그하여 줄여주자. 2와 3이 들어갈 프레임이 필요하기 때문이다.

 

 

Click Camera Cut's [+] button for add new films

Camera Cut의 [+] 버튼을 눌러 바인딩을 추가하자. 여기서 기존 바인딩말고 새 바인딩 추가로 해주자. 새 바인딩은 시퀀스에 보이는 책갈피 모양의 아이콘이 위치한 프레임에서 시작된다. 이것을 타 영상편집 프로그램에선 타임라인 마커라고 하는 듯하다.

 

 

Move timeline marker and add new bindings

이런식으로 책갈피 표시를 옮겨가며 프레임을 지정하고 새로운 바인딩을 추가해주자. 난 구도를 잡아둔 카메라가 총 3개라서 50씩 할당하여 0, 50, 100에서 시작하도록 각 카메라를 추가했다.

 

 

Enable Camera Cuts' camera icon and play engine. Then you can see whole film through viewport.

그리고 Camera Cuts의 카메라아이콘을 클릭하고 재생하면, 뷰포트에서 방금까지 편집했던 영상이 재생되는 것을 볼 수 있다.

 

 

Sequenc display rate = 30fps, 30fps = 1 sec

시퀀스의 상단쪽을 보면, 30프레임이라고 표시되어 있을 것이다. 1초에 30프레임을 재생하도록 설정된 것인데, 현재 시퀀스는 150프레임이니 총 5초간 재생되는 영상이다. 이것들은 총 3개의 카메라에게 분할 할당됐기 때문에 각 카메라는 약 1.67초의 재생시간을 갖는다. 고생해서 연출해둔 환경을 표현하기엔 이 시간은 터무니없이 짧다. 영상 길이를 늘리기 위해선 프레임의 오른쪽 끝에 있는 빨간색 막대기를 움직여 최대 프레임을 늘려주면 된다. 이것은 타임 스케일 브래킷, 타임 스케일 마커라고 하는듯하다.

 

 

Move time scale marker to 450 fps. And distribute frames to cams equally

타임 스케일 마커를 옮겨 총 450프레임짜리 영상으로 만든 후, 카메라마다 각 150프레임, 즉 5초씩 할당해주었다.

 

 

3. Sequence

이제부터 우리가 시퀀스를 사용한 목적 중 하나를 배워볼 것이다. 바로 Directional Light의 구현이다.

 

게임이라면 하나의 Directional Light가 떠있는 태양이라고 생각하고 그에 맞게 환경을 구현하면 되지만, 현재 프로젝트는 시연영상 느낌이 강하고, 게임보단 트레일러 영상에 가까운 컨셉이라고 생각하면 좋다. 따라서 각 환경은 가장 예쁘게 표현되는 빛환경이 있을 것이다. 이에 맞게 각 카메라 시각에 맞는 Directional Light의 속성변경이 필요하다. 이것은 시퀀서에서 구현 가능하며, 그러기 위해선 시퀀서에 Directional Light를 추가해줘야 한다.

 

 

Search 'Directional Light' in outliner and drag to sequencer for adding it.

아웃라이너에서 Directional Light를 검색한 후, 드래그하여 시퀀서에 추가해주자.

 

하지만 추가된 Directional Light엔 Transform 속성이 존재하지 않아 각도나 위치조정이 안된다.

 

 

Directional Light > Light Component > [+ Track] > Transform

따라서 각도, 위치, 크기 정보를 담은 Transform을 추가해야한다. Directional Light > Light Component > [+ Track] > Transform 을 통해 추가해주자.

 

 

Select the frame and make directional light's new transform key

그리고 각도 조정이 필요한 시점(내겐 카메라 전환이 일어나는 150, 300프레임)에서 Transform의 작은 [+]버튼을 눌러 새 키를 할당한다. 새 키는 할당된 프레임 이후로는 설정한 속성이 그 키의 값으로 변경되도록 만든다.

 

 

Variables in two keys are interpolated

그리고 원하는 시점에 또 다른 키를 생성하여 값을 조금 변경해줬다면 처음 생성한 키를 A키, 그 다음 생성한 키를 B키라고 한다면 A키에서 B키의 프레임까지 변경된 값을 보간(Interpolate)하게된다. 

 

 

Interpolating...

위 움짤처럼 값이 프레임마다 서서히 변경된다는 뜻이다.

 

 

시퀀스의 키를 드래그하여 모두 선택하고 우클릭하면 위와 같은 메뉴가 나타난다. 여기서 Cubic (Auto)라고 돼있던 옵션을 Constant(상수)로 변경해준다. 그러면 150~225프레임 사이에 보간하며 프레임마다 값이 변경되던 기본의 Cubic(Auto)방식과는 다르게 225프레임에서 달라진 값으로 한번에 바뀐다.

 

 

224 frame vs 225 frame

변경한 빛의 위치의 전후 차이가 크지 않아 티가 잘 나진 않지만, 위 224프레임의 모습과 225프레임의 모습을 비교한 위 사진의 전후처럼 한번에 변경된다.

 

아무래도 시간의 흐름을 표현하는 컨셉은 아니다보니 Cubic(Auto)로 설정해두기엔 부자연스러울 수 있는 면이 있다. 따라서 카메라의 전환과 함께 조명각도 한순간에 변해야하는 상수설정이 잘 어울린다. 

 

 

Make new keys on 0, 150, 300 frame and modifying each of their transform. Keys are constant.

 

따라서 첫 키를 0프레임, 두번째 키를 150프레임, 세번째 키를 300프레임으로 잡고 모두 상수설정을 해준 뒤, 카메라별로 조명의 각도를 수정했다.

 

이제 컷을 2~3컷 정도 더 만들자.

 

 

Search 'CineCam' in Outliner > Select them > Move to > Create New Folder

그 전에 우선 시네 카메라들을 아웃라이너에서 검색할 때마다 분류가 되질 않아 번거로웠으니 폴더에 넣어 묶어주자. 아웃라이너에서 CineCam을 검색한 뒤, 모두 선택한 후에 우클릭 > Move to > Create New Folder를 활용하여 폴더에 넣어주자.

 

 

If you plan to pilot camera, unlock viewport of 'Camera Cuts' first.

그리고 카메라를 선택한 후 Pilot을 하려고 하면 안될것이다. 이유는 Sequencer에서 Camera Cuts의 카메라 아이콘을 눌렀기 때문인데, 시퀀서의 카메라 아이콘을 누르면 해당 요소에 뷰포트가 고정된다. 따라서 이것을 해제하고 원하는 카메라에 Pilot을 누르면 될 것이다.

 

 

Click to enable exact camera view

그리고 카메라에 파일럿을 실행하면, 뷰포트 좌상단에 표시되던 카메라버튼이 기존엔 주황색 불이 들어왔는데, 지금은 꺼져있을 것이다. 이것을 눌러서 활성시켜주자. 이것이 꺼져있으면 초점맞추기나 필름백같은 기능을 사용할 수 없다.

 

이제 새로운 구도를 잡고 시퀀서에 추가하자.

 

 

Cine Cam 4, Only Bloom modified

이번엔 천장의 구멍과 빛을 받는 나무를 촬영할 것이다. 처음에는 구멍에서 발산되는 빛이 너무 강했다. 그래서 Post Process Volume의 Bloom기능 조절이 필요했다. 하지만 Post Process Volume을 바꾸면 맵 전체에 적용되고 키를 추가한 것이 아니기때문에 섣불리 바꿀 수 없다.

 

 

3-1. Cine Camera Post Process

Cine Cam's Details > Post Process

이렇게 카메라별로 Post Process Volume을 개별적으로 설정하기 위한 속성도 존재한다. 각 Cine Camera에는 Details를 찾아보면 Post Process 섹션이 존재하는데, 여기서 개별적으로 수정한 옵션은 기존 월드의 Post Process 이후에 덮어쓰는 개념으로 적용되어 이 카메라는 카메라 Details의 Post Process 설정을 우선시하게 된다. 여기서 Lens > Bloom 에서 강도를 활성시켜 Bloom의 Intensity를 덮어쓰도록 한 다음, 월드에선 0.625 였던 것을 0.1로 변경했다.이 외에도 컬러필터나 대비, 감마같은 설정을 많이 수정할 수 있으니 취향껏 구현하도록 하자.

 

추가로 Image Effect의 Vignette Intensity를 조금 줄여 카메라에서 바깥 영역의 어둠이 조금 걷히게 만들었으며 Color Grading에서 Temp와 Tint를 각 6000, 0.07로 추가로 수정했다.

 

 

Light Component > Add Volumetric Scattering Intensity > Add new keys >

또한 빛산란이 잘 보이지 않는다고 생각하여 Directional Light의 Light Component에서 Volumetric Scattering Intensity를 찾아 추가해주고 0프레임과 450프레임에 키를 추가했다. 450프레임에서 산란도를 기존 2였던 것을 4로 변경하며 키는 상수설정했다.

 

 

before (only bloom modified) vs after(bloom, vignette, color grading, scattering modified)

수정 결과다. 앞으로 카메라 4번은 이 모습에 더불어 추가로 빛의 각도까지 바뀔 것이다.

 

 

5th Cut. Perspective at the entrance of abandoned factory.

5번째 장면은 공장 입구에서 보이는 정면으로 정했다.

 

 

Modified Vignette, Bloom with 5th Cine cam's Post Process. And Modified Light Transform and Intensity, Scattering Intensity with adding new keys to sequencer.

빛의 각도와 Vignette, Bloom, Light Intensity, Scattering Intensity를 수정했다. 이 중에서 Vignette, Bloom을 제외한 나머지는 모두 시퀀서에서 Key를 추가하여 화면전환과 함께 변경이 이루어지도록 했으며 마찬가지로 모두 상수로 설정했다. 그리고 추가로 5번째 컷은 전체적인 느낌을 주기도 하고 마무리부분이라 60프레임을 주어 2초동안 더 재생되게 했다.

 

 

My Cuts

이렇게 5개의 컷을 만들었다. 그리고 이제 카메라에 움직임을 넣어볼 것이다.

 

영상에서 소개하는 카메라 애니메이션이 요란한 것일까 걱정했는데, 정적인 움직임을 넣는다고 한다. 그리고 카메라의 애니메이션에 관한 것은 '2022 시작해요 언리얼'에서 이미 다룬 내용이라고 하니 궁금하면 찾아보도록 하자.

 

 

4. Camera Animation

우선 첫번째 컷의 카메라 무빙을 구현할 것이니 CineCam1의 Transform의 Key를 0, 150프레임에 추가한다.

 

그리고 아까 배웠다시피 시작 key에서 끝 key까지 가면서 변경값이 보간된다. 이 점을 활용하여 카메라무빙을 구현하는 것이다.

 

 

You can calculate right in the value box. Dragging is not the only way to modifying it.

따라서 첫 시작점은 정해졌으니 끝 점의 Transform을 조절해주면 된다. 손수 값영역을 드래그해가며 조절해봐도 좋지만 위 사진처럼 간단한 연산은 값 영역 내에서도 가능하다.

 

 

Transform of 0 frame vs 150 frame

나는 카메라를 150cm만큼 전진시키기 위해서 +150을 해줬다. 그리고 장애물에 걸리는 것을 피하기위해 Y축 위치도 + 50을 해줬고, 진행하면서 한 방향만 바라보면 너무 밋밋할 것 같아 Z의 회전각도 20을 더했다.

 

 

Result - 1st scene

그리고 위 움짤이 그 결과물이다. 개인적으론 맘에 든다. 나머지 장면들도 위와 같이 카메라 움직임을 연출해보자.

 

 

You can adjust Cam Speed. Click the cam icon located in the top-right corner of the viewport.

연출하다 보면 뷰포트에서 직접 카메라를 조작한 위치를 시퀀서에 저장하고 싶은 순간이 올 것이다. 물론 가능하며, 위 사진은 그 때를 위한 팁이다. 카메라의 이동속도는 뷰포트 우상단에 카메라 아이콘을 누르면 수정이 가능하다. 재량껏 조절해서 사용하자.

 

 

You can save cam's property manipulated in the viewport to the sequencer. Manipulate cam in the viewport, specify the frame, and add a new transform key.

뷰포트 카메라 위치를 저장하는 방법은 간단하다. 원하는 프레임을 정한 뒤에 뷰포트에서 카메라를 조작한다. 그리고 그 상태에서 New Key를 추가해주면 새로 생성된 키는 내가 뷰포트에서 조작한 카메라의 위치를 갖게 된다.

 

 

You can move keys to specified frame easily by Set Key Time.

그리고 영상을 중간에 추가하며 키의 프레임을 옮기다보면 드래그만으론 프레임이 잘 맞지 않을때가 있다. 이럴땐 키를 선택하고 우클릭하여 Set Key Time을 누르면 프레임 입력창이 뜬다. 여기에 옮길 프레임을 입력해주면 손쉽게 정확한 프레임으로 옮겨줄 수 있다.

 

카메라를 구현하는 과정에서 작업물을 소개하기엔 5컷으론 부족하다는 판단이 들어 3개의 컷을 추가했다.

 

 

My whole scenes. The top-left is 1st, the one on right is 2nd. The scene at the bottom-right is 8th.

조금 미흡한 부분이 있지만 아직 남은 내용이 있기 때문에 컷을 만들어둔 것에 만족하며 진행했다. 순서는 왼쪽 맨위가 1, 그 오른쪽은 2, 아랫줄은 3과 4... 맨 아래 오른쪽이 8번째로 마지막 씬이다.

용량이 부족해서 마지막 컷은 녹화 프레임을 낮췄다...

 

모두 준비됐으니 이제 영상으로 렌더링하는 작업에대해 알아보자.

 

5. Rendering

영상 렌더링엔 두 가지 방법이 있다.

 

최신 방법인 무비 렌더 큐(Movie Render Queue)와 레거시 시스템인 렌더 무비(Render Movie)가 있다.

최신 방법인 무비 렌더 큐가 더 높은 퀄리티로 렌더링되며 이미지 시퀀스로 출력되기에 영상 편집 프로그램으로 영상 변환을 할 때 훨씬 수월하게 다양한 작업을 수행할 수 있다. 반대로 렌더 무비의 경우엔 간단하게 엔진에서 바로 영상을 출력하고 싶을 때 사용하는 방법이다. 

 

5-1. Movie Render Queue

먼저 무비 렌더 큐부터 시작해보자.

 

 

Settings in the top-right corner of the engine > Plugins > Search Movie Render > Select Movie Render Queue > Restart Engine

엔진 우상단에 있는 Settings > Plugins를 눌러 플러그인 윈도우를 켜주자. 그리고 Movie Render를 검색하면 Movie Render Queue가 나온다. 이것을 체크해주면 아래쪽에 엔진 재시작이 필요하다는 메시지가 출력되는데, 재시작하자.

 

 

Click 3 dots next to film icon and select Movie Render Queue. And then click Film icon

엔진이 재시작되면 시퀀서를 켜고 시퀀서 상단에 영화필름 아이콘 옆의 점 3개짜리 설정 아이콘을 누르자. 아이콘을 누르면 Movie Render Queue 옵션과 Movie Scene Capture (Legacy) 옵션이 노출되는데, 이번엔 Movie Render Queue로 선택해주자.

 

Then you can see Movie Render Queue Window. And Click Unsaved Config. Then Configuration window is showed up.

그럼 무비 렌더 큐 창이 뜰 것이다 여기서 Unsaved Config를 눌러주자. 그럼 설정창이 나타난다.

 

 

Add Anti-aliasing through [+Setting] button at the top-left corner of window. And set output resolution as 4k(3840*2160)

설정창에선 저장위치, 렌더링 환경 등을 설정할 수 있다. 이외에도 상세 설정이 가능한데, 이것들은 설정창 좌상단의 [+Setting]버튼을 누르면 나타난다. 여기서 Anti-aliasing(안티 앨리어싱)을 추가해주자.

 

그리고 출력 해상도를 4K인 3840*2160으로 해주고 저장 경로는 본인이 원하는 폴더로 정해주면 된다. 나는 프로젝트 폴더에 Movie Render이라는 폴더를 새로 만들어 지정했다.

 

 

Enable 'Use Camera Cut for Warm Up' and set Render Warm Up Count as 100

이어서 안티 앨리어싱을 보면 웜업이라는 것이 존재한다. UE5는 촬영할 때 엔진에서 시뮬레이션을 실행하고 그것을 녹화하는 개념인데, 웜업은 이 때, 시뮬레이션을 설정한 프레임만큼 앞서 실행시키는 것이다. 그리고 미리 실행시켜둔 시뮬레이션을 추후에 녹화를 하게되는 그런 개념이라고 이해하면 된다. Advanced 하위의 Render Warm Up Count는 몇 프레임이나 앞서 웜업을 진행할 것인지 묻는 것이다. 100으로 설정했고, 이는 100프레임 앞서 웜업을 진행한다는 뜻이다. 그리고 카메라 컷을 웜업에 사용한다(Use Camera Cut for Warm Up)에 체크해주자.

 

 

Start Render(Local)

이어서 Render (Local)을 선택하면 바로 렌더링이 시작된다. 

 

 

Rendering Window by Unreal Engine KR Youtube

시작하면 잠시동안 쉐이더 컴파일링이 진행되며 이후에 렌더링이 시작된다. 오른쪽은 현재 카메라 렌더링 현황, 왼쪽은 총 현황이다. 나는 8컷에 영상 길이가 조금 더 길기 때문에 총 프레임이 1350프레임이 나왔다. 그래픽카드 사양에 따라 렌더링 속도는 달라지며, 충분한 사양을 갖고있다면 4k임에도 정말 금방 끝난다.

 

 

A 4k image file per frame. Obtaining image files as a result of rendering is a feature of the Movie Render Queue.

렌더링이 완료되면 사진과 같이 지정한 위치에 프레임당 4k화질의 이미지 1장씩 해서 총 1350장의 이미지파일이 생성됐다. 이렇게 이미지로 변환되는 것이 무비 렌더 큐의 특징이다.

 

5-2. Render Movie

This time, i going to try Movie Render. So select Movie Scene Capture (Legacy). Then click film icon.

하지만 바로 영상으로 출력하고 싶다면 굳이 무비 렌더 큐를 이용하지 않아도 된다. 따라서 이번에는 렌더 무비를 사용할 것이다. Movie Scene Capture (Legacy)를 선택해주고 필름 아이콘을 클릭하자.

 

 

Movie Render's config window. Set resolution 4k and change Delay Before Shot Warm Up to 3.0s. Then Start [Capture Movie]

마찬가지로 렌더 무비의 설정창이 뜨는데 Resolution을 3840*2160(4K)로 설정해주고 제일 아래 있는 Animation목록을 열어 Delay Before Shot Warm Up(샷 워밍업 전 딜레이)를 3.0초로 설정하자. 이 부분은 무비 렌더 큐에서 설정했던 안티-앨리어싱의 Render Warm Up Count와 같은 기능을 한다.

 

설정이 끝났다면 Capture Movie를 눌러 시작하자.

 

 

Capturing Movie...

마찬가지로 작은 창이 뜨는데, 이번엔 정보가 적혀있지않고 정말 영상만 출력된다. 이렇게 실시간으로 녹화되는 것이다.

 

그리고 무비 렌더 큐에 비해 작업속도가 빠른 것을 확인할 수 있었다.

 

 

Result of Render Movie is a type of video file.

렌더 무비의 경우엔 영상파일로 변환되는 것을 확인했다. 4k라서 길이에 비해 용량은 어마어마하다.

 

엔진작업은 여기서 끝났다.

이후엔 UE5로 작업한 것을 아트스테이션에 올려 다른 작업자들과 결과물을 공유하는 방법을 알아볼 것이다.

 

6. Sharing artwork

Sign In to Art Station

https://www.artstation.com/

아트스테이션에 접속하여 로그인하자.

 

 

Click Upload button

로그인했다면 업로드버튼을 누르면 된다.

 

 

Drag and drop to upload files. But there is a file size limit of 25MB for video files. So i plan to upload img files.

업로드 버튼을 누르면 이 화면이 뜨는데, 파일을 드래그 앤 드롭으로 올려주면 된다. 간단하다.

 

하지만 영상의 경우, 25MB 제한이 있으므로 현재 결과물 처럼 큰 용량의 영상을 공유하고 싶다면 본인 유튜브 채널에 올린 뒤, 유튜브 영상을 공유하는 방식으로 진행하면 된다.

 

이번에는 사진을 올려 공유하는 방식으로 진행한다.

 

 

A image per scene. Total 8 image files

무비 렌더 큐 폴더에서 각 씬별 하나씩 올려서 총 8장을 올렸다.

 

 

Category = Digital 3D, Real-time / Subject = Games and Real-Time 3D Environment Art / Software = Unreal Engine

이후엔 카테고리를 리얼타임, 디지털 3D로 설정하고 주제를 게임과 리얼타임 3D 환경 아트로 정했다. 이어서 사용한 엔진을 적어줬다.

 

 

Tag = Use what you want

태그는 걸어도 좋고 마음대로 해도 좋다.

 

 

다음에 위로 스크롤하여 다시 올라가면 공개 설정과 함께 저장하기 버튼이 있을 것이다. 나는 공개로 설정했고 그대로 저장했다.

 

 

저장이 완료되면 이런식으로 내 계정 이름으로 내 작업물들이 나타난다.

 

여기까지 '시작해요 언리얼 2023'은 끝났다.

생각보다 가이드영상 퀄리티가 좋아서 놀랐다. 가이드 영상만 봐도 어느정도 엔진에는 익숙해질 수 있다는 느낌을 확실히 받았다. 이제부턴 UE5에서 C++을 사용하여 게임을 만들어볼 차례다.

내 작업물을 아무리봐도 에셋 퀄리티가 말도 안된다....