Page 1 of 1

Hiding a textbox within a Conversation

Posted: Thu Apr 04, 2019 7:57 am
by Heiden
Hello!

I am wanting to play an AC script in the middle of my conversation which causes one of my characters to walk across the screen, and I want it so that the conversation will not progress until he's arrived at that point.

So far, I have this working by having a blank node that calls this cutscene, but the issue is that the textbox hangs on screen with the last node's text while he's walking across the screen.

I found this forum post: viewtopic.php?f=3&t=2043&p=11065&hilit= ... box#p11065 about this same issue, but I'm not sure if a resolution was found yet.

The SetActive sequence call made it so that I was able to hide the textbox while my character was walking across the screen, but then I was never able to bring the textbox back.

I also tried SendMessage, but couldn't get that to work. (https://i.imgur.com/wI2HNRK.png)I also have an animator component on my Dialogue panel (https://i.imgur.com/aYksuRz.png).

Re: Hiding a textbox within a Conversation

Posted: Thu Apr 04, 2019 8:18 am
by Tony Li
Hello,

Here are two different ideas:

1. You can set the subtitle panel's Visibility to Only During Content. The Dialogue System will hide the subtitle panel for nodes that have no subtitle text. However, this may not give you the result you desire.

2. Use SendMessage or one of the Animator sequencer commands. For simplicity, let's say your Dialogue Panel's animator controller has two trigger parameters: Show and Hide. Set the Sequence to something like:

AnimatorTrigger(Hide,Dialogue Panel);
AC(actionlist)->Message(Done);
AnimatorTrigger(Show,Dialogue Panel)@Message(Done)

The first line sets the Dialogue Panel's Hide trigger.

The second line uses the AC() sequencer command to play an AC actionlist. When it's done, it sends the sequencer a message "Done".

The third line waits for the sequencer to receive the message "Done". Then it sets the Dialogue Panel's Show trigger.

Re: Hiding a textbox within a Conversation

Posted: Thu Apr 04, 2019 7:42 pm
by Heiden
Tony Li wrote: Thu Apr 04, 2019 8:18 am 2. Use SendMessage or one of the Animator sequencer commands. For simplicity, let's say your Dialogue Panel's animator controller has two trigger parameters: Show and Hide. Set the Sequence to something like:

AnimatorTrigger(Hide,Dialogue Panel);
AC(actionlist)->Message(Done);
AnimatorTrigger(Show,Dialogue Panel)@Message(Done)

The first line sets the Dialogue Panel's Hide trigger.

The second line uses the AC() sequencer command to play an AC actionlsit. When it's done, it sends the sequencer a message "Done".

The third line waits for the sequencer to receive the message "Done". Then it sets the Dialogue Panel's Show trigger.
This works! Except when the Dialogue Panel comes back, it's still showing the last line's dialogue (just w/o the speaker's portrait).

I also looked for the Visibility option on the Subtitle panel, but couldn't find it. I'm using the VN Template Standard Dialogue UI version, instead of the Basic Standard Dialogue UI (I found the visibility option there! Just not in the VN version).

Re: Hiding a textbox within a Conversation

Posted: Thu Apr 04, 2019 8:24 pm
by Tony Li
Hi,

Expand VN Template Standard Dialogue UI > Dialogue Panel. It has children named Subtitle Panel 0, Subtitle Panel 1, and Subtitle Panel 2. You can change the Visibility dropdown on each of these. Again, it's probably not what you're looking for, but that's where you can find the dropdowns.

You could set the "blank" node's Dialogue Text to a single space character. This will clear the text. So that node would be something like:
  • Dialogue Text: (single blank space character)
  • Sequence: AnimatorTrigger(Hide,Dialogue Panel);
    AC(actionlist)->Message(Done);
    AnimatorTrigger(Show,Dialogue Panel)@Message(Done)

Re: Hiding a textbox within a Conversation

Posted: Sun Apr 07, 2019 11:07 am
by Heiden
That worked!!! Thank you! :D

Re: Hiding a textbox within a Conversation

Posted: Sun Apr 07, 2019 11:32 am
by Tony Li
You're welcome. :-)