1. Zbrush에서 Blender로 내보내기

- ZPlugin > Scale master의 Export to Unit scale 이용한다.
- obj로 내보내짐
- unit에 관계없이 Blender에서 설정된 m 단위로 받아들여짐. ex) Zbrush에서 unit이 1.5mm였다면 Blender로 불러오면 1.5m가 됨
- Preferences > ImportExport의 Import 메뉴에서 eFlipY, eFlipZ, Import Polygroups를 체크하고 Export 메뉴에서 eFlipY, eFlipZ, eFlipMapVert를 체크
- Tool > Export에서 Scale을 1로 설정

위와 같이 진행하면 동일한 크기의 mesh로 불러올 수 있다.
기존에 Zbrush에서 설정한 Polygroup이 사라진다. Zbrush에서 모델링하기 힘든 머리카락, 옷, 하드서페이스 모델링 등을 따로 만들어 가져오는 용도로 추천한다.

주석1. FBX master로 내보내면 Blender에서도 Zbrush의 unit을 respect하며 불러와지지만, Zbrush로 다시 import하는 과정에서 Scale이 달라지는 문제가 있어 사용하지 않기로 한다.

주석2. GoB라는 플러그인이 있지만 Zbrush 2021 / Blender 2.91.0 에서 오류가 나 사용하지 않았다. 

 

2. Blender에서 Zbrush로 내보내기

- 내보낼 메쉬만 선택하여 File > Export > Wavefront(.obj) 로 내보낸다.
- Zbrush에서 불러올 때는 Tool > (가장 상위 메뉴) Import로 obj로 불러오면 됨

 

<전>                                                                       <후>

 

 

MMD SSAO 설명

번역 2021. 1. 17. 16:08

(원문: www.deviantart.com/permayuyuko/journal/SSAO-explained-And-how-to-tune-MMD-scene-properly-421212293)

 

 

 

MMD의 기본 쉐이더는 몇 가지 문제가 있습니다 : 지나치게 밝음, 낮은 대비, 낮은 채도(레이먼 식으로 말하자면, 전체적으로 너무 밝지만 밝은 부분이 충분히 밝지 않고, 어두운 부분은 충분히 어둡지 않으며, 다채롭지 않죠), 그리고 아마도 툰 쉐이딩에 문제가 좀 있죠. 카메라 모션과 포징이 완벽해도 외곽선이 없으므로 색채가 아주 중요한 역할을 합니다.

색을 어둡게 하고 대비를 높이기 위해 SSAO를 사용하는 사람도 있습니다. 널리 알려진 방법이고, 작동하긴 합니다. 하지만 매우 좋지 않은 사용 방식이에요.

1. SSAO는 Screen Space Ambient Occlusion 효과입니다.
보통 우리는 그림자를 드리우기 위해 shadowmap을 사용합니다. 방식은 간단하죠 : 광원을 기준으로, 어떤 정점이 광원에서 보이는지 확인합니다(보통 parallel light의 경우이지만 point/panel light 효과도 존재합니다). 보인다면 아무것도 하지 않습니다. 보이지 않는다면 그림자를 드리웁니다.
하지만, 이것은 매우 비현실적으로 보이며 soft shadow의 문제만이 아닙니다(MMM을 사용한다면 말이죠). 간단하게 설명해봅시다: shadowmap 방식에서는 물체가 광원에 가까이 움직이더라도 드리워진 그림자에는 변화가 없습니다. 하지만 현실에서는, 알다시피 확산(diffusion)에 의해 당신이 땅에서 멀어질수록 땅에 드리운 당신의 그림자는 더 연해보이고, 넓어집니다(땅에서 아주 높이 올라간다면 그림자는 거의 보이지 않게 됩니다). 반대로, 안쪽으로 오목하게 들어간 귀퉁이는 더욱 어두워집니다. 표면에 반사된 빛 일부가 귀퉁이에 도달하기 전에 다른 표면에 반사되고(bounces off), 빛은 반사될수록 약해지기 때문입니다.
따라서, 우리는 ambient occlusion을 사용합니다: 이는 위에 기술된 효과를 시뮬레이션하여, 흑백의 이미지를 렌더링합니다.

하지만 AO는 전역 방식입니다 - 당신은 모든 정점 주위의 모든 정점을 계산하여 장면 복잡도를 높인다는 것을 염두에 두어야 합니다. 그렇지 않으면 프레임 하나를 렌더링하는데 몇 분이나 걸리는 것을 피하고 싶어서 좀 더 빠른 방식을 원하겠죠. 여기에서 Screen Space Ambient Occlusion(SSAO)가 등장합니다. 시점에 기준하여 AO를 2.5D로 추정하여 계산하는 방식이죠. 장면 복잡도에 대해 선형적이지만, 아직 문제가 남아있습니다.

2. SSAO는 단순한 후작업 효과에 비해 계산 비용이 많이 듭니다(GPU를 혹사시킨다는 뜻입니다). 

네, 렉이 많이 걸려요. 예를 들어 10만 개의 정점으로 이루어진 도시를 렌더링하는 등의 상황에서 특히 그렇습니다. 장면에 오브젝트가 너무 많으면 (폴리곤이 많아지면) 최신 컴퓨터도 렉이 걸릴 수 있죠. 단순히 장면을 어둡게 만들기 위해서 자원을 낭비하고 싶지는 않습니다. TrueCameraLX처럼 다른 무거운 효과도 적용하고 싶다면 더욱이요.

가장 중요한 문제가 뒤따릅니다: SSAO를 너무 높이 설정하면...

3. MMD에서 전체 구역을 어둡게 만들기 위해 SSAO를 Tr=1.00으로 설정하면, 그저 새까만 화면을 당신의 렌더에 곱하고 있는 것과 다름 없습니다. (레이어 블렌딩 모드의 곱하기)

SSAO 컨트롤러의 투명도(Transparency) 값은 원래 렌더에 SSAO 렌더를 얼마나 적용해야 할지 결정합니다. 0은 SSAO 렌더 자체를 뜻하며, 1은 동일한 알파값으로 곱합니다. Tr=1.00으로 적용할 것이라면, 원래 렌더를 곱해서 계산을 절약하는 게 낫습니다. 레이어의 블렌딩 모드를 사용하는 게 훨씬 가벼우니까요.

다시 첫 번째 문제로: 눈치챘을지도 모르지만, 많은 사람들이 SSAO를 너무 높게 사용하고 있습니다. 이 때문에 캐릭터 주위에 어두운 느낌이 들죠. SSAO의 문제가 아닙니다; SSAO를 (밝기) 조정 효과로 사용하려 해서 일어나는 문제입니다. 원하는 효과를 얻기 위해서는 올바른 도구를 사용해야 합니다.

해결방법:
SSAO를 적용하기 전에 조정 효과를 먼저 사용하세요(당연한 말이지만, SSAO를 조정 효과로 쓰지 마세요).
Furina - 조정 효과 (대비, HSV 조정, 모델 HSV 조정 필터)
Svr. - Blackout3 번들 (Whiteout : 밝기 높이기)
M4Layer - 레이어 블렌딩 모드 효과 (대부분의 경우 화면 자체를 곱하기 위해 M4Layer를 적용하는 걸로 충분합니다. SSAO를 지나치게 적용했을 때 나타나는 효과와 유사합니다.)
다른 조정 효과도 많이 있지만, 그것은 독자가 직접 발견하는 것이 더 좋을 것입니다.

마지막으로, 효과를 적절히 이용하세요. 효과를 잘 쓰고 있다면, 사실 그리 많은 효과가 필요하지도 않습니다.