Page 1 of 3

Ink Integration - Portrait and Formatting Issues

Posted: Fri May 08, 2020 10:52 am
by jumpovertheage
Hi There,

Just started with the Dialogue System this week and finding the Ink integration excellent apart from a couple of issues,:

-The "Subtitle Panel info" checkbox "Only Show NPC Portraits" doesn't seem to function with Ink. I only want to see the character I am speaking to so have checked this box, but despite that, when I make a choice, the first line after is always considered a player subtitle, and so the player portrait and name is shown. I am able to get around this by adding an actor tag to the first line of every choice, but its a very annoying solution. Can this be fixed, so the checkbox works with Ink?

-I'd like to have my Ink formatting carry through from inky to the dialogue panel as closely as possible, but double line breaks seem to be ignored. Is it possible to have the option to carry double-linebreaks over? I would also like to have the horizontal rule (or something similar) that inky has by default after a choice (see linked image below), is there a way to specific a character or rich text tag that could be printed into the dialogue box after a choice to do this?

https://pbs.twimg.com/media/ClZiC1OWMAA6B-T.jpg

Thanks!

Re: Ink Integration - Portrait and Formatting Issues

Posted: Fri May 08, 2020 8:45 pm
by Tony Li
Hi,

Thanks for using the Dialogue System!
jumpovertheage wrote: Fri May 08, 2020 10:52 am-The "Subtitle Panel info" checkbox "Only Show NPC Portraits" doesn't seem to function with Ink. I only want to see the character I am speaking to so have checked this box, but despite that, when I make a choice, the first line after is always considered a player subtitle, and so the player portrait and name is shown. I am able to get around this by adding an actor tag to the first line of every choice, but its a very annoying solution. Can this be fixed, so the checkbox works with Ink?
This happens because, by default, the Ink integration uses a fake NPC actor to speak for the player. This allows it to differentiate between lines meant to be shown as subtitles and lines that should be shown in a response menu.

You may want to try the updated integration available on the Dialogue System Extras page. This will let you tick a new 'Actor Names Precede Lines' checkbox, after which you can specify the player actor. Example:

Code: Select all

- Player: I looked a Monsieur Fogg
*    Player: ...and I could contain myself no longer.
     Player: 'What is the purpose of our journey, Monsieur?'
     Monsieur Fogg: 'A wager,' he replied.
Then it will use the real player actor instead of the fake NPC player actor. It also makes it clear who's speaking each line.
jumpovertheage wrote: Fri May 08, 2020 10:52 am-I'd like to have my Ink formatting carry through from inky to the dialogue panel as closely as possible, but double line breaks seem to be ignored. Is it possible to have the option to carry double-linebreaks over?
By default, the integration trims whitespace from both ends of every line. The updated package in the post linked above has an option to turn this off. (Untick 'Trim Text'.)
jumpovertheage wrote: Fri May 08, 2020 10:52 amI would also like to have the horizontal rule (or something similar) that inky has by default after a choice (see linked image below), is there a way to specific a character or rich text tag that could be printed into the dialogue box after a choice to do this?
I'll look into a way to do this in a future update.

Re: Ink Integration - Portrait and Formatting Issues

Posted: Sat May 09, 2020 7:24 am
by jumpovertheage
Thanks so much, the trim text option is exactly what I was after.

However the actor names change doesn't really fix my other issue, (now the NPC portrait disappears but the player one doesn't show) as it just means I will have to add an actor name to each response line rather than a actor tag, both feel a bit like a hack of the system. Is there a way to disable the way the dialogue system makes every response line a player actor line manually?

Re: Ink Integration - Portrait and Formatting Issues

Posted: Sat May 09, 2020 8:10 am
by Tony Li
Hi,

You may just need to tick the Dialogue Manager's 'Subtitle Settings > Show PC Subtitles During Line' checkbox.

Or you can change the Dialogue System Ink Integration component's PC Subtitle Settings dropdown from 'Override' to 'Use Dialogue Manager Values'.

Re: Ink Integration - Portrait and Formatting Issues

Posted: Sat May 09, 2020 8:32 am
by jumpovertheage
Unfortunately, that's not working for me.

To be clear I want "Only Show NPC Portraits" functionality to work without having to use actor tags on every response line. Expected behavior is that I check that box and then I only see NPC portraits. I never want to see a Player portrait in my game. However what I am seeing is that the NPC portrait is disappearing on every response line. I am attaching images of my settings below is a link to a Gif of the bug. you can see the NPC portrait disappears after I choose a response:


Subtitle Panel Settings.png
Subtitle Panel Settings.png (54.15 KiB) Viewed 1177 times
Ink Intergration Settings.png
Ink Intergration Settings.png (20.29 KiB) Viewed 1177 times
Dialogue Manager Settings.png
Dialogue Manager Settings.png (49.94 KiB) Viewed 1177 times

Re: Ink Integration - Portrait and Formatting Issues

Posted: Sat May 09, 2020 9:02 am
by Tony Li
If I understand the situation correctly, this is a straight dialogue UI issue, not an Ink-specific issue.
  • Inspect your dialogue UI.
  • On the Standard UI Subtitle Panel component, set the Visibility dropdown to Always From Start or Always Once Shown. Tick Only Show NPC Portraits.
  • On the Standard UI Menu Panel, unassign the PC Image and PC Name fields.

Re: Ink Integration - Portrait and Formatting Issues

Posted: Sat May 09, 2020 12:28 pm
by jumpovertheage
I'm afraid the issue is still occurring even with those options checked. I think the issue is that in your ink integration, as you say:
"by default, the Ink integration uses a fake NPC actor to speak for the player. This allows it to differentiate between lines meant to be shown as subtitles and lines that should be shown in a response menu."
The game is trying to display the player NPC on each response (its blank because I have no player set), but it shouldnt be. I just need to be able to disable this feature, or, that the ticking the "Only Show NPC Portraits" disables this feature in the ink integration.

Re: Ink Integration - Portrait and Formatting Issues

Posted: Sat May 09, 2020 1:13 pm
by Tony Li
I'll add an option to use the real player actor and post an example scene here later today.

Re: Ink Integration

Posted: Sat May 09, 2020 1:43 pm
by jrbourne
Hi Tony:

I've been gone for a few months - off writing an ink story. I've come back to a new Unity update. So, I installed a fresh copy of the newest version, of Unity, next Dialogue System, then the integration package from the asset store (9.3) and then the Dialogue System Ink Integration package in Dialogue Manager. I selected the ink example for the dialogue manager. I now get an error in the console that says ink fallbacks disabled:

StoryException: ERROR: Missing function binding for externals: 'SetQuestState', 'ShowAlert' (ink fallbacks disabled)
Ink.Runtime.Story.Error (System.String message, System.Boolean useEndLineNumber) (at Assets/Plugins/Ink/InkLibs/InkRuntime/Story.cs:2434)

I don't recall seeing that in the past when I was working with the ink examples (last year). Is there now a secret to enabling the fallbacks? I do see the external function definitions in the story.ink file for the example and the fallbacks are at the end of the example. I kept trying to find a place that the fallbacks are disabled/enable, but couldn't. I surmised that the problem may have something to do with the new code that is up on git - but not be familiar enough with that so I thought I'd ask you for help.

Thanks,

John

Re: Ink Integration - Portrait and Formatting Issues

Posted: Sat May 09, 2020 2:38 pm
by Tony Li
Hi John,

Does your Dialogue Manager GameObject have a Dialogue System Ink Integration component?

Does the example scene work?

BTW, you can download an updated DS Ink integration on the Dialogue System Extras page.