Announcement

Collapse
No announcement yet.

Built-in Subtitles

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

    #16
    There isn't, and it would involve you writing some C++ to hook into the delegate. Which version of UE4 are you on? The delegate is relatively new so it may not even exist in the version you're using

    Comment


      #17
      Ah, I'm using 4.20 and I'm working in blueprints only. Which again, makes me wish that the built in system was just a tad more flexible
      At least I've now through this thread learned to increase the font-size.

      Comment


        #18
        Jamie Dale
        To be honest, I never use Dialogue Waves because it still requires to create a new asset for every dialogue line. It time-consuming and incovient if you'd like to write and test lot of dialogues directly in editor. Writer should be able to easily write text, test it out and after that anybody would bother with creating audio-related files. Unreal way isn't efficient to use for games rich in VO.

        For some time I was looking for a more convenient solution. Something that would offer workflow similar to The Witcher engine - no engine beats it.
        The best thing I found is Dialogue Plugin.
        Basically is a generic node editor with some dialogue-related properties stored in single Data Asset + example UI. I threw away its UI and dialogue logic. With this editor writer can rquickly assemble complex dialogues and test in editor. My opinion is that you should buy out this plugin, turn it into truly generic node editor - generating nodes based on provided Data Asset class at voila. It would be useful for assembling dialogues or custom game systems.

        Alternatively: sound cue editor looks like something that could be mutated into convenient dialogue/screenplay/quest editor.

        PS Thanks for sharing Fortnite hack. Excellent hack, sir!
        Last edited by Moth Doctor; 01-14-2019, 06:09 PM.

        Comment


          #19
          Cheshire Dev I think we've strayed pretty far from subtitles at this point, but with regards to Dialogue Waves not being a Dialogue System... that is known (I said so a few posts back).

          All Dialogue Waves are is a way to say "I have line X which is spoken from person A to persons B, C, or D", and then let you assign a Sound Wave to each combination. In English all those combinations may use the same Sound Wave. In French you may need two Sound Waves (because of gender). In Japanese you may need three Sound Waves (because of politeness). That localisation concern is encapsulated within the Dialogue Wave so that on the outside you only need to play it with the correct context, and you'll get the correct result, accurately localised.

          We also have some localisation tools that scrape Dialogue Wave assets and generate per-language recording sheets, as well as importing copy-edits to those sheets made during recording, along with iteratively importing the final WAV files and creating the appropriate Dialogue and Sound Wave assets (and linking everything together correctly using asset localisation).

          If your game is dialogue heavy, then you would absolutely want a higher-level system to manage your dialogue tree/script. There's no reason that higher-level system couldn't use Dialogue Waves internally, and provide some kind of process to automatically create and link together the appropriate assets (in the same way our WAV importing does). In fact, the plugin you linked to does seem to have a slot in its UI to link to a Dialogue Wave asset.

          I appreciate that you may find that frustrating, but if your game is very dialogue focused then a dialogue system is something you'll be invested in, in the same way that someone writing a game that is resource management focused would be invested in having a good inventory system.

          Comment


            #20
            Oh, that's pretty good insight. Now I understand the philosophy behind Dialogue Wave, its name confused me a bit.

            Comment


              #21
              I'll admit that the name and lack of documentation really don't help make it clear that Dialogue Waves are primarily primitives to aid the localization concerns of dialogue, rather than a full dialogue system in their own right. I've actually been working with the doc team lately to overhaul our localization documentation (I wrote 32 pages of docs) and we're currently going through the editing process, so hopefully the new docs will be live relatively soon - I can't remember how much I wrote for Dialogue Waves, but I'll make sure the points covered in this thread are on there

              With regards to subtitle improvements, I think we should do the following:
              • Clean-up the hacks in FSubtitleManager (I think they're there because SetMovieSubtitle doesn't work with the Canvas rendering).
              • Create a SSubtitleContainer widget (alongside the manager) that binds to FSubtitleManager::OnSetSubtitleText for you.
                • This could work like SButton, and have a default text widget, but also allow you to provide a custom widget and event for updating it.
              • Create a UMG wrapper for SSubtitleContainer that lets you add custom subtitle widgets to your UMG UI without having to add C++.
              I also need to clean up the dead subtitle code in Sound Waves, and look at allowing overlays for advanced Dialogue Wave subtitles (as mentioned before).

              I've added all of that to my list, though I'm not sure exactly when I'll get a chance to look at it.

              Comment


                #22
                Originally posted by Jamie Dale View Post
                • Create a SSubtitleContainer widget (alongside the manager) that binds to FSubtitleManager::OnSetSubtitleText for you.
                  • This could work like SButton, and have a default text widget, but also allow you to provide a custom widget and event for updating it.
                • Create a UMG wrapper for SSubtitleContainer that lets you add custom subtitle widgets to your UMG UI without having to add C++.
                That is actually genius. Previously I implemented an Editor setting that took in a UMG BP for the subtitle manager to populate, but the SSubtitleContainer is much better. I might just experiment with that during the weekend.

                Comment


                  #23
                  I am the writer from Learning Resources working with Jamie to improve our documentation on localization. These documents are going through our review process, and will be published for the next Unreal Engine release. I will work with Jamie to see if we can get additional documentation on Dialogue Waves.

                  Comment


                    #24
                    So I'd like to put some decent sized subtitles into my game preferably using the built-in system. However, I noticed there's not an option currently to change the font size. Also if you have a wav file that's 2 sentences, even with by setting the "time" setting on the wav, I cannot get the subtitles for that wav to display one after the other. They want to run all together at the start. Seems silly, considering how in-depth the subtitle section appears on audio files.

                    Comment

                    Working...
                    X