본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.


▶ 오늘 수강 강의

마지막 랜더링 관련 강의를 들었다.

오늘 배운 내용

Light & Compositing Part 10. 랜더링

  • UE애서 씬을 구성하기 위해 배치한 3D 데이터를 EXR(합성 작업용) 내지는 PNG 등의 이미지나 영상 포맷으로 바꾸는 과정
  • UE의 시퀀서에서 무비 랜더 큐를 활용해 EXR로 랜더링
    • 무비 랜더 큐(래거시 - 무비 씬 캡쳐): UE에 내장되어 있는 영상 랜더링 플러그 인
    • 플러그 인이기 때문에 기능이 활성화 되어 있지 않다면, 편집 → 플러그인 → Movie Render Queue, Movie Render Queue: additional Render Passes 두 개를 활성화 → 엔진 재시작
    • 무비 랜더 큐에 작업을 추가하면 세팅을 볼 수 있음. 해당 작업에 세팅이 별도로 설정 되지 않았다면 Unsaved Config라고 나오며, 이를 클릭하면 세부 설정이 가능함
    • +세팅을 통해서 다양한 세팅, 익스포트 방식(이 중 Apple ProRes는 플러그인이 활성화 되어 있어야 사용 가능), 랜더링 방식을 선택 → 그 중 강의에서 사용하는 기능은 디퍼드 랜더링, 오브젝트 ID, 안티 에일리어싱, 콘솔 변수, .exr 시퀀스
      • +세팅에 내용이 여러 개 들어간다고 해서 랜더링을 여러번 거치는 것이 아니고, 추가해 놓은 방식들로 전부 처리해서 파일을 생성 → 필요 없는 세팅은 삭제(DEL)해도 되고, 토글 버튼을 사용해서 비활성화 해도 됨
      • 상황에 따라서 세팅값을 편하게 설정하기 위해 프리셋으로 저장 + 불러오기로 사용 → 프리셋을 불러온 후 세팅 값을 변경한 경우 반영하기 위해서 다시 저장 버튼을 눌러줘야 함
      • 출력: 출력 파일 저장할 디렉토리(무비 랜더 큐 출력 칸에 있는 path 클릭하면 파일 브라우저로 갈 수 있음), 파일명 포맷(기본값에는 .이 들어가서 이건 자신이 알기 편한 대로 수정), 출력 해상도(테스트용이면 작게 해서 빠르게 출력 가능), 커스텀 프레임 레이트 사용(원하는 출력 프레임 레이트를 선택 가능), 기존 출력 오버라이드(기존 파일을 덮어씌워가면서 작업하고 싶은 경우 활성화), 제로 패드 프레임 번호(프레임 번호의 10단위 자리 수), 커스텀 재생 범위 사용(특정 프레임만 랜더하고 싶은 경우 사용, 사용하지 않을 경우 시퀀서에서 세팅해놓은 프레임 전체를 랜더)
      • 디퍼드 랜더링:  가장 기본 랜더링 방식(씬 작업할 때 패스 트레이싱 기능을 사용했으면, 이 방식 대신 패스 트레이서 옵션을 사용), 추가 포스트 프로세스 머테리얼에 WorldDepth와 WorldNormal용 머테리얼을 넣고 활성화해서 AOV로 출력(like 먀야), 메인 패스 랜더링(비활성화 하게 되면, 까만 화면으로 나올 수 있음)
      • 안티 에일리어싱: 픽셀 경계에 깨지는 거 같이 보이는 계단 현상을 줄어주는 화면을 부드럽게 만들어주는 기능. 공간(Spacial) 샘플 수(한 프레임에서 얼마나 세밀하게 보정할 지). 템포럴(Temporal) 샘플 수 (현재 프레임과 이전 프레임 두 개를 비교해서 보정할 지). 두 샘플 수는 곱셈이 되기 때문에 높아질 수록 랜더링이 길어짐. 안티 에일리어싱 오버라이드와 메서드(활성화해야 메서드가 적용됨. 보통은 None으로 작업 후 문제가 있으면 다른 메서드를 선택해서 결과물을 뽑아보기). 웜업 프레임 랜더링(GI나 리플렉션 로딩이 느려서 초반 프레임에 적용이 안되어 튀는 현상을 방지 - 그림자 깜빡임이 있을 때 보통 확인)
      • 콘솔 변수: UE 내부 랜더링 파라미터를 커맨드로 제어할 때 사용. (Ex. r.MotionBlur.Amount, r.ScreenPercentage 등 -  도움말 → 콘솔 변수를 통해서 다양한 변수 확인 가) 작업 창에서 세팅 했던 값을 무시하고 랜더링 커맨드 값을 우선 적용해서 랜더. 커멘드가 많으면 프리셋으로 저장할 수 있지만, 랜더 셋으로도 저장이 가능.
      • 오브젝트 ID: 크립토매트(Cryptomatte - 3D 렌더링 후 개별 오브젝트나 재질을 쉽고 정밀하게 분리하여 편집할 수 있게 해주는 강력한 기술/패스). Full로 설정하면 매우 무거워서, actor 또는 material 선택. Include Translucent Objects(투명한 물체가 있는 경우 활성화)
      • 세팅이 끝나면, "수락" 버튼을 눌러야 적용되며, 프리셋이 있는 경우 세팅 옆에 드롭다운 버튼으로 프리셋 적용 가능
    • 하나의 시퀀서만 작업하는게 아니고, +랜더를 통해 여러 개의 시퀀서를 추가하거나, 콘텐츠 브라우저에서 선택한 걸 드래그&드롭해서 한 번에 랜더 가능. 맨 위 시퀀스의 세팅을 추가된 시퀀서들이 그대로 가져가게 됨. 
    • 시퀀서를 눌러보면 무비 랜더 파이프라인 아래 맵이 뜨게 되는데, 시퀀서에서 랜더 버튼을 눌렀을 때 열려 있는 맵으로 세팅되기 때문에(안 열려 있으면 없음 내지 Untitled), 각 씬의 맵들을 세팅해줘야함
    • 같은 시퀀스도 다른 세팅으로 랜더링 할 수 있음. 대신 저장했을 때 헷갈리지 않도록 작업 이름을 수정해주는 것을 추천
    • 무비 랜더 큐도 저장해서 에셋처럼 관리 가능. 큐를 저장해놔야 로컬 랜더를 돌리다가 문제가 생겼을 때 작업해놓은 리스트가 날라가는 불상사를 막을 수 있음
    • 큐에 여러 시퀀서를 넣어놨어도 작업 이름 옆에 토글 버튼으로 해당 시퀀스 랜더 활성화 여부를 선택할 수 있음 
    • 랜더 중에 랜더 본을 열게 되면 충돌나서 꺼지는 현상이 발생할 수 있으므로 주의
  • 랜더링 본과 뷰포트에서 보이는 모습이 다른 경우
    • 라이팅 작업을 할 때 뷰보트 라이팅 옵션에서 게임 세팅을 꺼놓고 작업했는데, 실제 랜더링 때는 이 기능이 활성화된 채로 랜더되기 때문에 마무리 작업 때는 활성화 해가면서 확인하는 것을 추천
    • 해당 시퀀서에 추가해뒀던 스폰서블 포스트 프로세서 볼륨을 사용해서 수정
    • Exposure - 노출 보정을 0으로 설정하거나, 미터링 모드를 Manual로 바꾸고 노출값을 수정하면, 게임 세팅과 무관하게 노출 값을 설정할 수 있음
    • 카메라 액터에서도 설정 할 수 있으나, 라이팅 관련이기 때문에 라이팅 관련 에셋에서 수정하는 것을 추천 
  • UE에서 랜더링한 .exr 파일들은 합성에 사용될 .exr 파일들과 따로 저장해서 수정 사항이 생길 때마다 버전 관리하는 것을 추천 → 수정 사항이 생겼을 때 생기는 문제에 대해서 찾아내는 시간이 빠름. 랜더한 작업물을 항상 확인해야 함
  • 랜더가 잘 되었는지는 Nuke에서 열어서 확인하기
    • 레이어 컨택트 시트에 연결하기: ActorHitProxyMask~02(오브젝트 ID 기능으로 뽑힌 레이어), WorldDepth, WorldNormal(디퍼드 랜더링 기능으로 뽑힌 레이어)이 뽑힌 것을 확인
    • Shuffle+Grade에 연결하기: WorldDepth와 WorldNormal이 잘 뽑힌 것을 확인 
  • 콘텐츠 브라우저에서 검색하고 싶은 이름은 그대로 쓰고, 이름에서 제외하고 싶은 부분엔 앞에 -를 붙여서 제외 검색이 가능

 나의 이야기

랜더링에도 많은 옵션이 있어서 들으면서 이해하기 쉽지 않았다. 특히 크립토매트와 같은 전혀 모르겠는 단어로 설명하실 때도 있어서 이건 어디에 쓰이는 단어인가 하고 따로 검색해봐야했다. 라이팅도 쉽지 않았는데 좋은 영상물을 뽑아내려면 랜더링 옵션들에 대해서도 알아야한다니 뭐랄까 배울수록 첩첩산중 같은 느낌?


 시간 및 공부 인증

44분 강의였지만 1시간이면 무난하게 걸린듯하다
제공된 프로젝트로 랜더를 걸어봤다. 랜더 하고 나온 결과물을 찍고 싶었는데, 생각보다 오래걸려서 과정 인증샷으로 대체!

#패스트캠퍼스 #환급챌린지 #습관챌린지 #패스트캠퍼스후기 #습관형성 #직장인자기계발

 

패스트캠퍼스(FastCampus) 강의 둘러보러 가기 

 ↓  

https://fastcampus.info/4oKQD6b

 

11월이니까, 강의 1+1 쿠폰 이벤트 3일 앵콜💟 (~11/13 23:59) | 패스트캠퍼스

지금 온라인 강의 구매하면 강의 하나 더 쏩니다! 배움도 성장도 2배로!

fastcampus.co.kr


 

+ Recent posts