Hi,
Japtor wrote: ↑Tue Aug 21, 2018 6:14 amI have three questions.
The first one: Is there a way that the player character could execute a simple bark system but with multiple conversation nodes inside one Dialogue->Conversation?
Are you asking about multiple barks, one after the other? If so, this is a conversation. If you want the player always to show conversation lines as a bark, add a
Dialogue Actor component. Change Dialogue UI Settings > Subtitle Panel Number to Bark, and assign a bark UI to Bark UI Settings.
If you only want the player to bark a specific conversation, put that conversation's Dialogue System Trigger on a separate GameObject. Add two more components: Override Dialogue UI and Bark Dialogue UI. Assign the Bark Dialogue UI component to the Override Dialogue UI.
Japtor wrote: ↑Tue Aug 21, 2018 6:14 amThe second one: Is there a way that inside one conversation node I could swap the Character or the NPC UI animation state? For example, in a conversation node where the NPC/Character is telling something happy/sad/etc, the animation state would change to idle to happy/sad/etc.
Yes, use the
Sequence field. (See
Cutscene Sequences.) For example:
- Dialogue Text: "Yay! I'm so happy!"
- Sequence:
The "{{default}}" keyword includes the Dialogue Manager's Default Sequence.
Another example:
- Dialogue Text: "Watch me dance!"
- Sequence:
Code: Select all
AnimatorPlayWait(Dance)->Message(Done);
AnimatorPlay(Idle)@Message(Done)
This example doesn't need the Dialogue Manager's Default Sequence. It just plays the Dance animation until it's done, then returns to Idle.
Japtor wrote: ↑Tue Aug 21, 2018 6:14 amThe last one: Continuing from the first question... Inside the bark system, I have the idea to change the UI image. The typical comic dialogue image where the Character is talking and the other where the Character is Thinking (the one that is a cloud). Is there a way I could swap them depending on the conversation node inside one Dialogue->Conversation?
There are a couple ways you could do this. With scripting, you could swap the image in an
OnConversationLineO() method on the player.
Without scripting, in your dialogue database you could create a second player actor named "PlayerThinking". Assign all thinking lines to the PlayerThinking actor.
Then add an empty child GameObject to the player. Name it PlayerThinking. Add a Dialogue Actor component, and assign your thinking cloud bark UI to it.