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

Reimporting a 3D mesh (imported as single mesh) doesn't update it in opened scene, must close and reopen #14338

Closed
Zylann opened this issue Dec 6, 2017 · 9 comments · Fixed by #57606

Comments

@Zylann
Copy link
Contributor

Zylann commented Dec 6, 2017

Godot 3.0 master
Windows 10 64 bits
nVidia geforce 940M

Similar to #10017 (if not the same?)
I have an opened scene which contains an instance of an imported OBJ scene. I modified the scene in Blender, exported it, but in Godot I don't see any difference. I have to close the scene and reopen it to see the difference.

@Scott3730
Copy link

Can confirm, I have experienced this for a couple of months at least

@bretzl
Copy link

bretzl commented Jan 10, 2019

Can confirm that the bug exists in 3.1 (tracked since alpha 4):

Version:
Godot v3.1 beta 1

OS:
Windows 10 / Debian 9
64 bits

Very inconvenient with my work flow...

@akien-mga akien-mga added this to the 3.2 milestone Jan 10, 2019
@akien-mga
Copy link
Member

Is this still reproducible in the current master branch?

If so, could someone provide a reproduction project that allows testing it easily?

@akien-mga akien-mga modified the milestones: 3.2, 4.0 Nov 26, 2019
@vitorbalbio
Copy link

vitorbalbio commented Jan 1, 2020

Same here in 3.2 Beta 4 importing GLTF files made in Blender. It only update at the current root scene if i open the imported one.

@setzer22
Copy link

setzer22 commented May 19, 2020

@akien-mga I can confirm the issue is still present in the latest godot 3.2 stable build. I'm uploading a very simple project where the issue can be reproduced without the use of any external programs like blender.

The project has four important resources:

  • cube.glb, a cube model
  • sphere.glb, a sphere model
  • mesh.glb, a copy of either mesh.glb or cube.glb
  • MeshInherited.tscn, an inherited version of the mesh.glb scene with no modifications, created by double-clicking mesh.glb in the FileSystem tab, selecting "New Inherited" and immediately saving.

Steps to reproduce:

  1. Open the project in godot, and open MeshInherited.tscn. Ensure no other scenes are open.
  2. Minimize godot and, using a file manager, delete mesh.glb and duplicate either cube.glb or sphere.glb to a new file. Rename the new copy as mesh.glb.
  3. Go back to godot. A reimport will be triggered, but the inherited scene will show the old mesh.
  4. Open mesh.glb (double-click in the FileSystem tab, and choose "Open Anyway"). The new mesh will be shown.
  5. Go back to the MeshInherited.tscn tab, the mesh is updated.

MeshReimportIssue.zip

@Zylann
Copy link
Contributor Author

Zylann commented May 19, 2020

@setzer22 if you import the mesh as a scene, then you are not hitting the same exact issue. The problem I had was with an OBJ, which is imported as a mesh resource directly. That means the import process should normally go flawlessly, since there is no scene instances or node hierarchies to magically replace.
Lately I did the same thing in 3.2, imported an OBJ, modified it in Blender but this time I saw the result update in Godot. So probably the original issue got fixed?

Meshes imported as scenes however, are a different story, and probably a larger beast. They do contain mesh resources that must be updated, but should the hierarchy or object counts change, nodes don't update, which is what you are experiencing I believe. (a similar beast would be the reloading of a scene if it gets modified on disk)

@setzer22
Copy link

setzer22 commented May 19, 2020

I see now. Thanks for clarifying that! I will open a separate issue.

@Zylann Zylann changed the title Reimporting a 3D mesh doesn't update it in opened scene, must close and reopen Reimporting a 3D mesh (imported as single mesh) doesn't update it in opened scene, must close and reopen May 19, 2020
@WickedInsignia
Copy link

Can confirm still happening in 2021. Mesh will not update in an open scene in Godot 3.3.2. Using GLTF exports from Blender into Godot and although reimport is recognized, mesh won't update. Please note that materials are included in this particular export. Closing and reopening the scene resolves it.

@Zylann
Copy link
Contributor Author

Zylann commented Jul 16, 2021

Using GLTF exports from Blender into Godot and although reimport is recognized, mesh won't update

Note that importing as mesh with OBJ is different than what GLTF import does. GLTF is imported as a scene, while OBJ is imported as a mesh resource. Maybe that's a different issue (same as my comment #14338 (comment))

At this point either a new issue should be opened, or this one has to be retitled somehow because although the use case is similar, the corresponding feature is different.

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

Successfully merging a pull request may close this issue.

9 participants