This might be ok, if you get the joint name from somewhere programatically anyway. Selecting jointsĪs you can see in the previous image, you need to know a joint's name to be able to edit it with the SetJoint (Skeleton) node. Note, how there come up multiple different "poses" inside the patch. The joint is rotated by setting its animation transformation property. The 'elbow' joint is selected through the selector pin. Take a look at this example to finally understand, what I'm trying to say:Īnimating joints using the SetJoint (Skeleton) node. This way, the skeleton's topology is defined by the vvvv graph. Because this alone isn't any fun at all, such a Skeleton-object can flow into another Joint (Skeleton Join)-node, which makes it the child of another joint. In the most simple case, the output of Joint (Skeleton Join) is a Skeleton-object, which contains one single joint. In contrast to its spread-based brother, this node doesn't take spreads as input, but only one value per input.
a human skeleton, you might prefer the graph-based approach using the node Joint (Skeleton Join). If you'd like to create some skeleton, which is more specific and static in terms of its underlying structure, e.g. Every joint is translated 2 units and rotated slightly to its parent joint. The parent of 'joint1' is 'joint0', the parent of 'joint2' is 'joint1', and so on. The topology of the skeleton is defined by every joint's parent joint. Joints are defined by its joint names, which have to be unique. The use of CreateJoint to dynamically create a straight skeleton. This is an example of how you would use CreateJoint (Skeleton): It takes spreads of data, one slice for each joint, and outputs a Skeleton-object based on this. Using the node CreateJoint (Skeleton) is the way to go, if you wish to create skeletons based on spreads - for example if you want a dynamic skeleton, with an arbitrary number of joints (which you actually might not even know), and arbitrary topology. There are two ways of doing that: a spread-based and a graph-based way, both having advantages and disadvantages. Another approach is creating the skeleton data inside VVVV. This can be done easily by using the Collada Importer provided by VVVV. One way of using character rigs in VVVV of course is importing them from an external 3D modelling package like Maya. Most of the nodes described below will have such a Skeleton pin as in- or output. To be able to pass skeletal information from one VVVV node to another, the "type" Skeleton has been introduced. It just comes very handy for debugging and viewing skeletons. Don't get confused, if you haven't seen it yet in VVVV, because it comes from the SelectJoint (Skeleton GUI) node, which is described below. In the screenshots below, a certain window is used to display skeletons and visualize how the nodes work. There may be other, more suitable terms for those two transformations. Both terms, "Base Transformation" and "Animation Transformation" are not commonly used in computer graphics, but only have been introduced here, to distinguish between a) describing a skeleton's shape and b) defining a skeleton's animation, respectivly. raising the arm) is refered to as Animation Transformation. The transformation, which describes the movement of a joint (e.g. The position of a specific joint relative to its parent joint in "unanimated" pose is defined by the Base Transformation.
fingers are children of the wrist), and most of the joints have one parent joint (e.g. Joints are arranged in a tree structure, beginning with the root joint (which might be somewhere around a characters belly, for example). Animating joints ultimatly leads to animating the bound geometry accordingly. A skeleton consists of joints, which can be animated. For character animation in computer graphics, the most commonly used metaphor is binding skeletons to a geometry. let's talk about some terms we will use from now on, quickly.
#Blender 3d animation nodes objec attribute Patch#
I uploaded a patch showing most of the nodes described below, plus the ones from the skinning tutorial - download it here: walkingboxes.rar Before we start.