Maniphest T93778

Blender 3.0 doesn't save vertex groups from linked objects
Closed, ArchivedKNOWN ISSUE

Assigned To
Hans Goudey (HooglyBoogly)
Authored By
Matteo GH (GH)
Dec 7 2021, 12:06 AM
Tags
  • Core
  • Modeling
  • BF Blender (3.0)
Subscribers
Alex (SpectreFirst)
Bastien Montagne (mont29)
Germano Cavalcante (mano-wii)
Hans Goudey (HooglyBoogly)
Matteo GH (GH)
Philipp Oeser (lichtwerk)
Pratik Borhade (PratikPB2123)

Description

System Information
Operating system: Windows-10-10.0.19042-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 2070 SUPER/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 471.68

Blender Version
Broken: version: 3.0.0, branch: master, commit date: 2021-12-02 18:35, hash: rBf1cca3055776
Worked: (newest version of Blender that worked as expected)

Short description of error
When saving a .blend file with linked meshes form a 2.93 file, vertex groups are lost.

Exact steps for others to reproduce the error

  1. Make a new file in 2.93 with an object with vertex groups
  2. Open Blender 3.0 and link the object from the original file
  3. Make the object local (not the mesh, only the object)
  4. Save the file
  5. Revert/open the file again and the vertex groups are missing

This totally destroyed an animation file I was working on.

Event Timeline

Matteo GH (GH) created this task.Dec 7 2021, 12:06 AM
Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Confirmed.Dec 13 2021, 4:20 PM
Germano Cavalcante (mano-wii) changed the subtype of this task from "Report" to "Bug".
Germano Cavalcante (mano-wii) added a project: Core.
Germano Cavalcante (mano-wii) added a subscriber: Germano Cavalcante (mano-wii).

Thanks for the report, I can confirm.
This is the file with the Vertex Group object that I used for linking:

When reopening the new file, in fact the vertex Group disappeared.

Bastien Montagne (mont29) assigned this task to Hans Goudey (HooglyBoogly).Dec 23 2021, 10:27 AM
Bastien Montagne (mont29) edited projects, added Modeling, BF Blender (3.0); removed BF Blender.
Bastien Montagne (mont29) added subscribers: Hans Goudey (HooglyBoogly), Bastien Montagne (mont29).

Think this is a consequence of the refactor of vgroups in 3.0 (rB3b6ee8cee708: Refactor: Move vertex group names to object data), @Hans Goudey (HooglyBoogly) will let you check that?

Note that there may not be a proper way to fix this, 3.0 is a compatibility-breaking release, while we do our best to ensure at least the backward compatibility, there are cases where this is just not possible.

Bastien Montagne (mont29) moved this task from Backlog to Other Modules Responsibility on the Core board.Dec 23 2021, 10:27 AM
Hans Goudey (HooglyBoogly) moved this task from Other Modules Responsibility to Known Issues on the Core board.Dec 23 2021, 10:40 PM
Hans Goudey (HooglyBoogly) changed the subtype of this task from "Bug" to "Known Issue".

I don't think it's possible to fix this. Here's what happens in the two cases:

Object and mesh are linked

  • Versioning code runs to move vertex group names to object data
  • Versioning code finds the object and the mesh in the linked Main
  • The in-memory mesh has the vertex groups, since versioning was applied

Object is local, mesh is linked

  • Versioning code only finds the mesh in the 2.93 file's database.
  • Since versioning code has no object, it cannot move vertex group names
  • The local object has no vertex group names after the file was saved and reopened.
  • Now the in-memory mesh has no vertex group names

I set this as a known issue, but I would be fine with archiving the report too.

Bastien Montagne (mont29) added a comment.Dec 24 2021, 5:21 PM

@Hans Goudey (HooglyBoogly) Ah thanks for the investigation, was afraid something like that would be the answer...

Think this report should be archived then, and release notes of 3.0 should be updated (probably add a new section in Core section, with a compatibility breakage note).

Bastien Montagne (mont29) added subscribers: Alex (SpectreFirst), Philipp Oeser (lichtwerk), Pratik Borhade (PratikPB2123).
Alex (SpectreFirst) added a comment.Dec 30 2021, 1:09 PM

All right, since it's not possible to easily fix the problem, it seems I've found a workaround so in case someone else encounters that problem:

  1. Open the initial file you are linking FROM (for example, a character model or an asset pack) in Blender 3.x and save it (to the same file or create a copy if you want to keep both versions for 2.9 and 3.0) so vertex groups in that file will be moved to where they belong in 3.x
  2. Load your file where this initial file is linked TO (for example, your main scene). I've tried that with several of my scenes and it seems to be working, I've decided to keep my files for 2.9 as well so I've just made copies of them for 3.0 and used Relocate function in Outliner to relink them to my scenes.