Author Topic: Corona to GLB  (Read 5118 times)

2024-09-07, 13:45:57

James Vella

  • Active Users
  • **
  • Posts: 641
    • View Profile
Corona Vray to GLB is a free script that converts either Corona Physical or Vray Materials to GLTF Materials. 
Download here
(For those not used to github, once you press on this link, top right corner press the three dots "..." and press Download)

Install:
- Drag the script into your 3dsmax viewport.
- Customize > Customize User Interface > Toolbars > Category: Vella > Automate CoronaVrayToGLB
- Drag this toolbar button somewhere in your UI/Toolbars

Supported textures:
- Diffuse/Base Color/Albedo
- Roughness
- Metal
- Occlusion
- Emission/Self Illumination
- Alpha/Opacity
- Normal
- Clear Coat
- Transmission
- Sheen

Find Missing Bitmap Rules:
- Bitmaps are found using the prefix as the search and suffix for the correct texture. Example: Sofa_Diffuse.png or Sofa_Albedo.png, Sofa_Roughness.png, Sofa_Normal.png etc.

Example:
b4" border="0

after" border="0

Version 1.0:
- This is just an alpha version to get it out into the wild, feel free to play with it, break it, give me your feedback.
- If you get an error message the UI will stop working so you will have to close/re-open it. Then let me know about it.
- Save your scenes before using it, undo is not always stable but you can try it (might crash with larger scenes).
- As always, have fun!

Instructions:
« Last Edit: 2024-11-03, 18:16:18 by James Vella »

2024-09-10, 09:54:07
Reply #1

Tom

  • Active Users
  • **
  • Posts: 285
    • View Profile
    • www
Hi James,

Another script that sounds exciting, thanks for your awesome work.

Can you explain a bit what glTF is all about? I have no idea what it is. I've read a bit about it here https://github.khronos.org/glTF-Tutorials/PBR/ but it's still mysterious to me.

Also what is your script intended for? Is it for converting VRay (or Corona) materials to real time engines materials?

Thanks

PS: I run 3ds Max 2023 and I don't have access to GLTF materials visibly. I guess it comes with 2024 or 2025.

2024-09-10, 10:32:54
Reply #2

James Vella

  • Active Users
  • **
  • Posts: 641
    • View Profile
Hi Tom,

You're welcome. Basically GLTF/GLB is a real-time 3D file which allows you to embed it into webpages, some game engines also support it so its a one click import with materials instead of having to remake all the materials in the engine. Its suppose to be the 'jpg' of the 3D world, so anyone (including non technical people) can open your 3D file and spin it around natively on their OS, view it on their phone in VR/AR etc.

Yes the script basically has a few functions, first of all convert Corona Physical or Vray materials to GLTF Materials for 3dsmax. It can also search for textures in the directory such as Occlusion since you would have to otherwise do this manually (if you have 'Find Missing Bitmaps' enabled), or if you forgot to plug in some bitmaps but they are in the directory with the others as the requirement for GLB is minimum BaseColor, Rough, Metal, Occlusion, Normal. Last of all it comes with an Export button which to me is a bit more useful than the built-in exporter in 3dsmax since you have 3 options of exporting or testing.

3dsmax 2023 should have GLTF, if its not supported in your max version you will get a popup warning when running this so something else must be the issue (such as Corona Legacy material maybe).

This is just an evolution of my previous Vray to GLB script. This version now supports Corona Physical and comes with a UI. I also fixed a bunch of bugs for this one and that script is now obsolete. If you are curious about the GLTF workflow you can check out the video I made for it awhile back, it explains the ins and outs of it but obviously that script is now this one moving forward.


2024-09-10, 12:17:29
Reply #3

alexyork

  • Active Users
  • **
  • Posts: 724
  • Partner at Recent Spaces
    • View Profile
    • RECENT SPACES
Fantastic work, thank you!
Alex York
Partner
RECENT SPACES
recentspaces.com

2024-09-10, 18:07:12
Reply #4

James Vella

  • Active Users
  • **
  • Posts: 641
    • View Profile
You're welcome alexyork.

Version 2.0:
- Fixes for the asset tracker when finding bitmaps (doesnt repath missing assets)
- Flags missing assets for the user to find and repath in the listener/popup window.
« Last Edit: 2024-09-10, 19:02:04 by James Vella »

2024-09-11, 04:29:04
Reply #5

Tom

  • Active Users
  • **
  • Posts: 285
    • View Profile
    • www
Hey James,

Thanks for the explanations 👍🏻

2024-09-11, 10:21:12
Reply #6

alexyork

  • Active Users
  • **
  • Posts: 724
  • Partner at Recent Spaces
    • View Profile
    • RECENT SPACES
James, once again thank you - super helpful. I have a request - I wonder if you'd consider implementing some kind of user-friendly sandbox either within the script or as a button after everything's exported to 1-button test the object inside a Babylon.js sandbox? This might help with quicker verification that everything has worked correctly with the materials and exports etc.

As an aside, I'm finding that I'm unable to test local babylon viewers and I'm forced to first throw it all onto my webhosting for testing - do you have the same or is there something I'm doing wrong?

Cheers!
Alex York
Partner
RECENT SPACES
recentspaces.com

2024-09-11, 11:20:51
Reply #7

James Vella

  • Active Users
  • **
  • Posts: 641
    • View Profile
No worries Tom.

alexyork, the "Export GLB File(s)" button exports your glb to your directory of choice, from there you drag/drop it into the babylon page. You shouldnt need to do any uploading to webhosting etc, I often test my exports by doing the exact same thing (as per my youtube video).

Drag and drop your .glb file here (anywhere on the page):
https://sandbox.babylonjs.com/

You can also test it locally by double clicking on the glb file and opening it in Windows 3D Viewer
« Last Edit: 2024-09-11, 11:27:24 by James Vella »

2024-09-11, 11:35:47
Reply #8

alexyork

  • Active Users
  • **
  • Posts: 724
  • Partner at Recent Spaces
    • View Profile
    • RECENT SPACES
No worries Tom.

alexyork, the "Export GLB File(s)" button exports your glb to your directory of choice, from there you drag/drop it into the babylon page. You shouldnt need to do any uploading to webhosting etc, I often test my exports by doing the exact same thing (as per my youtube video).

Drag and drop your .glb file here (anywhere on the page):
https://sandbox.babylonjs.com/

You can also test it locally by double clicking on the glb file and opening it in Windows 3D Viewer

Thanks so much! Somehow I'd missed that you can view these directly offline in Windows 3D Viewer - handy! I've been throwing them in their sandbox but that's their own template which is nice, but for my needs I'm trying to set up a very basic template with a simple white background, which I'm defining through HTML, and loading my model into that. It works as I mentioned but only when running off the webhosting, not locally, which is odd, but I guess a limitation of how the babylon.js works.

I don't suppose you know of any resources online for some basic templates for the viewer we can download and tweak?

Thanks again for the pointers!
Alex York
Partner
RECENT SPACES
recentspaces.com

2024-09-11, 11:41:42
Reply #9

James Vella

  • Active Users
  • **
  • Posts: 641
    • View Profile
for my needs I'm trying to set up a very basic template with a simple white background

This one by google has a white background (same thing, drag/drop)
https://modelviewer.dev/editor/

I don't suppose you know of any resources online for some basic templates for the viewer we can download and tweak?

Not that I know of, I use babylon, the google one and Windows 3D viewer. Between all 3 it gets the job done.

Babylon sandbox has the most amount of tools for checking technical aspects, you can also switch the background to a more grey style (bottom right corner).

2024-09-11, 12:39:49
Reply #10

alexyork

  • Active Users
  • **
  • Posts: 724
  • Partner at Recent Spaces
    • View Profile
    • RECENT SPACES
Fantastic thanks!!
Alex York
Partner
RECENT SPACES
recentspaces.com

2024-11-03, 18:23:05
Reply #11

James Vella

  • Active Users
  • **
  • Posts: 641
    • View Profile
Version 3.0:

New Texture Support:
- Sheen
- Clear Coat
- Transmission

New Features:
- Now supports all values for each texture type when not using bitmaps or color nodes (eg. roughness value of 0.75 will be copied from the material).
- Supports Vray and Corona color nodes when not using bitmaps. Also if no color node and bitmap node it will use the swatch color instead.
- Converts Glossiness textures to Roughness textures (slow).
- Converts non-compliant textures to jpg (eg. ".tif")
- Glass to transmission - Any value used for refraction will be used as transmission

You can watch the instruction video in the first post to see how it works in action (the first post has been amended to remove redundant information and show you how to use the script).
« Last Edit: 2024-11-03, 22:53:49 by James Vella »

2024-11-04, 15:29:10
Reply #12

alexyork

  • Active Users
  • **
  • Posts: 724
  • Partner at Recent Spaces
    • View Profile
    • RECENT SPACES
great work, thanks again!
Alex York
Partner
RECENT SPACES
recentspaces.com

2024-11-04, 17:19:24
Reply #13

James Vella

  • Active Users
  • **
  • Posts: 641
    • View Profile
great work, thanks again!

you're welcome alexyork