private void CreateAsset() { try { string scriptableObjectPath; if (dataManager.LoadWindowData().DialogueToggle) { scriptableObjectPath = Path.Combine(Path.GetDirectoryName(PhonemeExtractor_Main.pathToConvertedFile), PhonemeExtractor_Main.audioClip.name + ".asset"); } else { scriptableObjectPath = Path.Combine(dataManager.LoadWindowData().DialogueDataSavingPath, PhonemeExtractor_Main.audioClip.name + ".asset"); } VisemeScriptableObject newScriptableObject = ScriptableObject.CreateInstance <VisemeScriptableObject>(); newScriptableObject.dialogueAudio = PhonemeExtractor_Main.audioClip; newScriptableObject.dialogueTranscription = PhonemeExtractor_Main.textTranscripton; newScriptableObject.generatedVisemes = visemes; AssetDatabase.CreateAsset(newScriptableObject, scriptableObjectPath); AssetDatabase.SaveAssets(); for (int i = 0; i < visemes.Count; i++) { visemes[i].name = visemes[i].GetType().ToString().Split('.')[1]; //visemes[i].hideFlags = HideFlags.HideInHierarchy; if (visemes[i] is Viseme_Mixed) { AssetDatabase.AddObjectToAsset(visemes[i], scriptableObjectPath); for (int j = 0; j < (visemes[i] as Viseme_Mixed).visemes.Length; j++) { (visemes[i] as Viseme_Mixed).visemes[j].name = (visemes[i] as Viseme_Mixed).visemes[j].GetType().ToString().Split('.')[1]; AssetDatabase.AddObjectToAsset((visemes[i] as Viseme_Mixed).visemes[j], scriptableObjectPath); } } else { AssetDatabase.AddObjectToAsset(visemes[i], scriptableObjectPath); } } AssetDatabase.SaveAssets(); LoadingBarViewer.Instance.SetNextPhase(); } catch (Exception e) { for (int i = 0; i < visemes.Count; i++) { Debug.LogError(visemes[i].name); } Debug.Log("Failed to create ScriptableObject\n" + e); } }
public void PlayDialogueAudio(VisemeScriptableObject dialogueData) { audioSource.clip = dialogueData.dialogueAudio; audioSource.Play(); }
public void DisplaySubtitles(VisemeScriptableObject dialogueData) { thisText.text = dialogueData.dialogueTranscription; }
public void PlayLipSyncAnimation(VisemeScriptableObject data) { dialogueData = data; PlayLipSyncAnimation(); }