VRChat 마이너 갤러리 저장소

제 목
일반 강좌,스압) 이모트+표정 조합으로 이것저것 넣는 예시
글쓴이
zetyx
추천
29
댓글
11
원본 글 주소
https://gall.dcinside.com/vr/47468
  • 2018-09-03 21:40:35
 

강좌에 쓰인 아바타 링크

https://drive.google.com/file/d/1BLSNnB5ikmXgQo9NHv9v-m_fzJZNUUYo/view?usp=sharing




이 강좌는 이모트 8개와 표정 3개를 사용하여 이모트8 x 표정2 = 16개의 기능을 사용하는 것을 기준으로 하였습니다.

나머지 표정 1개는 원치않게 표정 키로 기능이 바뀌는 것을 막는 용도입니다.


원리는 간단합니다.


이모트로 1차 구분을 하고, 표정으로 2차 구분된 기능을 하게 끔 하였습니다.

이를 바탕으로 이모트 8개로는 특정 대상을 정하고, 표정으로는 ON/OFF 같은 느낌으로 구현을 해보았습니다.


본인쟝은 바이브를 사용하고 있어서 ON/OFF 라는 느낌이 들게끔

터치패드 좌측의 THUMBSUP 과 HANDGUN을 사용하였고, 추가로 HANDOPEN을 사용하였습니다.



말로 하는 것보단 직접 보고, 경험하는게 빠르게 이해가 되실겁니다.



01.

1) 먼저 Empty 를 만듭니다. 그림과 같은 구조가 되게 끔 해주시면 됩니다.

2) 아바타의 바로 아래에 만드셔야 합니다. 다른 곳에 만드시면 패스가 틀려집니다.



02.

1) Z 는 앞으로 만들 Empty 들이 많기 때문에 그룹으로 묶어서 정리해주는 역할을 합니다.

2) HANDOPEN 은 활성화된 EMOTE 들을 비활성화 해주는 역할을 합니다.

3) EMOTE1가 각 EMOTE에 대응을 하고, HOLDER는 활성화 된 이모트 이 외의 애니메이션이 작동하는것을 막기 위한 장치입니다.



03.

1) HANDOPEN, EMOTE1, THUMBSUP, HANDGUN 을 같이 선택하고 Animation Component 를 추가합니다.

2) 그리고 추가된 Animation Component 를 비활성화 합니다.



04.

1) HOLDER 만 선택해서 비활성화 합니다.

2) 스샷과 같은 형태의 하이어라키가 되면 됩니다.



05.

1) EMOTE1을 7번 복제해서 EMOTE2~8 형태로 만듭니다.

EMOTE1을 선택한 채로 CTRL+D를 7번 누르면 편하게 복제가 됩니다.



06.

1) 애니메이션을 만들어 줄 차례입니다. Animations 폴더를 하나 만들고, 하위에 Z 폴더를 하나 더 만듭니다.

2) 그리고 Z 폴더에 @EMOTE1 애니메이션을 하나 만듭니다.

3) @EMOTE1 을 마우스 오른쪽 메뉴 클릭하여 Show in Explorer 를 선택 탐색기로 해당위치를 열고

4) @EMOTE1.anim 을 복사 (CTRL+C), 붙여넣기 (CTRL+V) 해서

@EMOTE1, @EMOTE1_HANDGUN, @EMOTE1_THUMBSUP,

@EMOTE2, @EMOTE2_HANDGUN, @EMOTE2_THUMBSUP,

@EMOTE3, @EMOTE3_HANDGUN, @EMOTE3_THUMBSUP,

@EMOTE4, @EMOTE4_HANDGUN, @EMOTE4_THUMBSUP,

@EMOTE5, @EMOTE5_HANDGUN, @EMOTE5_THUMBSUP,

@EMOTE6, @EMOTE6_HANDGUN, @EMOTE6_THUMBSUP,

@EMOTE7, @EMOTE7_HANDGUN, @EMOTE7_THUMBSUP,

@EMOTE8, @EMOTE8_HANDGUN, @EMOTE8_THUMBSUP,

@HANDOPEN 형태로 파일이름을 변경합니다.



07.

1) 다시 유니티로 돌아오면 방금 만들었던 애니메이션 파일이 자동으로 추가되는 것을 볼 수 있습니다.

2) 이 애니메이션을 모두 선택해서, Inspector 에서 Debug 모드로 전환합니다.

3) Legacy 옵션을 체크, Wrap Mode 를 Loop 로 설정합니다.

4) 설정을 하고 나서, 다시 Normal 모드로 전환합니다.



08.

1) Z 하위에 객체들의 Animation Component 에 방금 만들었던 애니메이션을 배정합니다.

2) 객체 이름에 @ 가 붙은 애니메이션을 각각 모두 선택합니다.

3) THUMBSUP 과 HANDGUN 의 경우 상위 객체의 이름에 맞는 애니메이션을 선택합니다.

예를들어 EMOTE1 - HOLDER - THUMBSUP 일 경우 @EMOTE1_THUMBSUP 이 됩니다.

4) 버그로 Animation Component 에 Animations 가 2개 이상이 될 경우, Animation 을 먼저 None 으로 하고 Size 를 0 으로 설정하신 후, 다시 Animation 을 배정하면 됩니다.

5) 마지막으로 Animations Size 가 1 이고, 모두 잘 들어갔는지 확인합니다.



09.

1) 애니메이션 폴더 하위에 애니메이션을 만듭니다.

EMOTE1@Me, EMOTE2@Me, EMOTE3@Me, EMOTE4@Me, EMOTE5@Me, EMOTE6@Me, EMOTE7@Me, EMOTE8@Me,

HANDGUN@Me, HANDOPEN@Me, THUMBSUP@Me 형태로 파일이름을 변경합니다.

2) 애니메이션 오버라이드 컨트롤러를 하나 만들고, 거기에 방금 만들었던 애니메이션을 배정합니다.

3) 아바타의 애니메이션 컨트롤러와 커스텀 애니메이션을 방금 만들었던 오버라이드 컨트롤러로 설정합니다.



10.

1) 원본 아바타를 복제해서 애니메이션용 더미 아바타를 만들고 선택합니다.

2) 애니메이션 창에서 HANDOPEN@Me 를 선택하고, Z - HANDOPEN - Animator.Enabled 프로퍼티를 추가합니다.

3) 1:00 키프레임은 삭제합니다.

4) Z - EMOTE1 - HOLDER - Is Active 프로퍼티도 하나 추가합니다.

5) HOLDER Game Object.Is Active 만 선택하고 복사 (CTRL+C)

6) Project탭에서 Animations - Z - @HANDOPEN 애니메이션을 선택하고 붙여넣기 (CTRL+V)

7) 방금 붙여넣은 프로퍼티를 선택해서 F2를 눌러 패스 수정합니다.

Z/EMOTE1/HOLDER 을 ../EMOTE1/HOLDER 로 변경합니다.

8) 패스 수정이후 빈 공간을 누르고 다시 붙여넣기 (CTRL+V)

9) 7)의 단계로 돌아가서 EMOTE1~8 모두 만들어 줍니다.

10) 노가다의 산물을 전체 선택 (CTRL+A) 해서 복사 (CTRL+C)

11) @EMOTE1, @EMOTE2, @EMOTE3, @EMOTE4, @EMOTE5, @EMOTE6, @EMOTE7, @EMOTE8 에 붙여넣기 (CTRL+V)

12) 다시 @HANDOPEN 을 선택해서 0:01 에 키프레임 생성합니다.

@HANDOPEN 프로퍼티는 모두 값이 0 이어야 합니다.

13) 이번엔 @EMOTE1로 가서 ../EMOTE1/HOLDER 인 프로퍼티를 찾아 값을 1 로 설정하고, 0:01 에 키프레임 생성합니다.

Z/EMOTE1/HOLDER 를 제외한 나머지 프로퍼티는 모두 값이 0 이어야 합니다.

14) 반복해서 EMOTE1~8 모두 각각 작업을 합니다.

예를들어 @EMOTE8 의 경우는 ../EMOTE8/HOLDER 의 값만 1 이고, 나머지는 0 입니다.



11.

1) HANDOPEN@Me 를 열어서 HANDOPEN Animation.Enabled 프로퍼티만 선택하고 복사 (CTRL+C)

2) HANDGUN@Me 를 열어서 붙여넣기 (CTRL+V)

3) 방금 붙여넣은 프로퍼티를 선택해서 F2를 눌러 패스 수정합니다.

Z/HANDOPEN 을 Z/EMOTE1/HOLDER/HANDGUN 으로 수정

4) 패스 수정이후 빈 공간을 누르고 다시 붙여넣기 (CTRL+V)

5) 반복해서 EMOTE1~8 모두 만들어 주고, 모든 프로퍼티의 값을 1 로 설정합니다.

예시 : Z/EMOTE1/HOLDER/HANDGUN , Z/EMOTE2/HOLDER/HANDGUN , ... Z/EMOTE8/HOLDER/HANDGUN

6) 0:02 에 키프레임을 생성합니다. 이건 표정 애니메이션이라 0:02 에 만들어줍니다!!

7) 프로퍼티를 전체 선택 (CTRL+A) 해서 복사 (CTRL+C)

8) THUMBSUP@Me 에 붙여넣기 (CTRL+V)

9) 붙여넣은 프로퍼티들의 패스를 수정합니다.

HANDGUN 으로 끝나는 것을 전부 THUMBSUP 으로 수정

10) HANDOPEN@Me 로 다시 돌아와서 HOLDER Game Object.Is Active 프로퍼티를 삭제

11) HANDOPEN Animation.Enabled 속성 값을 1 로 설정 후 0:02 에 키프레임 생성합니다.



12.

1) 더미 아바타를 선택하고, Animation 창에서 IDLE (Read-Only) 를 선택합니다.

2) 프로퍼티를 전체 선택 (CTRL+A) 한 후, 복사 (CTRL+C)

3) EMOTE1@Me 를 열고, 붙여넣기 (CTRL+V)

4) HANDOPEN@Me 를 열고, HANDOPEN Animation.Enabled 를 선택 복사 (CTRL+C)

5) EMOTE1@Me 를 열고, 붙여넣기 (CTRL+V)

6) 방금 붙여넣은 프로퍼티 패스를 수정합니다.

Z/HANDOPEN 을 Z/EMOTE1 로 수정

7) 0:00 키프레임을 제외한 모든 키프레임을 삭제하고 0:10 에 키프레임을 생성합니다.

이모트 애니메이션은 0:10 보다 짧게 설정하면 오류가 발생합니다.

8) EMOTE1@Me 의 프로퍼티를 전체 선택 (CTRL+A), 복사 (CTRL+C)

9) EMOTE2@Me, EMOTE3@Me, EMOTE4@Me, EMOTE5@Me, EMOTE6@Me, EMOTE7@Me, EMOTE8@Me 에 붙여넣기 (CTRL+V)

10) 개별 EMOTE2~8@Me 에 마지막 Animation.Enabled 패스를 이름에 맞게 반복 수정합니다.

예시 : EMOTE1@Me -> Z/EMOTE1 , EMOTE2@Me -> Z/EMOTE2, ... EMOTE8@Me -> Z/EMOTE8



13.

이제 기반작업은 끝났읍니다. 앞으로는 @EMOTE번호_THUMBSUP과 @EMOTE번호_HANDGUN에 오브젝트를 켜고 끄는 것만 넣어주면 됩니다.

간단한 예제로 Cube 와 Sphere 를 켜고 끄는 것을 해보겠읍니다.

1) 먼저 더미 아바타를 삭제합니다.

2) Cube 와 Sphere 를 만듭니다. 스케일도 조정해주고 머리 위에 구분이 가도록 위치를 옮깁니다.

3) 다시 아바타를 복제 (CTRL+D) 해서 더미 아바타를 만듭니다.

4) 아바타에 오버라이드 된 애니메이션 중 임시로 잠깐 사용할 애니메이션을 하나 고릅니다.

본인쟝의 경우 HANDGUN@Me에 임시로 작업을 하겠습니다.

5) 녹화 버튼을 누르고, 더미 아바타에서 Cube 와 Sphere 를 각각 선택해서 체크 (Is Active) 를 토글합니다.

6) 이후 애니메이션 창을 보면 Cube 와 Sphere 에 대해 변경됐었던 속성들이 기록되어 있습니다.

이 속성을 복사해서 요긴하게 써먹으면 됩니다.



14.

1) 일단 녹화버튼을 눌러 기록모드를 끕니다.

2) HANDGUN@Me 에 생성된 Cube 와 Sphere 의 Is Active 속성을 모두 선택해서 복사 (CTRL+C)

3) Animations - Z - @EMOTE1_THUMBSUP 에 붙여넣기 (CTRL+V)

4) HANDGUN@Me 에 생성됐던 Cube와 Sphere 의 속성은 다른 곳으로 옮겨뒀으니 삭제합니다.

5) @EMOTE1_THUMBSUP 으로 돌아와서, 먼저 패스부터 수정합니다.

애니메이션 컴포넌트가 한참 하위단계에 있으니 패스를 맞춰줄 필요가 있습니다.

Cube 와 Sphere 의 패스를 수정하되, 각각 ../ ../ ../ ../ 를 앞에 붙여줍니다. (띄어쓰기를 했는데 붙여서 쓰셔야 합니다..)

6) @EMOTE1_THUMBSUP 의 프로퍼티를 전체선택 (CTRL+A) 복사 (CTRL+C) @EMOTE1_HANDGUN 에 붙여넣기 (CTRL+V)

7) @EMOTE1_HANDGUN 에서는 Cube 속성 값을 0 으로 Sphere 속성 값을 1 로 설정하고 0:01에 키프레임 생성합니다.

8) 다시 @EMOTE1_THUMBSUP 으로 돌아와서 Cube 를 1 로 Sphere 를 0 으로 해서 마찬가지로 키프레임 생성합니다.

9) 이로써 EMOTE1 의 기능은 Cube 와 Sphere 를 서로 번갈아가며 켜고 끄는 기능이 되었습니다.



15.

1) @EMOTE1_THUMBSUP 을 열어서 아래의 작업을 진행합니다.

2) Cube 프로퍼티만 선택해서 복사 (CTRL+C), @EMOTE2_THUMBSUP 과 @EMOTE2_HANDGUN 에 붙여넣기 (CTRL+C)

3) 다만 @EMOTE2_HANDGUN 의 경우 Cube 의 속성 값을 0으로 합니다. 0:00, 0:01 키프레임 둘 다 0 으로 하시면 됩니다.

4) 다시 @EMOTE1_THUMBSUP 을 열어서 이번에는 Sphere 를 @EMOTE3_THUMBSUP과 @EMOTE3_HANDGUN 에 똑같이 작업합니다.

5) 이로써 EMOTE2 의 기능은 Cube를 켜고 끄는, EMOTE3 의 기능은 Sphere 를 켜고 끄는 기능이 되었습니다.



16.

1) 실수로 남긴 임시 애니메이션이 없는지 확인한 후 더미 아바타를 삭제합니다.

2) 이모트 이름을 보기좋게 바꿔줍니다.

3) 예시 아바타에서는 표정에 따른 손가락 동작이 없어서, 쉽게 구별할 수 있도록 쿼드도 박아주었습니다.



짤을 보시면 아시겠지만

Cube 와 Sphere 를 서로 토글할 것인지, 혹은 Cube 나 Sphere 를 각각 켜고 끌 것인지를 EMOTE로 설정하고,

이후 표정으로 THUMBSUP 과 HANDGUN 을 하면 해당하는 대상에 반영이 됩니다.

글고 의도대로 HANDOPEN 이후에는 THUMBSUP 과 HANDGUN 의 영향을 받지 않게 됩니다.

가사이_유노 2018.09.03 21:41:15
꼬마키` 강좌추 2018.09.03 21:49:36
ㅇㅇ 상세추 61.255 2018.09.03 21:52:03
꿀뚤 일단 개추 - dc App 2018.09.03 22:19:22
링고베리 선 추 - dc App 2018.09.03 22:28:06
검은연 다음에 이모트 대폭 확장하는 알고리즘강의 쓸건데, 거기다 이 글 링크 달아도 되? 2018.09.03 22:54:48
검은연 알고리즘 이모트 적용하기전에 기초부터 해보고 오라고 하고 싶은데 2018.09.03 22:56:28
土地の空 2018.09.03 23:55:09
춤만춰 2018.09.04 00:27:13
아리수챤 따라하면 따라할수 있을거같은데 원리가 이해가 안되네 - dc App 2018.09.04 00:57:53
Pluto_ 2018.09.04 02:14:28
번호 분류 제목 글쓴이 날짜 추천
238577 일반 역시 일한뒤에 간식은 엄마가 삶아주는 옥수수 하나 7 딜런 2019-08-08 0
238576 일반 솔직히 미미노안샀으면 일베충아니지 2 아저게안맞네 2019-08-08 5
238575 일반 내 말이 옳아 3 아저게안맞네 2019-08-08 0
238574 일반 하하하 내게 도전을해? 하하하 3 혀뇽 2019-08-08 1
238573 일반 여기 근첩 비틱 하나도 없는데 왜 근첩 비틱타령? 9 ㅇㅇ 39.7 2019-08-08 12
238572 일반 통베충새끼들은 1절을못하누 10 ㅇㅇ 182.231 2019-08-08 0
238571 일반 ㄷㄹ저새기또좆같은디시콘가져왔네 3 ㅇㅇ 110.70 2019-08-08 0
238570 일반 한없이 너그러운 그분의 잣대 1 ㅇㅇ 125.129 2019-08-08 4
238569 일반 이건 맞지 ㅋㅋㅋㅋㅋㅋ 4 아저게안맞네 2019-08-08 0
238568 일반 Driver 4 vr 이 뭐임님들 8 ㅇㅇ 112.154 2019-08-08 0
238567 일반 걍 그분 허용하되 분탕식만 처단 하자니까? 2 ㅇㅇ 211.36 2019-08-08 2
238566 일반 나는 무슨 친구가 될 수 있을까? 2 딜런 2019-08-08 0
238565 일반 예쁜 월드 찾았다 2 TarteTatin 2019-08-08 0
238564 일반 여자되고 싶다 2 ㅇㅇ 211.246 2019-08-08 4
238563 일반 친구들이랑 같이 놀때 너무 흥분돼 4 혀뇽 223.39 2019-08-08 15
238562 일반 오늘은 뭐할까? 9 다히캣 2019-08-08 0
238561 일반 노사모도 똥꼬충이랑 비슷한정도의 존중은받아야 2 무농약현미스낵 2019-08-08 6
238560 일반 주딱 인겜닉 그대로 아님? ㅇㅇ 211.246 2019-08-08 0
238559 일반 왜 술이 안깨지 6 Byanka 2019-08-08 0
238558 일반 겨랑드이 ㅇㅇ 61.83 2019-08-08 1
238557 일반 주딱 인겜닉 나 안다 ㅋㅋ 2 ㅇㅇ 117.111 2019-08-08 1
238556 일반 쟨 왜 맨날 혼자서 사진찍냐 4 ㅇㅇ 211.246 2019-08-08 0
238555 일반 ㄹ첩 쳐내! 당신의고닉을알고있습니다 2019-08-08 1
238554 일반 그래서 이번에도 규칙변경은 없는거노 2 무농약현미스낵 2019-08-08 0
238553 일반 그저께 겪은 일 1 가끔입갤 2019-08-08 1
238552 일반 (VR영화) 살인의 추억 롱테이크씬 찍을 생각. 2 장경철 2019-08-08 0
238551 일반 아 오늘도 체조못갔네 김한설 2019-08-08 0
238550 일반 휴가라고 14시간 가까이 침대위에서 생활하니 죽겠다 4 2019-08-08 0
238549 일반 니들왜자꾸 주딱신상 캘려고 안달이야?? 5 가끔입갤 2019-08-08 0
238548 일반 고인드립에 관한 고찰. 4 ㅇㅇ 58.148 2019-08-08 1
238547 일반 님들 놀로 풀트할려면 4 ㅇㅇ 112.154 2019-08-08 0
238546 일반 한국인 평균 6.9라는거 거짓말이지? 5 ㅇㅇ 211.246 2019-08-08 1
238545 일반 흑흑흑 또 일할 시간이 다가왔어 1 딜런 2019-08-08 0
238544 일반 주딱그나마 알려준디코계정도 부계정임? ㅇㅇ 54.36 2019-08-08 0
238543 일반 0.69초만에 69번 흔들어버리는년 4 tntnt 2019-08-08 0
238542 일반 시발주딱아디코아이디뭐냐고 3 ㅇㅇ 118.47 2019-08-08 0
238541 일반 나도 친구 만았으면 좋겠다 4 딜런 2019-08-08 0
238540 일반 새초미 1 ㅇㅇ 61.83 2019-08-08 0
238539 일반 VR챗으로 영화 찍을건데 관심 있냐? 4 장경철 2019-08-08 0
238538 일반 이겜 지금시작하면 너무늦은거야? 14 ㅇㅇ 121.158 2019-08-08 0
념글 삭제글 갤러리 랭킹