Announcement

Collapse
No announcement yet.

Ajudinha com uma tela de loading inicial?

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

  • Ajudinha com uma tela de loading inicial?

    Olá, estou precisando criar uma tela de loading inicial logo que o aplicativo é iniciado.

    Meu projeto pode demorar um pouco para carregar logo que a splash screen sai, isso rodando do sdd e se rodar do hdd pode demorar mais ainda... Então pensei que uma tela de loading inicial poderia ajudar a quem estiver carregando o projeto, não pense que o negócio simplesmente travou por estar demorando a carregar em uma tela preta. Bem, parece ser algo super simples mas eu realmente devo estar deixando de pescar algo pra concluir isso.

    Vou tentar resumir ao máximo o que eu fiz para alguém tentar identificar ou replicar meu erro:

    1) criei um mapa em branco
    2) criei um blueprint class "HUD"
    3) criei um widget
    4) mudei no project settings > default maps (botei o mapa em branco que eu criei)
    5) mudei no project settings > default modes > maps & modes > hud class (usei a blueprint class "HUD")
    6) O que eu fiz no widget: event tick > open map (escolhi o mapa original que deverá ser carregado)
    7) O que eu fiz no class hud bp: event begin play > create widget (selecionei o widget criado no passo 3) > add to viewport

    Tive resultados mistos, mandei rodar em standalone e ao invés de aparecer a tela de loading que fiz, continua a tela preta por alguns segundos e então aparece a tela de loading, mas isso não é tudo... o íconezinho que eu botei fica dando stuttering, enquanto no viewport do umg ele roda fluente. Por fim o mapa que deveria ser carregado não carrega e o jogo não inicia.

    Alguma dica do que posso estar fazendo errado?
    Click image for larger version

Name:	hudclassbp.jpg
Views:	2
Size:	145.9 KB
ID:	1213397
    Click image for larger version

Name:	umgwidget.jpg
Views:	2
Size:	156.7 KB
ID:	1213398
    Click image for larger version

Name:	project_settings.jpg
Views:	2
Size:	122.9 KB
ID:	1213399
    Click image for larger version

Name:	not_loaded.jpg
Views:	2
Size:	201.3 KB
ID:	1213400

    Desde já, agradeço pela ajuda.

  • #2
    Tela de loading na Unreal é muito tenso, principalmente porque ela faz grande parte dos processos de maneira síncrona. Isso cria gargalos mesmo.
    No jogo que estou trabalhano, eu spawno uma tela de loading antes de dar open level (ela tem uma animaçãozinha no shader da imagem). Quando o level vai carregar, a animação pára (porque é a mesma thread que anima e carrega a fase) e parece que travou.
    Ainda não resolvi o problema (provavelmente vou ter que resolver por causa da certificação dos consoles).

    Mas vamo lá, não sei se essa é a melhor maneira; mas para testar rapidamente, sugiro que você spawne a tela no primeiro evento disponível (Event Init do Game Instance).
    Aí ele deve spawner antes da tela preta.
    Não entendi porque você colocou o Load Level no Event Tick, qual foi sua intenção?
    http://www.tdzgames.com

    Comment


    • #3
      Originally posted by DanZaidan View Post
      Tela de loading na Unreal é muito tenso, principalmente porque ela faz grande parte dos processos de maneira síncrona. Isso cria gargalos mesmo.
      No jogo que estou trabalhano, eu spawno uma tela de loading antes de dar open level (ela tem uma animaçãozinha no shader da imagem). Quando o level vai carregar, a animação pára (porque é a mesma thread que anima e carrega a fase) e parece que travou.
      Ainda não resolvi o problema (provavelmente vou ter que resolver por causa da certificação dos consoles).

      Mas vamo lá, não sei se essa é a melhor maneira; mas para testar rapidamente, sugiro que você spawne a tela no primeiro evento disponível (Event Init do Game Instance).
      Aí ele deve spawner antes da tela preta.
      Não entendi porque você colocou o Load Level no Event Tick, qual foi sua intenção?
      Valeu pela resposta, então pra ser bem sincero eu liguei no tick de feliz
      eu tinha postado essa questão no answers e me sugeriram criar um video dessa tela de loading e botar ele no project settings, depois mexer nele pra que ele fique dando loop até o projeto carregar

      dessa forma eu teria transições sem stuttering na animação do ícone, e funcionaria bem como eu preciso pois o video iria iniciar justo logo após a splashscreen sair
      estou fazendo um video aqui da tela de loading e depois vou testar pra ver se funcionou como queria e preciso

      contras disso é que eu não tenho como discriminar aspect ratio, se fizer o video em 21:9 ele provavelmente vai aparecer com faixas pretas em monitores e telas 16:9, se fizer o video em 16:9.. bem, ele vai aparecer ok em telas assim mas com faixas verticais pretas em telas e monitores 21:9. Do jeito pelo UMG ele escalaciona os elementos na tela em 21:9 e 16:9 automaticamente, e também salva um determinado tamanho em mb do video da tela de loading na sugestão do cara.

      Comment


      • #4
        Carregar mapas em UE4 bloqueia a execução do programa até que o mapa termine de carregar...
        Se vc quer executar uma tela de carregamento sem travar, vai precisar deste plugin, a forma mais fácil de lidar com isso no momento:

        https://github.com/ue4plugins/LoadingScreen
        | Finite State Machine | Object-Pool Plugin | Auto-Save Plugin | Anti-Cheat Plugin |

        Comment


        • #5
          Originally posted by BrUnO XaVIeR View Post
          Carregar mapas em UE4 bloqueia a execução do programa até que o mapa termine de carregar...
          Se vc quer executar uma tela de carregamento sem travar, vai precisar deste plugin, a forma mais fácil de lidar com isso no momento:

          https://github.com/ue4plugins/LoadingScreen
          Interessante, não conhecia
          valeu pelo post Bruno, vou dar uma olhada nisso e ver o que desembolo aqui.

          Comment


          • #6
            Bom, consegui ter uns progressos aqui com uma dica do usuário Kris daqui do forum
            ele falou pra duplicar meu gamemode, que isso faria a tela carregar de boa depois da splash e antes de carregar o mapa
            no override game mode do mapa em branco, eu botei esse gamemode instanceado junto com o bp class hud

            pros: funcionou exatamente como queria
            cons: a tela de loading da uma pequena travada ainda de alguns poucos segundos antes de carregar o jogo todo, mas acho que isso não tem o que fazer

            tive que tirar o open map node do widget e botar no bp hud class como haviam me sugerido no answers, feito isso funcionou.

            Comment

            Working...
            X