Questions around Custom Speech Bubbles
Posted: Fri Feb 21, 2020 8:23 am
Hi Tony,
I open a new thread following this one (https://www.pixelcrushers.com/phpbb/vie ... 016#p16016).
I have some different questions, but they are all about my DSFU setup which is basically a comic book setup (many speakers freely positioned in 2D Canvas, having many portraits/emotions with different speech bubbles that are instanced).
I'd like to start with this question:
How do I change the current sequence of a dialogue entry so that it's change reflects in the current spoken line to trigger an animation?
My setup:
1. a default sequence on DialogueManager:
AnimatePortrait(Idle)@{{end}};
AudioWait(entrytaglocal, speaker, silence_1s);
2. each dialogue entry's sequence is:
{{default}}
3. now I'd like to change the dialogue entrys sequence to:
AnimatePortrait("Animation");
{{default}}
-> where "Animation" is a variable. I have several portrait animations (e.g. Talking, Idle, Shouting, Screaming..) and depending on the speakers' emotion (a custom field I added) a defined portrait animation should be played.
I have defined the link between emotion and animation in a scriptable object. On DialogueManager, I have a class with OnConversationLine(Subtitle subtitle) and in this, I change "subtitle.dialogueEntry.currentSequence" in a way so it equals what I've written under 3.
What happens now is that OnConversationLine changes the currentSequence AFTER the sequencer already executed whatever sequence is defined (in this case the default sequence from 1.) - therefore of course, "AnimatePortrait("Screaming") is not played. But what I would need is that the sequencer executes the current lines' sequence AFTER I've set it in OnConversationLine so that the "AnimatePortrait("Screaming") points to the proper animation that is associated with the current emotion/portrait.
AnimatePortrait itself is a custom sequencer command as you have suggested in the linked thread.
(Sidenode, it is not a good option for me to not use the default sequence and instead manually add a custom sequence to each sentence)
Could you please help me how to achieve this?
- Michael
I open a new thread following this one (https://www.pixelcrushers.com/phpbb/vie ... 016#p16016).
I have some different questions, but they are all about my DSFU setup which is basically a comic book setup (many speakers freely positioned in 2D Canvas, having many portraits/emotions with different speech bubbles that are instanced).
I'd like to start with this question:
How do I change the current sequence of a dialogue entry so that it's change reflects in the current spoken line to trigger an animation?
My setup:
1. a default sequence on DialogueManager:
AnimatePortrait(Idle)@{{end}};
AudioWait(entrytaglocal, speaker, silence_1s);
2. each dialogue entry's sequence is:
{{default}}
3. now I'd like to change the dialogue entrys sequence to:
AnimatePortrait("Animation");
{{default}}
-> where "Animation" is a variable. I have several portrait animations (e.g. Talking, Idle, Shouting, Screaming..) and depending on the speakers' emotion (a custom field I added) a defined portrait animation should be played.
I have defined the link between emotion and animation in a scriptable object. On DialogueManager, I have a class with OnConversationLine(Subtitle subtitle) and in this, I change "subtitle.dialogueEntry.currentSequence" in a way so it equals what I've written under 3.
What happens now is that OnConversationLine changes the currentSequence AFTER the sequencer already executed whatever sequence is defined (in this case the default sequence from 1.) - therefore of course, "AnimatePortrait("Screaming") is not played. But what I would need is that the sequencer executes the current lines' sequence AFTER I've set it in OnConversationLine so that the "AnimatePortrait("Screaming") points to the proper animation that is associated with the current emotion/portrait.
AnimatePortrait itself is a custom sequencer command as you have suggested in the linked thread.
(Sidenode, it is not a good option for me to not use the default sequence and instead manually add a custom sequence to each sentence)
Could you please help me how to achieve this?
- Michael