Rigging nodes

There is no quick way per se, you have to copy and paste it like this
image

1 Like

@jschleifer posted this script.


# go in edit mode
bpy.ops.object.mode_set(mode='EDIT', toggle=False)

#get the bone
bone = Object_1.data.edit_bones[String_1]
#override the current context so we're acting on specific data
override = bpy.context.copy()

# get the currently selected bone
override['selected_objects'] = override['selected_editable_objects'] = [Object_1]
override['object'] = override['active_object'] = Object_1
override['active_edit_bone'] = bone
override['selected_editable_bones'] = [bone]

if Int_1>0:
    bpy.ops.armature.subdivide(override, number_cuts=Int_1)
#set output

Output = Object_1```

It working perfectly but I am not getting correct output. I have set object_1 and string_1 output but it is giving any results.

Thats better than my solution thanks :slight_smile:

1 Like

There is a subdivide bone already in the latest versions of the addon. There is no need to use that script.
In any case, the inputs and outputs are Case Sensitive
object_1 is not the same as Object_1

oh…I was using an older version. After installing, it works nicely :star_struck:. But I am still struggling to set matrix components based on bone length. For example, if I want to translate along with an axis the bone and place it on the tail, I have to manually put the values in. Can you please suggest a solution or script do that easily?
or a node to make the matrices out of different components will also be handy where the individual elements can have input. :nerd_face:

You can use matrix multiplication to translate a matrix, you’ll have to search about it online, the order of the multiplication matters. Depending on what you want something like this would move a matrix in different ways.


You can also use the “Multi Line Script” node aswell, it’s just simple python, you can search mathutils.Matrix in the blender docs to see how they work.

In the latest version there is also a “Transform Bone” that lets you modify the rotation and location of bones in local, parent or world mode and it lets you replace or add that value. This might be the easiest solution for you.

I will try transform bone today. may be that will work for me. :slightly_smiling_face:

Im struggling to add a driver to a custom property, does anything obvious Jump out at you?

Yeah, remove the last “[]” part from the datapath


maybe this?
@levelpixellevel uploaded a video recently for using this node, maybe it helps

2 Likes

Hi, I was checking the transform node. It only has input for rotation. I don’t see Translate and scale attribute. I am using 0_10_0 version.

Ah, I forgot, I added those changes to the develop branch, it’s not in the 0.10.0 release.

okay…then i will wait for the next release. :timer_clock:
It would be really helpful if we can input translate,rotate or scale channel individually and have same option for outputs like maya transform node.
But I think for now, I found this work around :slight_smile:

Hi,
I was able to do what I was looking for. Now I can create subdivisions of bone, create bbone division and assign handles to them.
BUT, I have one issue, for some reason, when I apply stretch constraint, some bones are not at default length (shrunk). When I feed bone length to original length input. It does nothing. Do you know why it might be happening? :roll_eyes:

Adding a constraint will behave the same as adding it manually, in this case, when adding a stretch constraint, it will automatically fill the “Original Length” with the distance between the first and the second bone. In my tests it works as expected. If it’s not behaving like this, please send me a blend file so I can test it.


Thanks for the quick reply. I will try it one more time and see the error. Otherwise, I will share the file in the evening :slight_smile:

thanks a lot for this great add-on! I hope it will get fully implemented into blender
I learned from this add-on through @levelpixellevel and I’m trying to add a driver to a custom property I created but it gives me this error message:
"‘float’ object has no atribute ‘driver_add’ "
I’m pretty new to the add-on so I apologize in advance :smiley:

1 Like

I’m thinking of reworking that node so it’s a bit more clear how it works, or make the errors a bit more clear.

You need to set the datapath to the object that has the property you want to be driven.

In this case the datapath should be “pose.bones[‘control’]”, you can get it easily with the “Bone to datapath” node (and set the dropdown option to “Pose”), and the property to the name of the property that will be driven, in this case “upDownNormalize”, as you have.

This would work with normal propertis, but if its a custom property I just realised this does not work, you have to change it to [“upDownNormalize”]. I’ll do some changes later today so this is not necessary.


@hollowpixelstudio I just realised this is what you were actually asking yesterday :confused:

2 Likes

Awesome! I really appreciate the quick reply! It works now :ok_hand:

1 Like

Thats Perfect thanks! i was struggling to get the custom prop value, hadnt seen the Bone to data path SUPER USEFUL ! Have a little driver GRoup now thats really speeding things up. IS there a tick box or switch that can be used in groups To affect braches? Currently i just use an integer flipping between 1 and 0 But was curious if there was a cleaner way?
Thanks again for all the support!

I’m not sure what you mean, could you show a screenshots maybe with what you think could be cleaner?