VRChat/VRChat 아바타 가이드

표정 많이 사용하는 방법 (옷장 잠금 키 만드는 방법) | VRChat

밍결 2023. 11. 16.

표정을 기존 들어있는 제스쳐의 수보다 훨씬 많이 사용하고 싶을 수 있다. 또는, 어떤 옷 혹은 어떤 기능은 야한 기능이라 실수로 켜는 일 없게 만들고 싶을 수 있다. 그럴 때 사용하는 방법. (트랜지션에 컨디션으로 특정 조건을 추가하는 방법)

옷장 기능을 어느 정도 수준으로 이해하고 있어야 하는데,
bool 기능만 쓸 거라 몰라도 따라하는 건 무리 없을 듯.

 

FX 레이어를 연다.

만약 애니메이터 창이 보이지 않는다면 상단 메뉴 Window - Animation - Animator 에서 불러온다.

애니메이터 창에서 Layer에 + 버튼을 눌러 R18을 추가한다.

딱히 레이어 안에 무언가를 넣을 필요는 없다.

Parameters에도 똑같이 R18을 추가한다.
(R18로 할 필요는 없지만, 이름은 똑같이 통일하는 게 좋다)

 

그리고 메뉴와 파라미터 파일에도 R18 메뉴 버튼과 R18 파라미터를 추가한다.

Bool, Saved, Synced로 설정.

Toggle, R18 Bool로 설정.

파라미터를 먼저 추가하고 메뉴 버튼을 추가해야 Parameter란에 "R18, Bool"이 보이니까 순서대로 하자.

 

여기까지가 R18 이란 이름의 Bool 옷장 토글 메뉴를 만드는 과정이었다.

하지만 R18에 아무 기능도 넣지 않았기 때문에 스위치만 온오프될 뿐 변하는 건 없다. 해당 메뉴로 R18이 켜진 상태와 꺼진 상태로 나눌 용도로 사용할 아무 기능도 없는 메뉴 버튼이다.

해당 메뉴를 조합해서 표정을 추가하면 표정을 훨씬 많이 넣을 수 있고, 해당 메뉴를 조합해서 옷장을 만들면 '특정 상태일 때만 켜지는 옷장'을 만들 수 있다.

 

기존의 표정 외에 다양하게 사용하고 싶은 표정을 더 넣는다.
(원하는 애니메이션 파일을 FX레이어로 드래그하면 추가할 수 있다)

Any State를 우클릭 해 "Make Transition(트랜지션)"을 누르고 새로 만든 표정으로 연결한다.

만든 트랜지션을 누르면 인스팩터창에 위 이미지 우측처럼 세부 설정 옵션이 나온다. 여기서 기존 표정의 트랜지션 옵션값과 똑같이 적어준 뒤, 아래의 Conditions(컨디션) 항목에 + 버튼을 눌러 컨디션을 추가한다.

여기서 위 이미지처럼 추가하면 되는데, 무작정 이미지 따라하지 말고 아래 설명을 잘 듣길 바란다.

우리는 우리가 추가한 '표정 애니메이션 파일'과 Any State를 연결해주었다. 이 때 무작정 애니메이션이 발동되는 게 아니고, "어떠한 컨디션일 때" 해당 애니메이션이 작동되는 원리다.

기존 표정값의 트랜지션을 보면 이해할 수 있다.

FX레이어의 기존 표정에 있는 Fist 트랜지션 값은 [GestureLeft] [Equals] [1]이다.

'GestureLeft' Equals 1 이 됐을 때 Fist 항목을 켠다. (수학의 그 이꼴 = 임)
왼쪽 제스쳐가 1 상태가 됐을 때 Fist 항목(에 들어있는 애니메이션)을 켠다.
라는 의미다.

기존 아바타의 (FX 레이어 말고) 제스쳐 파일도 위와 똑같이 설정되어 있다.
왼쪽 제스쳐가 1일 때 아바타의 Fist 손 모양 애니메이션을 재생한다.

그러니까 왼손 컨트롤러로 1에 해당하는 값을 주면, 아바타의 제스쳐 레이어에 있는 레프트 핸드 왼손 모양 애니메이션과 아바타 FX레이어에 있는 레프트 핸드 왼손 표정 애니메이션이 재생되는 원리다. 그래서 해당 손 모양과 표정이 같이 나오는 거다.

그런데 우리는 방금 새로운 애니메이션을 추가했다.

그런데 우리는 이미 기존 손가락에 표정이 모두 존재한다. 당연히 여기서 GestureLeft Equals 1 값을 넣는다면, 기존 Fist 값과 우리가 추가한 Fist 값이 '같이' 나와서 이상한 표정이 되어버린다. 그래서 우리는 R18 이란 메뉴를 만들었고, 해당 메뉴가 켜졌을 때에만 나오는 표정을 만들고 싶다.

그럼 어떻게 해야할까?

기존 표정 애니메이션은 'GestureLeft'의 상태값에 따라 나왔다. 그렇다면 여기에 다른 조건을 추가하면 된다. GestureLeft 조건에 R18 조건까지 추가하면 된다.

아까 올렸던 이미지의 우측 하단에 있는 컨디션 의미가 그런 의미다.

왼손 제스쳐가 1이고, R18 메뉴가 True(켜진 상태)일 때 해당 표정을 재생시켜주세요.

참고로, 해당 항목엔 FX레이어의 Parameters 값에 들어있는 모든 값을 사용할 수 있다. 우리가 새로이 만든 R18이란 메뉴가 아니라 'GestureRight'도 사용할 수 있다. 그러니까, "우측 손에 있는 애니메이션을 전부 다 빼고"(우측이랑 좌측이 동시에 나오면 안 되니까) GestureRight가 Fist일 때 GestureLeft의 Fist 표정 애니메이션을 재생시켜주세요! 도 가능하다는 의미다. 이렇게 할 경우 표정을 사용할 수 있는 가지수가 엄청 늘어나게 된다(나는 아펠리오스 스킬도 제대로 사용 못 하는 빡통이라 굳이 그렇게 설정하지 않지만).

 

다만, 여기까지만 설정하면 중복이 된다.

R18이 켜고 Fist 손 모양을 했을 때, R18이 켜져있든 켜져있지 않든 Fist 표정도 같이 나온다.

당연히 R18 Fist 표정에 R18일 때 켜지는 걸 추가했다면, 기존 Fist 표정엔 R18이 아닐 때 켜지는 걸 넣어주어야 한다.

그래야 R18이 아닐 땐 기존 Fist 표정이 나오고 R18일 땐 R18 Fist 표정이 나오니까.

이러면 끝이다.

둘 다 Peace를 하고 있지만 다른 표정이 나오고 있다.
하나는 R18을 끈 상태, 하나는 R18을 켠 상태.

 

여기까지의 설명을 들었다면 옷장에 안전 키를 걸어두는 방법도 똑같다는 걸 알 수 있다.

DPS 기능을 넣었다가 실수로 튀어나오면 안 되니까, R18 메뉴를 추가한 뒤 R18이 켜졌을 때만 해당 옷장이 나오게 하면 되니까. Cloth가 3이고, R18이 True 일때만 해당 애니메이션을 재생하라는 식으로 설정하면 끝.

댓글

💲 추천 글