이터니티 개발 관련 공식 자료를 아카이빙 하기 위한 페이지입니다.

에린에 존재하는 재질들

2024. 12. 05


반갑습니다 밀레시안 여러분~! 저는 테크니컬 아트(이하 TA) 파트의 견공이라고 합니다. 우리가 살고 있는 현실 세계 만큼이나 에린에는 다양한 질감을 가진 물체와 물질이 존재 하죠. 저희가 진행하고 있는 여러가지 기술적 지원 가운데 이번 글에서는 플레이오네 엔진(이하 PE)에서 구현되었던 재질들이 언리얼 엔진(이하 UE) 환경에서는 어떤 방식으로 다듬어지고 있는지 얘기해볼게요.


들어가며

위에서 언급한 바와 같이 에린에는 피부, 털, 패브릭, 석재, 금속, 유동체 등 여러 질감이 존재합니다. 이런 다양한 재질을 표현하기 위해 PE에서는 룩업 텍스처(주1)나 머티리얼 캡처(혹은 맷캡) 텍스처(주2_1, 주2_2)를 사용하는 셰이더(주_질감 표현을 위한 프로그램)로 에린을 그려내고 있었는데요.


주1) 어떤 값의 변화량을 함수를 이용해 계산하는 대신 0~1의 범위로 미리 그려 넣은 텍스처

주2_1) 구에 반사 질감을 표현한 텍스처(우상단). 이를 이용해 시각(카메라) 방향을 기준으로 매핑할 수 있음


주2_2) 주얼리(좌), 거친 금속(우) 표현을 위해 PE에서 사용되고 있는 맷캡 텍스처. 직관적으로 질감을 표현하는데 유용하지만 정적임


위의 방법은 결과를 예측하기 쉽고 구현도 간단한 반면 재질의 수 만큼 텍스처 제작이 필요하고 빛 방향으로 반사를 표현하지 못하는 단점이 존재합니다. 또한 리소스 제작 및 관리에서 비용이 추가적으로 요구되고 동적인 표현도 어렵죠. 따라서 이런 기술적 한계로 아쉽게 표현됐던 여러가지 질감들이 이터니티에서는 개선될 수 있도록 하는 것이 저희의 목표입니다.


개발 중인 것들

크게 환경에 쓰이는 재질과 캐릭터에 쓰이는 재질로 나눌 수 있는데 먼저 환경에 쓰이는 재질부터 살펴 보겠습니다.


식생

식물은 생각보다 고려할 것이 많습니다. 잎과 줄기의 색깔(주3), 주변 환경(날씨나 조명의 변화)에 변화하는 정도(주4), 물리적 충돌에 대한 흔들림 처리, 밀도에 따라 각종 테크닉을 이용해 최적화하는 것도 사전에 충분히 준비가 돼야하는 것 등이죠. PE에서는 병렬 처리를 지원하지 못하는 관계로 식생을 생동감있게 렌더링하는 것에 한계가 있었지만 UE에서는 멀티 스레드(다수의 CPU 코어 사용), 객체 인스턴싱(객체의 재사용) 등의 기술 등을 활용할 수 있으므로 생생한 식생 군집을 생성해 에린을 더욱 풍성하게 그려낼 수 있습니다.


주3) 식생 군집에 무작위로 색상을 설정하게 함


주4) 빛과의 상호 작용 중. SSS(Sub-Surface Scatering 표면하 산란, 어떤 물체 안으로 투과된 빛이 내부에서 산란하다가 일부 반사되는 것)


유동체

물과 같은 유동성 물질 또한 환경에 따라 다양한 상태를 가집니다. 색상, 점도, 파형의 크기와 밀도, 빛의 반사량과 흡수량 등등. 이런 계산들 역시 과거의 사양에서는 쉽지 않았기 때문에 텍스처 애니메이션이나 스프라이트 시퀀스(연속된 움직임을 가지는 이미지 모음) 등을 사용해서 표현하는 것이 한계 였는데요. 이터니티에서는 이런 부분들을 적극적으로 개선할 예정입니다. 개인적으로 저는 물을 예쁘게(?) 표현하는 것에 정말 정말 진심이에요. 상상해 보세요. 노을지는 아브 네아 호숫가에서 반짝이는 물비늘을 보며 낚시를 하는 장면을..그리고 그 심연에는 네이드가 언뜻언뜻 그림자를 드리울 지도..



반투명 물체

이터니티 프로젝트에서는 UE의 지연 렌더링 방식을 이용해 화면을 그립니다. 지연 렌더링은 각종 테크닉들을 구사해 고품질의 결과를 얻을 수 있게 하지만 반투명/투명 물체를 그리는 것은 여전히 구현이 까다롭습니다(주5). 물론, PE에서는 반투명 물체에 질감을 부여하는 시도 자체가 거의 불가능 했지만 이터니티에선 현실 세계와 같은 반사 특성과 NPR(Non-Photorealistic Rendering 비사실적 렌더링) 표현을 섞어 마비노기에 어울리는 반투명 질감을 만들기 위해 저희 TA들은 오늘도 고군분투하고 있습니다.



주5) 반투명 물체를 그리는 과정이 무겁고 그리는 순서 때문에 여러가지 시각적 오류를 일으킴


다음으로는 캐릭터의 질감을 볼 건데요. UE는 기본적으로 PBR(Physically Based Rendering 물리 기반 렌더링)을 기반으로 셰이딩(화면에 객체를 그리는 연산)을 수행하기 때문에 너무 사실적인 결과가 나오는 것을 우회하기 위해 약간의 엔진 커스터마이징이 수행 됐습니다. 일전에 스파게티 몬스터님이 작성해 주셨던 '캐릭터 톤 보정 이야기'에 일부 내용이 담겨 있으니 궁금하신 분은 읽어보시면 좋을 것 같습니다.


염색

일전에 밀크티님이 염색 개발 과정 소개에서 말씀하셨듯이 대한민국 게임 역사를 통틀어 염색하면 마비노기고 마비노기하면 염색 아닐까요? PE에서는 염색을 위해 3D 저작 도구인 3Ds MAX에만 존재하는 일루미네이션 컬러라는 독특한 파라미터를 이용했는데요. UE에서는 3D 파일 포맷의 변화로 이를 이용할 수 없게된 까닭에 몇몇 테크닉을 통한 우회 방식으로 기존 캐릭터 제작 파이프 라인을 크게 변화 시키지 않으면서 염색 기능을 구현 했습니다. 




털을 표현하기 위한 방법은 여러가지가 있지만 저희는 기존 모델링에 대한 수정을 최소한으로 억제하면서 머티리얼(일종의 셰이더)로만 털을 그려내고자 했습니다. 현재의 마비노기에서 털은 아티스트 분들이 정성껏 제작한 텍스처로 표현이 되고 있지만 양감을 내기에는 충분하지 않아 다양한 털의 질감을 표현할 수 있도록 개발 중에 있습니다. 최종적으로는 판에게 풍성하고 그럴듯한 옷을 입혀주고 싶거든요.




마치며

짤막하게 개발중인 주요 재질들에 대해서 소개를 해드렸는데요. 여러분의 심상에 있는 에린을 더 멋진 모습으로 보여드리고자 노력하고 있으니 응원 부탁 드리겠습니다. 다음에는 좀 더 깊이있는 주제를 선정해서 글을 써볼까 합니다. 또 봐요 안녕~

매년 새로운 컴퓨터 그래픽 기술을 볼 때마다 놀래미가 됩니다.


출처: https://mabinogi.nexon.com/eternity/dev_view.asp?id=4892400

이터니티 개발 관련 공식 자료를 아카이빙 하기 위한 페이지입니다.

about|item 정보|Sitemap|공지사항|광고문의
* 이 사이트는 류트 서버 라바뉴가 운영하는 개인 사이트입니다. 업데이트는 개인 일정과 마비노기 플레이를 하고 틈틈이 하고 있습니다.
* 사이트 내 정보는 테스트 서버에서 확인 + 인터넷 검색 + 인게임 확인 + 유튜브 + 제 개인적인 생각 등으로 이루어져있습니다.