Unity에서 iPhoneX를 통해 표정 얻기 정보

6880 단어 UnityVtuber

자기소개


안녕하십니까, 저는 유자입니다@Yuzu_Unity

입문


이걸로 기사는 여기서 끝내겠습니다.
https://github.com/Unity-Technologies/facial-ar-remote
Kizunai가 쓰는 것 같은데?ZIP에 소개된 것 같아요 (자신이 못 봐서...)
두 번째 선생님의 3D는 이것을 사용하고 있습니까?

비품


iPhoneX/XR/XS
Mac(iOS 구축을 위해)
결국 아이폰의 표정 데이터를 얻고 싶다!
Windows/Mac

사용 방법


https://github.com/Unity-Technologies/facial-ar-remote/releases
릴리스부터 사용하고 싶어요.
iPhoneXS/XR에 사용된 기술은 ver1.1이 아닌 것 같습니다.
그래서 최신판 복제!!
zip으로 다운로드하면 데이터가 많이 죽는 것 같아요.
LFS를 사용할 수 있는 Git 등의 클론을 사용하십시오.
Github 사용법 등이 적혀 있다.
iOS Build Setup
Editor Animation Setup
의 양곡 탄젠트 값입니다.
iOS 구축 후
로컬 Lan에서 Win/MC 연결
방화벽을 설치해야 연결할 수 있습니다.

설치 시간


ARKit plugin 장소BitBucket
7.Enable "ARKit Uses Factracking"on UnityARKitPlugin>Resources>UnityARKitPlugIn>ARKitSettings 위치

자기 역할을 옮기고 싶은데...


안 귀여워...

이 자원에 포함된 자신의 격자에 적용되지만, 설정이 번거롭습니다..

그래서 저는 거기 안 만져요.
tmp[i]=Mathf.Clamp(skin.GetBlendShapeWeight(i),0,100);
활용단어참조
너구리?에서 기술한 장면은 다음과 같은 절차를 이용하여 명세표를 작성하여 개념 디자인에서 체량의 부피를 분석하도록 한다.
이후 자신이 사용하고 싶은 캐릭터에 대해서만 Set Blend Shape Weight를 진행하면 된다.

 //目線制御 こちらもブレンドシェイプから取得しボーンに回転値を割り当てします。
    void Update()
    {
        debugRotL = EyeRot(tmp[1], tmp[4], tmp[3], tmp[2]);
        debugRotR = EyeRot(tmp[8], tmp[11], tmp[9], tmp[10]);
        eyeL.localRotation = Quaternion.Euler(debugRotL);
        eyeR.localRotation = Quaternion.Euler(debugRotR);
    }

    Vector3 EyeRot(float valueL,float valueR,float valueUp,float valueDown)
    {
        float left = (valueL - valueR) * 45/100/4;
        float up = (valueDown - valueUp) * 45/100/4;
        return new Vector3(left, up, 0);
    }
Unity의 소박한 편리한 기능인 Constraint에서 코드를 쓰지 않고 골격에 분배...
Maya와의 연결 기능이지만 편리합니다.
목과 머리의 기울기 등도 이 설정으로 한다.

[Unity] 여러 객체의 위치를 기반으로 객체를 이동합니다. ○○ Constraint 계열의 Omoshiro 기능

표정 기록 기능


이 리소스에는 로깅 기능이 포함되어 있습니다.
나는 이것을 사용하지 않기로 결정했다.
https://qiita.com/Yuzu_Unity/items/d891ecee64a164149167

결과


립스틱은 OVRLipSync를 사용하기 때문에 이번에는 윙크만 적용됩니다.
아이폰으로 얻으면 실제 차이가 크게 높아진다.
인간의 윙크는 심오한데..
OpenCV×Dlib으로 하는 것보다 간단하고 정밀도가 높기 때문에 추천...

좋은 웹페이지 즐겨찾기