HELP : Unity exporter uv textures


(Reiver3 D) #1

Hi all,
Posted originally in lounge but more like support Q.

Had partial success using direct exporter from Unity to Sketchfab for one of our large photoscanned models…

Basic workflow: Reality Capture > Retopo to low(er)poly > reproject UVs > photoedit UVs > export > import all to Unity & looks great with edited texture on model at 8k resolution …

Using Sketchfab exporter, I can upload the model/mesh but it doesn’t upload the texture automatically and I can’t seem to get the manual import right … it’s one jpg UV texture map I need to apply, not separate baked maps… the model exports perfectly from Reality Capture but I needed to add/paint new colours hence UVediting …
On uploaded model, in Sketchfab 3D settings :
Chrome gives options to manually upload both jpg or png texture but throws webgL error & forces restart.
Firefox only gives png as option but file too big & says jpg upload not supported…

I’ve tested both png & jpg textures in Unity & both apply at 8k res to the model - I can even mix the edited and original side by side on separate model components …

Any ideas anyone please? Thanks :nerd_face:


(Waleguene) #2

Hi @Reiver3D,

Do you have any simple unitypackage sample to share with so that we can debug and reproduce the issue ?

Thanks,


(Reiver3 D) #3

Hi @waleguene
Apologies for delay in responding, been out in the field.

I tried to reproduce same issue with smaller Gravestone sample - screengrabs of both Error1 and Error2 in sequence below.
The UV edits are simple pixel colour edits in GIMP and should not affect UV map coordinates? - the UV edits display perfectly in Unity scene so should export? …

Original Error1
Export (RC) with original UVs & no error already published on Sketchfab

UV colour edits to wall & applied in Unity - this is scene attempted to export

Model uploaded, no auto texture import - manual texture apply - png too big error

Attempt to upload UV as jpg - shows UV upload in base colour slots but get WebGL error

Error2 - smaller Gravestone model
Export (RC) with original UVs & no error already published on Sketchfab

UV colour edits to gravestone & applied in Unity - this is scene attempted to export

Again - Model no auto texture import

Attempt to upload UV as png - shows UV upload in base colour slots but get WebGL error

Any ideas?
Do you still want a unitypackage of gravestone - how do I get it to you?

Thanks
Erika


#4

Those texture files are way too big. Even our limit of 75MB is probably overkill. Your 8192 x 8192 pixels is fine, but the file size needs to be much smaller.


(Reiver3 D) #5

Why have they worked previously? Two of those screenshots are of the same models on sketchfab before my very simple UV edits … I just want to upload the edited versions via Unity exporter? …
UVs & models the same size as before … I’ve tried both jpg and png, under 75MB, so they should work?

First one here
Branxholm Castle https://sketchfab.com/models/8669ee93e8f842d2b81806ec6f5a34a9

Second one here
Gravestone Green with Ivy Scan https://sketchfab.com/models/25ab9f533cc74704b043039c6b5c088a


#6

On Branxholm Castle, the texture is only 11 MB. On Gravestone Green with Ivy Scan, it’s just 3MB.


(Reiver3 D) #7

The originals are huge on my system…
So that compression must happen when they’re uploaded by the Sketchfab exporter in RC?
Why does the Sketchfab exporter in Unity not do the same thing?


(Waleguene) #8

@Reiver3D Thanks a lot for the detailed answser.
There are different things ocurring here.

Unity
When you import a texture into Unity, it’s usualy not used full size. You have texture settings and compression parameters. The Unity exporter performs some tasks on the textures before upload (to make them fit with glTF texture specification). This operation can really reduce the size of the texture since it gets the pixels, apply transformation and rewrites a new image.
(The main advantage of this is that it makes the archive much lighter and keeps it below the upload size limit)

Reality capture
I don’t know how RC exports it’s data to Sketchfab, but It might compress them a bit to avoid huge filesizes. Uploaded file size is limited to 50 MB for free accounts, so it might tend to avoid huge file size for this reason.

Manual upload in the editor
If you manually upload the huge texture, it will be used as it is in the editor, and may crash the browser because it’s hard to use it to render the scene.

Intitial Unity export issue
What type of shader/material are you using in your scene?
I suspect that your UV painting tool is made possible by a customshader /plugin.
It’s the case, it’s probable that the exporter is not able to export it’s content.

I would be interested by a sample in order to inspect the shader used and see if there is a way to support it. It there are some common rules across the custom shaders/materials, it will be easy to support them.

You can share a package using the forum private messages :slight_smile:

Thanks,


(Reiver3 D) #9

Hi @waleguene
Thanks for trying to help …

Unity
I’ll pm you a package … the ‘shader’ is the UV map generated in RC & set to unlit texture in Unity.
I’m not using any custom plugins in Unity, simply adjusting texture setting …

Reality Capture & Sketchfab
The more serious issue of how do I continue to upload our RC models, and retain the detail has just thrown up some weird new errors…and I can’t seem to upload anything from anywhere :scream: … this needs to be resolved (have pro account but not premium so restricted to 200MB)… it’s never been an issue before and your upload options, whether via your site or RC exporter, always asked “do you want to reduce to within Sketchfab limits” (answer evidently yes) … :confused:

Trying to test all my current upload options using this already published model

Trying to upload using RC exporter I get this script errorRC%20to%20Sketchfab%20Exporter%20Script%20Error

Trying to upload unzipped OBJ directly using Sketchfab website
It didn’t question size limits prior to upload?
Unity%20Upload%20Button%20Error

Trying to upload PRE-zipped OBJ+UV file directly using Sketchfab website

I have not used the direct upload for months because it threw up an error so I started using the RC Exporter which was working brilliantly (even though sometimes the compression evidently reduced the resolution of the textures which was an acceptable compromise) …

Due to the size of the files we inevitably generate using RC, even post retopo etc, can you please pass this on to the techies to fix the script error in the RC exporter so that I can resume uploading via RC and also reinstate the auto-compression for direct upload on the Sketchfab site?

Many thanks in advance
Erika


#10

I’m checking on that error message on the authorization page.

I’m not sure I understand the issue with unzipped OBJ, uploading it zipped should be fine.


(Reiver3 D) #11

Hi @james , that authorisation error seems to be resolved now.

I’ve also put a UnityPackage on GoogleDrive for @waleguene so he can try to replicate and resolve the issues I’m having with this exporter …

Thanks
Erika


#12

Thanks Erika!


(Waleguene) #13

Thanks Erika, that’s really helpful!
I will take a look when I have a moment.


(Reiver3 D) #14

Hiya @waleguene

Have you had a chance to replicate the error and take a look at this Unity exporter issue yet?

Best
Erika


(Reiver3 D) #15

Hiya @waleguene

Wondering if you’ve had time to replicate yet?

Cheers
Erika


(Waleguene) #16

Hi Erika,

We have been in a rush these last two weeks so I didn’t have the time to debug this issue.
I just did a test now and it worked as expected on the sample you shared.

Could you try with the new Unity exporter available here ?

Thanks,


(Reiver3 D) #17

Hi @waleguene (and @james)

Cracked it! :smiley:

The new exporter/importer is seriously powerful :open_mouth: and a great addition to the toolbox - a very rough & ready Unity to Sketchfab VR scene export trial here using three large scans …

Many thanks again.
Cheers
Erika


#18

Awesome! We’ll have more updates, fixes, and improvements coming out as they are available, so stay tuned :slight_smile: