Page MenuHome

Rigify generation does not work without face
Closed, ArchivedPublic

Description

System Information
Windows 8 , Nvidia GTX 1050

Blender Version
Broken: 2.79 5db8ac9
Installed via Steam

Short description of error
The new rigify Meta Rig contains face bones, when you delete them the generation of the rig doesn't work,. You got fowing error if you pres on "Generate Rig" button

Traceback (most recent call last):

File "D:\games\steamapps\common\Blender\2.79\scripts\addons\rigify\ui.py", line 753, in execute
  generate.generate_rig(context, context.object)
File "D:\games\steamapps\common\Blender\2.79\scripts\addons\rigify\generate.py", line 361, in generate_rig
  raise e
File "D:\games\steamapps\common\Blender\2.79\scripts\addons\rigify\generate.py", line 338, in generate_rig
  rigs += get_bone_rigs(obj, bone)
File "D:\games\steamapps\common\Blender\2.79\scripts\addons\rigify\generate.py", line 625, in get_bone_rigs
  rig = get_rig_type(rig_type).Rig(obj, bone_name, params)
File "D:\games\steamapps\common\Blender\2.79\scripts\addons\rigify\rigs\faces\super_face.py", line 44, in __init__
  grand_children += connected_children_names( self.obj, child )
File "D:\games\steamapps\common\Blender\2.79\scripts\addons\rigify\utils.py", line 931, in connected_children_names
  bone = obj.data.bones[bone_name]

KeyError: 'bpy_prop_collection[key]: key "ORG-nose" not found'

location: <unknown location>:-1

Exact steps for others to reproduce the error

  1. Rigify addon must be installed
  2. Add new Armature "Human (Meta-Rig)" (with finger and face)
  3. Delete face bones only
  4. In Pose Mod Generate the Rig

Event Timeline

Vuk Gardašević (lijenstina) lowered the priority of this task from 90 to 50.Oct 10 2017, 6:56 PM

I can confirm the issue. Not sure how this case should be handled.

@Lucio Rossi (luciorossi) , @Ivan Cappiello (icappiello) is this an issue that you can look into or is it an known limitation? Thanks.

Ivan Cappiello (icappiello) changed the task status from Unknown Status to Archived.EditedOct 10 2017, 8:30 PM
Ivan Cappiello (icappiello) claimed this task.

Cannot confirm issue. The problem is related to incorrect delete of face bones. All face bones are child of a single bone named “face” that is placed on the same position of “spine.006” (the head bone). If “face” is not deleted and has no child bones (i.e. All face bone are deleted except “face”) the generate process will raise an error. As described accurately in the rigify wiki, all face bones are placed on armature layer 1. To correctly remove all of them it is suggested to make only layer 1 visible, select all bones, and then delete it. if done this way no error will be raised and the rig will be correctly generated.
Please read the wiki before posting next time, maybe you can find an easy solution without waiting for answers.
Cheers,
Ivan

https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Rigging/Rigify

Consider removing face features from your character if they aren’t really needed. If you don’t need the face all the face bones can be deleted. All the face bones are on the first armature layer by default. You can select them by displaying only bone-layer 1, selecting all of its content and then deleting the bones in edit mode to correctly remove the face.

Thanks for looking into it. :)

WIkia no longer available. I´d like to know how to delete "nose" bone. If I do it so, rig is not generated on 2.79b. Please help with URL to check documentation. Thanks.

https://en.blender.org/index.php/Extensions:2.6/Py/Scripts/Rigging/Rigify

Face is a name-based rig_type. You cannot remove a subset of its bones because the generate method will look for missing names and eventually crash

But why is it made that way? Can it be changed? Wouldn't it be more convenient if users could simply delete unwanted bones thus rigify would skip generating its structures for those missing? Or it would complicate things even more?