Specific timing on Subtitle Panel animations?
Specific timing on Subtitle Panel animations?
Im trying to get the Subtitle Panel to display in this way:
1. The text field is populated
2. The Show animation plays and brings the panel into the cameras view.
3. The player makes a choice.
4. The Hide animation plays and takes the panel out of view, but still with the previous text populated.
5. go to 1.
The Menu Response buttons are behaving this way, but I cant get the subtitle panel to do the same. Ive been messing with the Visibility settings but none of them are getting the results I'm looking for.
Any ideas?
Thanks
1. The text field is populated
2. The Show animation plays and brings the panel into the cameras view.
3. The player makes a choice.
4. The Hide animation plays and takes the panel out of view, but still with the previous text populated.
5. go to 1.
The Menu Response buttons are behaving this way, but I cant get the subtitle panel to do the same. Ive been messing with the Visibility settings but none of them are getting the results I'm looking for.
Any ideas?
Thanks
- Attachments
-
- Screenshot 2024-04-02 004749.png (35.33 KiB) Viewed 563 times
Re: Specific timing on Subtitle Panel animations?
Hi,
What specifically isn't working the way you want at the moment? Does the previous text disappear when the hide animation starts? Something else? By previous text, do you mean the current subtitle or an accumulation of all subtitles from the start from the conversation onward?
What specifically isn't working the way you want at the moment? Does the previous text disappear when the hide animation starts? Something else? By previous text, do you mean the current subtitle or an accumulation of all subtitles from the start from the conversation onward?
Re: Specific timing on Subtitle Panel animations?
Hi Tony, thanks for the reply!
Here is a video of what Im trying to accomplish.
As you can see, all changes to the text are done when the text boxes are not visible. This radio is behaving like an analog slide projector. A slide moves out and a new slide moves in. At no point should the player ever see the text boxes being populated.
I built this using my own little system of scriptable nodes, but as the game has expanded, managing all this content was getting to be a nightmare. I bought Articy Draft 3 and your asset to import it more easily.
What specifically isn't working the way you want at the moment?
As for what its doing now, its seems to be all over the place, but I think thats because I fundamentally don't understand what each of the visibility options do.
For example, if I have one of the Always show visiblity options, no animations play and the subtitle text changes immediately when a button is clicked. That all makes sense and behaves in a predictable manner. But if I select Only During Content, the results will vary from one node to the next. First time it will:
1. play the Show animation
2. change the subtitle text
3. immediately play the hide animation without user input instead of staying in the Show state waiting for input
OR sometimes it will
1. play the Show animation
2. not change the subtitle text at all
3. immediately play the hide animation
Any help you could provide would be much appreciated.
Thanks
Here is a video of what Im trying to accomplish.
As you can see, all changes to the text are done when the text boxes are not visible. This radio is behaving like an analog slide projector. A slide moves out and a new slide moves in. At no point should the player ever see the text boxes being populated.
I built this using my own little system of scriptable nodes, but as the game has expanded, managing all this content was getting to be a nightmare. I bought Articy Draft 3 and your asset to import it more easily.
What specifically isn't working the way you want at the moment?
As for what its doing now, its seems to be all over the place, but I think thats because I fundamentally don't understand what each of the visibility options do.
For example, if I have one of the Always show visiblity options, no animations play and the subtitle text changes immediately when a button is clicked. That all makes sense and behaves in a predictable manner. But if I select Only During Content, the results will vary from one node to the next. First time it will:
1. play the Show animation
2. change the subtitle text
3. immediately play the hide animation without user input instead of staying in the Show state waiting for input
OR sometimes it will
1. play the Show animation
2. not change the subtitle text at all
3. immediately play the hide animation
Any help you could provide would be much appreciated.
Thanks
Re: Specific timing on Subtitle Panel animations?
Also, heres a video of what its doing now.
Its animating in, changing the text while its visible and then automatically animating out. And sometimes its displaying the wrong text or not changing it at all, but I cant pinpoint exactly how or when.
Its animating in, changing the text while its visible and then automatically animating out. And sometimes its displaying the wrong text or not changing it at all, but I cant pinpoint exactly how or when.
Re: Specific timing on Subtitle Panel animations?
Hi,
Here's an example scene:
DS_SpinningUIExample_2024-04-02.unitypackage
Instead of masking the text (which you should do in your scene), I made the radio border semi-transparent so you can see where it's rotating to.
There isn't a visibility dropdown option that does exactly what you're looking for. Instead, I set the subtitle panel's Visibility to Until Superceded, although it could be anything other than Only During Content. Then I set the conversation's properties -> Override Display Settings > Sequence Settings > Default Player Sequence to: HidePanel(0); Delay(1)
This manually hides the panel (playing a rotate-out animation) so it's ready for the next subtitle. The Delay(1) waits for 1 second while it rotates. The Hide animation rotates the text out to the right and then snaps it to the left so it's ready for the next Show animation to rotate the new text in.
On the subtitle panel's inspector, in addition to setting Visibility, I also ticked Wait For Close but left Wait For Open unticked.
The example above doesn't require any code. Alternatively, you could:
1. Make a subclass of StandardUISubtitlePanel that handles all of this in code.
2. Or duplicate TemplateDialogueUI.cs and implement the entire dialogue UI (a simple IDialogueUI C# interface) yourself, bypassing the StandardDialogueUI scripts entirely.
Note: I didn't enter all of the text from your example video. Most of the nodes link to "Go South", which link back to WATERFALL.
Here's an example scene:
DS_SpinningUIExample_2024-04-02.unitypackage
Instead of masking the text (which you should do in your scene), I made the radio border semi-transparent so you can see where it's rotating to.
There isn't a visibility dropdown option that does exactly what you're looking for. Instead, I set the subtitle panel's Visibility to Until Superceded, although it could be anything other than Only During Content. Then I set the conversation's properties -> Override Display Settings > Sequence Settings > Default Player Sequence to: HidePanel(0); Delay(1)
This manually hides the panel (playing a rotate-out animation) so it's ready for the next subtitle. The Delay(1) waits for 1 second while it rotates. The Hide animation rotates the text out to the right and then snaps it to the left so it's ready for the next Show animation to rotate the new text in.
On the subtitle panel's inspector, in addition to setting Visibility, I also ticked Wait For Close but left Wait For Open unticked.
The example above doesn't require any code. Alternatively, you could:
1. Make a subclass of StandardUISubtitlePanel that handles all of this in code.
2. Or duplicate TemplateDialogueUI.cs and implement the entire dialogue UI (a simple IDialogueUI C# interface) yourself, bypassing the StandardDialogueUI scripts entirely.
Note: I didn't enter all of the text from your example video. Most of the nodes link to "Go South", which link back to WATERFALL.
Re: Specific timing on Subtitle Panel animations?
Wow, thanks for this! Ill open up the files tonight and let you know how it goes. I really appreciate your effort.
-Mike
-Mike
Re: Specific timing on Subtitle Panel animations?
Hi,
Glad to help! If it doesn't work how you'd like it to, let me know what needs to be different.
Glad to help! If it doesn't work how you'd like it to, let me know what needs to be different.
Re: Specific timing on Subtitle Panel animations?
This is perfect, thank you. I didn't know about the Delay setting. This is pretty much exactly how I had my old system set up. I may be able to just put this right into my existing framework without completely redoing my existing interface.
Much appreciated!
-M
Much appreciated!
-M
Re: Specific timing on Subtitle Panel animations?
One more quick question if you dont mind. Is there a way to set the Delay on a global default basis rather than just per conversation? There will be a lot of conversations and they will all behave the same.
Thanks again,
-M
Thanks again,
-M
Re: Specific timing on Subtitle Panel animations?
Hi,
Yes, set the Dialogue Manager GameObject's Display Settings > Camera & Cutscene Settings > Default Sequence and/or Default Player Sequence.
(If Default Player Sequence is non-blank, it will be used instead of Default Sequence for all player nodes -- that is, blue nodes assigned to player actor(s).)
Yes, set the Dialogue Manager GameObject's Display Settings > Camera & Cutscene Settings > Default Sequence and/or Default Player Sequence.
(If Default Player Sequence is non-blank, it will be used instead of Default Sequence for all player nodes -- that is, blue nodes assigned to player actor(s).)