본문 바로가기

MikuMikuDance/MikuMikuEffect

NCHL Shader v 1.0


낫토카레 님의 NCHL 셰이더 1.0 버전입니다.

구체적으로는 하프 램버트 셰이더와 소프트 섀도우가 결합된 형태입니다.






【MMD】天使ちゃんとハートキャッチ!【エフェクト配布】

출처 : sm13831741

Readme 파일에서 내용을 발췌하여 올려두니 사용에 참고하시기 바랍니다.


1. 들어가며

MikuMikuDance&MikuMikuEffect 로 사용할 수 있는 효과입니다.
아마추어가 눈동냥으로 만든 것이므로 이것저것 이상합니다.
무력개입P, 데이터P, そぼろ, Furia 님 등의 효과로부터 코드를 빌려왔습니다.

경면반사에는 Cook-Torrance 의 반사 모델을 사용하고 있습니다.
본래는 금속 광택의 표현에 사용되는 모델입니다만, Phong 보다는 질감이 좋아지는 듯 합니다.

http://journal.mycom.co.jp/column/graphics/059/index.html

역광에는 림 라이트를 사용하고 있습니다.
역광에서 피부나 옷감의 면의 윤곽 부근이 밝아지는 현상을 유사적으로 표현한 것입니다.

스피어 맵은 사용할 수 없게 되지만, 노멀맵은 사용할 수 있습니다. (Full 버전인 경우에만)

http://d.hatena.ne.jp/penciler/20110105/p1

위에 열거한 효과의 파라미터를 얻기 위해 기능을 전부 사용하려면 모델의 재질을 조정할 필요가 있습니다.
또한 MMD 표준 셰이더를 전재로 튜닝한 모델들도 조정이 필요합니다.

여유가 있다면 mqdl 님의 SSAO 필터와 병용을 추천합니다.
음영의 표현이 한층 업 되므로 한번 시험해 보세요.

http://www.nicovideo.jp/watch/sm13796840


2. 면책사항

본 효과의 사용에 의해 발생할 수 있는 손해에 대해서 작자는 일절 책임을 지지 않습니다.
자기 책임으로 사용해 주세요.


3. 사용 환경

MikuMIkuDance Ver 7.23 이상
MikuMikuEffect Ver 0.23 이상
셰이더 모델 3.0 이상 그래픽 카드


4. 사용 방법

PostDiffuse.x
ShadowMap.x
Lamp0.x
Lamp1.x
AmbientLight0.x
AmbientLight1.x

를 읽어들입니다. 

PostDiffuse는 Diffusion필터를 개조 한 것입니다.
발색을 선명하게 하며 피부를 매끈매끈하게 보이게 하는 효과가 있습니다.
묘사순서는 가능한 한 앞으로, 모델보다 앞에 묘사되도록 해 주세요.
단, SSAO 를 사용하는 경우는 SSAO보다 이후가 좋다고 생각합니다.

ShadowMap.x의 Tr 로,  셀프 그림자의 투명도를 제외하고 그림자를 떨어뜨리는 최소량을 설정할 수 있습니다.
여기서 설정한 값보다인가 투명도가 작은 부분은 그림자를 떨어뜨리지 않게 됩니다.
(효과는 셰이더 적용 후가 아니면 모릅니다만)

Lamp0.x
Lamp1.x
AmbientLight0.x
AmbientLight1.x

는 파라미터 취득의 더미이므로 비표시로 해 주세요. 

MME 로부터 효과 할당 화면을 열어, 셰이더를 적용하고 싶은 모델명을 선택합니다 (복수 선택가능).
그 상태로 model_full.fx나 model_test.fx를 효과 할당 화면에 드래그&드롭 합니다.
full 쪽은 재질을 본효과용으로 조정해 두지 않으면 사용할 수 없기 때문에 주의해 주세요. 

광원은 MMD 의 조명을 주 광원으로 사용하며, 보조용으로 감쇠 없음의 점광원과 지향성 광원을 각각 2개씩 사용합니다. 
           
주 광원은 MMD 의 조명 패널로 조작 합니다. 가장 영향이 큰 광원으로,
셀프 그림자가 떨어지는 것은 이 광원만입니다. 

Lamp0.x, Lamp1.x는 감쇠 없음의 점광원입니다.
주 광원에서 비추지 못하는 부분을 밝히기 위한 보조용입니다. 

액새서리 패널의 X, Y, Z 값이 광원의 위치가 됩니다.
Rx, Ry, Rz 값은 광원의 색이 됩니다.
각각 R G B 에 대응해 0, 0, 0 으로 검은색, 1, 1, 1로 흰색이 됩니다.
Si 값은 광원의 강도가 되며, 감쇠가 없기 때문에 별로 조절할 필요는 없습니다.

AmbientLight0.x,  AmbientLight1.x는 림 라이트와 스페큐라만 반영되는 지향성 광원입니다.
하이라이트를 강하게 하거나 하기 위한 보조 광원입니다만, 사용법은 자유입니다.

광원의 색과 강도는 전과 같습니다만, 스페큐라의 강도에는 상한선이 있습니다.

지향성 광원이므로 X, Y, Z는 광원의 위치가 아니라 광원의 방향이 됩니다.
예를 들어 1, -0.5. -0.5 는 100, -50, -50과 같습니다.
이해가 어렵다면 MMD의 주 광원과 같다고 생각하시면 됩니다.
주 조명의 X, Y, Z 값을 조절하는 것과 같은 원리로 보시면 됩니다.

Full 버전을 사용하기 위해서는 모델의 재질을 개조할 필요가 있습니다.

효과 할당 화면에서 부분집합 전개를 사용해,
조정하고 싶은 재질에 model_test'.fx를 사용하여 파라미터를 조절합니다.
.fx 파일은 텍스트 에디터로 열 수 있지만, Shift-JIS 편집이 가능해야 합니다.

http://mmdguide.tistory.com/379

잘 모르시는 분은 MME 편집 툴을 사용할 수도 있습니다.

http://mmd.dip.jp/files/75

스페큐라의 파라미터로서 Roughness, Fresnel, SpecFactor

림 라이트의 파라미터로서 RimFacrot 변수가 있습니다.

.fx 파일에서 이 수치를 변경하면 경면반사와 림 라이트의 효과가 변합니다.

Roughness는 거친 정도, Fresnel은 반사율을 결정합니다만,
실제로 한번 조작해 보는 편이 이해가 쉬울 것 같습니다.
SpecFactor는 스페큐라 가산시에 거는 보정치로서, 기본적으로 0.1인 채로 문제 없습니다.
0.0 ~ 1.0 사이의 값을 추천합니다.

RimFactor를 조절하며 림 라이트의 강도를 변경할 수 있습니다.
0.0 ~ 2.0 사이의 값이 좋다고 생각합니다.

원하는 질갑이 만들어지면 PMD에디터로 모델을 열어,
해당 재질의 Specular의 R 값에 Roughness의 값, G에 Fresnel의 값, B에 SpecFactor의 값을 넣습니다.
Shiness에는 RimFactor 값을 대응시킵니다.

스피어 맵의 위치에는 노멀맵의 텍스쳐를 지정할 수 있습니다.
확장자는 spa, sph 아무거나 상관 없습니다.

Diffuse와 Ambient 값을 필요에 따라 변경해 주세요.
텍스쳐가 설정된 재질이라면 Diffuse는 0.95 ~ 1.0, Ambient는 0.5 정도가 좋습니다.
텍스쳐가 없는 재질은 스피어 맵에 의존하는 경우가 아니라면 Diffuse와 Ambient 값을 변경할 필요는 없습니다.

ToonTexture의 좌측아래 1픽셀의 색에 의해 그림자의 색과 전체적인 색감이 정해지므로,
필요한 경우 조정할 필요가 있습니다.

sample.pmm이 참고가 될 지도 모르겠습니다.


그 외, 효과의 개조/배포 등은 자유입니다.
좀더 사용하게 쉽게 바꾼다던지 가볍게 한다던지 해주시면 기쁘겠습니다.



------------------------------------
이것 말도 좀더 있는데

눈이 뽑힐 것 같으므로 -_-; 나머지는 내일 올리겠습니다.


띠용



덧 ) 2011/8/23

나머지는 다음에 올리겠습니다 -_-


덧2) 2011/11/4

NCHL용 모델 재질 설정 게시물에서 다음 내용을 계속합니다.







'MikuMikuDance > MikuMikuEffect' 카테고리의 다른 글

MangaTears ver 0.0.1  (1) 2011.12.13
MangaSweat.fx ver 0.0.2  (0) 2011.12.12
스테이지 연출용 효과  (1) 2011.12.01
Heven Filter ver 0.0.1  (0) 2011.11.30
Otome Filter ver 0.0.2b  (0) 2011.11.29
RainLite 비 내리는 효과 v 1.1  (2) 2011.08.20
Diffusion 7  (1) 2011.07.13
DetailUp_for_Landscape.fx v0.42b  (0) 2011.06.12
Movie.fx  (3) 2011.04.02
하프 램버트 셰이더  (4) 2011.03.06