Hey there,
I've been working with AC for several months now and loooove it. Unfortunately, I'm a beginner on the steep learning curve of coding and am struggling with custom actions. I know what I want to do is probably simple, but I can't seem to get it.
What I want to do is create a custom action to call a Rogo Lipsync file. Basically, I want to be able to choose the character, choose the file to play...and that is pretty much it. I realize I can set the speech settings to rogo, which I have done. But I want to call the asset files independently of speech (I like being able to morph together blendshapes for more expressive control, etc.)
Has anyone out there who also uses Rogo LipSync done something similar to this or have any pointers for me? Any help would be super appreciated!!
S
Comments
We're currently putting together a community wiki, intended as a hub for user-created scripts, tips and tricks. I think it'd make a useful addition - if you post the Action's code, we'll create a new "Custom Actions" category with it to encourage others to do the same.
Here are the codes I threw together based on the Rogo custom options in Cinema Director and Playmaker. The "Set Emotion" one is a bit buggy -- sometimes it fires, sometimes it doesn't. It really depends on whether or not there is a competing animation playing.
Obviously the automatic AC speech manager system for Rogo lipsync is still far superior for voice acting, but I've been using this as a means to have emotions/mouth movement that plays with text (no audio) and limit the .asset files to just a handful - short speech, medium speech, long speech. I also use it for asset files that just sync gestures and emotions.
Anyway, I really haven't played around with it TOO much, so it is probably a bit messy.
RogoLipSync_Play.cs
RogoLipSync_Stop.cs
RogoLipSync_SetEmotion.cs
Cheers!
S
Hey, this thread is a BIT out of date but I was hoping you could answer a question before I start playing with this. I am using Rogo and plan on using lip sync later. But until I record the voiceover, I want to at least play some expressions and gestures to convey the right emotions when the game is played. If I use these custom actionlists, will I have to remove them later or will they be overwritten by the actual lipsync data when the line is spoken?
No need for any custom Actions - AC supports Rogo LipSync natively. See the Manual's "Lip syncing" chapter for more.
Oh yes I am aware. My question was that I wanted to apply expressions and gestures WITHOUT lip sync data, just to see what they look like. I would need to use actions for that. But when I add lip syncing later, I will be creating NEW expressions and gestures based on the voice files. So will I have to go back and remove the actions I created beforehand? Or will Rogo just overwrite them?
I see. You're referring specifically to the above "RogoLipSync_SetEmotion" Action, then?
It's still essentially just calling Rogo LipSync's own SetEmotion function, so how this gets affected by regular lipsync playback is a question for that asset's developer. I'm not sure how they would blend together, myself.
One other method to consider on the AC side of things, though, is the use of the [expression:value] token that you can insert directly into speech text - where "value" is an expression type defined in your character's Inspector. Brain uses this for some of his speech lines in the 3D Demo.
Setting an AC character's expression this way can either update a Blendshape value via a Shapeable component, or by affecting an "Expression integer" defined in your character's Animator controller. See the Manual's "Facial expressions" chapter for more. If you later removed the expressions from the character's Inspector upon using Rogo LipSync, the expression speech tokens will be ignored but still removed from displayed subtitle text.
Ah! I didn't even consider tokens that could be removed later. Yes, that's a good idea. Thanks!