Ink integration - couple questions (actors etc.)

Announcements, support questions, and discussion for the Dialogue System.
nehvaleem
Posts: 96
Joined: Tue Sep 10, 2019 4:52 am

Re: Ink integration - couple questions (actors etc.)

Post by nehvaleem »

I've noticed one more thing. It seems that barks doesn't take into account Actor: tags in Ink lines. Could you please take a look?
User avatar
Tony Li
Posts: 22101
Joined: Thu Jul 18, 2013 1:27 pm

Re: Ink integration - couple questions (actors etc.)

Post by Tony Li »

Good catch. I had written it just assuming you'd assign the barker in the Dialogue System Trigger. This version respects "Actor:"

DS_InkSupport_2020-06-20.unitypackage
nehvaleem
Posts: 96
Joined: Tue Sep 10, 2019 4:52 am

Re: Ink integration - couple questions (actors etc.)

Post by nehvaleem »

I forgot to say thanks, sorry :)

One more note though: I've found out that there is an extra whitespace appended before each line when using "Actor Names Precede Lines". For example: when the line is as follows:

Code: Select all

Monsieur Fogg: 'A wager,' he replied.
The displayed text will be

Code: Select all

 'A wager,' he replied.
- I know that this is because of an extracting actor name from the line, but I think it should be trimmed afterwards :)
nehvaleem
Posts: 96
Joined: Tue Sep 10, 2019 4:52 am

Re: Ink integration - couple questions (actors etc.)

Post by nehvaleem »

ah, I've got another question. I couldn't find it in the documentation. Is it possible to bark between 2 or more actors? I mean basically barking entire conversation? I would imagine that there is a situation that triggers less important dialogue between actors that can be entirely barked.
User avatar
Tony Li
Posts: 22101
Joined: Thu Jul 18, 2013 1:27 pm

Re: Ink integration - couple questions (actors etc.)

Post by Tony Li »

Hi,

Here's an updated version that trims the whitespace between "Name:" and the dialogue text:

DS_InkSupport_2020-07-02.unitypackage

Here are a couple of options to play a conversation as a series of barks:

Option 1:
  • Add a BarkDialogueUI component to one of the two primary participant GameObjects. Add an OverrideDialogueUI to the GameObject, and assign the BarkDialogueUI component to it.
  • Add bark UIs to each of the GameObjects involved in the conversation. If you've added DialogueActor components to the GameObjects, assign the bark UI to the DialogueActor's bark UI field.
Option 2:
  • Add a bark-style subtitle panel -- for example, Bubble Template Standard UI Subtitle Panel -- to each participant's GameObject.
  • Add a DialogueActor component. Set Dialogue UI Settings > Subtitle Panel Number to Custom, and assign the bark-style subtitle panel.
    nehvaleem
    Posts: 96
    Joined: Tue Sep 10, 2019 4:52 am

    Re: Ink integration - couple questions (actors etc.)

    Post by nehvaleem »

    Awesome as always! Thanks!
    User avatar
    Tony Li
    Posts: 22101
    Joined: Thu Jul 18, 2013 1:27 pm

    Re: Ink integration - couple questions (actors etc.)

    Post by Tony Li »

    Happy to help!
    jrbourne
    Posts: 32
    Joined: Wed May 16, 2018 3:08 pm

    Re: Ink integration - couple questions (actors etc.)

    Post by jrbourne »

    Hello Tony:

    After a period of absence I have returned to integrating ink with my Blender modeling and use of Blender models and characters to Unity. The question below should be easy, but I have gotten quite confused being gone from monitoring this forum during the last year or so.

    So, I have installed Dialogue System, Ink Integration, Behavior Design and Ultimate Character Controller on my currently installed Unity 2020.2.3.f1. I did install the most current versions of the above items for my Mac.

    In starting with testing INK again, I did use the standard around the world example. I found that inserting sequences in the code worked very very well. For example, I was quite happy with:
    ....
    EXTERNAL Sequence (x) //Sequence ("sequence string")

    VAR wagerAmount = 0

    - I looked at Monsieur Fogg # Actor=Player
    { Sequence("Camera (Closeup, remy, 3)")}
    * ... and I could contain myself no longer.
    'What is the purpose of our journey, Monsieur?' # Actor=Player
    'A wager,' he replied.
    { Sequence("Camera (Medium, remy, 1)")}
    { SetQuestState("The Wager", "active") } { ShowAlert("Quest: The Wager") }
    * * 'A wager!'[] I returned.
    He nodded.
    ... etc.

    Worked perfectly as expected. However, then I add UCC to the player character (remy in this example) and I had the problem that the camera in the first sequence rotated to see the player but immediately returned to the view used for the UCC camera - I don't know how to keep the camera viewing the character until the next sequence is played in INK.

    Now, I did read the instructions in https://www.pixelcrushers.com/dialogue_ ... l/ucc.html
    about how to set up dialogue system with UCC. However, after going through all the steps I found that the movement of the camera still rotated toward the character - showed the character for moment and then returned to the UCC camera.

    I understand somewhat that I guess I am sharing the UCC camera, but frankly am unsure about the best approach to take now that I couldn't get INK-based dialogue for the sequences to continue to work after I had built my player character in UCC.

    If you could give me some pointers I would be most appreciative.

    Thanks,

    John
    User avatar
    Tony Li
    Posts: 22101
    Joined: Thu Jul 18, 2013 1:27 pm

    Re: Ink integration - couple questions (actors etc.)

    Post by Tony Li »

    Hi John,

    There are two ways to handle the camera with UCC:

    1. Use the Converse ability, and tick Detch Camera. This depends on the Converse ability starting, which means the player GameObject must be used as the conversation actor or conversant GameObject.

    To confirm that the player GameObject is being used, temporarily set the Dialogue Manager's Other Settings > Debug Level to Info. When the conversation starts, look for a line similar to:

    Dialogue System: Starting conversation 'Title' with actor=(Player GameObject) and conversant=(Some Other GameObject)

    If that looks correct but the Converse ability isn't going active, try moving it higher in the abilities list so other abilities don't take priority over it.


    2. Or assign a different camera (or camera prefab) to the Dialogue Manager's Camera & Cutscene Settings > Sequencer Camera field. Set this camera's Depth to a higher value so it takes precedence over the UCC camera during conversations.
    jrbourne
    Posts: 32
    Joined: Wed May 16, 2018 3:08 pm

    Re: Ink integration - couple questions (actors etc.)

    Post by jrbourne »

    Thanks Tony:

    Well, of course, assigning a sequencer camera worked instantly. It seems that I have a hard time maintaining in my mind all the different things that work as I transition between Unity, Blender and all the plugins ... but, overtime, the basics will be retained I hope... This morning I finally found your reply yesterday afternoon. I figure there ought to be a notification somewhere..... but I haven't found how t set that in the forum - I'll look for that feature...

    Your help is always wonderful...

    John
    Post Reply