NPC Subtitle Reminders on Standard Dialogue UI

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
diviocity
Posts: 22
Joined: Sun Feb 25, 2018 12:50 am

NPC Subtitle Reminders on Standard Dialogue UI

Post by diviocity »

Hi Tony,

I began setting up response menus for our game and started looking for a way to display the previous NPC subtitle as a reminder for the player. I eventually discovered this functionality did indeed exist with the now deprecated generic unity dialogue UI element, but am unable to find any reference to one with the new standard UI response panel. I was wondering if I'm missing something here, or if it simply isn't in yet.

Thanks a ton!
User avatar
Tony Li
Posts: 22143
Joined: Thu Jul 18, 2013 1:27 pm

Re: NPC Subtitle Reminders on Standard Dialogue UI

Post by Tony Li »

Hi,

It's built into the Standard Dialogue UI system's StandardUISubtitlePanel now. Everyone disliked that the Subtitle Reminder was separate from the NPC Subtitle panel in the older UnityUIDialogueUI and UnityDialogueUI.

In StandardDialogueUI, subtitle panels now have a Visibililty dropdown. Set your NPC Subtitle panel's Visibility to Until Superceded. This will keep it visible during the response menu.
diviocity
Posts: 22
Joined: Sun Feb 25, 2018 12:50 am

Re: NPC Subtitle Reminders on Standard Dialogue UI

Post by diviocity »

Ah yes! Good ol' Until Superceded. I actually have some experience using this feature. Unfortunately, we can't really use it for a couple of reasons:

1. During our cutscenes, whenever we're using dialogue nodes to direct camera movements and non-dialogue events, the subtitle window remains present on the screen. We'd prefer them to be hidden during these instances, and is entirely corrected by using "Only During Content". We actually did create a custom sequencer command to adjust Canvas Group alpha values, which we could use to manually hide the dialogue panel on command, but it wouldn't matter because...

2. We're using Dialogue Actor components with custom subtitle panels to give each character a unique typewriter sound. If we set these to "Until Superceded", the dialogue elements will remain on the screen until that specific character speaks again. This means dialogue windows can stack on top of each other if multiple different characters speak sequentially.

At this point we're going to move forward without the previous dialogue message reminder, but I'm all ears if you have an idea for a workaround or workflow change.

Thanks again for the quick support!
User avatar
Tony Li
Posts: 22143
Joined: Thu Jul 18, 2013 1:27 pm

Re: NPC Subtitle Reminders on Standard Dialogue UI

Post by Tony Li »

Got it. Unity UI Dialogue UI is still certainly supported, so that probably the best immediate solution. I'll keep this scenario in mind when planning updates to Standard Dialogue UI.
esdalo
Posts: 5
Joined: Mon Dec 17, 2018 6:08 pm

Re: NPC Subtitle Reminders on Standard Dialogue UI

Post by esdalo »

Hi. I'm having some questions regarding this same topic so I'm asking in this thread. I hope is not a problem.

I'm trying to do the opposite, to hide the NPC Subtitle Reminders when a Menu is shown. I'm working with the default "Basic Standard Dialogue UI" prefab.

Leaving Visibility field as "Until Superceded" in the NPC Subtitle Panel and "Show NPC Subtitles With Response" disabled in the Dialogue Manager, I still can see the NPC Subtitles when Menu is shown:

Captura de pantalla 2018-12-17 a la(s) 6.16.38 p. m..png
Captura de pantalla 2018-12-17 a la(s) 6.16.38 p. m..png (38.55 KiB) Viewed 2015 times

But when I choose "Only During Content" in Visibility field in the NPC Subtitle Panel, then no matter if I enable or disable "Show NPC Subtitles With Response" in the Dialogue Manager, the NPC Subtitles are hidden. I have the doubt why in this case it doesn't matter if I enable or disable the field mention above.
In this case I also note that the transition animation from one to another dialogue is "blinking" when there is a dialogue change using the same NPC Subtitle Panel:

Image

In the first case (Visibility field as "Until Superceded") this is not happening:

Image

I would like to know which is the best way to hide the NPC Subtitle Panel once the Menu is shown, but I also have the doubt of the behaviour of the transitions depending on "visibility" property.

Thank you!
User avatar
Tony Li
Posts: 22143
Joined: Thu Jul 18, 2013 1:27 pm

Re: NPC Subtitle Reminders on Standard Dialogue UI

Post by Tony Li »

H i@esdalo,
esdalo wrote: Mon Dec 17, 2018 6:47 pmBut when I choose "Only During Content" in Visibility field in the NPC Subtitle Panel, then no matter if I enable or disable "Show NPC Subtitles With Response" in the Dialogue Manager, the NPC Subtitles are hidden. I have the doubt why in this case it doesn't matter if I enable or disable the field mention above.
The subtitle panel's Visiblity takes precedence over the Dialogue Manager's Show NPC Subtitles With Responses checkbox. If you want the NPC subtitle panel to disappear when it's done -- that is, when the conversation moves on to a response menu -- use "Only During Content". (Or see my alternate solution at the bottom of this reply.)
esdalo wrote: Mon Dec 17, 2018 6:47 pmIn this case I also note that the transition animation from one to another dialogue is "blinking" when there is a dialogue change using the same NPC Subtitle Panel:
This is because the subtitle panel shows each subtitle and then hides it. When you have two subtitles, one after the other, the subtitle panel will:

1. Fade in for the first subtitle.
2. Show the first subtitle.
3. Fade out (because it's done -- Only During Content).
4. Fade in for the second subtitle.
5. Show the second subtitle.
6. Fade out.

If you don't want this behavior, I suggest that you remove the animation from the subtitle panel.

Another solution is to set Visibility to "Until Superceded". Then inspect the Standard UI Menu Panel. Configure the "OnOpen()" UnityEvent to call the NPC Subtitle Panel's Close method.
esdalo
Posts: 5
Joined: Mon Dec 17, 2018 6:08 pm

Re: NPC Subtitle Reminders on Standard Dialogue UI

Post by esdalo »

Hi Tony,

Understood, I'll analyze which case is better for our requirements.
Thank you very much for your great answer!
User avatar
Tony Li
Posts: 22143
Joined: Thu Jul 18, 2013 1:27 pm

Re: NPC Subtitle Reminders on Standard Dialogue UI

Post by Tony Li »

Glad to help!
diviocity
Posts: 22
Joined: Sun Feb 25, 2018 12:50 am

Re: NPC Subtitle Reminders on Standard Dialogue UI

Post by diviocity »

Tony Li wrote: Mon Dec 17, 2018 8:15 am Got it. Unity UI Dialogue UI is still certainly supported, so that probably the best immediate solution. I'll keep this scenario in mind when planning updates to Standard Dialogue UI.
At this point, we've already switched away from the Unity GUI, so I don't think we're willing to invest the time to go back to it again. However, you're right, that is a valid workaround.

For now we're going with a different workaround. Since we're already using Dialogue Actor components, I went ahead and created a Reminder actor in our database along with a GameObject/Dialogue Actor component which references a custom NPC Subtitle Panel which has "Until Superceded" enabled. We can then have the Reminder actor speak some dialogue which will remain on screen during the response prompt. Then, using the AnimatorPlay sequencer command, we manually show and hide the custom NPC Subtitle panel as needed. Not a perfect solution, but it kinda works for now until we decide on something better.

Image
Post Reply