LipSync Pro  1.31
RogoDigital.Lipsync.LipSync Class Reference
Inheritance diagram for RogoDigital.Lipsync.LipSync:
RogoDigital.Lipsync.BlendSystemUser

Public Types

enum  AnimationTimingMode { AnimationTimingMode.AudioPlayback, AnimationTimingMode.CustomTimer, AnimationTimingMode.FixedFrameRate }
 
enum  CurveGenerationMode { CurveGenerationMode.Tight, CurveGenerationMode.Loose }
 

Public Member Functions

delegate void ResetDelegate ()
 
void SetEmotion (string emotion, float blendTime)
 Sets the emotion. Only works when not playing an animation. More...
 
void ResetEmotion (float blendTime)
 Resets a custom set emotion back to neutral. More...
 
void Play (LipSyncData dataFile, float delay)
 Loads a LipSyncData file if necessary and then plays it on the current LipSync component. More...
 
void Play (LipSyncData dataFile)
 Overload of Play with no delay specified. For compatibility with pre 0.4 scripts. More...
 
void Play (TextAsset xmlFile, AudioClip clip, float delay)
 Loads an XML file and parses LipSync data from it, then plays it on the current LipSync component. More...
 
void Play (TextAsset xmlFile, AudioClip clip)
 Overload of Play with no delay specified. For compatibility with pre 0.4 scripts. More...
 
void PlayFromTime (LipSyncData dataFile, float delay, float time)
 Loads a LipSyncData file if necessary and then plays it on the current LipSync component from a certain point in seconds. More...
 
void PlayFromTime (LipSyncData dataFile, float time)
 Overload of PlayFromTime with no delay specified. More...
 
void PlayFromTime (TextAsset xmlFile, AudioClip clip, float delay, float time)
 Loads an XML file and parses LipSync data from it, then plays it on the current LipSync component from a certain point in seconds. More...
 
void PlayFromTime (TextAsset xmlFile, AudioClip clip, float time)
 Overload of PlayFromTime with no delay specified. More...
 
void Pause ()
 Pauses the currently playing animation. More...
 
void Resume ()
 Resumes the current animation after pausing. More...
 
void Stop (bool stopAudio)
 Completely stops the current animation to be started again from the begining. More...
 
void PreviewAtTime (float time)
 Sets blendables to their state at a certain time in the animation. ProcessData must have already been called. More...
 
void TempLoad (List< PhonemeMarker > pData, List< EmotionMarker > eData, AudioClip clip, float duration)
 Loads raw data instead of using a serialised asset. Used for previewing animations in the editor. More...
 
void TempLoad (PhonemeMarker[] pData, EmotionMarker[] eData, AudioClip clip, float duration)
 Loads raw data instead of using a serialised asset. Used for previewing animations in the editor. More...
 
void ProcessData ()
 Processes the data into readable animation curves. Do not call before loading data. More...
 
void ClearDataCache ()
 Clears the data cache, forcing the animation curves to be recalculated. More...
 
 LipSync ()
 

Static Public Member Functions

static int SortTime (PhonemeMarker a, PhonemeMarker b)
 
static int SortTime (GestureMarker a, GestureMarker b)
 
static string ReadXML (XmlDocument xml, string parentElement, string elementName)
 

Public Attributes

AudioSource audioSource
 AudioSource used for playing dialogue More...
 
bool useBones = false
 Allow bones to be used in phoneme shapes. More...
 
bool boneUpdateAnimation = false
 Used for deciding if/when to repose boneshapes in LateUpdate. More...
 
List< PhonemeShapephonemes = new List<PhonemeShape>()
 All PhonemeShapes on this LipSync instance. PhonemeShapes are a list of blendables and weights associated with a particular phoneme. More...
 
List< EmotionShapeemotions = new List<EmotionShape>()
 All EmotionShapes on this LipSync instance. EmotionShapes are simply PhonemeShapes, but with a string identifier instead of a Phoneme. Emotions are set up in the Project Settings. More...
 
bool playOnAwake = false
 If checked, the component will play defaultClip on awake. More...
 
bool loop = false
 If checked, the clip will play again when it finishes. More...
 
LipSyncData defaultClip = null
 The clip to be played when playOnAwake is checked. More...
 
float defaultDelay = 0f
 The delay between calling Play() and the clip playing. More...
 
bool scaleAudioSpeed = true
 If true, audio playback speed will match the timescale setting (allows slow or fast motion speech) More...
 
int frameRate = 30
 The framerate used for fixed framerate rendering. More...
 
float restTime = 0.2f
 If there are no phonemes within this many seconds of the previous one, a rest will be inserted. More...
 
float restHoldTime = 0.4f
 The time, in seconds, that a shape will be held for before blending to neutral when a rest is inserted. More...
 
CurveGenerationMode phonemeCurveGenerationMode = CurveGenerationMode.Loose
 The method used for generating curve tangents. Tight will ensure poses are matched exactly, but can make movement robotic, Loose will look more natural but can can cause poses to be over-emphasized. More...
 
CurveGenerationMode emotionCurveGenerationMode = CurveGenerationMode.Tight
 The method used for generating curve tangents. Tight will ensure poses are matched exactly, but can make movement robotic, Loose will look more natural but can can cause poses to be over-emphasized. More...
 
bool keepEmotionWhenFinished = false
 If true, any emotion marker that doesn't blend out before the end of the clip will stay active when the clip finishes. More...
 
Animator gesturesAnimator
 The Animator component used for Gestures. More...
 
int gesturesLayer
 The Gestures layer. More...
 
List< GestureInstancegestures
 The animation clips used for gestures. More...
 
UnityEvent onFinishedPlaying
 Called when a clip finished playing. More...
 
List< AnimationCurve > animCurves
 
ResetDelegate reset
 
float lastUsedVersion = 0
 
- Public Attributes inherited from RogoDigital.Lipsync.BlendSystemUser
BlendSystem blendSystem
 BlendSystem used More...
 

Properties

AnimationTimingMode animationTimingMode [get, set]
 How animation playback is timed. AudioPlayback is linked to the audio position. FixedFrameRate assumes a constant speed (useful for offline rendering). More...
 
bool isPlaying [get]
 Whether or not there is currently a LipSync animation playing. More...
 
bool isPaused [get]
 Whether the currently playing animation is paused. More...
 
bool isStopping [get]
 Whether the currently playing animation is transitioning back to neutral. More...
 

Additional Inherited Members

- Protected Member Functions inherited from RogoDigital.Lipsync.BlendSystemUser
void OnDestroy ()
 

Member Enumeration Documentation

Enumerator
AudioPlayback 
CustomTimer 
FixedFrameRate 
Enumerator
Tight 
Loose 

Constructor & Destructor Documentation

RogoDigital.Lipsync.LipSync.LipSync ( )

Member Function Documentation

void RogoDigital.Lipsync.LipSync.ClearDataCache ( )

Clears the data cache, forcing the animation curves to be recalculated.

void RogoDigital.Lipsync.LipSync.Pause ( )

Pauses the currently playing animation.

void RogoDigital.Lipsync.LipSync.Play ( LipSyncData  dataFile,
float  delay 
)

Loads a LipSyncData file if necessary and then plays it on the current LipSync component.

void RogoDigital.Lipsync.LipSync.Play ( LipSyncData  dataFile)

Overload of Play with no delay specified. For compatibility with pre 0.4 scripts.

void RogoDigital.Lipsync.LipSync.Play ( TextAsset  xmlFile,
AudioClip  clip,
float  delay 
)

Loads an XML file and parses LipSync data from it, then plays it on the current LipSync component.

void RogoDigital.Lipsync.LipSync.Play ( TextAsset  xmlFile,
AudioClip  clip 
)

Overload of Play with no delay specified. For compatibility with pre 0.4 scripts.

void RogoDigital.Lipsync.LipSync.PlayFromTime ( LipSyncData  dataFile,
float  delay,
float  time 
)

Loads a LipSyncData file if necessary and then plays it on the current LipSync component from a certain point in seconds.

void RogoDigital.Lipsync.LipSync.PlayFromTime ( LipSyncData  dataFile,
float  time 
)

Overload of PlayFromTime with no delay specified.

void RogoDigital.Lipsync.LipSync.PlayFromTime ( TextAsset  xmlFile,
AudioClip  clip,
float  delay,
float  time 
)

Loads an XML file and parses LipSync data from it, then plays it on the current LipSync component from a certain point in seconds.

void RogoDigital.Lipsync.LipSync.PlayFromTime ( TextAsset  xmlFile,
AudioClip  clip,
float  time 
)

Overload of PlayFromTime with no delay specified.

void RogoDigital.Lipsync.LipSync.PreviewAtTime ( float  time)

Sets blendables to their state at a certain time in the animation. ProcessData must have already been called.

Parameters
timeTime.
void RogoDigital.Lipsync.LipSync.ProcessData ( )

Processes the data into readable animation curves. Do not call before loading data.

static string RogoDigital.Lipsync.LipSync.ReadXML ( XmlDocument  xml,
string  parentElement,
string  elementName 
)
static
delegate void RogoDigital.Lipsync.LipSync.ResetDelegate ( )
void RogoDigital.Lipsync.LipSync.ResetEmotion ( float  blendTime)

Resets a custom set emotion back to neutral.

Parameters
blendTime
void RogoDigital.Lipsync.LipSync.Resume ( )

Resumes the current animation after pausing.

void RogoDigital.Lipsync.LipSync.SetEmotion ( string  emotion,
float  blendTime 
)

Sets the emotion. Only works when not playing an animation.

Parameters
emotionEmotion.
blendTimeBlend time.
static int RogoDigital.Lipsync.LipSync.SortTime ( PhonemeMarker  a,
PhonemeMarker  b 
)
static
static int RogoDigital.Lipsync.LipSync.SortTime ( GestureMarker  a,
GestureMarker  b 
)
static
void RogoDigital.Lipsync.LipSync.Stop ( bool  stopAudio)

Completely stops the current animation to be started again from the begining.

void RogoDigital.Lipsync.LipSync.TempLoad ( List< PhonemeMarker pData,
List< EmotionMarker eData,
AudioClip  clip,
float  duration 
)

Loads raw data instead of using a serialised asset. Used for previewing animations in the editor.

Parameters
pDataPhoneme data.
eDataEmotion data.
clipAudio Clip.
durationFile Duration.
void RogoDigital.Lipsync.LipSync.TempLoad ( PhonemeMarker[]  pData,
EmotionMarker[]  eData,
AudioClip  clip,
float  duration 
)

Loads raw data instead of using a serialised asset. Used for previewing animations in the editor.

Parameters
pDataPhoneme data.
eDataEmotion data.
clipAudio Clip.
durationFile Duration.

Member Data Documentation

List<AnimationCurve> RogoDigital.Lipsync.LipSync.animCurves
AudioSource RogoDigital.Lipsync.LipSync.audioSource

AudioSource used for playing dialogue

bool RogoDigital.Lipsync.LipSync.boneUpdateAnimation = false

Used for deciding if/when to repose boneshapes in LateUpdate.

LipSyncData RogoDigital.Lipsync.LipSync.defaultClip = null

The clip to be played when playOnAwake is checked.

float RogoDigital.Lipsync.LipSync.defaultDelay = 0f

The delay between calling Play() and the clip playing.

CurveGenerationMode RogoDigital.Lipsync.LipSync.emotionCurveGenerationMode = CurveGenerationMode.Tight

The method used for generating curve tangents. Tight will ensure poses are matched exactly, but can make movement robotic, Loose will look more natural but can can cause poses to be over-emphasized.

List<EmotionShape> RogoDigital.Lipsync.LipSync.emotions = new List<EmotionShape>()

All EmotionShapes on this LipSync instance. EmotionShapes are simply PhonemeShapes, but with a string identifier instead of a Phoneme. Emotions are set up in the Project Settings.

int RogoDigital.Lipsync.LipSync.frameRate = 30

The framerate used for fixed framerate rendering.

List<GestureInstance> RogoDigital.Lipsync.LipSync.gestures

The animation clips used for gestures.

Animator RogoDigital.Lipsync.LipSync.gesturesAnimator

The Animator component used for Gestures.

int RogoDigital.Lipsync.LipSync.gesturesLayer

The Gestures layer.

bool RogoDigital.Lipsync.LipSync.keepEmotionWhenFinished = false

If true, any emotion marker that doesn't blend out before the end of the clip will stay active when the clip finishes.

float RogoDigital.Lipsync.LipSync.lastUsedVersion = 0
bool RogoDigital.Lipsync.LipSync.loop = false

If checked, the clip will play again when it finishes.

UnityEvent RogoDigital.Lipsync.LipSync.onFinishedPlaying

Called when a clip finished playing.

CurveGenerationMode RogoDigital.Lipsync.LipSync.phonemeCurveGenerationMode = CurveGenerationMode.Loose

The method used for generating curve tangents. Tight will ensure poses are matched exactly, but can make movement robotic, Loose will look more natural but can can cause poses to be over-emphasized.

List<PhonemeShape> RogoDigital.Lipsync.LipSync.phonemes = new List<PhonemeShape>()

All PhonemeShapes on this LipSync instance. PhonemeShapes are a list of blendables and weights associated with a particular phoneme.

bool RogoDigital.Lipsync.LipSync.playOnAwake = false

If checked, the component will play defaultClip on awake.

ResetDelegate RogoDigital.Lipsync.LipSync.reset
float RogoDigital.Lipsync.LipSync.restHoldTime = 0.4f

The time, in seconds, that a shape will be held for before blending to neutral when a rest is inserted.

float RogoDigital.Lipsync.LipSync.restTime = 0.2f

If there are no phonemes within this many seconds of the previous one, a rest will be inserted.

bool RogoDigital.Lipsync.LipSync.scaleAudioSpeed = true

If true, audio playback speed will match the timescale setting (allows slow or fast motion speech)

bool RogoDigital.Lipsync.LipSync.useBones = false

Allow bones to be used in phoneme shapes.

Property Documentation

AnimationTimingMode RogoDigital.Lipsync.LipSync.animationTimingMode
getset

How animation playback is timed. AudioPlayback is linked to the audio position. FixedFrameRate assumes a constant speed (useful for offline rendering).

bool RogoDigital.Lipsync.LipSync.isPaused
get

Whether the currently playing animation is paused.

bool RogoDigital.Lipsync.LipSync.isPlaying
get

Whether or not there is currently a LipSync animation playing.

bool RogoDigital.Lipsync.LipSync.isStopping
get

Whether the currently playing animation is transitioning back to neutral.


The documentation for this class was generated from the following file: