private void CreateRhubarb() { TimelineAsset timelineAsset = (TimelineAsset)_timeline.playableAsset; RhubarbPlayableTrack track = timelineAsset.CreateTrack <RhubarbPlayableTrack>(null, "Rhubarb Track"); _timeline.SetGenericBinding(track, _rhubarbSprite); string audioPath = Path.Combine(Directory.GetCurrentDirectory(), AssetDatabase.GetAssetPath(_audioClip)); RhubarbTrack rhubarbTrack = RhubarbEditorProcess.Auto(_rhubarbPath, audioPath, _isUseDialog ? _dialogText : null, _isMouthShapeG, _isMouthShapeH, _isMouthShapeX); for (int i = 0; i < rhubarbTrack.keyframes.Count - 1; i++) { RhubarbKeyframe keyframe = rhubarbTrack.keyframes[i]; RhubarbKeyframe nextKeyframe = rhubarbTrack.keyframes[i + 1]; TimelineClip clip = track.CreateClip <RhubarbPlayableClip>(); clip.start = Rhubarb.FrameToTime(keyframe.frame); clip.duration = Rhubarb.FrameToTime(nextKeyframe.frame - keyframe.frame); ((RhubarbPlayableClip)clip.asset).template.MouthShape = keyframe.phoneme; } }
private bool IsRhubarbPathValid() { return(RhubarbEditorProcess.IsValid(_rhubarbPath)); }