QTEs not showing up
-
- Posts: 150
- Joined: Mon Nov 23, 2020 6:35 am
QTEs not showing up
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?
*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?
-
- Posts: 150
- Joined: Mon Nov 23, 2020 6:35 am
Re: QTEs not showing up
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...)
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...)
Re: QTEs not showing up
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?
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?
-
- Posts: 150
- Joined: Mon Nov 23, 2020 6:35 am
Re: QTEs not showing up
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: The sequence on the first node is:
The sequence on the "Wait QTE response" node is:
All nodes have my "Narrator" as the actor, not the player.
The conditions on the last nodes are all, 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.
Here is the complete dialogue tree: The sequence on the first node is:
Code: Select all
QTE(0, 2, PlayerAction, run)
Code: Select all
None()
The conditions on the last nodes are all
Code: Select all
Variable["PlayerAction"] == "run"
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
-
- Posts: 150
- Joined: Mon Nov 23, 2020 6:35 am
Re: QTEs not showing up
I also noticed that it seems to pick up the actor/conversant wrongly. The log says:
in one place, and then
in another one. "NightWolves" is the gameObject the trigger is attached to, but the trigger has explicit actor/conversant set:
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:
Only one of them shows up in the Unity console. So no idea what's going on there.
Code: Select all
Line 1194: Dialogue System: Starting conversation 'Attacked by Wolves', actor=, conversant=NightWolves (UnityEngine.RectTransform).
Code: Select all
Line 2704: Dialogue System: Starting conversation 'Attacked by Wolves', actor=Player (UnityEngine.Transform), conversant=Narrator (UnityEngine.Transform).
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).
Re: QTEs not showing up
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:
it was setting it to:
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?
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
Code: Select all
"run"
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?
-
- Posts: 150
- Joined: Mon Nov 23, 2020 6:35 am
Re: QTEs not showing up
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.
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.
Re: QTEs not showing up
Does the example that I provided jump to "such willpower" or only your own setup?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.
Try temporarily setting the Dialogue Manager's Other Settings > Debug Level to Info. Then play your conversation. The extra logging might provide some insight.
-
- Posts: 150
- Joined: Mon Nov 23, 2020 6:35 am
Re: QTEs not showing up
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.
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.
-
- Posts: 150
- Joined: Mon Nov 23, 2020 6:35 am
Re: QTEs not showing up
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.