Page MenuHome

Rigify keeps throwing up Attribute error When I select "Generate rig"
Closed, ResolvedPublic

Description

System Information
Operating system: Windows OS 10
Graphics card: Radeon RX 580 Series

Blender Version
Broken: 2.8
Worked: (optional)

Short description of error
Every time I selected the button Generate rig I keep getting an error message
For the life of me I cannot figure it out.


Exact steps for others to reproduce the error

  • click Generate Rig

Based on the default startup or an attached .blend file (as simple as possible).

Event Timeline

Thanks for reporting!
Just test it, After pressing Generate Rig, got error:

Abid Maqbool (cto.abid) lowered the priority of this task from Needs Triage by Developer to Needs Information from User.EditedAug 30 2019, 9:46 AM

Looks like, problem is with user's system (Blender)!
@Taylor Henson (authintix) Can you please! Try in same file, by making another rig?


Then try to Generate Rig Is work for you? (mine is working)
If you got same error, then please!
Try with Load Factory Setting, Enable Rigify...
Let we know!!!

Damien Picard (pioverfour) raised the priority of this task from Needs Information from User to Confirmed, Medium.EditedAug 30 2019, 2:18 PM

This happens when trying to copy bones which have python-created custom properties, but no matching ui_props. In this instance the offending properties most likely come from the blender_mmd_tools add-on.

diff --git a/rigify/utils/bones.py b/rigify/utils/bones.py
index a8e55f9a..f3bb3480 100644
--- a/rigify/utils/bones.py
+++ b/rigify/utils/bones.py
@@ -200,8 +200,10 @@ def copy_bone(obj, bone_name, assign_name=''):
                 prop1 = rna_idprop_ui_prop_get(pose_bone_1, key, create=False)
                 prop2 = rna_idprop_ui_prop_get(pose_bone_2, key, create=True)
                 pose_bone_2[key] = pose_bone_1[key]
-                for key in prop1.keys():
-                    prop2[key] = prop1[key]
+                # if bone only has python-created props but no ui, skip ui props
+                if prop1 is not None:
+                    for key in prop1.keys():
+                        prop2[key] = prop1[key]
 
         bpy.ops.object.mode_set(mode='EDIT')