QTEs not showing up

Announcements, support questions, and discussion for the Dialogue System.
NotVeryProfessional
Posts: 150
Joined: Mon Nov 23, 2020 6:35 am

QTEs not showing up

Post by NotVeryProfessional »

In my quest to break everything in the Dialogue System (or so it appears), I've no managed to have QTEs not show up despite following the manual precisely.

*I defined a variable "PlayerAction" to store whatever the player does
*I added the Sequence QTE(0, 2, PlayerAction, good);
*I added an empty node after that with the Sequence None()
*To that node, two nodes with conditions Variable["PlayerAction"] == "good" and Variable["PlayerAction"] == "" respectively

There's no QTE showing up and the console output (I set it to "info") shows no indication that the QTE is triggered. I can see the various sequencer play(), delay and "Dialogue System: Lua(return Variable["PlayerAction"] == "good")" actions - but nothing indicating QTEs are activated, and my variable is never set to anything, mouse button pressed or not.


What did I miss?
NotVeryProfessional
Posts: 150
Joined: Mon Nov 23, 2020 6:35 am

Re: QTEs not showing up

Post by NotVeryProfessional »

additional information:

When I trigger the sequence through a dialog system trigger component, it shows up (though I have an entirely different problem there, as right-clicking also apparently ends the conversion...)
User avatar
Tony Li
Posts: 22037
Joined: Thu Jul 18, 2013 1:27 pm

Re: QTEs not showing up

Post by Tony Li »

Hi,

What's the complete sequence in your conversation node?

Let's also figure out why right-clicking ends the conversation first. Is the right mouse button (e.g., "Fire2" using Unity's default input settings) assigned to the Dialogue Manager's Input Settings > Cancel Subtitle or Cancel Conversation Inputs? Or is it assigned to any UI Button Key Trigger components, or the EventSystem's inputs?
NotVeryProfessional
Posts: 150
Joined: Mon Nov 23, 2020 6:35 am

Re: QTEs not showing up

Post by NotVeryProfessional »

That is the complete sequence. I tried other things and then reduced it back to the bare minimum the manual describes.

Here is the complete dialogue tree:
Bildschirmfoto 2021-06-08 um 05.13.35.png
Bildschirmfoto 2021-06-08 um 05.13.35.png (111.63 KiB) Viewed 683 times
The sequence on the first node is:

Code: Select all

QTE(0, 2, PlayerAction, run)
The sequence on the "Wait QTE response" node is:

Code: Select all

None()
All nodes have my "Narrator" as the actor, not the player.

The conditions on the last nodes are all

Code: Select all

Variable["PlayerAction"] == "run"
, respectively =="fight" and =="" - ignore the "fight" node, I experimented with having 2 QTE sequences, one for run and one for fight, but to troubleshoot I've now reduced it down to just the run one.

As far as I can tell, this is the exact setup described in the manual. There's no example for QTEs in the demo that I could see, so I can't compare.

I've attached the editor log. A string search for "QTE" comes up empty, so the sequence is apparently not even triggered and that's probably the real issue.



About the secondary mouse button:

Cancel Subtitle is still Escape. Cancel Conversation is set to None as I don't want players to cancel dialogs entirely (it's a narrative game). I've also not intentionally assigned it to any UI or EventSystem inputs. I didn't change any of Unity's input settings.

I cannot reliably reproduce this issue, however. It might be something unrelated.
Attachments
log.txt
(842.85 KiB) Downloaded 49 times
NotVeryProfessional
Posts: 150
Joined: Mon Nov 23, 2020 6:35 am

Re: QTEs not showing up

Post by NotVeryProfessional »

I also noticed that it seems to pick up the actor/conversant wrongly. The log says:

Code: Select all

Line 1194: Dialogue System: Starting conversation 'Attacked by Wolves', actor=, conversant=NightWolves (UnityEngine.RectTransform).
in one place, and then

Code: Select all

Line 2704: Dialogue System: Starting conversation 'Attacked by Wolves', actor=Player (UnityEngine.Transform), conversant=Narrator (UnityEngine.Transform).
in another one. "NightWolves" is the gameObject the trigger is attached to, but the trigger has explicit actor/conversant set:
Bildschirmfoto 2021-06-08 um 05.32.50.png
Bildschirmfoto 2021-06-08 um 05.32.50.png (175.29 KiB) Viewed 683 times

There's a total of 5 times the editor log (freshly deleted to ensure there's no spillover from previous runs) claims that it starts the conversation:

Code: Select all

Select Attacked by Wolves
Select Attacked by Wolves
Select Attacked by Wolves
Select Attacked by Wolves
Select Attacked by Wolves
Select Attacked by Wolves
Dialogue System: Starting conversation 'Attacked by Wolves', actor=, conversant=NightWolves (UnityEngine.RectTransform).
Dialogue System: Starting conversation 'Attacked by Wolves', actor=, conversant=NightWolves (UnityEngine.RectTransform).
Dialogue System: Starting conversation 'Attacked by Wolves', actor=Player (UnityEngine.Transform), conversant=Narrator (UnityEngine.Transform).
Dialogue System: Starting conversation 'Attacked by Wolves', actor=Player (UnityEngine.Transform), conversant=Narrator (UnityEngine.Transform).
Dialogue System: Starting conversation 'Attacked by Wolves', actor=Player (UnityEngine.Transform), conversant=Narrator (UnityEngine.Transform).
Dialogue System: Starting conversation 'Attacked by Wolves', actor=Player (UnityEngine.Transform), conversant=Narrator (UnityEngine.Transform).
Only one of them shows up in the Unity console. So no idea what's going on there.
User avatar
Tony Li
Posts: 22037
Joined: Thu Jul 18, 2013 1:27 pm

Re: QTEs not showing up

Post by Tony Li »

Hi,

Here's a QTE example:

DS_QTE_Example_2021-06-08.unitypackage

(It uses the "evil" QTE, which is mapped to RMB by default.)

Please also import this fix:

DS_QTEPatch_2021-06-08.unitypackage

When recording the result to a Text variable, the QTE() command was inadvertently adding extra quotes. So instead of setting the value of a variable to:

Code: Select all

run
it was setting it to:

Code: Select all

"run"
That would cause problems when checking the value. Boolean and Number variables were not affected by the bug.


I don't know what's going on with the "actor=" issue. I assume your player is present in the scene at design time and not instantiated during runtime, correct?

Is it possible that another GameObject's Dialogue Actor component has registered itself as "Player" and then disappeared?

At what point does the Dialogue System Trigger run? As soon as the scene starts, or during play after a certain event?
NotVeryProfessional
Posts: 150
Joined: Mon Nov 23, 2020 6:35 am

Re: QTEs not showing up

Post by NotVeryProfessional »

Imported the patch and example.

The example works. My own dialog still doesn't. It also does not pause for the 5 seconds, but immediately jumps to the "such willpower" conclusion.

Answers and more insights:
* I have a Player object that has a dialogue system actor component attached. It also has LoveHate Faction Member and Deed Reporter components, and a Persist Faction Member one. That is all, as the game is essentially a visual novel and the character isn't represented by a model or anything.
* ditto for the Narrator, except that he's only a dialogue actor, no LoveHate stuff on him.
* I'm reasonably certain no other object in the scene has Dialogue Actor component.
* The Dialogue System Trigger is OnEnable. I've tried it both starting enabled so it starts at scene start and having it disabled and then manually enabling it in the editor - same result.


I suspect that maybe some setting on the Dialogue Manager causes this behaviour. I will do some testing on that.
User avatar
Tony Li
Posts: 22037
Joined: Thu Jul 18, 2013 1:27 pm

Re: QTEs not showing up

Post by Tony Li »

NotVeryProfessional wrote: Tue Jun 08, 2021 3:28 pmThe example works. My own dialog still doesn't. It also does not pause for the 5 seconds, but immediately jumps to the "such willpower" conclusion.
Does the example that I provided jump to "such willpower" or only your own setup?

Try temporarily setting the Dialogue Manager's Other Settings > Debug Level to Info. Then play your conversation. The extra logging might provide some insight.
NotVeryProfessional
Posts: 150
Joined: Mon Nov 23, 2020 6:35 am

Re: QTEs not showing up

Post by NotVeryProfessional »

I got the culprit, at least.

The Dialogue System Ink Integration

When I attach that to your example Dialogue Manager, it shows the same behaviour. Fun thing: Even if it's not enabled. When I remove the component, QTEs work again.
NotVeryProfessional
Posts: 150
Joined: Mon Nov 23, 2020 6:35 am

Re: QTEs not showing up

Post by NotVeryProfessional »

Tony Li wrote: Tue Jun 08, 2021 3:34 pm Does the example that I provided jump to "such willpower" or only your own setup?
When run in your example scene, the example works (it shows the evil mouse and waits for 5 seconds, then branches correctly)

When I run the same conversation on my Dialogue Manager, it jumps to "such willpower" immediately.

When I add a Dialogue System Ink Integration component to it, even in your example scene, it shows the same behaviour it does in my setup. Just adding the component does that, without setting anything up, even if it is disabled.
Post Reply