VRChat/VRChat 아바타 가이드

VRChat 아바타 옷 가슴 안 뚫리게 하는 방법

밍결 2022. 8. 28.

VRChat 의상을 추가하려고 유니티로 작업할 때, 전용 옷을 구매해서 입혔는데도 가슴이 뚫릴 때가 있다. 비싼 돈 주고 전용 옷을 구입해서 입혀놨으면 '전용' 옷인데 내가 유니티로 추가 작업을 하지 않아도 가슴 본 따라서 똑같이 움직여야 하는 거 아닌가? 라는 생각이 들기도 하는데 안 되는 걸 어쩌겠어. 

이번 글은 읽는 이가 의상을 (아바타툴즈를 쓰지 않고) 수작업으로 추가할 줄 안다고 가정하고 쓰인 글이다. 글을 읽을 때 혹여나 만약 읽다가 모르는 부분이 있다면 그걸 할 줄 모르기 때문에 이해가 안 되는 거라고 생각하면 좋다. (아래 내용을 봐도 이해를 잘 못 하겠으면, 한 걸음 뒤로 물러나 아바타에 의상 본을 추가하는 방법부터 먼저 배워야한다는 의미다)

 

(전용 의상) VRChat 아바타 옷 가슴 안 뚫리게 하는 방법

'전용 의상'은 말 그대로 '전용' 의상이다.

대부분의 전용 의상은 작업하지 않아도 아바타에 편하게 적용할 수 있다. 아바타툴즈로.

 

VRChat 유니티 아바타툴즈 (AvatarTools) 사용 방법

부스에서 옷을 구매하려고 보다보면, 종종 "AvatarTools"에 관한 언급을 볼 수 있다. 아바타툴즈는 A 모델(아바타)에 B 모델(의상)을 덮었을 때 동일한 부분을 덮어씌우는 모델로 변경해주는 유니티

mingyeo1ee.tistory.com

편의성 때문인지 많은 제작자가 아바타툴즈를 사용해서 의상을 넣으면 된다고 말한다.

하지만 옷장을 만드는 등 여러 이유로 수작업으로 작업을 하게 될 일은 분명 생긴다.

그러면 가슴이 뚫리는 등 여러 문제가 발생한다.

문제가 발생하는 이유는 의상 본이 아바타 본의 가슴을 커버하지 못 하기 때문이다. 아바타는 0에서 100만큼 움직이게 설정되어 있는데 정작 의상은 전혀 움직이지 않게 설정이 되어있다면 가슴이 의상을 뚫어버린다. 

해결 방법은, 의상 본을 아바타 본에 대응시키면 끝이다. 

 

하나 예를 들자면, 

VRChat 아바타 옷 가슴 안 뚫리게 하는 방법

위 이미지는 모 의상 판매 게시글에 있는 주의사항이다.

"가슴에 다이나믹 본(피직스 본) 설정은 넣지 않았지만 아바타툴즈로 갈아입혀 기존 아바타의 다이나믹 본 설정에 의존하여 흔들린다"고 나와있다. 실제로 아바타툴즈로 작업할 경우 두 본이 합쳐지면서 (아바타)에 있는 본이 적용되기 때문에 건드릴 게 없다.

VRChat 아바타 옷 가슴 안 뚫리게 하는 방법

참고로 보통 (의상)가슴 본은 (아바타)가슴 본에 넣지 않고 기존 의상 체스트 아래에 그대로 두는 경우가 많다. 만약 특별한 작업이 된 (의상)가슴 본을 아무 생각없이 (아바타)가슴 본에 넣으면 가슴이 뚫릴 수 있으니까.

다만, 웬만한 의상은 방금 보여주었던 주의사항처럼 특별한 작업이 되지 않았을 확률이 높다. 아바타툴즈 사용하는 걸 가정하면서 만드니까.

위 예시로 보여주고 있는 의상은 제작자가 특별한 작업을 하지 않았기 때문에, (아바타)가슴 본과 (의상)가슴 본의 설정이 완벽하게 일치했다. (의상)가슴 본을 (아바타)가슴 본에 하나하나 다 나눠서 넣든, (의상)가슴 본을 (아바타)체스트 본에 넣든, (의상)가슴 본을 (의상)체스트 본에 두든 아무 문제가 없어야 했다. 두 본이 일치하니까. 완벽하게 일치하는데 어떻게 넣든 무슨 차이가 있을까.

그런데 완벽하게 일치하는데 왜 가슴이 뚫렸을까? 

당연히, 완벽하게 일치하지 않았기 때문이다.

많은 사람이 이에 대한 해결 방법을 되게 간단하게 알려준다. 검색해보면 대개 결과가 다 그렇다. "(의상)가슴 본에 Rotation Constraint를 추가해서 (아바타)가슴 본에 종속되게 만들면 된다"라고 알려준다. 이 답변을 들었을 때 (의상)Breast_root.L본에 Rotation Constraint을 추가해서 (아바타)Breast_root.L본을 따르게 하면 될 거라고 생각하기 쉽다.

하지만 나는 이 방법으로 해결되지 않았다.

그리고 한 가지의 실험해본 결과, 아까 말했던 내용처럼 아바타와 의상의 본 내용이 완전히 똑같기 때문에 (의상)가슴 본을 (아바타)가슴 본에 하나하나 다 나눠서 넣든, (의상)가슴 본을 (아바타)체스트 본에 넣든, (의상)가슴 본을 (의상)체스트 본에 넣든 어떠한 변화도, 문제도 발견되지 않았다. 얘네한텐 아무 문제가 없었다. 

애네 문제인 줄 알았는데 얘네도 문제가 아니고, 하라는 대로 Rotation Constraint를 적용해도 해결이 안 되고.

왜 나만 해결이 안 되지? 

도대체 어떤 문제로 자꾸 가슴이 뚫릴까?  

가슴이 뚫리는 문제는 한 가지 원인으로 발생하고 있었다.

가장 상위의 "Breast_root.L" 말고, 그 아래 "Breast_1.L"에 피직스 본이 적용되어 있었다.

(아바타) Breast_1.L 은 피직스 본 때문에 가슴이 과하게 출렁 거렸는데, (의상) Breast_1.L 은 피직스 본이 없어 출렁거리지 않았다. 그렇기 때문에 가슴이 의상을 뚫고 나간 거였다. 이걸 반대로 생각하면 (의상) Breast_1.L 본이 (아바타) Breast_1.L 본을 커버하기만 하면 의상도 똑같이 출렁거릴 수 있다는 말이 된다. 

이 때 사용하는 기능이 아까 언급한 "Rotation Constraint"

Rotation Constraint

Rotation(움직임)에 Constraint(조건)을 걸어주는 기능.

(의상)가슴 본을 (아바타)가슴 본을 커버하기 위해 사용할 수 있다.

하지만 나는 아까 말했다시피 "이미" Rotation Constraint 설정을 한 번 시도하고 실패했다. 

나는 당연히 가장 상위 본인 Breast_root.L에 Rotation Constraint를 먹이면 된다고 생각했는데, 가장 상위 본에 Rotation Constraint를 추가해도 하위 본인 Breast_1.L에 있는 피직스 본을 커버하지 않더라. 가장 상위 본에 넣는다고 하위 본까지 다 커버하는 거 같진 않는 듯했다. 

(피직스 본을 제외하면 의상 가슴 본과 아바타 가슴 본이 일치하기 때문에) 오히려 다른 본을 건드리지 않고 (의상)가슴 본 Breast_1.L만 Rotation Constraint를 먹여 따르게 하니 가슴 뚫리는 문제가 해결됐다. 

 

Rotation Constraint 설정 방법

VRChat 아바타 옷 가슴 안 뚫리게 하는 방법

방금 말한 이유로 가장 상위 본인 "Breast_root.L" 본 말고 "Breast_1.L" 본에만 Rotation Constraint를 설정했다. 

(의상)Breast_1.L본이 (아바타)Breast_1.L본을 완벽하게 따르게 할 거니까 (의상)Breast_1.L의 인스팩터(Inspector) 창에서 "Add Component"(컴포넌트 추가)를 눌러 아까 말했던 Rotation Constraint를 불러온다. (참고로 위 이미지의 '_sister'은 내가 구분하기 쉽게 변경한 이름일 뿐이다)

VRChat 아바타 옷 가슴 안 뚫리게 하는 방법

Constraint Settings에서 + 버튼을 눌러 Sources(소스)를 추가한 뒤, Sources에 (아바타)가슴 본 Breast_1.L 을 넣어준다. 따로 설정을 건드릴 필요는 없고, 상단의 Activate(활성화) 버튼을 누르면 Is Active가 체크되면서 활성화 된다. 

그리고 적용하면 끝.

이러면 뚫리지 않는다.

 

이 글은 Rotation Constraint 을 사용하는 방법을 알려주기 위한 글이 아니다.

이 글은 의상이 가슴을 뚫는 상황을 겪고 해결하려고 시도한 내용, 실험한 내용을 정리한 글이다. 마지막에 설명한 Rotation Constraint 방법만 따라해봐야 아무 의미도 없다. 

가슴이 뚫리는 이유는 (의상)가슴 본과 (아바타)가슴 본이 일치하지 않기 때문이다. 

아바타 본 안에 의상 본을 넣어서 본을 일치하게 만들든, 똑같이 본 작업을 해서 일치하게 만들든, 아니면 피직스 본이나 다이나믹 본을 지워버리든, Rotation Constraint 를 넣어 가슴 무브먼트를 마킹하든 그건 본인이 선택할 문제다.  

 

가슴 크기 늘릴 때 가슴 뚫리는 이유

많은 아바타가 가슴 크기를 늘릴 수 있다.

하지만 가슴 크기를 늘릴 수 있던 아바타에 새 의상을 착용시키면 항상 가슴이 의상을 뚫고 나온다.

이건 한 번만 생각해봐도 원인을 알 수가 있지만, 극초기에는 아바타가 어떻게 구성되어 있는지도 잘 모르고 무엇을 만져야 하는지도 잘 모르기 때문에 생각하지 못 할 수 있다.

아바타 작업을 하다보면 옷장 기능이 '애니메이션'으로 구성되어 있다는 걸 알게 된다. 그리고 가슴 크기를 늘리는 애니메이션을 확인했다면, 가슴 크기를 늘리는 옵션이 옷의 수치까지 건드려 조정한다는 사실도 알 수 있다.

VRChat 아바타 옷 가슴 안 뚫리게 하는 방법

가슴 크게 하는 옵션을 보면, 가슴 뿐만 아니라 가슴에 붙어있는 의상도 모두 늘려주고 있다. 브라, 블라우스, 스커트, 코트까지. 의상을 추가했다면 추가한 의상 가슴 부분의 수치도 늘어나는 형태로 넣어줘야만 한다.

'전용' 의상은 아바타 토대가 존재하는 만큼 이런 부분도 대응하고 있기 때문에 저기에 추가만 해주면 될 거다. (이거 검색하고 있는 분은 옷장 기능과 온오프 기능에 대해 알고 있을 테니 방법에 대해선 굳이 설명하지 않는다)

댓글

💲 추천 글