Page 1 of 1

Only first line showing

Posted: Thu May 26, 2016 9:30 am
by Gog0
I'm using Adventure Creator for one of my projects and I decided to give a try to Dialogue System to manage all my dialogues.

I followed the setup instructions and tried to make a simple conversation where 2 NPCs should have 2 lines each. Only the first one seems to show even if it doesn't seem to stop because each node is highlighted from first to last when I play the scene.

Any idea why this could happen? I tried with the default GUI and few others from the prefabs you give with the tool and it seems to be the same.

I'm using Dialogue System 1.6.3 and Adventure Creator 1.51g on Unity 5.3.4

Re: Only first line showing

Posted: Thu May 26, 2016 10:07 am
by Tony Li
Hi,

Thanks for trying out the Dialogue System!

To make sure I understand right, when you play the scene the Dialogue Editor highlights each node in green as the conversation plays, correct? If so, that's good; it means that under the hood the conversation is playing correctly, and we just need to figure out why the UI part isn't working as expected.

Does it take about 2 seconds to move from node to node? (It could be longer than 2 seconds if the Dialogue Text is long.)

Since this is an NPC-NPC conversation (i.e., no player involvement), all of the nodes except that START node should be gray. If any of the nodes are blue, this means they're assigned to the player.

Define at least 2 actors in the Dialogue Editor's Actors tab for your NPCs, and expand the All Fields section of each actor and made sure the IsPlayer field is False.

Then go to the Conversations tab and edit your conversation. Click on a blank area of the canvas to edit the conversation's properties. Assign those 2 NPC actors as the Actor and Conversant. Then click on each node and make sure the correct actor is assigned. Also, have you entered anything into the Sequence fields, or are they blank? Try making them blank for now, as this will use the Dialogue Manager's Default Sequence.

Inspect the Dialogue Manager GameObject and look for the Display Settings > Camera Settings > Default Sequence field. Try setting it to: Delay({{end}})

Finally, temporarily set the Dialogue Manager's Debug Level to Info. This will log a lot of information to the Console view. Look for lines like:

Dialogue System: Actor says 'some text'

to make sure the conversation is going through all of the lines. This may give you some insight into what's happening.

Please feel free to send an example project to tony (at) pixelcrushers.com or post screenshots of what's going on.

Re: Only first line showing

Posted: Thu May 26, 2016 11:02 am
by Gog0
Yes it's exactly that.

There is a 2s delay between each node and they are all grey. I already created actors having the isPlayer=false and assignated them to each node.

I didn't changed for the conversation actors but I just did it and it's doing the same. Also I forgot to assign actors in my adventure creators action so I saw from the logs that it was making the player speaking instead of actors I defined in the database. But I don't really know what to assign as my NPCs gameObjects have nothing to do with the db actors except the name. Is there a component I should add on the NPCs?

I'm not using anything in the sequence field for now.

The default sequence field on the dialogue manager gameObject already had the value you mentioned.

Everything seems fine in the logs

I just have 3 nodes like this :
Ana->Jakob : how are you?
Jakob->Ana: Fine. And you?
Ana->Jakob: Ok

(Not the most original text but it's just to test :D )

And here is the log output:

Dialogue System: Starting conversation 'Test', actor=Ana (UnityEngine.Transform), conversant=Jakob (UnityEngine.Transform).
Dialogue System: Lua(Variable["Actor"] = "Ana"; Variable["Conversant"] = "Jakob")
Dialogue System: Add Link (Ana): ID=1:1 'How are you?' (True)
Dialogue System: Ana says ''
Dialogue System: Sequencer.Play( None()@0 )
Dialogue System: Add Link (Jakob): ID=1:2 'Fine. And you?' (True)
Dialogue System: Ana says 'How are you?'
Dialogue System: Sequencer.Play( Delay(2)@0 )
Dialogue System: Sequencer: Delay(2)
Dialogue System: Add Link (Ana): ID=1:3 'Ok' (True)
Dialogue System: Jakob says 'Fine. And you?'
Dialogue System: Sequencer.Play( Delay(2)@0 )
Dialogue System: Sequencer: Delay(2)
Dialogue System: Ana says 'Ok'
Dialogue System: Sequencer.Play( Delay(2)@0 )
Dialogue System: Sequencer: Delay(2)
Dialogue System: Ending conversation.

I suppose the first empty " Ana says '' " is because I do nothing in the START node but it's suggested to leave it alone so I did it.

Re: Only first line showing

Posted: Thu May 26, 2016 12:36 pm
by Tony Li
I'm just mentioning this as an aside since it shouldn't have any bearing on the issue of subtitles not showing up: If your NPCs have GameObjects, add an Override Actor Name component and set the Override Name to the name of the actor in your dialogue database. Or create an empty GameObject and give it the same name as in your database (e.g., "Ana").

One thing just occurred to me: By default, the Dialogue System respects Adventure Creator's subtitles setting. If you've disabled subtitles in AC, they won't show in the Dialogue System either. To change this behavior, untick "Use Adventure Creator Subtitle Settings" on the Dialogue Manager's Adventure Creator Bridge component.

I'm still puzzled why it shows the first line but no others. As a test, try setting the Dialogue Manager's Subtitle Settings > Continue Button mode to Never if it's not already set that way.

Does the example scene in Third Party Support/Adventure Creator/Example work? Before playing it, you'll need to inspect the ManagerPackage and assign the example scene's AC managers. When you're done, inspect your own ManagerPackage to re-assign your own AC managers to AC.

Re: Only first line showing

Posted: Thu May 26, 2016 12:47 pm
by Gog0
I found a solution!

I unchecked "Use Adventure Creator Subtitle Settings" on the Adventure Creator Bridge, which I don't know exactly which settings it is about, seemed to uncheck "Show NPC Subtitles During Line" and "Show PC Subtitles During Line" in the Dialogue Manager after playing the first line.

If I unckeck this I see everything.

EDIT : Than Tony Li for the advice that I just saw after posting suggesting the solution I found a minute befre ^^ What I don't understand is that subtitles are not deactivated in AC so why would it be in DS?

Re: Only first line showing

Posted: Thu May 26, 2016 12:56 pm
by Tony Li
Great! As I mentioned above (since our posts may have crossed), this checkbox tells the Dialogue System to use AC's subtitle settings. If you've set the conversation to run on start, it's possible that AC hasn't loaded its subtitle settings value at the time that the Dialogue System starts the conversation. In this case, the Dialogue System would show the first line since AC hasn't told it to hide subtitles yet.

Re: Only first line showing

Posted: Thu May 26, 2016 1:07 pm
by Gog0
The conversation is triggered by running the "On start" action list of the scene using the "ThirdParty: Dialogue System Conversation" action.

I juste tried to add a 2 second delay before doing this action using the "Engine>Wait" adventure creator's action. And it's not showing anything at all if I do that as the setting in the dialogue manager would be already unchecked.

I still don't understand what in AC's would tell the dialogue manager to deactivate NPCs or PC subtitles.

Re: Only first line showing

Posted: Thu May 26, 2016 1:46 pm
by Tony Li
Adventure Creator has options data (see page 117 of the AC 1.51g manual) that include a flag to show subtitles or not. You can toggle this flag in AC's Options Menu. AC uses this flag to determine whether to show subtitles when displaying its own dialogue.

Your test confirms that AC is running the "On Start" action list before retrieving its options data (i.e., subtitles setting).

If you want to disconnect the Dialogue System from AC's subtitles setting, just untick the AC Bridge checkbox like you did.

Otherwise, toggle subtitles using AC's Options Menu.

Personally, when I have the choice, I prefer to turn off subtitles and just listen to the audio/lipsync. But this assumes the game has voiceover audio. If it doesn't, then of course I need to turn subtitles on. BTW, the Dialogue System supports all of AC's lipsync options, as well as several other third party options that you can read about here: How to Add Lipsync.

Re: Only first line showing

Posted: Fri May 27, 2016 6:39 am
by Gog0
Oh ok, I didn't understood it was an in game option of AC. So yeah the option was on off in the options menu. I never noticed that as I have no voice over and I had the option to force subtitles if no audio file was found so it was always showing using the AC system.

So I suppose I should untick the option to use AC settings as I won't give the option to players anyway. Is there any other AC options that Dialogue System is using or is it just for DS to know whether or not it should show subtitles?

Thanks for your time and help.

Re: Only first line showing

Posted: Fri May 27, 2016 6:49 am
by Tony Li
Hi,

There's one other AC option: If you tick "Use Adventure Creator Language" on the AC Bridge script, the Dialogue System will attempt to use the language that's set in AC. This is only relevant if you're localizing your game to multiple languages.