invisible Narrator?

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
Arcanor
Posts: 81
Joined: Sun Oct 05, 2014 4:20 am

invisible Narrator?

Post by Arcanor »

I've got some dialogue entries that are supposed to come from an omnicient/invisible "Narrator". How is this best done?

I'm kicking this off via code, calling DialogueSystemController.StartConversation("conversation name").

So far, I've just created a transparent PNG for the portrait, since otherwise there's a big white square where the portrait should be. But I'm getting warnings after every line of narration, such as these:

Code: Select all

Dialogue System: Sequencer: Camera subject '' wasn't found.
UnityEngine.Debug:LogWarning(Object)
PixelCrushers.DialogueSystem.Sequencer:TryHandleCameraInternally(String, String[])
PixelCrushers.DialogueSystem.Sequencer:HandleCommandInternally(String, String[], Single&)
PixelCrushers.DialogueSystem.Sequencer:ActivateCommand(String, String, String[])
PixelCrushers.DialogueSystem.Sequencer:PlayCommand(String, Boolean, Single, String, String, String[])
PixelCrushers.DialogueSystem.Sequencer:PlaySequence(String)
PixelCrushers.DialogueSystem.Sequencer:PlaySequence(String, Boolean, Boolean)
PixelCrushers.DialogueSystem.ConversationView:StartSubtitle(Subtitle, Boolean, Boolean)
PixelCrushers.DialogueSystem.ConversationController:GotoState(ConversationState)
PixelCrushers.DialogueSystem.ConversationController:OnFinishedSubtitle(Object, EventArgs)
PixelCrushers.DialogueSystem.ConversationView:FinishSubtitle()
PixelCrushers.DialogueSystem.ConversationView:OnConversationContinue()
UnityEngine.Component:SendMessage(String, SendMessageOptions)
PixelCrushers.DialogueSystem.AbstractDialogueUI:OnContinue()
PixelCrushers.DialogueSystem.UnityUIDialogueUI:OnContinue() (at Assets/Dialogue System/Scripts/Supplemental/UI/Dialogue UI/UnityUIDialogueUI.cs:108)
PixelCrushers.DialogueSystem.UnityUIContinueButtonFastForward:OnFastForward() (at Assets/Dialogue System/Scripts/Supplemental/UI/Effects/UnityUIContinueButtonFastForward.cs:32)
UnityEngine.EventSystems.EventSystem:Update()
And these:

Code: Select all

Dialogue System: Sequencer: Camera subject 'listener' wasn't found.
UnityEngine.Debug:LogWarning(Object)
PixelCrushers.DialogueSystem.Sequencer:TryHandleCameraInternally(String, String[])
PixelCrushers.DialogueSystem.Sequencer:HandleCommandInternally(String, String[], Single&)
PixelCrushers.DialogueSystem.Sequencer:ActivateCommand(String, String, String[])
PixelCrushers.DialogueSystem.Sequencer:CheckQueuedCommands()
PixelCrushers.DialogueSystem.Sequencer:Update()
Am I going to need to place an invisible object called "Narrator" into my scene? I'm not using the camera zooming at all for my game. Is this still needed?
Arcanoria Games - http://www.arcanoria.com - indie game development blog
twitter: https://twitter.com/WaltCollins3 @WaltCollins3
Game titles: Pesticide Patrol, Arcanoria Chronicles, CyberGhost, Arcanoria
PLAY NOW: http://arcanor.itch.io/
User avatar
Tony Li
Posts: 22104
Joined: Thu Jul 18, 2013 1:27 pm

Re: invisible Narrator?

Post by Tony Li »

Hi,

Does your Dialogue Manager's Default Sequence contain any Camera commands? If so, you can change it to Delay({{end}}) to delay before the next line or None() to immediately move on.

If you only want to do this for the Narrator, create an empty GameObject and add an Override Display Settings component to it. Set the Default Sequence on the component, and pass this GameObject as the conversant.
Arcanor
Posts: 81
Joined: Sun Oct 05, 2014 4:20 am

Re: invisible Narrator?

Post by Arcanor »

Thanks, setting it to "None()" worked well. Since I wasn't using camera sequences at all, I didn't realize I had to modify the default value in there.
Arcanoria Games - http://www.arcanoria.com - indie game development blog
twitter: https://twitter.com/WaltCollins3 @WaltCollins3
Game titles: Pesticide Patrol, Arcanoria Chronicles, CyberGhost, Arcanoria
PLAY NOW: http://arcanor.itch.io/
User avatar
Tony Li
Posts: 22104
Joined: Thu Jul 18, 2013 1:27 pm

Re: invisible Narrator?

Post by Tony Li »

It seemed like a good idea at the time to make camera closeups the default, but it's just been an annoyance for many users. It's easy enough to add closeups back in when you do need them. :-)
Arcanor
Posts: 81
Joined: Sun Oct 05, 2014 4:20 am

Re: invisible Narrator?

Post by Arcanor »

Yeah, I'm using John Stairs' MMO RPG Camera and Controller, and I'm concerned that it may conflict with the close-up sequences. Plus, my character models aren't all that pretty at this point. :) I'm happy without the zooming for now.
Arcanoria Games - http://www.arcanoria.com - indie game development blog
twitter: https://twitter.com/WaltCollins3 @WaltCollins3
Game titles: Pesticide Patrol, Arcanoria Chronicles, CyberGhost, Arcanoria
PLAY NOW: http://arcanor.itch.io/
User avatar
Tony Li
Posts: 22104
Joined: Thu Jul 18, 2013 1:27 pm

Re: invisible Narrator?

Post by Tony Li »

Sounds good! Should you want to zoom in the future, you can use a Set Component Enabled On Dialogue Event component to automatically disable John's scripts during conversations.

You can also use a Default Camera Angle component to specify a different camera angle than 'Closeup' for any given character, should you want to use the Camera() command in the future.
Post Reply