Rigify metarig creating errors on Generate Rig, fails to complete process of rig creation #53842

Closed
opened 2018-01-20 00:34:59 +01:00 by Nathan Vasil · 13 comments

.blend containing only a rig that fails generation: (old link but put here also - see below http://www.mediafire.com/file/6gerhnxg6tjqdsr/brokenrig.blend .
brokenrig.blend
I've tried to clean up the file as much as I could to try to figure out what was going on, but it was originally a model file.

Metarig bones have only had their positions changed (head and tail), using grab, rotate, and scale.

Blender 2.79 and Rigify bundled with that Blender build. Win 10.

Traceback (most recent call last):

File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons\rigify\ui.py", line 753, in execute
  generate.generate_rig(context, context.object)
File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons\rigify\generate.py", line 361, in generate_rig
  raise e
File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons\rigify\generate.py", line 349, in generate_rig
  scripts = rig.generate()
File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons\rigify\rigs\spines\super_spine.py", line 974, in generate
  bones['def'] = self.create_deform()     # Gets org bones from self
File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons\rigify\rigs\spines\super_spine.py", line 180, in create_deform
  def_name = copy_bone(self.obj, org_b, def_name)
File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons\rigify\utils.py", line 307, in copy_bone
  for key in prop1.keys():

AttributeError: 'NoneType' object has no attribute 'keys'

location: :-1

To reproduce: just hit "generate rig" button.

Deleting every bone above and including spine.005 gives a generatable skeleton. Replacing these bones with bones separated from a freshly generated metarig also makes a generatable skeleton. Can't seem to localize the problem any more than that.

Haven't been able to find any info on "things not to do when placing Rigify bones" so forgive me if this is some kind of user error. I could easily imagine Rigify generating zero-length bones in some circumstances that caused errors. (Here, though, I'm pretty sure I'm maintaining the relative shape of the Rigify skeleton.) I've been running into a lot of errors, figure I must be doing something wrong.

.blend containing only a rig that fails generation: (old link but put here also - see below http://www.mediafire.com/file/6gerhnxg6tjqdsr/brokenrig.blend . [brokenrig.blend](https://archive.blender.org/developer/F1912006/brokenrig.blend) I've tried to clean up the file as much as I could to try to figure out what was going on, but it was originally a model file. Metarig bones have only had their positions changed (head and tail), using grab, rotate, and scale. Blender 2.79 and Rigify bundled with that Blender build. Win 10. Traceback (most recent call last): ``` File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons\rigify\ui.py", line 753, in execute generate.generate_rig(context, context.object) File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons\rigify\generate.py", line 361, in generate_rig raise e File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons\rigify\generate.py", line 349, in generate_rig scripts = rig.generate() File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons\rigify\rigs\spines\super_spine.py", line 974, in generate bones['def'] = self.create_deform() # Gets org bones from self File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons\rigify\rigs\spines\super_spine.py", line 180, in create_deform def_name = copy_bone(self.obj, org_b, def_name) File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons\rigify\utils.py", line 307, in copy_bone for key in prop1.keys(): ``` AttributeError: 'NoneType' object has no attribute 'keys' location: <unknown location>:-1 To reproduce: just hit "generate rig" button. Deleting every bone above and including spine.005 gives a generatable skeleton. Replacing these bones with bones separated from a freshly generated metarig also makes a generatable skeleton. Can't seem to localize the problem any more than that. Haven't been able to find any info on "things not to do when placing Rigify bones" so forgive me if this is some kind of user error. I could easily imagine Rigify generating zero-length bones in some circumstances that caused errors. (Here, though, I'm pretty sure I'm maintaining the relative shape of the Rigify skeleton.) I've been running into a lot of errors, figure I must be doing something wrong.
Author

Added subscriber: @vasiln

Added subscriber: @vasiln
Member

Added subscribers: @LucioRossi, @lichtwerk

Added subscribers: @LucioRossi, @lichtwerk
Lucio Rossi was assigned by Philipp Oeser 2018-01-20 16:59:42 +01:00
Member

can confirm this, but not familiar with rigify. @LucioRossi, could you have a look?

can confirm this, but not familiar with rigify. @LucioRossi, could you have a look?
Member

This comment was removed by @lichtwerk

*This comment was removed by @lichtwerk*

Hi @vasiln ,

There is a (supposedly) leftover property on the following bones:
spine.005
spine.006
several bones of the face ( but not all of them)

The name of the property is mmd_bone. For some reason the function rna_idprop_ui_prop_get() fails to get this property.
This shouldn't happen since if I create a custom property on eg a spine bone of the standard human I don't have problems generating.

I figured out how to reproduce the problem though. If you go to the Python console and manually add a key to a posebone like so:

>>> C.selected_pose_bones- [x]["mmd_bone"] = {}

You get a "property" set on the bone (check the N panel) and the same exception after hitting [Generate]
Did you do something like this? (which is not the right way of defining custom properties btw)

I suggest you either get rid of that prop or define it from scratch.

Hi @vasiln , There is a (supposedly) leftover property on the following bones: spine.005 spine.006 several bones of the face ( but not all of them) The name of the property is **mmd_bone**. For some reason the function `rna_idprop_ui_prop_get()` fails to get this property. This shouldn't happen since if I create a custom property on eg a spine bone of the standard human I don't have problems generating. I figured out how to **reproduce the problem** though. If you go to the Python console and manually add a key to a posebone like so: `>>> C.selected_pose_bones- [x]["mmd_bone"] = {}` You get a "property" set on the bone (check the N panel) and the same exception after hitting [Generate] Did you do something like this? (which is not the right way of defining custom properties btw) I suggest you either get rid of that prop or define it from scratch.

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Author

@LucioRossi

Thanks. That's from another add-on (that shouldn't be messing with anything in this case, but apparently is.) I'll contact the developer of that add-on and reference this thread, let them know what's going on.

@LucioRossi Thanks. That's from another add-on (that shouldn't be messing with anything in this case, but apparently is.) I'll contact the developer of that add-on and reference this thread, let them know what's going on.

Added subscriber: @BorjaSaurus

Added subscriber: @BorjaSaurus

Same thing happened to me a few minutes ago.

I think my mistake was I had another active Collection selected in the outliner.

I also had some bones in another collection and deleted them just in case.

The error disappeared and my metarig was created succesfully.

So try selecting the Mesh you wanna rigify in the outliner, not in the viewport.

Hope that helps.

Same thing happened to me a few minutes ago. I think my mistake was I had another active Collection selected in the outliner. I also had some bones in another collection and deleted them just in case. The error disappeared and my metarig was created succesfully. So try selecting the Mesh you wanna rigify in the outliner, not in the viewport. Hope that helps.

Added subscriber: @djewett85

Added subscriber: @djewett85

there were two extra bones in the head and neck. i deleted both and named the ones still there properly to head and neck and the rig generated for me.

there were two extra bones in the head and neck. i deleted both and named the ones still there properly to head and neck and the rig generated for me.

Added subscriber: @hamza_alavi

Added subscriber: @hamza_alavi

Generation has thrown an exception: list index out of range
my thing is giving this error,can anyone help me with it

Generation has thrown an exception: list index out of range my thing is giving this error,can anyone help me with it
Sign in to join this conversation.
No Milestone
No project
No Assignees
6 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#53842
No description provided.