// 애니메이션 재생 함수. void PlayFacialAnim(string faceName, float animPeriod) { FacePartSO animData = GetFacePartSO(faceName); if (animData) { SetFacialAnimData(animData); PlayFacialAnim(animPeriod); } }
// 애니메이션 재생 배열에 정보 설정하는 함수. void AddToAnimDemensions(FacePartSO model) { for (int ix = 0; ix < model.animDemensions.Count; ++ix) { animationDemensions.Add(new Demension( partDictionary[model.animDemensions[ix].facePart], model.animDemensions[ix].type, model.animDemensions[ix].parameter) ); } }
// 캔버스에 있는 각 표정 이미지에 표정 정보 파일에서 불러온 정보를 설정하는 함수. void SetFacePart(FacePartSO model) { TurnOffAllFacialPart(); for (int ix = 0; ix < model.faceParts.Count; ++ix) { Image partImage = partDictionary[model.faceParts[ix].facePartEnum]; partImage.gameObject.SetActive(true); SetSprite(partImage, model.faceParts[ix]); } }
// 두 표정 설정해서 변경해보는 함수 (테스트 용). IEnumerator PlayTest(string first, string second) { FacePartSO firstData = GetFacePartSO(first); Play(firstData.faceName); yield return(new WaitForSeconds(5f)); FacePartSO secondData = GetFacePartSO(second); Play(secondData.faceName); }
// 표정 정보 파일에 설정된 애니메이션 정보 읽어와서 애니메이션 재생 배열 재설정 함수. void SetFacialAnimData(FacePartSO model) { animationDemensions.Clear(); AddToAnimDemensions(model); }