Announcement

Collapse
No announcement yet.

Blueprint Dialogue System

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by Shakunga View Post
    No worries! Congrats on your game! Sorry to keep bothering you but I think I've run into a bug? Or perhaps I'm just doing it wrong. I can't get setPassiveDialogue to work properly. It will indeed switch to a passive flow when used as a PreAction, but it doesn't enable the player to walk around during it. And vice versa, if I use the Passive checkbox on the component, it will flow properly and correctly enable player movement, but then when I switch it mid-dialogue as a PreAction, it will switch the player movement off but the player won't be able to interact with the dialogue menu, leaving it in a bugged state.

    I've repro'd this on a clean install of your demo map as well. Any ideas?

    Click image for larger version

Name:	passiveMode.png
Views:	167
Size:	90.1 KB
ID:	1729149
    Ah yea that makes sense, since the command is coming in too late. Since the dialogue needs to know that it will be passive before spawning the UI, but the PreAction isn't processed until after the UI is spawned. You might be able to pass it through a silent dummy branch that enables the option, I think that might work.

    Comment


      Is there a tutorial on how to set up the inline images? I have copied the csv into my project through the source file in the data table but cant figure out how to get it to populate the table in the dialog asset table

      Ok, I solved it. Being new to data bases on unreal, I did not realize I had to import it through the engine.!
      Last edited by VoodooNoir13; 03-07-2020, 11:54 AM. Reason: Solved it by fixing my dumbness

      Comment


        Hey Grogger, Quick Question. I'm trying to get the UI widget to play an animation at the start of the conversation (Example: black film bars appearing off-screen then the dialogue appears.) I've gotten this to work, but the animation replays after each branch of Text. (Animation, Npc DIalogue, Animation, Player Dialogue, Animation... ETC) is there a way to get this animation to play once?

        Comment


          Originally posted by DarthPixeIs View Post
          Hey Grogger, Quick Question. I'm trying to get the UI widget to play an animation at the start of the conversation (Example: black film bars appearing off-screen then the dialogue appears.) I've gotten this to work, but the animation replays after each branch of Text. (Animation, Npc DIalogue, Animation, Player Dialogue, Animation... ETC) is there a way to get this animation to play once?
          So the UI_Dialogue is respawned for every new state, but the BPC_Dialogue is aware if one is already opened when "SetState" is called.
          So in your child class for BPC_Dialogue, override the SetState function. If the variable ActiveUI is not valid, then this is the first time the dialogue opens, otherwise it's continuing the conversation.
          I use this for fading in the start of conversations, and fade out on end of conversations (if the branch name is __exit__, I'll fade out before finalizing the exit on SetState in the BPC).

          Comment


            I am encountering a bug when using this.
            Basically when i try to go from one sentence to another using branch and if both row has same Speaker ID name then its showing 2nd text as a response text before going to 2nd text itself.
            As you can see from image second text which is a branch is shown as response text. This doesnt happen if Speaker ID of both sentence are different names
            Attached Files
            Last edited by sandy234; 03-22-2020, 02:19 AM.

            Comment


              Originally posted by sandy234 View Post
              I am encountering a bug when using this.
              Basically when i try to go from one sentence to another using branch and if both row has same Speaker ID name then its showing 2nd text as a response text before going to 2nd text itself.
              As you can see from image second text which is a branch is shown as response text. This doesnt happen if Speaker ID of both sentence are different names
              Text will appear as response text in a few cases automatically. Off the top of my head, this can happen if the current branch has a 'hub' trait or if the speaker is a player (and the branch doesn't have the silent trait). Is your speaker a player?

              Comment


                Hello I already asked this on your youtube channel but maybe you're quicker on the forum, so here it goes:

                would this work in vr? is it static to the camera view or is it possible to put the dialogue into the levels 3d space? like an object
                My first Asset: Physics Collision Sound

                Comment


                  Originally posted by kwijibojaner View Post
                  Hello I already asked this on your youtube channel but maybe you're quicker on the forum, so here it goes:

                  would this work in vr? is it static to the camera view or is it possible to put the dialogue into the levels 3d space? like an object
                  The default works in screenspace (so not VR), though parts of it can be modified to work in VR by changing it to a 3d widget in the Display UI funciton (others have done this somewhere in this thread, though I haven't done it myself).

                  Comment


                    Hi Grogger,

                    We've been using your system on a game we've been working on and we had a pickle that we were hoping to get your help on.

                    When the text line is too long to fit in one row, the text print readjusts itself in real-time and you see the last word move itself to the next row. The desired result is that whatever controls the text printing will know the last word in the first row is too long to fit and move itself into the next row without the live adjustment. Do you know how we can approach this?

                    Thanks!

                    Comment


                      Originally posted by Adarmawan View Post
                      Hi Grogger,

                      We've been using your system on a game we've been working on and we had a pickle that we were hoping to get your help on.

                      When the text line is too long to fit in one row, the text print readjusts itself in real-time and you see the last word move itself to the next row. The desired result is that whatever controls the text printing will know the last word in the first row is too long to fit and move itself into the next row without the live adjustment. Do you know how we can approach this?

                      Thanks!
                      Hey there,

                      IIRC, this is because the default implementation has a TextItem that grows as the characters are displayed, and the wrap box brings it all to the next line when it grows. You can alter your text item class to instead hold a hidden (not collapsed) label, so that the widget will have it's full size and the wrap box will know ahead of time where it should go.

                      Comment


                        Originally posted by Grogger View Post

                        Hey there,

                        IIRC, this is because the default implementation has a TextItem that grows as the characters are displayed, and the wrap box brings it all to the next line when it grows. You can alter your text item class to instead hold a hidden (not collapsed) label so that the widget will have its full size and the wrap box will know ahead of time where it should go.
                        Thank you! That solved it for us.

                        Since that went so well, we were wondering if you could help us solve another problem.

                        We'de like to have the justification and alignment of the text be centered so that it can appear in the center of the vertical box widget. This is helpful as were trying to put it in a comic book style text bubble where the text is often oriented in the middle. We've tried updating the justifications and alignment of the TextItem and TextContainer but it still prints from the left edge. Any thoughts on how we could solve this?

                        Comment


                          Originally posted by Grogger View Post

                          So the UI_Dialogue is respawned for every new state, but the BPC_Dialogue is aware if one is already opened when "SetState" is called.
                          So in your child class for BPC_Dialogue, override the SetState function. If the variable ActiveUI is not valid, then this is the first time the dialogue opens, otherwise it's continuing the conversation.
                          I use this for fading in the start of conversations, and fade out on end of conversations (if the branch name is __exit__, I'll fade out before finalizing the exit on SetState in the BPC).

                          Hey Grogger, I'm having the same issue. I sort of understand the explanation you're giving for the solution, but I'm not exactly sure what to change in the blueprints exactly to fix this. Can you maybe explain it a little more detailed? Here's what I have set up based on your explanation so far. But I don't know what to set up once the UI has been created already (aka after the first line)

                          Click image for larger version

Name:	BP set state.JPG
Views:	53
Size:	435.5 KB
ID:	1770837‚Äč

                          Comment


                            Where exactly is the code that places "Press E To Interact" on the screen? I have spent hours looking. I have to remove this text completely and I can't find it. It isn't in a UMG widget as it should have been.

                            HAHAHAHAH OMG I stuck that in there during the tutorial. I could,'t find it because I put it on MY blueprint ROTFLMAO.
                            Last edited by dmac921; 06-26-2020, 04:05 PM.

                            Comment


                              Originally posted by dmac921 View Post
                              Where exactly is the code that places "Press E To Interact" on the screen? I have spent hours looking. I have to remove this text completely and I can't find it. It isn't in a UMG widget as it should have been.

                              HAHAHAHAH OMG I stuck that in there during the tutorial. I could,'t find it because I put it on MY blueprint ROTFLMAO.
                              Haha, it happens to the best of us.
                              "Find in Blueprints" should be helpful in the future, it should be able to search for things like print strings.

                              Comment


                                Sorry for bothering you Grogger , I was wondering if you knew how one would go on about playing an audioclip everytime a character or word is 'written' on the screen, similar to something like Animal Crossing does (for example everytime a character is written on screen, a 'typewriter' short clip plays), I guess I would have to reference the Typewriter speed and all, but not sure how I'd start on something like this.

                                Thank you.

                                Comment

                                Working...
                                X