Page MenuHome

Unparent operator removes Armature modifier
Closed, InvalidPublic

Description

System Information
Operating system: Windows-10-10.0.18362 64 Bits
Graphics card: GeForce GTX 1080 with Max-Q Design/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 436.48

Blender Version
Broken: version: 2.81 (sub 13), branch: master, commit date: 2019-10-03 17:34, hash: rB6ac2a2061f8b

Short description of error
Unparenting a mesh that also contains an armature modifier removes the modifier

Exact steps for others to reproduce the error
Hit Alt+P


The armature modifier will be gone after unparenting.

An unparent operator is NOT about modifiers. It's about hierarchy.

A rig is not necessarily solely defined by an armature modifier in a mesh pointing to an armature. There can be more complex relationships between different types of objects and modifiers. Clearing the armature modifier like it somehow makes it "unparented" assumes the most basic of relationships only and would be breaking rigs unpredictably since the user never asked for that explicitly. (What about mesh deform modifiers? Multiple armature modifiers? etc etc)

Details

Type
Bug

Event Timeline

Bastien Montagne (mont29) claimed this task.

Armature modifier is added by the parenting (to armature) operator, so imho it makes sense that the un-parenting operator removes it. This might not be the expected behavior in all cases, but looks to be a valid default behavior to me. Advanced unparenting can be done by simply removing the relevant constraint or clearing the parent field…

In any case, this is not a bug (code is working as expected), this should be handled through design process if some dev agree to work on it (and initial concern should be raised on our devtalk).