Paint 3D and WebGL

Ever since I heard about Paint3D coming in the Windows 10 Creators Update, I was enthusiastic about porting a SketchUp Model into Paint3D for, well, painting.

The initial Paint3D offering was rather disappointing – there was no way to export from Sketchup (Make) into any of the formats available for importing into Paint3D.

At the time, Paint3D only supported FBX and 3MF file formats, so I looked at writing an export for one or the other. FBX was proprietary and largely undocumented, so that was out of the question.

I looked at the 3MF Specification, but its major drawback was the lack of surface normal support – the format seemed to only be targeting printers, not general models. Importing a model into 3D Builder, then exporting as a 3MF worked, but 3D Builder messed with the model to make it a solid.
And the final result, not being smoothed, was unsatisfactory.
See the thread here: https://forums.sketchup.com/t/3d-warehouse-models-moving-to-remix3d/42376

Since the July Creators Update patch, however, Paint3D now supports additional file types – wavefront obj, and GLB, the binary version of glTF. glTF is the GL Transmission Format from the same group that brought us the Collada DAE format, and used by WebGL. Since I was already buried in the glTF specification (glTF Specification) and writing a glTF exporter for Sketchup in Ruby (the strange things I do for fun!), I adapted it to write a GLB file.

Success! I could create a valid binary glTF, which passed all validation via glTF Validator
And viewed correctly in a glTF viewer (I used the one here: https://gltf-viewer.donmccurdy.com)

And Fail!
Microsoft Paint 3D would not import the file if it contained a texture. It just showed a stupid error saying “Couldn’t open, something went wrong”. Yeah, well, that is really informative – thanks Mickysoft.
If the file did not contain a texture, Paint 3D would not complain, but it would only import the one mesh. Only one mesh - I tried other models as well.

Also, a model exported from Paint3D would fail validation, try it!

I tried importing a wavefront OBJ, but it didn’t import nicely (Paint 3D somehow mixed up the colours), it may be my OBJ exporter at fault (I wrote my own, so it is largely untested).

Anyway, I really wanted to bring my Centaurs over to Paint 3D for painting, then bring the painted models back into Sketchup for upload to the warehouse.

Has anyone come up with a similar work-flow? Remember I’m using Sketchup Make here as this is a hobby, so please don’t recommend fancy software, as my budget is $0.00!

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.