Changing loading screen with image from assets directory within Playcanvas


#1

Hi

I’m trying to change the loading screen with the logo from my Company.

So far it works with a Http link that gets the image from the website.

var logo = document.createElement(‘img’);
logo.id = ‘logo’;
logo.src = “http://www.dstudio.be/logo.jpg”;
splash.appendChild(logo);

Is it possible to use an image that I have uploaded to the assetsfolder within the editor.
I want to edit the picture in photoshop and upload it to playcanvas and then use it as a logo for my loading screen.
I’m not sure how to do that.
Can somebody help me with that? Much appreciated.

Greetings


#2

Are you on the Organisation Plan? https://playcanvas.com/plans

If so, there is support for changing the loading screen within the editor: http://developer.playcanvas.com/en/user-manual/designer/loading-screen/


#3

Hi

Thanks for the response. Yes we have an organisation Plan.
I found the loading screen support, but it doesn’t really show me how to change logo with a image from within the editor.
It only shows how to use a http link as a source.

I don’t really know how to write the code so it kan use png file from assetsfolder.
Normally you can add an asset by dragging it to the script after defining it within the code but this is not possible here.


#4

Sorry, I completely glanced over your actual question over my morning rush and should have given you a proper answer in my last reply.

I’m afraid it isn’t possible to use an asset within the project for the loading as the loading screen script is executed prior to the assets registry being created and accessible. Also, when you publish on our servers, the files are exported to a unique publish directory so the file URL is different for every published build so it is not possible to know the file URL ahead of time and therefore not possible to hard code.

If you are exporting the build to host on your own server (Publish -> Download build and host on your own server), it is possible to know the file URL ahead of time as the file structure is always the same (/files/assets/XXXXXX/X/filename.jpg).

A possible workaround is to encode the image as base64 using a service like this: https://www.base64-image.de/ and paste the data string in as source. e.g:

        var logo = document.createElement('img');    
        // This data is truncated to fit within the forum reply limit. 
        // The project link below has the full data string
        logo.src = 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QebaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pgo8eDp4bXBtZXRhIHhtbG5zOng9J2Fkb2JlOm5zOm1ldGEvJz4KPHJkZjpSREYgeG1sbnM6cmRmPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjJz4KCiA8cmRmOkRlc2NyaXB0aW9uIHhtbG5zOmRjPSdodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyc+CiAgPGRjOmZvcm1hdD5pbWFnZS9qcGVnPC9kYzpmb3JtYXQ+CiAgPGRjOnRpdGxlPgogICA8cmRmOkFsdD4KICAgIDxyZGY6bGkgeG1sOmxhbmc9J3gtZGVmYXVsdCc+eC1kZWZhdWx0PC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiB4bWxuczp4bXA9J2h0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8nPgogIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgSWxsdXN0cmF0b3IgQ0MgKE1hY2ludG9zaCk8L3htcDpDcmVhdG9yVG9vbD4KICA8eG1wOkNyZWF0ZURhdGU+MjAxNC0wNS0yOFQxMTozMjoxNiswMTowMDwveG1wOkNyZWF0ZURhdGU+CiAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMDUtMjhUMTA6MzI6MjJaPC94bXA6TW9kaWZ5RGF0ZT4KICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE0LTA1LTI4VDExOjMyOjE2KzAxOjAwPC94bXA6TWV0YWRhdGFEYXRlPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiB4bWxuczp4bXBNTT0naHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyc+CiAgPHhtcE1NOlJlbmRpdGlvbkNsYXNzPnByb29mOnBkZjwveG1wTU06UmVuZGl0aW9uQ2xhc3M+CiAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD51dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgPHhtcE1NOkRvY3VtZW50SUQgcmRmOnJlc291cmNlPSd4bXAuZGlkOjQyODk1MmE1LWNlOTAtNDJlZS1iOTFkLTQ1NjU4ZDJlOTQ0OScgLz4KICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjQyODk1MmE1LWNlOTAtNDJlZS1iOTFkLTQ1NjU4ZDJlOTQ0OTwveG1wTU06SW5zdGFuY2VJRD4KICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnCiAgIHhtbG5zOnN0UmVmPSdodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjJz4KICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDowMDc3YWNiMS1kY2Y1LTRmYjctOWQ3MC1jYTZhNTY5Mzc3Y2I8L3N0UmVmOmluc3RhbmNlSUQ+CiAgIDxzdFJlZjpkb2N1bWVudElEPnhtcC5kaWQ6MDA3N2FjYjEtZGNmNS00ZmI3LTlkNzAtY2E2YTU2OTM3N2NiPC9zdFJlZjpkb2N1bWVudElEPgogICA8c3RSZWY6b3JpZ2luYWxEb2N1bWVudElEPnV1aWQ6NjVFNjM5MDY4NkNGMTFEQkE2RTJEODg3Q0VBQ0I0MDc8L3N0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD4KICAgPHN0UmVmOnJlbmRpdGlvbkNsYXNzPnByb29mOnBkZjwvc3RSZWY6cmVuZGl0aW9uQ2xhc3M+CiAgPC94bXBNTTpEZXJpdmVkRnJvbT4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24geG1sbnM6aWxsdXN0cmF0b3I9J2h0dHA6Ly9ucy5hZG9iZS5jb20vaWxsdXN0cmF0b3IvMS4wLyc+CiAgPGlsbHVzdHJhdG9yOlN0YXJ0dXBQcm9maWxlPldlYjwvaWxsdXN0cmF0b3I6U3RhcnR1cFByb2ZpbGU+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2Ny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';
        splash.appendChild(logo);
        logo.onload = function () {
            splash.style.display = 'block';
        };

Example project: https://playcanvas.com/project/457948/overview/using-base64-for-loading-screen

Not ideal but it allows you to keep the logo within in the project in some form and not have to host the image elsewhere.


#5

Hi

Thanks- the base64 solution works great.
Appreciate the help!


#6

Turns out I was wrong @radudordea :sweat_smile:

It is possible to access the asset registry at some point during the loading screen as an event is fired when the engine is about to preload the assets which means that the asset registry is available.

Please see this project for more details: http://developer.playcanvas.com/en/tutorials/advance-loading-screen/

Once caveat to remember is that any non power of 2 images uploaded to the project are automatically converted and scaled to fit in power of 2 sizes which may not be desirable from a quality point of view.


#7

You can decide whether to resize non-power of two images when you import in the scene settings under “Assets”.


#8

Thanks for the help will try it !


#9

Can you describe briefly what the pros and cons of that are, or point me to a good reference? Does not having the conversion help the render engine process things faster, etc.?

Thanks a bunch!!


#10

From here:

By default, imported images will be resized to the next highest power of two. For example, an image that is 400x400 will be resized to 512x512 on import. This is done because the graphics engine cannot utilize mipmapping with non-power of two textures. However, this behavior can be overridden by disabling the ‘Textures POT’ setting in the Asset Tasks panel before importing a non-power of two texture.


#11

In addition to Dave’s answer, one of the texture compression is not available for non POT textures.


#12

Got it! So which is better will vary depending on your situation, memory constraints/usage and how much the texture is moving about relative to the camera.

Reading through that link about I question I’ve had regarding the use of RGB images for alpha (opacity) textures. An opacity channel is only ever 8-bit. That’s why the Opacity Panel gives your the option of using R,G,B or A channels for an RGB or RGBA image. So, is graphic memory conserved by using only 8 bit alpha (opacity) textures, or does the fact that only one channel is selected for use effectively conserve memory in the same way?

I know this is now drifting off the original topic, but I promise not to take it off track any further. Or I can always re-ask with a new topic if that would be preferred.

Thanks again!!