Page MenuHome

If the `parent_type` is set to `ARMATURE` (instead of using the modifier). The deformations are not shown in the viewport anymore.
Closed, ResolvedPublic

Description

System Information
Operating system: Ubuntu 19.10 (also Windows 10)
Graphics card: NVIDIA GeForce GTX 765M

Blender Version
Broken: 2.80
Worked: 2.79a

Short description of error
If the parent_type is set to ARMATURE (instead of using the modifier). The deformations are not shown in the viewport anymore. In rendered frames the deformation according to the pose still works.
(Changing to an Armature modifier works. However, we use a custom exporter which relies on models using the parent_type instead of the modifier.)

Exact steps for others to reproduce the error

  1. Take any rigged model (simple auto weighted is fine).
  2. Remove the Armature modifier and set the mesh object's parent_type to armature instead.
  3. Notice that in pose mode the mesh doesn't get deformed in the viewport anymore. (it does rendering a frame.)

Event Timeline

Bastien Montagne (mont29) closed this task as Invalid.
Bastien Montagne (mont29) claimed this task.

We do not handle user support on this tracker, only bug reports. User forums like blenderartists.org or blender.stackexchange.com and our devtalk should be used for that matter.

Parenting to armature with ARMATURE type is used to parent objects to bones, not to perform skined deformation. You need the modifier for that.

Hi Bastien,

I'm sorry but I think you are wrong. It is a bug report.

I think you are confusing it with the parent_type set to BONE where you also specify the armature in addition to a bone. That one still works just fine in the viewport.

At least in 2.79 you don't need a Armature modifier and according to the UI it's still the same in 2.8.
Further ARMATURE still part of the 2.8 API ( https://docs.blender.org/api/current/bpy.types.Object.html#bpy.types.Object.parent_type ).

I know most people use the modifier instead of the parent_type. However, the parent_type is much easier to export and since it still works in all places except the viewport I also wouldn't expect the functionality to be planned for removal and other parts like rendering had been missed.

Best,
Michael

Bastien Montagne (mont29) removed Bastien Montagne (mont29) as the assignee of this task.
Bastien Montagne (mont29) triaged this task as Confirmed, Medium priority.

OK, my bad. Think that is an update/DEG issue, since this implicitly generates a 'virtual' armature modifier, am pretty sure the necessary links are not made in DEG then, hence update is not done when editing the pose. You can see that by posing the bone, then selecting the cube and switching in/out of Edit mode, then the cube takes the current bone's pose.

I will try to check on that, but maybe @Sergey Sharybin (sergey) also have some clues here?

Probably already clear to you guys since your looking for the missing dependency trigger but just in case: it seems obj.data.update() forces an update of the viewport.