Canvas Tools - GLTF Unity MetaData Toolkit


#1

The Canvas Tools Unity Exporter Plugin allows engine only developers to export GLTF scene files (.gltf/.glb) from Unity Editor, including all the supported component meta data.

The playcanvas-tools.js included with the Canvas Tools project includes a custom playcanvas-gtlf.js that supports the (soon to be official) GLTF Unity MetaData Extension i created.

I also submitted a PR to the playcanvas-gltf.js to add support for KHR PBR Specular Glossiness extension. That also allows GLTF implementations to FALLBACK to more of legacy diffuse workflow by using the PBR specular with a BLACK specular color and ZERO glossiness. So everyone using the playcancas-gltf.js can use that feature now.

But you can SOON use my Canvas Tools to Design, Script and Build you entire PlayCanvas Engine Projects directly from the Unity Editor using all the Unity Editing features like prefabs and packages.

Here is a sample screenshot of a Unity test scene. Complete with:

  • Component Export
  • Scripting Support (including TypeScript)
  • Lighting
  • Shadows
  • Skyboxes
  • Reflections

Unity Screenshot:

PlayCanvas Engine Only Project Using Canvas Tools:

ALMOST EXACT MATCH… THE ONLY DIFFERENCE… The quality of the reflection cubemap in Unity is a bit HIGHER and a bit more CLEAR than the PlayCanvas produced skybox_env.dds. That is because of the special DDS encoding PlayCanvas using for its reflections are a bit LOWER resolution and pixel format BUT IT RENDERS EVERYWHERE ON ALL DEVICES… RGBA32F WILL NOT. So i am pretty OK with the PlayCanvas rendered results :slight_smile:

Still working on the Canvas Tools as a whole, but thats what i have planned for the PlayCanvas Game Engine Community.

Tons of MACKEY Game mechanics features coming, Like runtime prefabs, Terrain with splatmap textures export, navigation mesh export, and my awesome Mechanim-Like animation state machine that supports ALL the unity Animation Controller features, Like Transitions, Conditions, Blend Trees, Animation Events, Animation Behaviors and Custom Animation Curves.

NOTE: I really need some help with the 2D Freeform Direction and Cartesian Polor space game math. if ANYONE is interested in FULL animation export support from Unity to PlayCanvas… Please Hit me up… Help me make it ready for release :slight_smile:


#2

I want to also point out… All of that is dynamically exported including Encoding the 4K HDR Panorama Cubemap into a Six Sided RGBM Encoded 32-Bit Packed HDR. The ONLY thing that is NOT created at export and requires AT SOME POINT for you to convet the HDR skybox.hdr to a skybox_env.dds using the PlayCanvas online Editor. The Canvas Tools export will always look for a matching _env.dds
for whatever Cubemap you have loaded in the Unity Scene. So just make a _env.dds version of any skyboxes you would want to use in you games and stick them next to the .hdr file(s) that make youe cubemap in Unity. Which is not bad… the skybox hdr is not gonna change during build so having to make a static ENV version of your HDR using the Online Editor and keeping that s a pair: Skybox.hdr and Skybox_env.dds … I can live with that :slight_smile:

Besides you only have to do it once.

Downside… I can NEVER really bake the Reflection Probes from unity into that proprietary DDS format that can be used anywhere… UNLES @dave can PLEASE tell me how to encode that dds using code… i can make tools that export the native Unity Reflection probe into PlayCanvas compatible cubemaps for skyboxes as well as the Material environment texture… Especially when they get the Reflection Probe WALK by feature i recall reading about a while ago.