Page 1 of 2

No Conversant Actor in Scene

Posted: Sat Apr 10, 2021 8:54 pm
by DearDeerDee
Hi Tony,

Have you played Firewatch? At the beginning of the game, the player reads a bunch of questions, and selects an answer before proceeding to the next piece of dialogue.
Firewatch.png
Firewatch.png (218.53 KiB) Viewed 722 times
I want to achieve the same thing in my game. But I got the following questions.

1. The conversation requires an actor and a conversant, but in this case, there is no conversant.

2. I want to hide the speaker's name during this piece. How to achieve it?
Screenshot.png
Screenshot.png (342.05 KiB) Viewed 722 times

Re: No Conversant Actor in Scene

Posted: Sat Apr 10, 2021 9:18 pm
by Tony Li
Hi,
DearDeerDee wrote: Sat Apr 10, 2021 8:54 pm1. The conversation requires an actor and a conversant, but in this case, there is no conversant.
That's fine. You can still use a conversant (e.g., "NPC" actor) in the conversation, but it doesn't have to be associated with any GameObject in the scene.
DearDeerDee wrote: Sat Apr 10, 2021 8:54 pm2. I want to hide the speaker's name during this piece. How to achieve it?
Use a dialogue UI that doesn't have Portrait Names assigned to its subtitle panels. For example:
  • Duplicate your dialogue UI prefab.
  • Edit the duplicate. Remove the Portrait Name GameObjects. (You can also remove Divider if you duplicated the Basic Standard Dialogue UI.)
  • Add an Override Dialogue UI component to the player GameObject. Assign the duplicate prefab to it.

Re: No Conversant Actor in Scene

Posted: Sat Apr 10, 2021 9:20 pm
by DearDeerDee
Thanks again for your prompt response!

Re: No Conversant Actor in Scene

Posted: Sat Apr 10, 2021 9:23 pm
by DearDeerDee
I have a question regarding your answer to the second question. What if after a transition of scene, I don't want to override the dialogue UI for the player anymore?

Re: No Conversant Actor in Scene

Posted: Sat Apr 10, 2021 9:32 pm
by Tony Li
If your player GameObject with the Override Dialogue UI component only exists in the first scene, you don't need to do anything else. That player GameObject will disappear with the first scene. Just don't add an Override Dialogue UI component to the player in the next scene.

Re: No Conversant Actor in Scene

Posted: Sat Apr 10, 2021 9:37 pm
by DearDeerDee
Good to know. Thx!

Re: No Conversant Actor in Scene

Posted: Sat Apr 10, 2021 9:41 pm
by Tony Li
Glad to help!

Re: No Conversant Actor in Scene

Posted: Tue Apr 13, 2021 9:50 pm
by DearDeerDee
Tony, I created a dialogue UI prefab, and assigned it after adding a Dialogue Override component to my player.
Snipaste_2021-04-14_09-41-16.png
Snipaste_2021-04-14_09-41-16.png (73.72 KiB) Viewed 709 times
Snipaste_2021-04-14_09-40-54.png
Snipaste_2021-04-14_09-40-54.png (12.14 KiB) Viewed 709 times
Yet when I run the game, it's using the old Basic Dialogue UI.
Snipaste_2021-04-14_09-40-31.png
Snipaste_2021-04-14_09-40-31.png (24.99 KiB) Viewed 709 times
Snipaste_2021-04-14_09-41-55.png
Snipaste_2021-04-14_09-41-55.png (20.2 KiB) Viewed 709 times
Did I miss any step?

Re: No Conversant Actor in Scene

Posted: Tue Apr 13, 2021 10:49 pm
by Tony Li
Hi,

After reading your other thread, too, I think it will be simpler to use the same dialogue UI but just add a couple of extra subtitle panels. It's simpler than creating a new dialogue UI and using Override Dialogue UI.

Here's an example scene:

DS_NoPortraitNameExample_2021-04-13.unitypackage

The Dialogue Manager has a copy of the Basic Standard Dialogue UI, but I added two subtitle panels:
  • Panel index 2 has no portrait name or image.
  • Panel index 3 is just list NPC Subtitle Panel (panel index 0) except the typewriter speed is twice as fast.
The example scene has three buttons:
  • Regular conversation: Runs a regular conversation using the default subtitle panels 0 (NPC) and 1 (PC).
  • No Name Conversation: Runs a conversation using subtitle panel 2. The conversation is assigned to an actor named No Name. I created an empty GameObject, added a Dialogue Actor component, set it to No Name, and set the Dialogue UI Settings > Subtitle Panel Number to 2.
  • Fast Type Conversation: Runs a conversation using subtitle panel 3. The conversation is assigned to an actor named Teen. I created an empty GameObject, added a Dialogue Actor component, set it to Teen, and set the Dialogue UI Settings > Subtitle Panel Number to 3.

Re: No Conversant Actor in Scene

Posted: Tue Apr 13, 2021 11:55 pm
by DearDeerDee
Hi Tony, thanks for your prompt reply.

Based your reply, this is what I did:
  • Duplicated the Basic Dialogue UI prefab, rename it and created Subtitle Panel 2-No Name. Then I assigned this prefab in my Dialogue Manager.
  • In my Dialogue Manager wizard, I created an actor called "Narrator". I also set the desired conversation's Actor to Narrator and the player.
  • I created a gameObject called NPC. Attached the script "Dialogue Actor" to it. Then I set the subtitle Panel Number to Panel 2
.
  • I attached Dialogue System Trigger to NPC, assigned the desired dialogue and set the Trigger to "On Start".
Then I run the game, yet in the Hierarchy, you can clearly see that the Dialogue UI has both "NPC subtitle Panel" and "Subtitle Panel 2" active. It seems that the dialogue is not using "Subtitle Panel 2" as well.
Snipaste_2021-04-14_11-44-13.png
Snipaste_2021-04-14_11-44-13.png (356.24 KiB) Viewed 705 times