Unity에서 iPhoneX를 통해 표정 얻기 정보
자기소개
안녕하십니까, 저는 유자입니다@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으로 하는 것보다 간단하고 정밀도가 높기 때문에 추천...
Reference
이 문제에 관하여(Unity에서 iPhoneX를 통해 표정 얻기 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Yuzu_Unity/items/91fc2b6f8ebe0fc0e839
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
//目線制御 こちらもブレンドシェイプから取得しボーンに回転値を割り当てします。
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);
}
Reference
이 문제에 관하여(Unity에서 iPhoneX를 통해 표정 얻기 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Yuzu_Unity/items/91fc2b6f8ebe0fc0e839텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)