
저자.

넷이즈에서도 근무 했었던 테크니컬 아티스트이다.
소개
최근 그랑블루 판타지 리링크의 캐릭터 렌더링 공유 자료를 보고 그 렌더링 스타일이 마음에 들어서, 공식 자료와 실제 게임 효과를 바탕으로 개인적으로 캐릭터 렌더링을 재현해보았습니다.
위의 최종 결과와 같이, 요약하자면 NPR과 PBR을 결합한 스타일라이즈드 렌더링입니다. 이 시리즈는 전체 캐릭터 렌더링 구현 과정을 기록했으며, 시리즈 마지막에 프로젝트 링크를 첨부할 예정이니 여러분의 프로젝트에 도움이 되길 바랍니다.
얼굴 효과
먼저 최종 프로젝트의 얼굴 효과를 보여드리겠습니다:
그럼 우리는 얼굴 효과부터 시작하여, 전신 렌더링 효과를 하나씩 재현해보도록 하겠습니다.
얼굴 렌더링은 크게 3가지 부분으로 나뉩니다- 기본 셰이딩, 림라이트, 외곽선
얼굴 기본 셰이딩

고유색을 샘플링한 결과
GBFR의 얼굴 고유색은 매우 단순한데, 베이스맵을 직접 샘플링하는 것만으로도 충분합니다. 효과는 전적으로 아트워크에 달려있죠. 물론 이를 기반으로 빛과 그림자 계산이나 3S 효과를 추가할 수도 있지만, 이 글에서는 가장 간단한 방식만 사용하도록 하겠습니다

기본 셰이딩 코드 부분
얼굴 림라이트
얼굴 렌더링은 전통적인 SDF 맵 그림자나 법선 벤딩 방식으로 명암을 구분하지 않고, 대신 림라이트 부분을 사용하여 전체적인 시각적 밝은 부분을 대체했습니다. 이렇게 함으로써 스타일라이즈드한 효과를 더욱 강화하고, 전통적인 셀 셰이딩이 만들어내는 "음양 얼굴" 현상을 방지할 수 있습니다.

그랑블루 판타지 원화 설정의 림라이트 디자인

전통적인 셀 셰이딩으로 인한 음양 얼굴
림라이트 구현 및 코드

프로젝트의 림라이트 효과
구현 원리는 코와 얼굴 좌우를 포함한 총 4개 부분의 림라이트 채널이 포함된 마스크를 기반으로 하여, 시점 방향과 우측 및 전방 방향에 따라 각각 전환되도록 하는 것입니다.

얼굴 테두리 조명 마스크 맵 및 개별 채널

림라이트 핵심 코드 부분
얼굴 외곽선

외곽선 원리 설명
전통적인 멀티패스 백페이스 확장 방식의 외곽선을 사용하였으며, 색상과 굵기에 대한 제어를 추가했습니다

공식 비디오에서 외곽선 두께의 변화

공식 영상에서 외곽선 색상의 변화
얼굴 외곽선 구현 및 코드

프로젝트의 외곽선 클로즈업

외곽선 부분의 핵심 코드 조각
여기서는 외곽선 두께를 실시간으로 편집하기 쉽도록 정점 색상을 수정하는 도구를 추가로 작성했습니다
법선 스무딩 참고 먀우나이가: Unity 법선 스무딩을 이용한 카툰 외곽선
외곽선 색상은 매우 간단합니다. 외곽선 패스에서 목표 색상을 출력하기만 하면 됩니다. 만약 하나의 머티리얼에 여러 외곽선 색상이 있다면, 서로 다른 외곽선 색상 영역의 그레이스케일 채널 정보를 추가로 입력해야 합니다.

외곽선 색상 코드 부분
헤어 효과
먼저 최종 프로젝트의 헤어 효과를 보여드리겠습니다:
헤어 렌더링은 크게 3가지 부분으로 나뉩니다- 기본 셰이딩, 이방성 하이라이트, 외곽선
리소스 분석
우선, 언팩된 리소스를 살펴보면 헤어와 관련된 주요 요소는 디퓨즈와 마스크 맵입니다. 알파 채널은 모두 순수 흰색이므로 RGB만 사용된다고 볼 수 있습니다.

디퓨즈와 마스크 맵
디퓨즈의 RGB는 색상을 나타내므로 특별히 설명할 것이 없습니다. 그럼 먼저 마스크의 각 채널 정보를 살펴보도록 하겠습니다.

하이라이트 노이즈로, KK 하이라이트의 오프셋을 구현하여 입체감을 더해줍니다

플로우맵은 모발 뿌리에서 끝까지의 마스크로, 부분 색상 조정 등의 효과에 사용할 수 있습니다

AO는 환경광 차폐에 사용되어 구조감을 높입니다
이방성 하이라이트

헤어의 이방성 하이라이트에 대한 공식 설명 시연

프로젝트의 헤어 이방성 하이라이트 효과 시연
여기서는 이방성 하이라이트를 구현하기 위해 고전적인 Kajiya-Kay 모델을 사용했습니다.

카지야-카이 모델
이 부분의 코드:

헤어 하이라이트 코드
확산 반사

프로젝트의 헤어 디퓨즈 리플렉션 디스플레이
코드 구현:

코드의 헤어 디퓨즈 반사 부분
헤어 외곽선
외곽선 부분은 특별한 것이 없으며, 이전 장을 참고하시면 됩니다 (법선 스무딩을 수정했음에도 약간의 결함이 있지만, 결함이 크지 않아 개인적으로 받아들일 만한 수준이라 추가 처리는 하지 않았습니다)
헤어 엔젤링 (실현되지 않음)

엔젤링 효과 프로젝트의 공식 디스플레이는 해당 하이라이트 마스크 맵을 얻지 못했기 때문에 달성하지 못했기 때문에 아마도 원근 클램핑을위한 아이디어는 ndotv * 하이라이트 마스크 맵 일 것입니다.
위에서는 전체 머리 부분을 구현했으며 다음에서는 눈 부분에 대한 렌더링 효과를 구현하는 방법을 다룰 것입니다.
'TECH.ART.FLOW.IO' 카테고리의 다른 글
미호요 창업자가 설립한 AI 기업 Anuttacon (0) | 2025.04.03 |
---|---|
Arm ASR(Arm 정확도 초해상도)로 업스케일링 혁명에 동참하세요. (0) | 2025.04.03 |
큰 거 오네요. 팀씨티 파이프라인 (0) | 2025.03.24 |
독점 | 넷이즈의 젠 부문 책임자가 떠난다, '코드네임: 클라우드 아틀라스' 프로젝트가 통과되지 못하다 (0) | 2025.03.18 |
[YOUTUBE] Unreal Engine 5.5: Android Target Platform Setup & Build .APK | Step-by-Step Guide (0) | 2025.03.14 |