Dialogue System with Corgi Questions
Dialogue System with Corgi Questions
Hi, I've recently bought Your Asset and integrated into my porject. I'm using Corgi with Rewired, Cinemachine, Spine and TMPro.
I've copied the characters from example and replaced the models. Everything worked ok, but I wanted to add animations to characters when the corresponding dialogue is displaying. After some fiddling with the setup I've managed to make the animations work for both Actor and Conversant. But there are some weird things going on. First the player can move when the conversation is on despite the option turned off. Second the UI loses focus on the response buttons - I have to press left on the dpad(!) of the controller to move it on the first button. Another weird thing is that when I go to another character and start conversation, when I get back to the first I can't select another response. See here:
My character setup looks like this:
Another thing is about barking - how to use Tex Mesh Pro instead of regular text? I couldn't make it work and couldn't find any example in the provided scene.
Also is there an option to play a sequence during barking? I want to play some animation on a character when barking dialogue is displayed.
Thanks for this amazing asset! I'm overwhelmed with all the options
I've copied the characters from example and replaced the models. Everything worked ok, but I wanted to add animations to characters when the corresponding dialogue is displaying. After some fiddling with the setup I've managed to make the animations work for both Actor and Conversant. But there are some weird things going on. First the player can move when the conversation is on despite the option turned off. Second the UI loses focus on the response buttons - I have to press left on the dpad(!) of the controller to move it on the first button. Another weird thing is that when I go to another character and start conversation, when I get back to the first I can't select another response. See here:
My character setup looks like this:
Another thing is about barking - how to use Tex Mesh Pro instead of regular text? I couldn't make it work and couldn't find any example in the provided scene.
Also is there an option to play a sequence during barking? I want to play some animation on a character when barking dialogue is displayed.
Thanks for this amazing asset! I'm overwhelmed with all the options
Re: Dialogue System with Corgi Questions
Hi,
Thanks for using the Dialogue System!
By default, the Input Device Manager is configured to detect the player's input mode. If the player moves the mouse, it switches to mouse mode, which does not focus UI buttons unless Always Auto Focus is ticked. If the player uses a joystick, it switches to joystick mode, which does focus UI buttons. Alternatively, you can untick Detect Mouse Control; then it will always stay in joystick mode.
Thanks for using the Dialogue System!
Does this also happen in the example scene? Let's establish a baseline first and then figure out what's different in your scene's configuration.mindjar wrote: ↑Tue Aug 06, 2019 11:28 amI've copied the characters from example and replaced the models. Everything worked ok, but I wanted to add animations to characters when the corresponding dialogue is displaying. After some fiddling with the setup I've managed to make the animations work for both Actor and Conversant. But there are some weird things going on. First the player can move when the conversation is on despite the option turned off.
Inspect the Dialogue Manager GameObject. Tick the Input Device Manager component's Always Auto Focus checkbox.
By default, the Input Device Manager is configured to detect the player's input mode. If the player moves the mouse, it switches to mouse mode, which does not focus UI buttons unless Always Auto Focus is ticked. If the player uses a joystick, it switches to joystick mode, which does focus UI buttons. Alternatively, you can untick Detect Mouse Control; then it will always stay in joystick mode.
I wonder if this is somehow related to the issue above. If adjusting the Input Device Manager doesn't fix it, please let me know.
Enable TextMesh Pro Support. Then inspect the bark UI and unassign the Bark Text field. It should now show two assignable fields: one for UI Text, one for TextMeshProUGUI. Add a TextMeshProUGUI to the bark UI and assign it to the field.
You can do that. If the character pulls bark text from a conversation, set the conversation nodes' Sequence fields. If the character barks a string, the Dialogue System Trigger's Bark action lets you specify a sequence to play during the bark. In either case, inspect the character's bark UI and tick Wait Until Sequence Ends if you want the UI to stay visible during the entire sequence.
Re: Dialogue System with Corgi Questions
No, in the example scene everything is ok. I've found the cause of this - in order to work properly the Conversetion Zone must be child of the object. I've had them side by side. The error with not being able to select another response is gone too.Does this also happen in the example scene? Let's establish a baseline first and then figure out what's different in your scene's configuration.
Thanks! It works as You wrote, I just had to change the script. In the Corgi demo there's "Unity UI Bark UI" attached and the proper one is "Standard Bark UI". Could You update the demo to avoid confusion? Also in documentation there's mention of another one script - "TextMesh Pro Bark UI" so for new people like me it gets unnecessary overcomplicated.Enable TextMesh Pro Support. Then inspect the bark UI and unassign the Bark Text field. It should now show two assignable fields: one for UI Text, one for TextMeshProUGUI. Add a TextMeshProUGUI to the bark UI and assign it to the field.
I wasn't able to figure that one out, could You write some steps to achieve that?You can do that. If the character pulls bark text from a conversation, set the conversation nodes' Sequence fields. If the character barks a string, the Dialogue System Trigger's Bark action lets you specify a sequence to play during the bark. In either case, inspect the character's bark UI and tick Wait Until Sequence Ends if you want the UI to stay visible during the entire sequence.
Also a quick question - is it necessary for subtitle and response panels to be children of the character? I want to make them float above the character head with a bit of delay.
Thanks for the help
Re: Dialogue System with Corgi Questions
Yes, I'll do that. Sorry about the confusion. I missed those when updating the scene and manual.mindjar wrote: ↑Wed Aug 07, 2019 2:37 amThanks! It works as You wrote, I just had to change the script. In the Corgi demo there's "Unity UI Bark UI" attached and the proper one is "Standard Bark UI". Could You update the demo to avoid confusion? Also in documentation there's mention of another one script - "TextMesh Pro Bark UI" so for new people like me it gets unnecessary overcomplicated.
Sure! There are two common ways to set up barks: Dialogue System Trigger or Bark On Idle. If you use Dialogue System Trigger, you can choose to bark a text string or bark a line from a conversation. If you choose to bark a text string, you can specify a sequence to play with the bark:mindjar wrote: ↑Wed Aug 07, 2019 2:37 amI wasn't able to figure that one out, could You write some steps to achieve that?You can do that. If the character pulls bark text from a conversation, set the conversation nodes' Sequence fields. If the character barks a string, the Dialogue System Trigger's Bark action lets you specify a sequence to play during the bark. In either case, inspect the character's bark UI and tick Wait Until Sequence Ends if you want the UI to stay visible during the entire sequence.
In the image above, the NPC will bark "Hey! Watch me dance!" and play the animator state "dance". This assumes the NPC has an Animator with a state named "dance".
To keep the bark text onscreen for the duration of the sequence, inspect the NPC's bark UI and tick Wait Until Sequence Ends:
If you're using Bark On Idle, or if you configure the Dialogue System Trigger to bark a line from a conversation, set up your conversation like this:
The NPC will choose one of the nodes that <START> links to. You can set Conditions on the nodes to only consider them if certain conditions are true. For example, you could have a node that says "Nice weather today!" only if a Variable["Sunny"] is true.
On each node, you can set the Sequence field. In the screenshot above, the last node plays the "dance" animator state.
To read more about sequences, see:
Yes - If you want them to be positioned above a character and follow the character when the character moves, then it typically needs to be a child of the character.
Re: Dialogue System with Corgi Questions
Thanks for that Tony! Everything works like a charm. I'm astonished how extensible this system is.
Is that possible?
I want to make a panel that hover over the head of the character, but isn't a child of it. I want to add a bit of delay to make a floaty feel to the panel. Something like this:
Spoiler
Re: Dialogue System with Corgi Questions
Hi,
It's certainly possible, but it isn't built in. It will require a small script to make the UI follow the character.
It's certainly possible, but it isn't built in. It will require a small script to make the UI follow the character.
Re: Dialogue System with Corgi Questions
Here's a script and example: UISmoothFollow_2019-08-08.unitypackage
I also put it on the Dialogue System Extras page.
I also put it on the Dialogue System Extras page.
Re: Dialogue System with Corgi Questions
Wow! You're the best, thanks
Re: Dialogue System with Corgi Questions
Glad to help!
Re: Dialogue System with Corgi Questions
Everything in the script works great, I even added conditions that don't allow the dialog bubble to leave the screen.
I wanted to add a continue button to the bubble and everything was working great, but when I move left or right the button loses focus. I've tried to set the navigation on the button to "none" instead of "automatic" but that didn't help. The continue button loses focus only for the PC, on NPC the button works always fine. Do You know what would be the problem? I've spent 2 days trying to figure this out.
I wanted to add a continue button to the bubble and everything was working great, but when I move left or right the button loses focus. I've tried to set the navigation on the button to "none" instead of "automatic" but that didn't help. The continue button loses focus only for the PC, on NPC the button works always fine. Do You know what would be the problem? I've spent 2 days trying to figure this out.