연내 출시를 앞두고 전 세계 인생 시뮬레이션 팬들의 관심을 끌어모으고 있는 크래프톤의 <인조이>. 기대를 사는 이유는 여러 가지지만, 그중에서도 언리얼 엔진 5 기반의 현실적 그래픽은 가장 전면에 두드러지는 매력이다.
8월 29일 열린 언리얼 페스트 2024 강연에는 크래프톤 <인조이> 개발팀의 이정민 테크니컬 아티스트 팀장이 연단에 올라 ‘언리얼 엔진에서 도시 제작하기’라는 주제로 <인조이>의 도시 제작과정, 그리고 루멘과 나나이트 적용에 관한 팁을 전달했다.
이정민 TA(테크니컬 아티스트) 팀장은 영화 업계에서 커리어를 시작했다. 이 팀장은 “리얼타임으로 영화 같은 그래픽을 구현하는 것이 꿈이었는데, <인조이>를 개발하면서 그 꿈을 이뤘다고 생각한다. 그 과정에 관해 설명해 보겠다”고 전했다.
이정민 팀장이 팀에 합류한 것은 2023년 5월로, 당시는 대부분의 인원이 <인조이>의 첫 번째 도시인 ‘도원’ 제작을 마친 시점이었다. 두 번째 도시인 블리스 베이 제작에 돌입하기 전 이 팀장은 프로시저럴 툴을 제작하고 이를 이용해 블리스베이의 배경 기획을 마쳐서 도원 제작 인원이 바로 블리스베이에 투입될 수 있게끔 했다.
이 팀장은 프로시저럴 툴의 사용례를 화면과 함께 설명했다. 먼저 레퍼런스가 될 실제 도시의 지도를 바탕으로 가이드 메시를 설정한다. 그 위에 로드 툴을 적용해 세부 형태의 로드를 배치할 수 있다. 빌딩이 들어설 위치에는 프록시 메시를 배치했다가 이후에 빌딩툴로 편집했다. 빌딩 툴을 이용하면 실시간으로 건물과 스케일과 스타일을 변경해 적용해 볼 수 있다.
이처럼 전체 도시에 빌딩 툴과 로드 툴을 적용해 전체 경관을 구현했는데. 이를 통해 아티스트의 실제 작업 이전에도 일정 퀄리티로 도시의 모습을 확인해 볼 수 있었다. 또한 캐릭터로 직접 맵을 돌아다니면서 동선과 콘텐츠 배치 상태, 도시의 규모 등을 시험하고 확정한 뒤 개발을 시작할 수 있었다. 변경 사항이 필요할 때도 원하는 대로 생성해서 확인 가능했다는 장점이 있다.
한편 수정 작업에 있어, 하나의 액터 아래에 여러 액터가 묶인 상태에서는 개별 수정이 어렵다. 그래서 인스턴트 메시를 스태틱 메시로 변환한 뒤 BPP로 다시 패킹해서, 수정이 필요할 때면 레벨 인스턴스처럼 그 안에서 수정 가능하게 했다. 이후 밖으로 빠져나오면 다시 액터 아래의 인스턴스로 묶이도록 해 최적화했다.
이때 도시 그리드 상에서 특정 액터들이 여러 그리드에 걸쳐있지 않고 최대한 적은 수의 그리드 안에 위치하도록 신경 쓰면, HLOD를 베이크 할 때 액터들이 상위 레벨로 묶여 항상 로드되어 있는 일을 막아 최적화를 도모할 수 있다.
프로시저럴 툴이 맵 기획을 위한 툴이라면, BP와 PCG는 아티스트가 직접 손에 쥐고 사용할 수 있는 툴이다.
BP 어레이는 아티스트가 직접 작성해 사용했고, 도시 대부분의 건물에 적용했다. 메시를 복사해서 배치하고 머티리얼을 오버라이드 하는 등의 기능을 한다. 레이트레이싱 관리, 커스텀 데이터 수정이 필요할 때 BP 어레이에서 적용하면 전체 건물에 쉽게 적용돼 파라미터 수정이 용이했다.
PCG는 랜덤하게 배치되어야 하는 잔디나 화단 등 식생 표현에 주로 사용했다. 식생이 인스턴스로 배치될 경우 개수가 많아지면 최적화 문제가 발생하는데, 이를 해결하기 위해 기술팀의 도움을 받아 Density와 Cull Distance 자체 제작 옵션을 만들었다. 이를 PCG 내부 파라미터로 붙여 게임 옵션이 바뀔 경우 식생 밀도가 변하게끔 세팅했다.
또한 잔디 하나의 폴리곤 단위를 키워서 잔디 하나의 덩어리가 켜졌다. 인게임에서는 큰 차이가 안 보이지만 실제로는 나나이트 인스턴스를 줄여 성능을 향상시킬 수 있었다.
머티리얼 측면에서 <인조이> 개발팀은 시티 샘플을 많이 활용했다. 이때 부모 머티리얼 수를 적게 유지하도록 노력했는데, 최적화에도 유리할 뿐만 아니라 추후 관리에도 유리하기 때문이다. 인스트럭션의 경우 3,000 정도로 높은 편이지만 인게임에서 실제 측정되는 수치는 높지 않아 감안하고 사용하기로 결정했다.
창문 머티리얼은 <인조이>의 세계에 밤이 찾아왔을 때 도시의 경관을 담당하는 중요한 요소다. 팀은 노출이 많은 1층과 고층을 분리하고, 1층에는 페이크룸을 따로 제작해, 간판과 실내 모습을 각자 매칭시켰다.
고층으로는 랜덤하게 창문 머터리얼이 적용됐다. 이때 BP 어레이를 사용해 창문마다 인덱스 넘버를 지정하고 여러 개의 창문이 하나의 방 단위로 묶이게 됐다.
그렇게 완성된 것이 위와 같은 이미지다. 방마다 창문을 보면 블라인드의 스타일도 다르고, 그 길이도 랜덤하지만, 방을 하나의 단위로 봤을 때 각각의 창문이 큐브맵을 공유한다. 이를 통해 실내가 서로 연결되어 보이는 결과가 나온다.
외벽의 웨더링 머티리얼 역시 시티 샘플의 웨더링을 사용했으며, 월드포지션 베이스이기 때문에 도시 곳곳에 사용할 수 있었다. 실제로 거의 모든 벽과 바닥에 사용했으며, DFAO 노드를 추가해 바닥과 닿는 모서리 등에 때가 낀 듯한 디테일을 추가했다.
이 팀장은 나나이트 사용에 있어 ‘선택과 집중’이 중요했다고 말한다. 2개의 도시를 빠른 시간 안에 제작할 필요가 있었기 때문이다. 프로젝트 단위에서 ‘나나이트는 무조건 적용하는 게 유리하다’고 결론을 냈고, 실제로 스켈레탈과 반투명 메시 이외 모든 오브젝트에 나나이트가 적용되어 있다.
나나이트를 두고 LOD 자동화라고 이야기하지만, 그렇다고 트라이앵글을 무한정 썼다간 원활한 게임플레이가 불가해진다. 이를 막기 위해 몇 가지 세팅이 필요했다. 폴백 메시는 하드웨어 레이트레이싱에 사용하는데, 트라이앵글이 너무 많아지면 계산 속도가 느려진다. 그래서 옵션에서 자동으로 세팅된 퍼센티지를 수동으로 바꿔서 적은 수의 트라이앵글을 유지했다.
나뭇잎의 경우 원래는 모델링 해서 오페이크 머테리얼로 사용하는 게 가장 좋지만, 여건상 메시의 마스크드 영역을 줄여서 최적화했다. 이는 기존에도 사용하는 최적화 방식이지만, 나나이트에도 효과가 있었다.
기왓장 하나의 모델링을 복사해서 이어 붙이는 형태의 메시도 있었는데, 이는 나나이트 오버드로를 유발하는 요소이기 때문에 연결된 메시로 새롭게 제작해 오버드로를 줄였다. 마지막으로 LOD 바이아스, 엣지당 픽셀수 등을 조절하는 커맨드를 통해 전체 화면의 최적화도 쉽게 할 수 있었다.
<인조이>의 창문에는 비밀이 있다. 바로 창문이 빛나고 있다는 것이다. 루멘은 빛의 성질을 모방하는 기능이지만, 이를 적용했을 때 직사광이 들어오지 않는 실내가 너무 어두워지는 현상이 발생하기 때문이다.
그래서 실내의 밝기를 올려주기 위해 창문에 이미시브를 추가했다. 이는 또한 유저가 창문을 배치했을 때, 밖에서 햇살이 쏟아져 들어오는 듯한 느낌을 주기 위한 것이기도 하다.
사실 밝기 문제는 포스트 프로세스 루멘 탭의 Diffuse Color Boost, Skylight Leaking, Full Skylight Leaking Distance 옵션을 높여 전체 명도를 높일 수 있지만, 이 경우 씬의 입체감이 죽는 문제가 있다. 그래서 부분적 이미시브를 줘서 암부의 디테일을 유지하는 쪽을 선택했다.
한편, 루멘의 실내 세팅에서는 헤어 노이즈와 반사 퀄리티에 문제가 생기기도 했다. 이때는 루멘의 퀄리티 옵션을 상향하거나 직사광을 추가하는 식으로 완화했다. 그러나 야간 표현에서는 광원 추가가 어렵기 때문에 페이크 머테리얼을 활용했다. 헤어와 피부에 페이크 라이트 들어가 있는 것을 확인할 수 있다. 메탈의 경우 노이즈가 눈에 띄는 현상이 있어서, 러프니스를 올리고 HDRI를 사용해 페이크로 반사를 추가했다.
한편 언리얼 제공 scalbility 기준으로 low와 medium 퀄리티에서는 루멘이 꺼진다. 이 경우 간접광을 사용할 수 없기 때문에 라이트 자체의 강도와 범위 늘려줬다. 한편, 루멘이 꺼지더라도 기존의 DFAO나 SSAO는 활용할 수 있기 때문에, 간접광 느낌은 유지할 수 있었다.
마지막으로 이 팀장은 <인조이>가 지원하는 인게임 건축툴 또한 간략히 소개했다. <인조이>에서 유저는 2D 이미지를 3D 개체로 만드는 3D 프린트 기능, 그리고 AI 텍스처 기능을 통해 원하는 개체를 마음대로 만들 수 있다.
이런 건축 툴을 이용,<인조이> 개발팀 내부에서도 기발한 건축이 많이 시도되었다. 일례로 지푸라기 이미지를 3D 프린트로 메시로 변경해 초가집을 만든 사례가 있다. 다른 팀원은 영화 <기생충>의 주인공 가족 화장실을 재현하기도 했다.
이 팀장은 “여러분이 (‘인조이’에서) 어떤 작품을 만들지도 궁금하다. 게임플레이 중에 공유하고 싶은 작품이 만들어졌다면, <인조이> 내부의 공유 플랫폼 ‘캔버스’에 업로드해주시길 바란다. 함께 재미있게 즐길 수 있었으면 좋겠다.”며 강연을 마쳤다.