I’d like to find a simple way to have a loading screen with an animated progress bar.
I’d like to load any blend file from a blend which only have a progress bar animation (with the good percent of progress)
I’ve read a lot of threads about that, but when i try to use LibLoad, i obtain “segmentation fault” or a scene which don’t load entirely…
There is bugs in LibLoad function ?
Do you have a blend file that i can study please ?
having 1 empty, that loads up the “front end scene” (options etc) can be very fast,
then use these options to define dictionary events,
Then have a “busy” animation on a plane in front of the camera, with a property “Scene number”
that is handled via each scene send a message, use the scene number to add objects, or rotate them etc. to move progress indicator.
have the last scene you load up send a message to the “busy plane” Die.
Scene loaded, 0 hassle.
I have never got around to libload, but I plan on having a “LOD” level 0 with no model, Level 1 = a sprite, Level 2 =LowPoly , 3 =Model.
This way I don’t need to load/unload.
I think there were some bugs in LibLoad that have now been fixed in trunk (or 2.70+)
And what about start with an empty scene only with a plane and the progress bar in front of the camera.
Behind the plane, you could build the scene adding every N tics a group of objects (when I say groups I mean furniture, enemies, lamps, tiles, doors o so)… making a good amount of objects you can build the scene in a few seconds and after adding every group you can send a message to the progress bar… when scene build is full end the bar and the plane.
It is only my opinion, but I have never made a real loading bar.
Ok, thank you everybody. I wonder why i’ve not seen any progress indicator in blender projects, only fixed screen with a waiting message.
There is no way to make a generic loader (whithout knowing objects or groups) ? Like a blend file which is loading a bigger blend file ?
@agoose77 : I’ll download the last version and test it, thanks (i use 2.69.11 from 2014-02-20)
Most of the time what takes a long time to load is built-in stuff like blender getting ready and loading the scene. Gamelogic can’t do anything until that is finished, so a loading bar wouldn’t work there. Once blender has loaded the new scene your scripts and such can get to work, but by then loading is finished.
If you have a number of scripts that need to run to prepare your game (like mine has a script to randomly generate a dungeon and get navigation data from the finished result) then it is possible to do a loading bar, but most of those scripts operate in a single logic tic, which again means no time for a loading bar.
You can spread the operation of the script over several frames or tics but usually the loading bar will be filled before you even notice it.
I did a video of a project I did with a loading bar to show you what I mean, but when I played the video back, you can’t actually see the progress because it’s too fast.
You’d need a really complex script to boast a long enough loading time (the biggest stress test I did recently took 6 seconds, but by rewriting the script I cut that down to less than a second) to warrant a loading bar. You could slow things down by breakign the script’s operation in to different parts and then show the loading bar, but what would be the point in that, you’d only be making people wait longer than they already have to.
Better is just to have a static loading screen, like a picture with text saying “loading” on a plane in front of the camera which is deleted as soon as the scene starts.
However with asynchronous libloading dynamic loading bars are possible. There is still a time involved to merge, but it is not as long as loading into memory and merging in a blocking manner
Sent from my Nexus 5 using Tapatalk