Question about Dialog UI
Question about Dialog UI
Hello!
I bought Dialog System not so long ago, but still wasn't able to find out if it's possible to set things up so that every new dialog entry would be shown on new GameObject with TextMeshPro. Is it possible to do this? Can someone give me advice how to realise this if it's possible? Thsnk.
I bought Dialog System not so long ago, but still wasn't able to find out if it's possible to set things up so that every new dialog entry would be shown on new GameObject with TextMeshPro. Is it possible to do this? Can someone give me advice how to realise this if it's possible? Thsnk.
Re: Question about Dialog UI
Hi,
You can use the SMS Dialogue UI prefab. Despite its name and appearance as a text messaging UI, you can restyle it to look however you want.
You can use the SMS Dialogue UI prefab. Despite its name and appearance as a text messaging UI, you can restyle it to look however you want.
Re: Question about Dialog UI
Thanks! I've never used it, so will try to figure out how to restyle it.
Re: Question about Dialog UI
As a first step, I recommend trying out the SMS Dialogue UI as-is just to see how it works.
Then duplicate it and use your duplicate. NPC lines will use copies of the NPC Message Template. Player lines will use copies of the PC Message Template.
Then duplicate it and use your duplicate. NPC lines will use copies of the NPC Message Template. Player lines will use copies of the PC Message Template.
Re: Question about Dialog UI
Thanks for the advice. Can I ask some more question. Is there any way to trigger animations for 4 GameObjects at start of conversation and at the end? One by another at the begining and all at once at the end.
Sorry if this is commonly known information. I'm only trying to understand Dialogue system. Thanks.
Sorry if this is commonly known information. I'm only trying to understand Dialogue system. Thanks.
Re: Question about Dialog UI
Yes. Use sequencer commands (tutorial). For example, in the first node you could set the Sequence to something like:
Code: Select all
{{default}}; // Also play Dialogue Manager's Default Sequence.
AnimatorPlayWait(Anim1, Object1)->Message(Done1);
AnimatorPlayWait(Anim2, Object2)@Message(Done1)->Message(Done2);
AnimatorPlayWait(Anim3, Object3)@Message(Done2)->Message(Done3);
AnimatorPlayWait(Anim4, Object4)@Message(Done3)
Code: Select all
{{default}};
AnimatorPlay(Anim1b, Object1);
AnimatorPlay(Anim2b, Object2);
AnimatorPlay(Anim3b, Object3);
AnimatorPlay(Anim4b, Object4)
Re: Question about Dialog UI
Thanks for your help, Tony. I'll be sure to look into the sequences tomorrow.
Can I ask you one more question? Is there any way to assign the continuation of the dialog to the mouse button click through the new input system?
Can I ask you one more question? Is there any way to assign the continuation of the dialog to the mouse button click through the new input system?
Re: Question about Dialog UI
Yes, it's the same as Unity's built-in input manager.
1. Inspect the Dialogue Manager GameObject. Set Display Settings > Subtitle Settings > Continue Button to Always.
2. Make sure your scene has an EventSystem.
3. Add a continue button to your dialogue UI's subtitle panels if they don't already have one. All of the prefab dialogue UIs that ship with the Dialogue System have continue buttons.
If you want mouse clicks to advance the conversation no matter where the cursor is, set the continue button's size to cover the whole screen, and set its Image color alpha to zero so it's invisible. This allows the player to click/tap anywhere onscreen to continue. You can usually move it to be a direct child of the Dialogue Panel and/or add a Layout Element and tick Ignore Layout. This will make it easier to configure the Rect Transform to cover the whole screen.
Re: Question about Dialog UI
Thanks alot! One last question and the template for my game will be completed. When I close the dialog the system does not load the closing animation of all objects with NPC and PC messages. Is there any way to change this? I tried to enter the trigger name to the Dialogue Panel GameObject, NPC Message Template and PC Message Template GameObjects, but nothing changed.
Re: Question about Dialog UI
Hi,
The SMSDialogueUI / TextlineDialogueUI is not designed to play "hide" animations on every single message instance that the conversation has added to the dialogue UI.
It should, however, play the main dialogue panel's hide animation if you've configured one. Make sure your dialogue panel has an Animator component with an animator controller. If you're playing the conversation while the game is paused (i.e., Time.timeScale == 0), set the Animator's Update Mode to Unscaled. Set the UIPanel component's Hide Animation Trigger to the name of the "hide" trigger parameter in the animator controller. Also tick the main StandardDialogueUI component's Conversation UI Elements > Wait For Close checkbox.
The SMSDialogueUI / TextlineDialogueUI is not designed to play "hide" animations on every single message instance that the conversation has added to the dialogue UI.
It should, however, play the main dialogue panel's hide animation if you've configured one. Make sure your dialogue panel has an Animator component with an animator controller. If you're playing the conversation while the game is paused (i.e., Time.timeScale == 0), set the Animator's Update Mode to Unscaled. Set the UIPanel component's Hide Animation Trigger to the name of the "hide" trigger parameter in the animator controller. Also tick the main StandardDialogueUI component's Conversation UI Elements > Wait For Close checkbox.