Forum rules - please read before posting.

Issues with LoadingScreen or LoadingMenu

Oh so, more than a year into the developing of ENCODYA and I still haven't found a smooth way to display a loading screen/menu.
I've tried different things, all of them not working properly. Today I've been tackling the issue again, but without luck.

The only thing that barely works, and I'm using now, is having a static picture in a Menu (Source: Adventure Creator) set to appear "While Loading". With "Load scene asynchronously?" off.
If the Menu has a fade, it doesn't work (stays black).
If the Menu has an animated sprite atlas as Graphic component, it doesn't work (just static picture rather than an animated one).
If I set "Load scene asynchronously?" it doesn't work (nothing appears).

If I change the Menu source to "Unity UI prefab" (and the Prefab is just a simple canvas with two animated sprites), it doesn't show.

If I set "Load scene asynchronously?" and use a Loading Screen scene (a simple non AC scene with a camera and two animated sprites), it doesn't work (it stays black for a while, then shows the content of my loadingscreen just for an instant right before showing the next scene... might be related with camera fade, but there are no AC cameras on scene...?) and furthermore it makes the loading time much longer (for some reasons I don't know).

Now, what would be the best method to get a simple loading screen (or menu) with an animated sprite (that possibly fade in/out)?
Using AC Menu? Unity UI prefab Menu? Loading Scene? What am I doing wrong with these methods?
Sorry for not giving lot of info, but my tests are very basic, somehow easy to reproduce (all the Canvas has canvas group with alpha set to 1, fading time is very short, etc...)

Thanks a lot!

Comments

  • edited March 2020

    Hello. By this, do you mean Load / Save game menus? Or a Loading screen between scenes.

    I made Save / Load menus (with screenshots) in Unity UI, and there's a small delay before they load.
    Assuming the loading time is because the screenshot images need to load the first time.

    Just wondering if your question is related to Load game menus. If so, I'll keep an eye on this thread. After re-reading it though, it sounds like the question is related to Loading screens between scenes.

  • Hi there, in fact I don't mean "Load/Save game menus", but a Loading Screen between scenes (that can be done also through AC menu).

  • edited March 2020

    If the menu only appears in your Loading screen - and is showing for the scene's whole duration - there's no need to link it up to AC's Menu Manager. Leaving the Canvas as a scene object, and keeping it in the scene, should be enough.

    How capable it is of animating during this time, however, is up to Unity - because it's loading data during this time. You can try playing with the Animator's Update Mode.

    To have it fade in/out at the beginning/end, you can set a Bool parameter in your Animator based on the current loading progress, i.e.:

    protected void LateUpdate ()
    {
        float progress = KickStarter.sceneChanger.GetLoadingProgress ();
        bool shouldShow = (progress < 0.9f);
        GetComponent <Animator>().SetBool ("Show", shouldShow);
    }
    

    And then wire up your Animator such that the graphics only show when a Bool named "Show" is True.

  • Sorry, I'm not understanding...
    I've made my tests with 3 methods:

    1- Using a "Loading Screen" (a Unity scene non AC that has nothing but a camera, a canvas and two sprite animations). AC Settings to "Load Scene Asynchronously?" and my Loading Scene set under "Loading Screen". Problem: way longer loading times and my Loading Screen is not shown until the very end, right before my scene is loaded (it stays black for most of the time) and just for an instant.

    2- Using an AC Menu in the Menu Manager, set to appear only "While Loading". The AC Menu is standard Adventure Creator. It works good with just a graphic element, but nothing appears if I set a fading time. And the animation is not working if I set a graphic texture (sprite atlas) to be animated (with rows, columns, etc), it just shows the first frame.

    3- Using an AC Menu in the Menu Manager, set to appear only "While Loading", with Unity UI prefab (a prefab with just a canvas and two animated sprites). Result: it doesn't show up, just stays black when moving between scenes, can't see the canvas (either with or without fade).

    So when you wrote "If the menu only appears in your Loading screen - and is showing for the scene's whole duration - there's no need to link it up to AC's Menu Manager. Leaving the Canvas as a scene object, and keeping it in the scene, should be enough." I'm not sure I understood to which method you are referring. Probably for method 1, but yet, is not working, maybe because I've a camera fade action list (to fade out current scene and fade in next scene?). Maybe something is covering my loading screen or the fade is affecting the camera I've on my loading scene? (even if it has no fade texture component, scene is not even AC).

    This said, so far method 2 is the one working better, except for the graphic atlas that is not animated... Is it normal that the atlas sprite is not animated while loading?

    Thanks

  • Is it normal that the atlas sprite is not animated while loading?

    That would be a question for Unity.

    My suggestion was to use a non-AC menu in an AC loading scene.

  • I see... I'll try.

  • Ok, I've tried an AC scene as Loading Scene, with no AC Menu, but I've the same behavior as point 1 (scenes take longer to load and I can't see my loading scene until the very end of the loading time and just for an instant).
    So far the fastest way is without having a Loading Scene, but a simple AC Menu that appears "While Loading", but with the issue that the graphic component that has an animated sprite atlas is not animated...

  • And if the Loading Scene is not an AC one?

    Be sure to set your Loading menu's Animator to work in Unscaled Time. I'm assuming it animates correctly if you set it to appear during gameplay.

  • If the Loading Scene is not an AC one, I see all black (as reported already), even with animator set in Unscaled Time (the thing is I don't even see the sprites, rather than for an instant, at the very end of the loading process, that is way longer than with just a simple AC menu "while loading").

    I'm developing another game on my free time from ENCODYA, it's a platform I'm developing with Corgi Engine. I've a loading scene there, that loads super fast and it's animated right away. So, I'm not sure why with AC I've always had troubles with this aspect...

    For me AC is the best asset out there, awesome support, infinite possibilities... I truly love it!!! Really! (so thanks a lot for your efforts!) But for the "loading" part, I always had headaches (also for the very long starting loading time at the launch of the game, where everything looks frozen).

  • Ideally, the scene switching should be fast enough so as not to warrant a loading screen. Be sure to go through the Manual's "Performance and optimisation" chapter for tips on improving times.

    AC and Corgi aren't comparable so far as what needs to occur between scenes - and I do believe that much of the behaviour is Unity-related. I shall look into this, however, thanks for the feedback.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.