빠른 시작: 팩 사용과 제작
MMDX12 앱 내 셰이더 관리자 사용법, 캐릭터별 적용, 슬라이더 조절 및 실시간 핫 리로드를 다룹니다.
앱에서 셰이더 팩 다루기
MMDX12 상단 바의 셰이더(Shader) 탭(라이브러리와 벤치마크 사이)을 클릭하면 셰이더 팩 관리자가 열립니다.
설치됨 화면
현재 내 컴퓨터에 있는 모든 팩을 카드 형태로 보여줍니다:
- 정보 표시: 팩 미리보기, 이름, 버전, 제작자, 태그, 출처 뱃지(기본 제공, 설치됨, 온라인).
- 상태 확인:
사용 가능: 매니페스트가 정상이며 즉시 사용할 준비가 된 상태.컴파일됨: 현재 실행 세션에서 성공적으로 컴파일되어 사용 중인 상태.컴파일 오류: HLSL 문법이나 셰이더 컴파일 실패 시 붉은 상태로 표시되며, 상세 패널에 컴파일러 로그가 출력됩니다.호환되지 않음: API 버전이 앱보다 높거나 요구 앱 버전(minAppVersion)이 최신인 경우.매니페스트 오류:pack.json구문이 잘못되었거나 필수 항목이 빠진 경우.중복: 동일한 ID를 가진 다른 팩이 이미 존재하여 비활성화된 경우.
- 주요 기능 버튼:
폴더 열기: 선택한 팩의 폴더를 파일 탐색기에서 엽니다.삭제: 설치된 팩이나 온라인 다운로드 팩을 삭제합니다 (기본 제공 팩은 삭제 불가).zip 설치: 파일 선택 창을 띄워.zip팩을 직접 설치합니다. 창 위로.zip파일을 드래그 앤 드롭해도 즉시 설치됩니다.새 팩 만들기: 템플릿으로부터 나만의 새 팩을 즉시 생성합니다.다시 불러오기: 팩 파일들을 다시 스캔하고 캐시를 새로고침합니다.
온라인 갤러리 화면
공식 웹 갤러리(https://mmdx.codingbot.kr/shader-packs/index.json)에서 배포되는 팩 목록을 둘러보고 클릭 한 번으로 설치할 수 있습니다:
- 설치: 버튼 클릭 시 다운로드 파일의 SHA-256 해시와 파일 크기를 매니페스트와 대조 검증한 후 안전하게 설치합니다.
- 업데이트: 이미 설치된 팩보다 갤러리에 더 높은 버전이 올라온 경우
업데이트버튼이 활성화됩니다.
캐릭터에 팩 적용하기
셰이더 팩은 전역 설정이 아니라 캐릭터 모델 단위로 적용됩니다:
- 라이브러리(Library) 화면:
- 캐릭터를 선택한 뒤 오른쪽 속성 패널에서 셰이더 행을 클릭합니다.
- 검색창에서 팩 이름을 검색하거나 목록에서 선택합니다 (
MMD 기본을 선택하면 표준 음영으로 복귀).
- 팩 설정(파라미터 슬라이더):
- 팩을 선택하면 하단에
팩 설정슬라이더 목록이 나타납니다. - 그림자 경계, 부드러움, 림 라이트 세기 등을 실시간으로 조정할 수 있습니다.
- 사용자가 변경한 파라미터만 모델별 설정으로 저장됩니다.
- 팩을 선택하면 하단에
- 재생(Play) 모드 중 실시간 조절:
- 재생 화면 하단 바의 다이아몬드(◇) 모양 버튼을 누르면 동일한 파라미터 조절 창이 열려 실시간으로 변화를 확인할 수 있습니다.
- 스튜디오(Studio) 편집기:
- 모델을 선택하고 인스펙터의
셰이더항목에서 팩을 지정합니다. 프로젝트 파일(.mmdxproj의shader키)에 함께 저장됩니다.
- 모델을 선택하고 인스펙터의
- 명령줄 실행 옵션:
- 특정 실행에서만 팩을 강제 적용하고 싶다면 명령줄 인수로 전달할 수 있습니다:
MMDX12.exe --shader-pack hoyo_toon--shader-pack none을 주면 모든 팩을 끄고 기본 셰이딩으로 실행합니다.
- 특정 실행에서만 팩을 강제 적용하고 싶다면 명령줄 인수로 전달할 수 있습니다:
새 팩 제작과 실시간 핫 리로드
직접 셰이더를 작성할 때 앱을 껐다 켤 필요가 없습니다:
- 셰이더 관리자에서 새 팩 만들기를 클릭하고 ID와 이름을 입력합니다.
<MMDX12>/shader_packs/<내 팩 ID>/폴더가 생성되며, 주석이 달린 기본surface.hlsl과pack.json이 준비됩니다.- Visual Studio Code 등의 편집기로 해당 폴더를 엽니다.
- 라이브러리 화면에서 내가 만든 팩을 캐릭터에 적용해 둡니다.
surface.hlsl이나pack.json을 저장하는 순간, MMDX12가 파일 변경을 감지하여 백그라운드에서 DXC로 즉시 다시 컴파일하고 화면에 반영합니다 (핫 리로드).- 만약 문법 실수가 있더라도 앱이 꺼지지 않고 빨간색 알림과 함께 컴파일 로그가 나타나며, 모델은 안전하게 기본 음영으로 유지됩니다.