VRChat/아바타 꾸미기 (Unity)

알파 마스크로 반투명 앞머리 만들기

Labi/라비 2025. 11. 20. 15:38

※모든 내용은 AI로 제작하거나 요약하지 않은, 직접 작성한 글입니다.

마스킹은, 텍스쳐에 입힌 효과를 원하는 부분에만 적용하는 기법입니다.

흑백으로 구성된 마스크 이미지를 사용해서 투명도(알파), 입체감(노말) 등등의 다양한 속성을, 

원하는 부분에 쉽게 적용할 수 있습니다.

 

이 글에서는 VRChat 아바타의 헤어 텍스쳐에 알파 마스크를 적용해, 반투명 앞머리를 만들어 보겠습니다.

쉐이더는 릴툰 기준입니다.


 

 

키펠입니다.

 

머리카락이 길어서 이대로면 키펠은 불쌍하게도 앞을 볼 수 없습니다.

앞머리 끝부분만 반투명으로 만들 겁니다.

 

앞머리 오브젝트를 선택하고, 쉐이더를 투명한 (Transparent) 으로 바꿔줍니다.

 

텍스쳐 쪽에 이런 경고가 뜰 수 있는데, 자동 수정 누르면 됩니다.

 

오브젝트 투명도의 일괄 제어는 색상 설정 > 메인 컬러 / 알파 설정에서 RGBA 팔레트를 사용하여 수정할 수 있습니다.

저희는 알파 마스크 기능을 따로 사용할 거여서 이건 변경하지 않고 두겠습니다.

 

 

 

 

설명에 쓰이지만 원본을 배포할 순 없으니 약간 픽셀화 했습니다

알파 마스크에 쓸 마스크 이미지는 기존 텍스쳐 이미지를 활용해서 제작해야 합니다.

하지만 텍스쳐 파일을 아무리 봐도 어디가 어디인지 구분이 어려운 경우가 많습니다.

텍스쳐가 모델의 어디 부분에 할당되는지 알 수 있는, UV가 그려진 맵(전개도)이 빠져 있기 때문입니다.

 

.clip 또는 .psd 확장자의 파일을 제작자에게서 제공받더라도, 

이 UV 맵을 표시하지 않는 경우가 많습니다.

사실 그럴 의무가 있는 것도 아니니까요.

 

UV 맵은 보통의 모델링 툴에서 쉽게 확인하고 추출할 수 있습니다.

블렌더의 경우에는 fbx를 임포트해서 원하는 부분을 선택한 다음, 

UV editor 창의 UV > Export (Fill Opacity 0) 으로 전개도 파일을 확보할 수 있습니다.

하지만 블렌더가 없거나 익숙하지 않을 경우에는 이러한 작업이 참 어렵습니다.

 

유니티만으로도 비슷하게 가능합니다.

정확하진 않지만, 거의 정확한 방법으로요.

 

오브젝트의 Skinned Mesh Renderer 컴포넌트에서, Mesh를 눌러 모델 파일을 추적합니다.

 

그러면, 인스펙터와 프리뷰를 확인할 수 있습니다.

프리뷰는 보통 기본 설정인 Shaded로, 모델의 3d 조형을 확인해볼 수 있습니다.

 

이를 UV Layout으로 변경하면 해당 오브젝트의 UV 맵을 확인할 수 있습니다.

이 창을 더보기 메뉴에서 Floating window를 사용해 크게 띄운 다음, 

전체 영역 (그리드로 되어 있는 부분) 을 캡쳐해서, 이미지 편집 툴에서 오프셋을 맞추면...

 

이런 방법으로도 전개도를 빠르게 얻어 활용할 수 있습니다.

이녀석을 참고해서 투명해지고 싶은 부분을 검정색으로 칠하고, 배경색을 흰색으로 만들면 됩니다.

 

마스크는 흑백의 이미지로, 검정색이 0이고 흰색이 1입니다.

0이면 효과가 적용이 안 되는 거고, 1이면 적용되는 겁니다.

그래서 주로 특정 효과를 적용하고 싶을 때는 검은 배경에 흰색으로 칠합니다.

 

반면 Alpha 채널은 0이 투명, 1(255)이 불투명입니다.

그렇기 때문에 이렇게 반대로 칠하는 겁니다.

사실 어떻게 칠해도 유니티 가서 invert 체크하면 돼서 상관없긴 한데요, 

기초적인 부분은 이러하니 참고하면 좋습니다.

 

색상 설정 하단의 알파 마스크를 Replace로 설정하고, 제작한 마스크 이미지를 집어넣습니다.

Transparency를 원하는 만큼 조절하면 됩니다.

 

Offset으로 적절한 수준의 위치 조절도 가능합니다.

X는 좌우, Y는 상하입니다.

 

반투명한 오브젝트를 사용할 경우에는,

Render Queue를 Alpha Test 또는 그 값보다 위로 설정해야 합니다.

렌더 큐가 제대로 설정되지 않을 경우 각도마다 일관되게 보이지 않는 등의 sotring 이슈가 발생합니다.

설정 변경 시 하단에 나타나는 경고문 내용도 참고해 주세요.

이제 다 설정되었습니다.

 

귀엽네요.

작업이 끝났으면 최적화를 위해 알파 마스크를 굽기(Bake) 기능을 이용해서, 

기존 텍스쳐에 합칠 수도 있으니 참고해 주세요.

 


 

 

이렇게 오브젝트의 일부분에 반투명 효과를 적용하는 일련의 과정을 해보았습니다.

 

글을 참고해서 예쁘게 캐릭터를 꾸며 보아요.