aframevr / aframe

:a: Web framework for building virtual reality experiences.
https://aframe.io/
MIT License
16.43k stars 3.91k forks source link

Progressbar #5109

Open jimver04 opened 1 year ago

jimver04 commented 1 year ago

Hi, this is not a bug, but a feature request that makes experiences smoother when there are many big glbs.

There is a need for a progress bar for each glb model. There is a component named "https://github.com/gladeye/aframe-preloader-component" but it finds how many glb assets are downloaded. The issue is that I have 1 big asset and many small. I need a progress bar for the 130MB glb I have. The big glb can not be split since it is a big boat that travels on the sea.

Aframe 1.3

Best, and many congrats for the good work, Dimitrios Ververidis (jimver04)

dmarcos commented 1 year ago

Probably a feature better suited for 3rd party components. Can the preloader-component be adapted?

kylebakerio commented 1 year ago

I actually really agree with this, the default loader in A-Frame is pretty bad, and I think that really hurts A-Frame's image. An improved default load screen would really help with viewer retention, and with how devs as well as content consumers 'feel' about a-frame in a very high leverage way.

That said, in the spirit of third party libraries... I have an 'alpha' version I hacked together in a few days here for a few projects of mine, not going to really 'announce' it as released until it is cleaned up: http://a-load-screen.glitch.me/

It needs the API cleaned up and the CSS to have another pass, and I have a plan to add a feature I built for another site a few years ago to allow image transforms and another format for a full screen logo.. but it already is very usable for creating many really good options, and has what I think is a pretty strong default (and much more minimal options are also supported through settings, like just a logo that fills up). It also supports many defaults that are lacking in a-frame, like easy file load error handling, optionally customized per-file if desired, auto refresh to switch from http -> https, attempting to load the scene anyways when there's a file load error by default (so, one random picture failing to load doesn't force an infinite load screen), etc.

In the future I'd like to make a pull request to A-Frame's load screen based on this work--maybe even just a vastly simplified option that has very basic load bar that actually corresponds to assets, and preferably a second option that shows individual asset load bars. We can leave the full featured load bar with many settings for a third party library to keep a-frame simple, but I do think a better default is really worth considering, especially since it's relatively easy to cause a silent invisible infinite load screen.

vincentfretin commented 1 year ago

For the infinite load screen, relevant discussion here #5032

dmarcos commented 1 year ago

@kylebakerio your loader is cool not sure yet if a good fit for core. perhaps too advanced. Make a video and tweet mentioning @aframevr see how the community receives it.

kylebakerio commented 1 year ago

Totally agreed--that's a 'bells and whistles' / max config that attempts to do everything possibly supported/possible in A-Frame / THREE loader.

I think a default that is just the aframe logo slowly filling up, with background color, title, and image being specifiable, would be a nice minimum default. Here's an example of what that would look like: https://a-load-screen.glitch.me/minimalist.html

Even just a simple loading bar beneath the A-Frame logo would be a big improvement.

Some kind of fancy 3d animation that makes A-Frame look awesome would be great here, too, imo. Maybe the A-Frame logo exploding and being built up? Obviously infinite room for expression here.

I think it's a great opportunity for A-Frame to advertise itself though, and right now the blue screen with dots does the opposite.