-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Godot 3.2.4 does not actually use separate textures for GLTF files exported with separate textures enabled (they're instead embedded in the materials). #44309
Comments
cc @fire |
I hope this one can get fixed before 3.2.4.stable releases, my workflow relies heavily on this working correctly, since GLTF currently works the best out of all the export options available right now for me. |
Are you able to do a bisect to find the commit that change the behaviour? I have some suspects. Like use git bisect and take your project and do a check on the bug until you find a version that doesn't error. Then tell me the version that errors and the version that doesn't error. |
9529ce4#diff-391b8dac176705a7434fd9ca93ac540183658308fcb6a91cc40f6f2ecd4439baR1384 is suspicious, but I'm currently busy and in the middle of something. |
On an extra note, this issue affects the 4.0 master branch as well currently, but I'm guessing this will probably be resolved with the upcoming 3D asset import rework for 4.0. |
Might indeed be related to #42504, I'll have a look. It would help me out if there was a minimal reproduction project that I can use right away to debug the issue. |
This includes a blender file that you can use for exporting, open it in blender, export it to GLTF using the export settings shown in the OP, export it to the import folder in the MRP to reproduce. (or anywhere in the project folder, does not really matter where) |
Please read the OP carefully, I'm not talking about the GLTF dependencies, this issue concerns the textures that are copied over, they do not get linked to the materials, instead they get packed inside of them, leaving the ones in the texture folder unused. So check the dependencies of the resulting SpatialMaterials. |
Thanks, I can confirm that. The |
Indeed this change is wrong: https://github.com/godotengine/godot/pull/42504/files#diff-391b8dac176705a7434fd9ca93ac540183658308fcb6a91cc40f6f2ecd4439baR1322-R1338 This causes loading the external images as a byte array instead of a resource if it has a proper |
@akien-mga Thanks a bunch! |
We should first attempt loading as external files, thus creating a dependency. Loading as a buffer should only be used as fallback to support manually loading as PNG or JPEG depending on the defined mimeType. Fixes godotengine#44309, was a regression from godotengine#42504.
We should first attempt loading as external files, thus creating a dependency. Loading as a buffer should only be used as fallback to support manually loading as PNG or JPEG depending on the defined mimeType. Fixes godotengine#44309, was a regression from godotengine#42504. (cherry picked from commit e268a8e)
Godot version: v3.2.4.beta4.official, affects master as well.
OS/device including version: Linux Mint 20 x86_64
Issue description:
When exporting a blender scene to GLTF for use in Godot 3.2.4.beta4, with the export settings shown in the screenshot above, with textures exported into a folder instead of packed into the GLTF itself, Godot is supposed to use those textures in the resulting SpatialMaterial resources after importing.
beta4 currently fails to do this, even with separate textures enabled, it always ends up packing the textures directly into the SpatialMaterial, leaving the textures in the exported folder unused.
This does not happen in 3.2.3, so I'm guessing some regression may have happened at some point.
Steps to reproduce:
The text was updated successfully, but these errors were encountered: