Page 1 of 1

Persistent custom panels

Posted: Tue Mar 10, 2020 12:03 pm
by Lyl
Hello Tony (and whoever is reading this post),

First of all, thank you and congratulation for this amazing tool, which is really handy for us little people :)

I'm currently trying to make a comic-like cutscene, where a new custom panel appears on each "continue" action, without erasing the previous ones (and the dialogs within). I do realize that I might not be really clear, so here is a visual example:

Image

So far I managed to keep the panels logged on screen by disabling the animator component; but not the text. The only theoretical solution I have in mind is to create a NPC for each panel but... Maybe there is a simpler way?

Thanks for your attention.

Re: Persistent custom panels

Posted: Tue Mar 10, 2020 1:00 pm
by Tony Li
Hi,

I think you may be able to define additional subtitle panels, and use the [panel=#] markup tag to direct dialogue entries to each one. Set their Visibility to Always Once Shown to keep them onscreen.

I'll put together a little example later today.

Re: Persistent custom panels

Posted: Tue Mar 10, 2020 4:51 pm
by Tony Li
Yes, you're correct that you will need to define additional actors. This is because actors clean up after themselves. If they start talking through one panel, they make sure to close any previous panel that contained their previous text.

Here's a quick example:

DS_PersistentCustomPanelsExample_2020-03-10.unitypackage

It looks like this:

Image

Alternatively, you could make a subclass of StandardUISubtitlePanel that doesn't allow itself to be hidden. That requires writing some code, though, versus having to create different actors for different lines.

Re: Persistent custom panels

Posted: Wed Mar 11, 2020 8:06 am
by Lyl
Thanks for your answer and the example, I think I'll stick with the whole "one panel per npc" method for now ^^

Re: Persistent custom panels

Posted: Wed Mar 11, 2020 8:46 am
by Tony Li
Sounds good. Glad to help.

Re: Persistent custom panels

Posted: Wed Mar 11, 2020 11:35 am
by Tony Li
I just had a thought: One way to do this is to create an actor for each custom bubble panel. Name the actors Panel2, Panel3, Panel4, etc.

Then create an empty GameObject for each of these actors. Add a Dialogue Actor component, select the actor, and set the Dialogue UI Settings > Subtitle Panel Number (2, 3, 4, etc.).

Now you can specify the actor for each dialogue entry node, and you don't have to use [panel=#] tags inside the dialogue text. If you select Menu > Show > Show Actor IDs in the editor, it will be very clear which panel each node's text will use.

Re: Persistent custom panels

Posted: Thu Mar 12, 2020 12:21 pm
by Lyl
It worked flawlessly!
Thanks for the idea, it optimizes a bit the whole shebang. I still need to test it when it comes to switch to another dialogue UI, but I'm not worried.

Re: Persistent custom panels

Posted: Thu Mar 12, 2020 1:48 pm
by Tony Li
I'm glad to hear that worked well for you!