Page 1 of 1

Articy 2 importer: not importing Stage Directions as Sequences

Posted: Thu Sep 10, 2020 10:05 am
by LostTrainDude
[Unity 2019.4.9f1 - Dialogue System v2.2.9]

Hi!

In my current project I'm having issues importing Articy's Stage Directions as Sequences in Dialogue System.

They don't get imported at all when I write them as Stage Directions, although they do when I use an actual Sequence field in their Template (hence setting Stage Directions as Not Sequences when importing).

To be sure, I have tried doing this in the articy template provided with Dialogue System. I created 1 PC and 1 NPC character, using the provided templates and implemented a single conversation with all the relative templates in their places, but I can confirm that it still happens.

Here is a screenshot gallery showcasing my Articy project setup and the result in my Dialogue System Database.



Am I missing something?

Thanks in advance!

Re: Articy 2 importer: not importing Stage Directions as Sequences

Posted: Thu Sep 10, 2020 10:46 am
by Tony Li
Hi,

In the Dialogue System's articy import window, have you set "Stage Directions are" to Sequences?

Note that if you also have a custom Sequence field, the value of the custom Sequence field may override the value in Stage Directions.

Re: Articy 2 importer: not importing Stage Directions as Sequences

Posted: Thu Sep 10, 2020 11:07 am
by LostTrainDude
Tony Li wrote: Thu Sep 10, 2020 10:46 am In the Dialogue System's articy import window, have you set "Stage Directions are" to Sequences?

Note that if you also have a custom Sequence field, the value of the custom Sequence field may override the value in Stage Directions.
Yes, I tried writing Sequences in the Stage DIrection field of the Dialogue Fragments and importing the Database with "Stage Directions are: Sequences", with and without a Dialogue Fragment Template that had a "Sequence" field; I tried writing Sequences in a Dialogue Fragment Template's "Sequence" without writing them in Stage DIrection and importing the Database with "Stage Directions are: Not Sequences".

The latter is the only way it would work.

EDIT:

Just to be more, hopefully, more clear, here's what I have tried and whether it worked or not:
  • Sequences in Stage Directions, without a Dialogue Fragment Template, imported with "Stage Direction are: Sequences": NO
  • Sequences in Stage Directions, without a Dialogue Fragment Template, imported with "Stage Direction are: Not Sequences": NO (understandably)
  • Sequences in Stage Directions, with a Dialogue Fragment Template, imported with "Stage Direction are: Sequences": NO
  • Sequences in Stage Directions, with a Dialogue Fragment Template, imported with "Stage Direction are: Not Sequences": NO (understandably)
  • Sequences in "Sequence" field of a Dialogue Fragment Template, imported with "Stage Directions are: Sequences" NO (understandably)
  • Sequences in "Sequence" field of a Dialogue Fragment Template, imported with "Stage Directions are: Not Sequences" YES

Re: Articy 2 importer: not importing Stage Directions as Sequences

Posted: Thu Sep 10, 2020 11:56 am
by Tony Li
Hmm, I just tested the first one (Sequences in Stage Directions, without a Dialogue Fragment Template, imported with "Stage Direction are: Sequences") and it seems to work here. However, I'm currently testing with articy:draft 3. What version of articy:draft 2 are you using?

Would it be possible for you to send your articy XML file to tony (at) pixelcrushers.com? If so, please let me know which Dialogue and Dialogue Fragment I should look at.

Re: Articy 2 importer: not importing Stage Directions as Sequences

Posted: Thu Sep 10, 2020 12:13 pm
by LostTrainDude
I'm using Articy 2 SE v2.4.15 - running from Steam.

I should have sent you the email with the XML file attached and the related details.
Let me know if there is something else I can do!

In the meantime, thanks as always!

Re: Articy 2 importer: not importing Stage Directions as Sequences

Posted: Thu Sep 10, 2020 2:20 pm
by Tony Li
Here's a patch:

DS_ArticyPatch_2020-09-10.unitypackage

To help distinguish sequences from actual stage directions (e.g., "exit stage left"), the articy importer only uses Stage Directions fields that contain sequencer commands. However, it didn't also check if the Stage Directions field contains only shortcuts. The patch above also checks shortcuts.

Re: Articy 2 importer: not importing Stage Directions as Sequences

Posted: Fri Sep 11, 2020 10:08 am
by LostTrainDude
Thanks a lot for the patch, it now works! :)

I went the extra mile and added a line at line 924 of the ArticyConverter script, to cater for having both "actual" stage directions and shortcut/sequences in the same place in Articy Draft.

I simply separate the two using a separator (in my case "//"). If defaultSequenceText has both text and shortcut/sequences, instead of just shortcuts/sequences, I split the string and grab only what's after the separator.

Code: Select all

if (defaultSequenceText.Contains("//")) entry.Sequence = entry.Sequence.Split(new string[] { "// " }, System.StringSplitOptions.None)[1];
Posting just in case it turns out to be useful :)

Thanks a lot again!

Re: Articy 2 importer: not importing Stage Directions as Sequences

Posted: Fri Sep 11, 2020 10:20 am
by Tony Li
Sequences can now have comments:

Code: Select all

Camera(Closeup); // Do a closeup of the speaker.
WaitForMessage(MountedHorse); // Message sent by player controller.
Just mentioning that in case you want to adjust your approach -- maybe use '||'?

Re: Articy 2 importer: not importing Stage Directions as Sequences

Posted: Fri Sep 11, 2020 10:28 am
by LostTrainDude
Oh, yes great to know, thanks!

I know I can use a pipe | to split both Stage Directions and Dialogue Fragments into multiple Conversation nodes: would using a double pipe || create some sort of issue in that regard?

EDIT:
Of course I could use any other separator as well and avoid the issue entirely!

Re: Articy 2 importer: not importing Stage Directions as Sequences

Posted: Fri Sep 11, 2020 10:50 am
by Tony Li
A different separator is probably best. That way you can avoid any issues with node splitting and pipes in the future.