Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
140 stars 2 forks source link

Proper GLTF Material Import and Conversion #803

Open kulzae opened 11 months ago

kulzae commented 11 months ago

Is your feature request related to a problem? Please describe.

Currently when importing GLTF objects the albedo and normal maps will import but other maps will not and require manual setup afterwards.

Describe the solution you'd like

An option when importing to properly import GLTF materials. the GLTF spec uses a Occlusion (red), Roughness (green), Metalness (blue) format for these additional maps (https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#metallic-roughness-material) so I would like upon using this import option:

Green channel gets moved to Alpha and is inverted Red channel moves to green Blue channel gets moved to red Texture is applied to metallic and occlusion slots

This would automatically setup the material for use inside resonite without manually swapping texture channels.

Describe alternatives you've considered

Manually swapping the channels and importing the materials by hand every time. Due to other platforms adopting this spec this makes multi platform content support more difficult as i need to keep two versions of the MRO files on hand

Additional Context

https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/453 Is the associated bug however I believe the reason the maps do not import correctly is they would be in the wrong format if they were. The format conversion is a required feature before the issue can be fixed

hazre commented 11 months ago

To expand on this. GLTF by default supports all PBR textures.

image

And there is also a lot GLTF extentsions that are ratified by the Khronos Group that should also be supported for better GLTF support

image

shiftyscales commented 11 months ago

Seeking input/feedback from @Geenz.

shiftyscales commented 7 months ago

@kulzae - I was looking in the model importer today and notice an option to import external textures- can you enable that and import again and see if it resolves your issue for the maps that don't import? 2024-04-22 18 01 49

kulzae commented 6 months ago

I just checked that option but it does not. It will import a metallic that happens to reside in the same folder as the model but it will not import the textures that are part of the GLTF file

shiftyscales commented 6 months ago

Thanks for checking. :)