본문 바로가기
Myong Toon

MyongToon 쉐이더 관련

by Myong_ 2025. 2. 26.

【 MyongToon Shader 】

 

Booth :

 

Myongtoon - myong - BOOTH

묭툰(Myongtoon)은 X - @MumyongA 가 개발한 3D 버츄얼 스트리밍용 툰 쉐이더입니다. Myongtoon(Myongtoon)は X - @MumyongA が開発した3Dバーチャルストリーミング用トゥーンシェーダーです。 Myongtoon is a toon sha

myong.booth.pm

 

 

 

 

 


 

 

안녕하세요.
MyongToon Shader(이하 묭툰) 개발자이자

현재 치지직에서 버추얼 스트리밍을 하고있는 무묭A 입니다.

 

현재 공개된 쉐이더와 관련하여 여러 말이 오가는 것을 인지하고 있습니다.

관련하여 묭툰에 대한 간단한 설명과 몇 가지 오해에 대한 해명을 하고자 합니다.

 

1. 묭툰(MyongToon) 이란 무엇인가?

 

묭툰은 VSeeFace(VSF)Unity Built-in Render Pipeline 환경에 특화된 Toon 셰이더입니다.

또, PBR(Physically Based Rendering) 기반이 아닌, ToonRamp 기반의 카툰 렌더러 셰이더입니다.

실시간 방송 환경에서 안정적인 퍼포먼스와 명확한 명암 표현을 목표로 설계되었습니다.

 

2. 왜 만들게 되었는가?

 

저는 현재 버추얼 스트리밍을 하고 있는 한 명의 스트리머입니다.

 

버추얼 스트리밍 프로그램들은 기본적으로 컴퓨터의 사양을 꽤 많이 차지합니다.

저는 송출용 컴퓨터와 게임용 컴퓨터를 따로 두는, [투 컴퓨터 송출 세팅]을 사용하고 있지 않기 때문에

Warudo, Meligo와 같은 무거운 버추얼 송출 프로그램을 사용하기 어려운 환경에 있었습니다.

 

저의 방송 컨텐츠는 종합 게임 스트리밍이 주이다 보니, 비교적으로 가벼운 Vseeface(VSF)를 주력으로 방송을 하고 있었습니다.

 

닐로툰(nilotoon)의 림라이트와 포스트 프로세싱 효과는 정말 아름답습니다.

한 눈에 봐도 퀄리티가 팍 차이나는 것이 눈에 보입니다.

 

하지만 닐로툰은 Warudo Pro, Meligo 같은 URP 환경에서만 동작하며,

Built-in 환경만을 지원하는 Vseeface 에서는 사용할 수 없습니다.

 

물론, Shoost와 같은 추가 보정 프로그램을 사용한다면 닐로툰과 비슷해보이도록 표현할 수 있지만,

그만큼 송출에 필요한 사양이 높아지는 것이 현실입니다.

 

VSF로 방송하시는 분들은 저처럼 직접 몸으로 느끼셨겠지만…

이러한 부분에서 항상 아쉬움을 느꼈습니다.

 

릴툰이라는 훌륭한 무료 쉐이더가 존재하지만,

저는 개인적으로 닐로툰의 '선명하고 경계가 확실한 림라이트'가 너무 부러웠습니다.

 

그래서, 가볍게 VSF 환경에서 원하는 Toon 표현을 얻기 위한 셰이더를 직접 만들기 시작했습니다.
그 결과가 바로 묭툰입니다.

 

3. 그래서 이 쉐이더의 특징이 뭔가?

 

1. 묭툰은 기본적으로 Unity Built-in Render Pipeline 기반으로 설계된 쉐이더입니다.

- 따라서, Built-in 기반 다른 쉐이더(릴툰, 포이요미 등)와 같은 파이프 라인을 타므로, "당연히" 병용 사용이 가능합니다.

- 위 처럼, 파이프라인의 차이로 URP 쉐이더와는 동시에 사용할 수 없습니다.

 

2. 묭툰은 PBR 기반이 아닌, ToonRamp 기반으로 설계된 커스텀 쉐이더입니다.

(*쉽게 설명하자면 ㅡ Standard Material을 생성하면 기본적으로 적용되어 있는 그것과 다른 표현법을 사용하고 있습니다.)

- Step 함수에 기반하여, 광원의 방향과 노멀, Dot Product 값을 비교하여 '단계적 명암'을 표현합니다.

 

기술적 이야기를 하고자 하는 글이 아니므로, 관련된 글은 추후에 따로 작성하도록 하겠습니다.

 

3. 그래서, 닐로툰, 릴툰 베낀거 아니냐?

 

전혀 사실과 다릅니다.

 

앞서 말씀드렸듯, 묭툰은 PBR 기반이 아닌 ToonRamp 기반으로 설계되었습니다.

반면, 릴툰은 PBR 기반으로 설계되었습니다.

 

닐로툰은 여기에 같이 거론되는 것 자체가 말이 안됩니다.

닐로툰은 URP 기반 쉐이더이기 때문에, 기본 파이프라인 설계 자체가 다릅니다.

 

릴툰은 Unity Standard Shader를 개조한 커스텀 셰이더입니다.
PBR모델 위에 카툰적인 요소들을 커스텀 옵션으로 추가한 하이브리드 셰이더라고 볼 수 있습니다.

▶ PBR 기반 특징
Smoothness, Metallic 등 물리적 표면 반응 구현
빛의 각도, 반사광, 난반사 등 현실적인 표현 가능
Metallic & Roughness _Metallic, _Smoothness 변수 사용
환경 반사 처리 _Reflectance, _ApplySpecular, _UseReflection
에너지 보존 DiffuseColor = Albedo * (1.0 - max(Metallic, Reflectance))
조명 계산 (BRDF 적용) Cook-Torrance BRDF, Lambertian Diffuse

 

릴툰은 코드가 공개된 쉐이더로, 깃허브에서 코드를 확인 가능하며

개발자용 문서 (https://lilxyzw.github.io/lilToon/ja_JP/dev/files.html)에서 그 구조를 확인할 수 있습니다.

 

 

릴툰과 묭툰은 근본적으로 조명과 색을 계산하는 방식부터 다릅니다.

 

항목 묭툰 릴툰
렌더링 방식 ToonRamp 기반 단계 명암 PBR 기반 Standard Shader 개조
명암 처리 Light Intensity 기반의 Threshold로 명암 단절 Metallic-Roughness 기반 부드러운 광원 반응
광원 처리 단순한 Lambertian Diffuse 또는 Custom Diffuse 사용 Cook-Torrance BRDF 반사광 포함
스펙큘러 반사광 단순 RimLight 처리 Fresnel + PBR 반사광 (Specular 적용)
환경 반사(IBL) 없음 (외부 환경 영향을 최소화하는 방식) HDR Reflection 지원 (IBL 기반)
  • 릴툰은 PBR 기반으로 반사광을 처리하는 반면, 묭툰은 단순 ToonRamp로 그림자만 구분하는 구조.
  • 릴툰의 광원 처리는 ‘부드러운 조명 반응’이지만, 묭툰은 ‘단절된 Toon 명암 경계’로 구성.
  • 릴툰은 Metallic-Smoothness를 사용하지만, 묭툰은 Step Function을 기반으로 단계적인 셰이딩을 구현.

즉, 광원 처리 방식 자체가 다르기 때문에 묭툰은 릴툰을 개조한 것이 아니라고 할 수 있습니다.

쉐이더의 근간 자체가 다르니까요.

 

묭툰은 VRC를 목적으로 설계된 것이 아닌, 툰 렌더 + 실시간 방송 성능을 확보하는 것을 목적으로 한 셰이더입니다.

 

PBR 접근법을 과감히 배제하고, ToonRamp 기반의 단계 명암과 Rim 표현만 단순화해

코드 레벨에서도 법선 처리, 명암 경계 분기, Rim 감쇠 로직 등 근본적인 처리 방식이 다릅니다.

 

출력 결과물이 다르다는 것 자체가 로직의 차이를 증명합니다.

 

묭툰의 코드가 궁금하시다면 구매 후 유니티에 넣어보시면 'Shader' 폴더에서 더블클릭으로 확인 가능하십니다.

 

 

4. 근데 왜 유료냐? 왜 이렇게 비싸냐?

 

묭툰의 '방송용 라이센스'는 VRC 등 비영리적 목적이 아닌

'방송 및 영상매체' 에 사용 가능한 영리적, 상업적 사용 가능한 권리를 판매하고 있습니다.

 

또, '제작용 라이센스'의 경우, 쉐이더 자체를 파일에 포함하여 빌드 및 배포할 수 있는 '배포권'을 포함하고 있습니다.

단순 방송, 영상용이 아닌 게임 및 출판물 등에도 사용이 가능합니다.

 

5. 어쨌든 릴툰이나 닐로툰을 참고한거 아니냐?

 

1차적인 목표는 닐로툰을 모방하는 것이었고,

표현적인 부분에서는 쉽게 접근 가능한 릴툰을 많이 참고한 것이 많습니다.

 

릴툰은 MIT 라이선스로 배포됩니다.
MIT 라이선스는 소프트웨어 사용, 복사, 수정, 병합, 배포, 판매 등 자유롭게 허용하는 대표적 자유 라이선스입니다.

묭툰은 처음부터 자체 개발되었으나, 만약 어떤 공개 기술 자료나 코드를 참조했더라도 MIT 라이선스는 법적으로 허용됩니다.

 

6. 코딩 하지도 않던 사람이, AI로 긁어서 개발한거 아니냐?

 

일단 저는 게임업계 현업인이며, 게임 관련 4년제 대학을 나왔습니다.

관련 사항은 전부 증빙할 수 있습니다. 증빙을 원하시는 분은 X의 디엠을 통해 먼저 신분을 증명해주십시오.

관련하여 게임그래픽 관련 학과를 나온 것이 어떤 의미가 있냐는 말이 있어 첨언합니다.
제가 졸업한 학교는 학과이기 이전에 '학부' 개념으로 묶여, 게임소프트웨어 관련 수업을 자유롭게 수강할 수 있습니다.
원하신다면 이수과목도 함께 인증 가능합니다.

교내에서 꾸준히 게임 개발 프로젝트에 참가하였고, 제가 프로그래머로 참여하여 교내 프로토타입 대회에서도 연속으로 수상한 경력이 있습니다. 빨간약이니 굳이 공개적으로 언급하고 싶지는 않습니다.
증빙을 원하신다면 먼저 신분을 증명하시면 제가 졸업증명서, 재직증명서, 수상경력 및 전시경력 인증 등 다 해드립니다.

 

개인 및 교내 프로젝트로 C#, C++, 블루프린트를 약 3년간 다루었고 현재도 지속적으로 C#을 공부하고 있습니다.

 

HLSL은 기존에 알던 지식이 아니라 이번에 공부하게 되며 쉐이더를 작성하였고,

그 과정에서 코파일럿을 사용한 것은 사실이 맞습니다.

 

코딩의 과정에서 스택 오버플로우, 코파일럿 등의 도움을 받는 것이 문제가 된다면 그에 대한 합당한 설명을 요구드립니다.

 

그리고... 기본적으로 HLSL에 대한 이해가 전혀 없는 사람이면 쉐이더 개발을 할 수 없다고 생각합니다..

 

관련 내용은 방송인이라 빨간약 이슈로 여기까지 하겠습니다.

 

7. 향후 계획에 관하여

 

묭툰은 기능 추가 및 사용자 경험 개선을 위한 업데이트를 계속 진행하고 있습니다.

UI 접근성 강화 머테리얼 설정 UX 개선 – 주요 파라미터 배치 변경 및 컬러 피드백 강화
퍼포먼스 최적화 방송 현장 기준 추가 테스트 – 다중 광원 환경, OBS 송출 시 부하 확인 및 경량화
URP 대응 URP 14 대응 완료, URP 12 / 16 대응 준비중
'라온 팀'과 R&D 라온 팀과 협업하여 신규 기능 개발
– HDRP 포팅, VRC 대응 등 협업 관계 체결

 

 

관련 사항은 앞으로 해당 블로그와 X에 업로드 될 예정입니다.

 

해당 게시글로 오해가 조금 풀렸으면 좋겠습니다.

감사합니다.

'Myong Toon' 카테고리의 다른 글

MyongToon 1.2 개발노트 (2)  (0) 2025.03.30
MyongToon 향후 업데이트 관련 공지  (0) 2025.03.24
MyongToon 1.2 개발노트 (1)  (0) 2025.03.22

댓글