Page 2 of 2

Re: Two Dialogue Styles? What Do?

Posted: Wed Oct 02, 2024 6:00 pm
by Littlenorwegians
Hello! One minor problem going on here.

There's some logic in place that I can't detect that keeps an avatar object disabled until a conversation starts.
Kinda fine, but I've got something of an elaborate setup.

Is there a way to make both the conversing subjects just stay activated upon enabling? Right now for instance the second person isn't active until he talks.

EDIT: Video of the issue

Re: Two Dialogue Styles? What Do?

Posted: Wed Oct 02, 2024 9:43 pm
by Tony Li
Hi,

Set the subtitle panels' Visibility dropdowns to Always From Start.

Re: Two Dialogue Styles? What Do?

Posted: Thu Oct 03, 2024 7:51 am
by Littlenorwegians
Sadly, it is not working for me.



Something seems to disable these gameobjects or something.

Re: Two Dialogue Styles? What Do?

Posted: Thu Oct 03, 2024 8:42 am
by Tony Li
Hi,

Please try this:

On your dialogue UI's StandardDialogueUI component, tick Conversation UI Elements > Don't Deactivate Main Panel.

On the Dialogue Panel, remove the Canvas Group and Animator components, clear the UIPanel component's Show Animator Trigger and Hide Animation Trigger, and UNtick Deactivate On Hidden.

In your conversation, make sure Calico and Brindle are assigned as the conversation participants both in the conversation itself and the dialogue entries in the Dialogue Editor, and that their GameObjects are assigned to the Dialogue System Trigger's Conversation Actor and Conversation Conversant fields if the actors have corresponding GameObjects.

Re: Two Dialogue Styles? What Do?

Posted: Thu Oct 03, 2024 10:21 am
by Littlenorwegians
Right. I did all that, but I am sadly still having the same problem.

I wonder what the issue is. This is so close to being finished.

Re: Two Dialogue Styles? What Do?

Posted: Thu Oct 03, 2024 10:41 am
by Tony Li
It's probably the same thing on the subtitle panels. On both subtitle panels:
  • Remove the Canvas Group and Animator components
  • Clear the StandardUISubtitlePanel's Show Animation Trigger and Hide Animation Trigger fields
  • UNtick Deactivate On Hidden

Re: Two Dialogue Styles? What Do?

Posted: Thu Oct 03, 2024 11:55 am
by Littlenorwegians
There we go!! We're golden. It now works perfectly. :D :D :D

One small quasi-related thing. I can't get "delay" commands to work in my script.
AnimatorPlay(Brindle_Smile, SpeakerPortrait);
Delay(2); SendMessage(EndPhoneCall, , PhoneSystem);


^ Like this piece of code is just meant to wait for 2 seconds after a smile animation is done, but currently not working. What am I doing wrong?

Re: Two Dialogue Styles? What Do?

Posted: Thu Oct 03, 2024 12:10 pm
by Tony Li
Hi,

All sequencer commands will attempt to run immediately unless you provide timing information. This means Delay(2) and SendMessage(EndPhoneCall, , PhoneSystem) will both attempt to run immediately, independently of each other.

Try something like:

Code: Select all

AnimatorPlay(Brindle_Smile, SpeakerPortrait);
SendMessage(EndPhoneCall, , PhoneSystem)@2;
You can also wait for sequencer messages in sequencer commands, like:

Code: Select all

AnimatorPlayWait(Brindle_Wave, SpeakerPortrait)->Message(DoneWaving);
SendMessage(EndPhoneCall, , PhoneSystem)@Message(DoneWaving)
The first command waits until the animation is done. Then it sends an arbitrary message "DoneWaving". The second command waits for the "DoneWaving" message.

There's also a built-in message "Typed" that happens when the typewriter effect is done. It's often used like this:

Code: Select all

AnimatorPlay(Talk);
required AnimatorPlay(Idle)@(Typed)
The "required" keyword guarantees that the command plays even if the player skips ahead before the typing is finished.

Re: Two Dialogue Styles? What Do?

Posted: Thu Oct 03, 2024 2:06 pm
by Littlenorwegians
Thank you very much :D

Here you can see the results of it in action.


Big thanks as always. You are a lifesaver, Tony Li.

Re: Two Dialogue Styles? What Do?

Posted: Thu Oct 03, 2024 3:24 pm
by Tony Li
Very nice! I like the camera shot and animation when the player answers the call.