역자의 말.
매번 하는 이야기지만 NDC 가 내부공유로 바뀐 이후로 한국에 딱히 자료공유나 분석등에 대한 블로그나 자료들이 이제 전무해진것 같습니다. 또 다른 측면에서는 일본이나 중국에 비해 실험적인 비주얼 알엔디 같은것을 하는 게임회사도 없는것 같아요. 툰 렌더링 개발사들은 거의 원신 자료나 중국발 기술들을 거의 참조 하는 추세인 터이기도 하고... 버튜버쪽이나 우왁굿 세계관에서도 툰 렌더링은 한국산 개발이 아니라 홍콩산 툰 라이브러리인 릴로툰을 사용하는 것도 얼마나 국내에서 렌더링 알엔디가 없어지고 언리얼 엔진에서 머트리얼 편집으로 달성 된 뭔가 양산화 된 비주얼라이징은 뭔가 고착화 되는 듯 합니다. 아마도 투자 위축, 개발비 삭감, 개발 기간 단축과 같은 여러가지 문제들이 복합적인 듯 합니다. 내수는 해가 갈 수록 축소 되고 인구는 줄어가고 해외시장 진출은 지지부진 한데 새로운 시도를 하는 곳은 여전히 줄어들고 있고 대기업에서 먼저 리드해야 하는 것들을 줄여가고 있으며 코스피 주가에 일희일비하는 시대로 점점 진입 하는 것 같아서 참 마음이 아프네요. 어쨌든 제가 좋아하는 회사인 싸이게임즈의 릴링크 아트 제작 관련 된 자료가 공개 된 듯 하니 Zh1NaN7 선생의 공유 글을 날로 먹는 마음으로 간단히 번역 해서 공유 해 봅니다.
저자
이 Cygames 기술 컨퍼런스 공유에는 AI 생성, 캐릭터 렌더링, 분할 화면 레이아웃이 포함되며 지금까지는 캐릭터 렌더링 만 자세히 살펴 보았지만 여전히 1월에는 생고기 세션을 갉아 먹고 흥미로운 내용이 계속 업데이트 될 것입니다.
원본 동영상 링크.
https://m.youtube.com/playlist?list=PLSx6MdBnoFbBwxTSwPsa3AaIWJ-mO-hO9
주제: 원화를 대상으로 한 캐릭터 생성 예시
캐릭터 모델 제작에서 리링크에 대한 주요 소개는 사실 현재 두 번째 게임에서 내부에서 사용되는 많은 렌더링 방법과 최적화 수단은 매우 일반적이지만, 개인적으로 굉장한 것은 3D 및 렌더링 팀이 원화의 특성을 정확하게 분석하고 요약하여 실제 렌더링 성능으로 해체하고 최종적으로 아트 리소스 구현에서 동질성을 공유하는 것처럼 정말 매우 인상적이라고 생각합니다! 동질화는 결코 탈출구가 아닙니다. 커스텀 스타일링 프로세스에 관심이 있으시다면 한번 살펴보세요.
이 공유에서는 캐릭터 제작팀이 오리지널 캐릭터 아트를 3D로 재현하기 위해 취하는 몇 가지 접근 방식을 설명합니다. Relink의 캐릭터 모델링과 렌더링에 관심이 있는 게임 개발자는 물론 온라인 멀티플레이어 게임에서 캐릭터 작업을 하는 분들에게도 적합합니다.
이번 주제는 다음과 같습니다:
- 리링크의 캐릭터 모델링.
- 원본 아트워크를 재현하기 위해 취한 접근 방식.
- 렌더링 부담을 줄이면서 고품질을 유지합니다.
- 빠른 출력 유지.
- 요약.
첫째, 3D 팀의 주요 목표는 아쿠아마린 판타지의 원작 아트워크를 3D로 재현하는 것이었습니다. 둘째, 렌더링 부담을 최소화하면서 고품질을 보장하는 것도 3D 모델 제작에 있어 매우 중요했습니다. 동시에 캐릭터에 대한 수요가 매우 높기 때문에 빠른 출력 속도를 유지하는 것도 필요합니다. 원작의 캐릭터 성능을 복원하더라도 원활하게 실행되지 않으면 액션 게임에는 재앙이 될 수 있습니다. 하지만 퍼포먼스에 너무 집중하다 보면 캐릭터 퍼포먼스의 품질이 떨어질 수 있습니다.
왼쪽은 메모리 할당이고 오른쪽의 파란색 두 개는 텍스처와 모델로, 거의 절반을 차지합니다.
그랑블루의 세계관을 복원하기 위해서는 많은 수의 캐릭터를 만들어야 합니다. 정해진 기한 내에 캐릭터를 제작하기 위해서는 일정한 제작 속도를 유지해야 합니다. 위의 세 가지 사항은 모델을 제작하는 과정에서 고려해야 할 사항입니다. 각 포인트에 대한 구체적인 내용은 아래에서 다뤄보겠습니다.
리링크의 캐릭터 모델링
첫째, 그랑블루 판타지 시리즈의 역대 시리즈에서 수많은 캐릭터가 등장했습니다. 마찬가지로 오리지널 캐릭터 아트워크도 수년에 걸쳐 반복되어 왔습니다. 유니티는 다양한 시리즈 간의 공통점을 요약하여 3D로 재현했습니다.
우리리 3D 팀은 원화를 분석하여 모델을 제작할 때 중점을 두어야 할 세 가지 특징을 도출했습니다.:
- 첫째, 원본 그림에 필수적인 획이 있습니다.
- 뒤에서 캐릭터를 비추는 테두리 조명입니다.
- 텍스처와 모양을 위한 해칭(안감).
아래에서는 이러한 요약된 기능을 3D 모델 제작에 적용하는 방법을 설명합니다.
파란색 마커는 스트로크, 빨간색은 가장자리 조명, 녹색은 해칭입니다.
선
먼저 아웃라인을 소개합니다. 획은 종종 캐릭터의 외부 윤곽을 표현하는 데 사용됩니다. 획의 원래 그림 스타일을 표현하려면 다음 세 가지 요소 중에서 선택하여 조정할 수 있습니다:
- 스트로크 강도의 변화.
- 표면의 텍스처 표현.
- 파티션의 색상 경향.
1. 스트로크의 강도에 따른 변화
리링크는 등 노멀을 플레어하는 일반적인 방법인 모델 압출을 사용합니다. 바디 모델 + 플레어 백 모델을 결합하여 최종 모델을 형성합니다. 셰이더나 후처리 스트로크 등 다양한 방법으로 스트로크를 표현할 수 있지만 이 경우에는 선의 강도와 질감, 색상 경향을 표현하고 세밀하게 조정하고 싶었기 때문에 백 플레어 방식을 선택했습니다.
원본 그림에서는 외부 스트로크의 일부 부분의 강도에 차이가 있으므로 스트로크 전용 마스크 맵을 사용하여 이 맵에 따라 스트로크의 두께를 조정합니다.
카메라가 너무 멀리 떨어져 있으면 스트로크가 너무 얇아져 보이지 않게 되므로 카메라 거리에 따라 근거리 및 원거리 스트로크의 폭을 설정하고 보간하는 디테일 조정도 있습니다.
2. 서피스 텍스처 성능
우리는 원본 그림에 있는 것을 표현하는 것을 목표로 하고 있으므로 획은 단색이 아니라 종이에 연필로 그리는 느낌을 재현해야 합니다. (여기에 명시되지 않은 원본은 노이즈 매핑을 샘플링해야 합니다.)
3. 구획의 컬러 경향
또한 원화에서 자주 사용되는 부분에 따라 획의 색상을 조정하는 경향도 있습니다. 예를 들어 오른쪽의 일몰 장면에서는 원래의 검은색 획이 빛에 의해 비춰지는 것처럼 컷씬 장면에서도 획 색상이 조정됩니다. 이 방법을 사용하면 그림의 톤을 통일할 수 있습니다.
림 라이트
림 라이트는 얼굴과 몸의 두 가지 트리트먼트로 구분됩니다.
1. 얼굴(신체 부위)
얼굴의 경우 가장 중요한 것은 얼굴과 코의 하이라이트를 표시하고 카메라 각도에 따라 변화를 제어하는 것입니다. 원본 그림에서 볼 수 있듯이 코와 윤곽선 부분에 매우 강한 림 라이트가 있습니다. 하지만 텍스처에 그냥 죽어 그려져 있으면 카메라 각도에 따라 회전하는 과정의 변화가 부족합니다.
따라서 마스크 매핑을 사용하여 실루엣의 양쪽과 코의 양쪽에 하이라이트를 4채널의 RGBA로 배치하고 카메라 위치 표시에 따라 채널을 전환하여 제어합니다.
2. (인간) 신체
몸체의 림라이트는 얼굴과 다르므로 모델 자체의 노멀을 기반으로 셰이더에서 직접 계산하며, 여전히 제어 스위치, 강도 및 색상을 구역화합니다.
계산은 노멀과 시선의 도트 곱인 간단한 림라이트 방식을 사용합니다. 여기에 시선과 광원의 방향에 도트 곱을 곱하여 광원이 비추는 림 부분만 밝게 하여 얼굴 림 조명과 같은 방향이 되도록 할 수 있습니다.
미묘한 색상 조정으로 각 환경에 맞게 림 라이트 성능을 맞춤화할 수 있습니다.
Hatching
햇칭에는 몇 가지 요소가 포함되어 있습니다.:
- 강약의 변화
- 부품에 따라 색상과 방향이 다릅니다.
- 양식의 구조를 표현해야 하는 곳에 칠하기
- 그림자 여부에 따라 색을 칠합니다.
텍스처에 색상, 강도 및 방향의 선 표현을 그릴 수 있지만 그림자에서 선을 다양하게 만들 수 있도록 셰이더에서 합성된 전용 알파 채널 시트를 사용합니다.
이를 밝은 영역의 표현과 비교하면 그림자에서 스트로크가 더 무거워지는 것을 알 수 있습니다.
또한 엔진에서 다양한 부품의 색상과 강도를 실시간으로 조정할 수 있습니다.
원화 복원
원본 그림의 3D 표현을 극대화하고 원본 그림에서 손으로 그린 듯한 느낌을 구현하기 위해 수행한 작업은 다음과 같습니다:
알베도 맵에 텍스처를 추가합니다.
처음에는 알베도에 손으로 그린 느낌을 많이 넣었습니다.
셰이더에 텍스처 표현을 추가합니다.
앰비언트 스페큘러 반사 계산을 직접 사용하면 단순한 흰색 조각이 되므로 매핑에 특수 램프 맵을 사용하고 원래 흰색에 색상 스케일을 확장하여 검정과 주황색을 추가하여 양식화된 효과를 얻습니다.
헤어 하이라이트
이방성 하이라이트(엔젤링)와 스팟 하이라이트를 조합하여 광택을 더할 수 있습니다. 이방성 하이라이트의 범위는 하나의 텍스처로 추가적으로 제어되며 원본 텍스처를 더 많이 제공합니다. 각 이방성 하이라이트의 범위와 강도는 매개변수를 통해 조정할 수 있습니다.
또한 컷씬 장면에서 미묘한 색상 및 각도 조정이 이루어집니다.
이 이방성 하이라이트 외에도 원본 그림에 흰색 하이라이트의 범위가 작은 것을 볼 수 있으며, 포인트 라이트 하이라이트 계산 방법을 사용하고 손으로 그린 마스크를 사용하여 범위를 제한하고 마스크의 범위 내에서만 하이라이트를 변경하고 이 둘을 병합하여 최종 하이라이트를 얻습니다.
얼굴 그림자의 경우 처리하지 않으면 눈썹과 콧대 사이의 그림자가 나타나므로 평활화된 노멀과 원본 노멀을 사용하여 원하지 않는 그림자를 블렌딩하고 제거합니다.
눈 표현
눈은 아이 화이트, 아이 블랙, 하이라이트의 세 부분으로 나뉩니다. 이 세 부분을 통해 2D 원화 특유의 과장된 표현을 다룰 수 있습니다. 눈의 검은 부분은 사람의 눈 자체의 구조로 인한 것이며, 검사 맵은 굴절의 입체감을 보여주기 위해 사용됩니다.
패럴랙스 셰이더는 얼음, 보석 등과 같은 굴절 머티리얼도 사용합니다. 반투명 머티리얼을 사용하는 것처럼 보이지만 실제로는 불투명 굴절 머티리얼입니다.
무기의 속도 감각 표현
동작의 속도를 표현할 때는 변형이나 그림자를 사용하는 것이 일반적입니다. 따라서 오브젝트를 수동으로 조작해야 하며, 과장된 애니메이션에 필요한 모델을 생성하기 위해 무기 모델의 가장자리를 자동으로 세분화하는 툴을 사용합니다.
요약
요약하자면, 그랑블루 시리즈의 각 시대별 캐릭터의 특징을 분석하고 이를 각각 3D로 복원했습니다. 잘 사용하지 않는 렌더링 방법보다는 원작의 특징을 복원하는 데 더 중점을 두었습니다.
렌더링 부담 줄이기
성능과 더불어 원활한 게임 경험도 추구해야 합니다. 렌더링 성능의 품질을 유지하면서 데이터 양을 줄이는 것은 4인 온라인 전투 게임에서 피할 수 없는 과제입니다.
크게 두 가지 작업을 했는데, 하나는 사양을 만들고 각 캐릭터에 대한 한도를 설정하는 것이었습니다. 버텍스 수, 텍스처 수, 뼈대 수 등입니다. 다른 하나는 최적화였는데, 이는 오래된 방식이지만 품질을 유지하면서 최적화할 수 있는 좋은 방법입니다.
규범 개발
캐릭터, NPC, 적, 무기에 대한 다양한 사양을 개발했으며 이번에는 캐릭터만 예로 들어보겠습니다.
사양은 같은 화면에 표시할 수 있는 최대 모델 수에서 파생된 다음 개별 모델 표준으로 추정됩니다.
이것은 매우 간단 해 보이지만 실제로는 개인과 개인의 역할이 매우 다를 것입니다. 예를 들어 많은 캐릭터가 스킬 성능을 가지고 있으며 이번에는 모델 표면 수의 분포도 고려해야합니다.
프로젝트에 따라 프로세스가 크게 다르므로 프로세스에 대해 간략하게 설명합니다:
먼저 감독이 캐릭터와 캐릭터의 액션에 나타날 중요한 오브젝트를 선택하고, 임시 테스트 모델의 액션에 필요한 오브젝트 수에 따라 캐릭터 모델을 준비한 다음 엔진 임시 조립, 테스트, 액션을 결정한 다음 표시되는 최대 버텍스 수를 계산할 수 있으며 캐릭터에 사용할 수있는 버텍스 수를 직접 뒤로 되돌릴 수 있습니다.
예를 들어 여기에서는 칼자루에 더 많은 얼굴을 할당했으며 무기와 상의를 위한 예산을 최대한 줄여야 합니다.
검에 스킬을 넣을 때 7개의 스킬이 동시에 나타나며, 데이터 양을 줄이기 위해 동일한 바디 모델을 사용합니다. 실루엣과 눈에 잘 띄는 부분의 패싯 수를 늘리기 위해 보이지 않는 부분에 할당된 패싯 수를 최소화했습니다.
검신의 모델을 다양하게 보이게 하기 위해 헤드기어를 바꿉니다. 하지만 재사용이라는 느낌은 여전히 분명하게 드러나기 때문에 VFX로 약간의 마스킹을 할 수 있습니다. 또한 검의 신이 들고 있는 무기와 마찬가지로 무기마다 하나의 맵을 할당하는 대신 7개의 무기를 하나의 맵으로 병합하여 메모리 데이터 양을 줄였습니다. (유연성이란 이런 것이죠?)
최적화
LOD
얼굴 제작에는 Simplygon을 사용하지만, 세부적인 얼굴 축소 설정은 툴의 프리셋을 통해 자동으로 LOD 모델을 생성하여 모양을 유지하면서 지정된 버텍스 수로 축소하는 사용자 지정 내장 툴을 사용합니다.
캐릭터와 카메라 사이의 거리만으로 전환을 수행하면 캐릭터와 캐릭터 사이의 크기 차이로 인해 품질 차이가 크게 발생합니다. 따라서 LOD의 전환 규칙은 캐릭터의 화면 비율입니다. 작은 캐릭터는 먼저 LOD를 전환하고 큰 캐릭터는 나중에 LOD를 전환합니다.
텍스처 최적화
캐릭터 장면이 통합될 때까지 전체 데이터 압력을 확인합니다. 결과에 따라 매핑이 다시 압축되는 등의 작업을 거칩니다.
또한 각 요소를 오브젝트별로 조정하여 메모리 크기를 줄일수록 게임이 더 부드러워지고, 품질을 유지하면서 덜 중요한 일부 오브젝트의 해상도를 조정하는 것이 핵심입니다.
그랑블루의 세계관에서는 마을에 NPC가 많기 때문에 등장 횟수가 적고 중요하지 않은 NPC와 등장 횟수가 많은 NPC의 해상도를 낮췄습니다.
품질을 보장하기 위해 아래쪽뿐만 아니라 위쪽도 조정할 수 있습니다. 특정 시각적 중심부에 대해서는 해상도를 높이고, 영향이 거의 없는 영역에 대해서는 해상도를 하향 조정할 수 있습니다. 상향 조정과 하향 조정을 결합하면 메모리 용량을 변경하지 않고도 화질을 개선할 수 있습니다.
신속한 결과물 유지
마지막으로 빠른 결과물의 유지 관리가 있습니다. 그랑블루의 캐릭터 개발 프로세스는 다음과 같습니다:
참조 원본 도면 => 잠정 모델 => 하이 모델 => 로우 모델 => 매핑. 순서대로 살펴보겠습니다.
임시 모델
임시 모델은 최소한의 정확도 기준으로 만들어지며, 이 단계는 주로 캐릭터의 대략적인 윤곽과 볼륨감을 결정하기 위한 것입니다. 캐릭터 신체의 중요한 구성 요소를 표현하기 위해 관절의 간단한 분할만 필요합니다.
앞서 언급했듯이 잠정 모델은 주로 후속 작업의 검증을 위한 것입니다. 또한 제자리에 맞지 않는지, 캐릭터의 특성을 잘 표현하는지 등 초기 문제를 빠르게 파악하는 데 도움이 될 수 있습니다. 이 단계는 후속 재작업 비용을 줄이는 데 매우 중요합니다.
높은 모듈러스
이전 임시 모델 단계에서도 윤곽이 결정되었으므로 키가 큰 모델은 크게 변경되지 않습니다. 일부 패브릭 디테일은 조정 비용을 절약하기 위해 SubstancePainter에서 생성됩니다.
또한 텍스처를 만들기 전에 미리 텍스처링을 수행하여 사실적으로 존재하는 머티리얼을 참조로 사용하여 최종 텍스처 표현을 결정합니다. 이를 통해 캐릭터와 캐릭터 사이에 설득력과 통일감을 더할 수 있어 이후 수정에 드는 비용을 줄일 수 있습니다.
인게임 로우 모드
- 마지막으로 게임에서 사용되는 로우 모델은 처음에 설정한 표준을 따라야 합니다.
개발 효율성을 위해 일반 모델을 프라임으로 도입했습니다.
처음부터 UV를 토폴로지적으로 퍼뜨릴 필요 없이 조정만 하면 됩니다.
또한 의상을 제작할 때 시간을 단축하기 위한 베이스로도 사용할 수 있습니다.
일반 규칙
마지막으로 그룹 전체에 통일된 몇 가지 모델링 규칙을 개발했습니다.
예시:
- 일반 메쉬를 사용합니다.
삼각형이 아닌 사변형을 사용합니다.
딱딱한 모서리는 피하세요.
머리카락이 한 묶음으로 흔들릴 때는 메시를 분리합니다.
텍스처 페인팅
모델 텍스처는 서브스턴스페인터에서 다양한 채널의 셰이더를 사용하여 칠합니다.
텍스처 채널을 잘못 구성하면 렌더링 오류가 발생할 수 있으므로 전용 텍스처 채널을 커스터마이징할 때 가장 어려운 점은 가져오기와 내보내기 간의 일관성을 유지하는 것입니다. 유니티는 가져오기 및 내보내기의 효율성을 높이기 위해 몇 가지 도구를 사용합니다.
예를 들어 캐릭터 파트마다 다른 셰이더를 만드는 과정에서 수동으로 설정하면 가져오기 및 내보내기 시 실수가 발생하기 쉽습니다. 그래서 저희는 작업을 간소화할 수 있는 툴을 만들어 달라고 TA에 요청했습니다. 이 도구를 사용하면 임포트 중에 머티리얼 구체에 셰이더를 할당할 수 있습니다.
텍스처를 생성한 후 엔진으로 임포트해야 하지만 반복 작업과 수정이 자주 필요하기 때문에 임포트/익스포트 단계에서 더 많은 시간이 낭비됩니다.
그래서 엔진의 렌더링 환경과 유사한 렌더링 환경을 서브스턴스페인터에 구축하여 DCC와 엔진에서 다시 확인할 필요 없이 DCC에서 반복 작업을 할 수 있도록 했습니다.
'TECH.ART.FLOW.IO' 카테고리의 다른 글
[게임사 소개] 중국 FireWo Games 게임스 개발한 the bustling world. (0) | 2025.01.17 |
---|---|
[INDEX] Light model (0) | 2025.01.17 |
[OPEN JOB] 넷이즈 및 해피 엘리먼트 테크아트 포지션 (3) | 2025.01.11 |
[번역] HDRP에서 적응형 가상 텍스처 구현하기 (0) | 2025.01.09 |
열] 신동 네트워크 신작 Etheria: Restart 사전 예약 시작. (0) | 2024.12.27 |