festivities/PrimoToon
요약
PrimoToon은 게임 개발에 사용되는 툰 스타일(toon style)의 비주얼 에셋 및 워크플로우를 제공하는 도구입니다. 이 가이드는 Unity 환경에서 아티팩트와 정밀도 문제를 방지하기 위한 텍스처 설정 방법과 필수 공통 텍스처 사용법을 상세히 안내합니다.
핵심 포인트
- 일반 텍스처는 Default 타입, High Quality 압축, Mip Maps 활성화가 권장됩니다.
- 램프 텍스처는 Clamp Wrap Mode를 사용하고 sRGB 속성을 해제해야 합니다.
- 노멀맵과 라이트맵 등은 sRGB 속성 체크를 해제하고 특정 설정을 준수해야 합니다.
- 무기 디졸브/VFX에 필요한 공통 텍스처 세 가지가 정의되어 있습니다.
비디오 가이드
임시 텍스트 가이드
모든 텍스처 중 램프(ramp) 텍스처를 제외한 모든 텍스처는 Texture Type이 Default로, Compression이 High Quality로 설정되어 있고, Generate Mip Maps가 체크됨을 확인하십시오. 아티팩트 및 정밀도 문제를 방지하기 위해 램프 텍스처는 압축이나 mip mapping을 적용해서는 안 됩니다.
모든 램프 텍스처의 Wrap Mode를 Repeat에서 Clamp로 변경해야 합니다. 스페큘러(specular) 램프 텍스처의 sRGB (Color Texture) 속성은 체크 해제해야 합니다.
모든 라이트맵(lightmaps), 노멀맵(normal maps), 그리고 얼굴 그림자 텍스처는 sRGB (Color Texture) 속성을 체크 해제해야 합니다. 앞서 말씀드린 것을 염두에 두고, 노멀맵은 Texture Type이 Default로 설정되어야 합니다. 노멀맵의 텍스처 타입은 무시하십시오!
무기 디졸브/VFX를 위해서는 다음 공통 텍스처가 필요합니다:
- Eff_WeaponsTotem_Grain_00.png ---> Weapon Pattern
- Eff_WeaponsTotem_Dissolve_00.png ---> Weapon Dissolve
- Eff_Gradient_Repeat_01.png ---> Scan Pattern
위의 모든 텍스처는 *sRGB (색상 텍스처)*를 체크 해제하고, 디졸브(dissolve) 텍스처의 Wrap Mode를 Clamp로 설정해야 합니다. 디졸브 및 스캔 라인 (Eff_Gradient_Repeat_01.png) 텍스처에는 압축이나 mip mapping을 적용하지 않아야 합니다.
Unity 프로젝트는 Built-in Rendering Pipeline에서 색상 관리를 위해 기본적으로 Gamma 옵션을 사용합니다. 하지만 이는 Genshin Impact가 사용하는 방식이 아닙니다. 색상 부정확성을 피하려면 Project Settings에서 Color Space를 Linear로 설정해야 합니다.
Genshin Impact 모델에는 자체적인 탄젠트(tangents)가 포함되어 있습니다. 만약 모델을 제대로 추출했다면, 기본값인 Calculate Mikktspace 대신 Tangents 속성이 Import로 설정되었는지 확인하는 것이 좋습니다. 모델에 사용자 정의 탄젠트가 없는 경우, 이 스크립트를 사용하여 쉽게 재생성할 수 있습니다.
문의 / 문제 제기 (Contact / Issues)
- Discord 서버
- 문제가 발생하면 저에게 연락하거나 이슈를 생성해 주십시오.
- 에셋(asset) 요청은 하지 말아주세요.
규칙 (Rules)
- GPL-3.0 라이선스가 적용됩니다.
- VRChat 아바타, 렌더링, 애니메이션 또는 셰이더를 직접 수정하지 않는 모든 형태의 매체에서 이 셰이더를 그대로 사용하더라도, 크레딧을 언급해 주시면 감사하겠습니다. (물론 그렇게 할 필요는 없습니다.)
- 만약 이 셰이더를 본인의 셰이더의 주요 참고 자료로 사용한다면, 적절한 출처를 밝혀주십시오.
- 라이선스 준수와 관련하여, 소스 저장소 링크만 첨부하면 파일을 재배포하는 것은 자유롭습니다.
기여 (Contributing)
제 코드가 첫 프로그래밍 프로젝트라 엉망일 가능성이 높으니 도움을 주시면 감사하겠습니다! 풀 리퀘스트(pull request)를 생성해 주시면 제가 최선을 다해 반영하도록 하겠습니다 ^^
특별 감사 (Special thanks)
이 모든 것이 다음 분들 덕분에 가능했습니다:
- Arc System Works
- miHoYo
- Aerthas Veras
- Manashiku
- 知乎专栏의 분들
- JTAOO
- Unari
- VRC Shader Development Discord
- Razmoth
- radioegor146
- Mero
- Lunatic
- Meliodas
면책 조항 (Disclaimer)
이 셰이더(shader)는 100% 정확할 목적으로 만들어진 것은 아닙니다. 제가 목표로 하는 것은 게임 내의 모습들을 최대한 재현하는 것입니다. 일부 계산은 게임이 실제로 작동하는 방식과 같고, 일부는 제가 임의로 추가한 것들입니다.
비록 이 셰이더가 주로 데이터 마이닝(datamined)된 에셋을 위해 개발되었지만, 본 저장소(repository)는 어떠한 방식으로도 데이터 마이닝을 지지하지 않으며 게임 파일에서 추출하는 도구를 직접 제공할 일은 없을 것입니다.
여기까지 읽으셨다면...
이 셰이더를 사용하는 것은 라이선스에 명시되어 있든 그렇지 않든 완전히 무료입니다. 하지만 - 만약 여유가 있고 저를 지원하고 싶으신 분들께는 제 Ko-fi 여기에서 하실 수 있습니다. 모든 후원과 기부는 감사하며, 각각은 제가 셰이더를 계속 개선하는 동기 부여가 됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub GameDev의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기