언리얼 엔진 4를 이용한 애니메이션 제작 프로세스 소개 및 사례 발표
http://www.inven.co.kr/webzine/news/?news=199873&site=mogong https://www.youtube.com/watch?v=M7FyR2rY2A0
기존 렌더링 방식의 subdivision이 적용되지 않아 smoothing group와 displacement shader에 의존해야 한다. 추후 subdivision을 지원한다곤 하지만, 현재까지는 너무 각지게 보이지 않는 선에서 폴리곤 수를 타협해야 한다. 폴리곤은 기본적으로 쿼드(quad)형태로 이루어져야 하며, 가급적이면 삼각형이나 오각형 이상의 다각형은 피해야 한다. 이는 엔진에서 표면을 계산할 때 quad로 이루어진 smoothing group을 기본 전제로 계산하기 때문에 자칫 표면이 왜곡되어 보일 수 있기 때문이다. 또한 간혹 다각형이 포함되어 있을 경우에 FBX import시 warning 메시지와 함께 임포트가 안 되는 예도 있다. 그럴 경우에 마야에서는 해당 오브젝트들을 선택 후 modeling > mesh > cleanUp을 실행해주면 임포트 할 수 있다. 배경이나 소품의 경우 여러 개체로 이루어진 경우에는 FBX 익스포트 할 때 반드시 그룹으로 익스포트해야 한다. 그렇지 않으면 오브젝트가 각각 따로 들어와 스태깅하기가 어려워진다. 3ds Max나 마야 등의 모델링 프로그램은 y축을 전방으로 설정하는데, UE4는 x축을 게임의 전방으로 설정해 익스포트할 때 주의해야 한다. maya 2017 이상부터는 파일메뉴에 Send to unreal 메뉴가 따로 생겨서 그걸 이용하시면 축 전환 없이 FBX로 보낼 수 있다. 애니메이터를 위한 UE4에서의 쉐이딩 쉐이더 역시 최대한 적은 수로 운용해야 한다. 같은 쉐이더그룹으로 묶어 가급적이면 2K ~ 4K(텍스쳐 허용 사이즈 - 1X1~ 8192X8192)의 텍스쳐로 통합해 운용하는 것이 유리하다. 언리얼 엔진은 물리 기반의 실시간 렌더러이다. 때문에 쉐이딩 역시 PBR 방식으로 제작하는 것이 좋다.
• https://www.youtube.com/watch?v=3xy-u0MVHIg 번역자(강연자)가 공부하려고 직접 번역했다 • pbr이란?(Physically Based Rendering) 물리적인것에 기반둔 랜더링 시스템 쉐이딩. 라이팅. 텍스쳐애대한것들 pbs라고도한다. 가장 중요한게 그 안에 사용되는 텍스쳐. • "pbr 재질을 쓴다. " 예로 마야나 맥스의 쉐이더의 경우 specular라는 가상의 하이라이트를 만들어줌으로써 물체의 특성을 정의하는 것에 반해 언리얼은 현실에서의 라이트요소와 배경 등이 쉐이더의 특성(color, metalic, roughness, normal 등)이 만나 실제 물리현상을 이용해 렌더링하는 방식이다. 때문에 제작된 텍스쳐 이미지 한가지 외에 여러 가지 다른 채널 요소들이 필요하다. 이에 가장 적합한 프로그램으로 백동진 팀장은 Allegorithmic사의 Substance Designer, Painter를 추천했다. 직관적인 페인팅이 가능하며 언리얼에서 필요로 하는 텍스쳐 채널들을 함께 뽑아주기도 하고 쉐이더 자체를 디자인해줄 수도 있다. 애니메이터를 위한 UE4에서의 리깅 UE4가 기존 3D 앱에서 애니메이션을 임포트하는 방법은 크게 두 가지다. FBX와 Alembic cache import 방식이다. FBX는 오브젝트의 트랜스폼 키값을 bake 시켜서 직접 가져오는 방식과 joint에 bind 된 mesh의 deform 값을 가져오는 방식, 그리고 mesh 자체의 blendshape 값 자체를 가져오는 세 가지 방식으로 나뉜다. alembic cache를 가져오는 방식은 FBX Import 방식보다 비교적 근래에 생긴 방법으로써 mesh 자체 vertex의 world 좌표 움직임 값을 캐쉬로 저장해 가져오는 방식이다. 대부분의 deform cache 값을 그대로 import 해준다. 다만 아직은 오류도 많고 UV 좌표는 가져오지만, 쉐이딩 정보를 모두 잃게 돼서 현재는 부분적으로만 제한적으로 사용되고 있다. 맥스의 biped의 경우에는 별문제없이 언리얼 joint Animation으로 제한 없이 임포트 된다. 하지만 maya의 경우 각 스튜디오별로 리깅 하는 방식이 제각각이기 때문에 매우 중요하게 고려되어야 할 사항이다. 언리얼 엔진의 경우 joint animation을 문제없이 import 하기 위해서는 싱글 루트의 조인트를 사용해야 한다. 말하자면 pelvis를 중심축으로 spine이 연결된 단일구조여야 한다. 독립된 조인트를 추가로 사용 때 임포트 시에 에러가 난다. 그러므로 최초 리깅을 하면 싱글 루트로 리깅을 하거나 에픽게임즈에서 플러그인 형태로 제공하는 ART v1.0을 사용할 것을 권장한다. 기존 애니메이션이 다중 루트로 리깅이 되어 있는 경우에는 다시 리깅을 하거나 그렇지 않으면 Alembic cache를 이용해야 한다. 캐릭터가 아닌 탈 것이나 소품 등의 rigging이 필요한 애니메이션의 경우 가급적 단일 root의 joint를 이용해 bind 해서 익스포트 할 것을 권장하며 간단한 경우에는 자체 mesh를 animations 한 후에 key bake animation을 실행한 후 FBX export 해도 별문제는 되지 않는다. 모든 객체를 익스포트 할 때는 스케일과 위치를 반드시 통일해야 한다. 카메라의 경우 직접 key를 주거나 다른 dummy나 객체에 parents 되는 경우 혹은 curve에 구속되는 경우들이 있는데 간단하게 bake 시킨 후에 익스포트하면 대부분의 경우 문제없이 임포트 된다. 애니메이터를 위한 UE4에서의 이펙트 언리얼 엔진으로 장면 내에 다양한 FX 효과를 추가할 수 있다. 기존 3D 프로그램들만큼 다양한 plug-in을 통해 효과를 누릴 수는 없지만, 제한적으로 구현은 가능하다. 이를테면 마야나 맥스에서 원하는 파티클효과들을 split 방식으로 제작할 수 있으며 volumetric을 이용한 효과들도 제작 가능할 수 있지만 어느 정도 블루프린트를 다룰 줄 알아야 해서 일반적인 아티스트 기반회사에서는 어려움이 있다. 마켓 플레이스에 상용 혹은 무료이펙트들을 저렴한 비용으로 구입해 사용할 수 있다. 이러한 이펙트들은 임포트 된 개체에 soket을 사용해 연동해서 사용한다. atmospheric fog, exponential height for, lensflare, Depth of field 등 기존 렌더러에서 구현된 environment 효과들 역시 실시간으로 추가 및 조정할 수 있다.
'『RICE』 > :UE:' 카테고리의 다른 글
이유없이 C드라이브 용량이 가득찼어요 Unreal Engine Vault Cache Location (1) | 2024.10.22 |
---|