» Diploma.CharacterAnimation
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Diploma.CharacterAnimation

The idea

The aim of this thesis is to design a framework for vvvv, which enables developers to deal with character animation including skinning, skeletons, etc., easily.

It should be determined, whether it is possible to transfer character animation specific terms and workflows from animation packages (e.g. Maya) into vvvv - and of course implement a possible solution in a set of vvvv nodes.

While one common case of using character animation in vvvv might be importing a character rig from an external source using e.g. the Collada Importer, this diploma should also find ways to create character rigs inside of vvvv dynamically.

Current State

The result is a set of 10 nodes implemented using vvvv's C# plugin interface:

  • CreateJoint (Skeleton)
  • Joint (Skeleton Join)
  • SetJoint (Skeleton)
  • GetJoint (Skeleton)
  • GetJointTransform (Skeleton)
  • SelectJoint (Skeleton GUI)
  • InputMorph (Skeleton)
  • MixPose (Skeleton)
  • AutoSkinWeights (Skeleton)
  • SkinDeformer (Skeleton)

Watch THIS VIDEO ON VIMEO to see a quick compilation of some results which evolved while playing arount with those nodes.

Download

The developed nodes are now available for download: Skeleton.zip. Just place the files contained in the zip into the plugins-directory of you VVVV folder. Remember, that you need Microsoft .NET Framework 2.0 and SlimDX installed, to use the nodes.

Alternatively, you can checkout the latest version of the sourcecode from the VVVV plugin repository on Sourceforge:

https://github.com/vvvv/vvvv-sdk/tree/develop/vvvv45/addonpack/src/nodes/plugins/Skeleton/SkeletonNodes
and
https://github.com/vvvv/vvvv-sdk/tree/develop/common/src/core/Utils/Skeleton

Tutorials

There are two articles about how to use those skeleton nodes here on the VVVViki, as well as on www.quasipartikel.at:

Known Issues

There are still a lot of issues with the nodes described above. I set up quick bug tracker at www.zauner900.net/bugs/index.php, where there are listed upcoming tasks to do. It's public, so feel free to add issues, if you want to give feedback. However, some of the major issues are:

  • Constraints (or joint limits): In the initial implementation there has been a way of setting constraints for each joint, to define, how far, and aroun which axes a joint can move. However, this has been in combination with saving joint rotations as euler angles. In the meantime, those euler angles have been replaced with quaternions. I haven't stumbled upon a simple way of defining limits for quaternion rotations - any hints very much appreciated.
  • Performance: There's definitly a lot of potential in improving performance. When several InputMorph (Skeleton) nodes are connected in serial, framerate drops. This is caused by the fact, that the whole chain of nodes has to recalculate complete skeletons, as soon es only one joint changes. There is need of a smarter way to handle this.
  • Inverse kinematcis would be awesome.
  • Automatic computation of skinning data: Besides being very slow, AutoSkinWeights (Skeleton) only performs rigid skinning, which results in un-smooth deformation in joint regions. This might be ok for prototyping and in the cases, the result should look noisy anyway. But for more advanced projects, AutoSkinWeights (Skeleton) should also provide a soft skinning algorithm. Using heat maps as proposed in section 4 of Automatic Rigging and Animation of 3D characters looks promising.

anonymous user login

Shoutbox

~2d ago

joreg: Introducing: Support for latest Ultraleap hand-tracking devices: https://visualprogramming.net/blog/2024/introducing-support-for-new-ultraleap-devices/

~5d ago

joreg: 2 day vvvv/fuse workshop in Vienna as part of NOISE festival on Sept. 13 and 14: https://www.noise.ist/vienna

~16d ago

joreg: New beginner video tutorial: World Cities https://youtu.be/ymzrK7tZLBI

~16d ago

catweasel: https://colour-burst.com/2023/01/26/macroscopic/ yeah, ' is there anyone who cares about slides anymore...' Well me for a start! :D

~25d ago

ventolinmono: The ELMO TRV-35 slides into your video feed > https://youtu.be/pcIM9mh1c9k?si=iB4FOfI2D6y0iETy

~1mth ago

joreg: The summer season of vvvv workshops is now complete, but you can still get access to all the recordings: https://thenodeinstitute.org/ss24-vvvv-intermediates/

~2mth ago

~2mth ago

joreg: Workshop on 01 08: Augmented Reality using OpenCV, signup here: https://thenodeinstitute.org/courses/ss24-vvvv-augmented-reality-using-opencv-in-vvvv/

~2mth ago

joreg: Workshop on 18 07: Fluid simulations in FUSE, signup here: https://thenodeinstitute.org/courses/ss24-vvvv-fluid-simulations-in-fuse/

~2mth ago

joreg: Workshop on 17 07: Working with particles in FUSE, signup here: https://thenodeinstitute.org/courses/ss24-vvvv-working-with-particles-in-fuse/