[VTuber] OVRLipsync에서 유닛의 캐릭터 립스틱을 만드는 방법.

유닛 캐릭터에 두 가지 립스틱을 줘야 한다.
첫 번째는 MMD4 MecanmLipSync Plugin이고, 두 번째는 OVRLipsync를 사용하는 방법이다.
하지만 오큘러스의 정밀도가 더 높기 때문에 이번에는 오브릴리프시닉을 사용해 립스틱을 만드는 방법을 정리했다.
이쪽 기사를 참고하게 해 주세요.
http://tips.hecomi.com/entry/2016/02/16/202634

그림 완성



준비물

  • OVRLipsync
  • Oculus Lift
  • 3D 모델
  • Unity
  • OVRLipsync 다운로드 및 빈 객체 첨부


    다운로드 및 가져오기OVRLipsync.
    그런 다음 빈 객체를 작성합니다.

    하늘의 Object에 OVRLipSync를 부착합니다.

    소리를 통해 입의 동작을 변형시키다


    Kisnai(3D 모델) Object에서
    OVRLipSyncContext ,
    OVRLipSyncContextMorphTarget
    부착하다.

    헤드 부품을 OVRLipSyncMorphTarget>Skinnied Mesh Renderer에 적용합니다.캐릭터에 따라 다르지만 키주나 ai의 경우 U입니다.char_1.

    이것을 통해kizunai의 모프를 조종할 수 있습니다.
    만약 "어떤 것이 적용되는지 모르겠다면!"이런 사람은 머리 주위 부위를 만져보고 블렌드셰이프가 있는 부분을 알아맞힐 수 있다.

    이어서 OVRLipSyncMorphTarget>Viseme To Blend 열기
    Target의 모음 부분에 대한 Moff 색인 번호를 지정합니다.

    먼저 Vise To Blend에는 15가지 립스틱이 있습니다.(자세한 내용은 여기.에 기재되어 있지만 공부할 필요가 없습니다.)
    0sil(무음)
    1 PP(p,m,b)
    2 FF(f,v)
    3 EH(@r)
    4 DD(t,d)
    5 kk(k,g,x)
    6 CH(tS,S,Z)
    7 SS(ts,s,z)
    8 nn(n,l,r)
    9 RR(@r)
    10aa (아)
    11E (에)
    12ih(い)
    13oh(お)
    14ou
    예를 들어'아'라는 발음을 할 때 Element 10의 모프에 맞는 색인 번호를 반영할 수 있다.
    Skinneed Mesh Render>BlendShappes에서 Morf의 색인 번호를 확인할 수 있습니다.

    여기 1~32 대응하는 색인 번호, 그 번호에 대한 모프(표정)는 각각 대응(캐릭터 수량에 따라)
    이 가운데 9→'아이', 10→'거'11→'12→'거'13→'거'가 눈에 띈다.
    이것들은 방금 설치한 이동 전화 번호다.
    현 상황이 이렇다는 얘기다.
    발음하다
    색인 번호
    입모양
    0sil(무음)
    0
    1 PP(p,m,b)
    0
    2 FF(f,v)
    0
    3 EH(@r)
    0
    5 kk(k,g,x)
    0
    6 CH(tS,S,Z)
    0
    7 SS(ts,s,z)
    0
    8 nn(n,l,r)
    0
    9 RR(@r)
    0
    10aa (아)
    9
    네?
    11E (에)
    12
    에이
    12ih(い)
    10
    아니오
    13oh(お)
    13
    시어머니
    14ou
    11
    응.
    10aa(a)음을 낼 때 아홉'아이'의 입 모양을 한다
    14ou가 나왔을 때 14개의'호'입모양이 됐어요.
    이런 느낌이야.
    또 ppp는'포', FF는'파'발음이니 각자 발음에 맞춰주시기 바랍니다.
    그런 다음 OVR LipSyncContext MorphTarget의 Update()를 LateUpdate()로 변경합니다.
    OVRLipSyncContextMorphTarget.sc
    
    void LateUpdate () {
      if ((lipsyncContext != null) && (skinnedMeshRenderer != null)) {
        // trap inputs and send signals to phoneme engine for testing purposes
        // get the current viseme frame
        OVRLipSync.Frame frame = lipsyncContext.GetCurrentPhonemeFrame();
        if (frame != null) {
          SetVisemeToMorphTarget(frame);
        }
        // TEST visemes by capturing key inputs and sending a signal
        CheckForKeys();
      }
    }
    

    마이크 입력


    Kisnai(모델)에 OVRLipSyncMicInput을 첨부합니다.
    이렇게 하면 소리를 자주 식별할 수 있도록 Mic Control 부분을 Constant Speadk로 설정합니다.

    입 동작이 작아 이해하기 어려우면 OVRLipSyncContext&Gain의 값이 발생하면 입이 쉽게 움직인다.

    이렇게 하면 완성된다.

    총결산


    Viseme To Blend Targets를 통해 마이크에서 주워오는 소리를 인식하고 그 소리에 맞춰 스킨니드 메시 렌더의 모프(moff) 같은 인상에 적응하는 것이라고 생각한다.
    만약 입을 움직일 수 없다면 다른 장치에서 소리가 나지 않았는지, 가인의 값이 너무 작았는지 확인하세요.

    좋은 웹페이지 즐겨찾기