Skip to content
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

Mesh Libraries Breaking Due To A Redundant Node3D Being Generated Upon Asset Import. #81850

Closed
PixelsPerMinute opened this issue Sep 18, 2023 · 5 comments · Fixed by #87923
Closed

Comments

@PixelsPerMinute
Copy link

PixelsPerMinute commented Sep 18, 2023

Godot version

v4.1.1.stable.mono.official [bd6af8e]

System information

Godot v4.1.1.stable.mono - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3080 (NVIDIA; 31.0.15.3713) - AMD Ryzen 9 7950X 16-Core Processor (32 Threads)

Issue description

Mesh Libraries are breaking because of a redundant node being generated within the packed scenes created after importing any 3D assets.

Had to make assets local the scene and delete the bad node to make Mesh Libraries work. Simply unpacking the asset and leaving the bad node still breaks it. Bad node has to be deleted in order for MeshLibs to work.

Screenshot 2023-09-18 160736

Screenshot 2023-09-18 1542312

Screenshot 2023-09-18 1550432

Screenshot 2023-09-18 1556192

Screenshot 2023-09-18 1559102

Steps to reproduce

Video showing off the issue and how to reproduce it. Uploaded to YouTube because file size is too large for Github.

https://youtu.be/yebIvO_z0-0

Minimal reproduction project

N/A

@jsjtxietian
Copy link
Contributor

@PixelsPerMinute Hi, can you upload the test project for testing? I tested it with my own gltf and can't reproduce it.

@PixelsPerMinute
Copy link
Author

@jsjtxietian, So sorry for the late reply. I've been a little busy as of late.

Here is a project set up with both a broken and working MeshLib.
MeshLib Test.zip

@jsjtxietian
Copy link
Contributor

Confirmed with this test project.

@lyuma
Copy link
Contributor

lyuma commented Nov 11, 2023

"a redundant node being generated within the packed scenes created after importing any 3D assets."

It seems that the source file exported by Blockbench 4.8.3 actually has an extra unnamed node at root in the document, so Godot's import behavior here is correct.

Here is the relevant snippet from the source document showing that it deliberately includes an unnamed node at root:

"scenes":[{"nodes":[1],"name":"blockbench_export"}],"scene":0,
"nodes":[{"translation":[0,0.5,0],"name":"ground_tile","mesh":0},{"children":[0]}]

That said, perhaps it is reasonable for MeshLibrary to allow looking multiple levels deep for the mesh, but to be clear, this is a workflow issue with MeshLibrary, not an issue with Godot's glTF importer.

@jsjtxietian
Copy link
Contributor

this is a workflow issue with MeshLibrary, not an issue with Godot's glTF importer

Exactly! We will need more work on the mesh library import side.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment