Cult of Rig | Rigging Training Stream, starting this weekend

This weekend, Raffaele Fragapane is kicking off his long-awaited Cult of Rig stream.

Rigging by first principles

I disagree with the notion that programming or mathematics aren’t tools for creative endeavors, or that they are inaccessible, or even just particularly hard disciplines to learn, and remain incredulous when it’s pointed out to me that “they are for the hard core”.

I dislike software specific tricks. I find them useless as well as counter productive for anyone’s education; general knowledge of how software itself works goes a much longer way for much less effort.

What I would like to do about the above is demonstrate, live on stream and with no off-camera work, how things go from nothing to triple digit fps rigs. Demonstrate and explain the first principles to get there every step of the way. The process, the mistakes, the research, all that goes in it.

The focus will NOT be the software and a multitude of broken button combinations you have to learn to push in some magic order, it will instead be principles and application of design, math, programming, anatomy and kinesiology.

The intention is to work through a progression of increasingly complex rigs, starting from the deceivingly simple and escalating to a full creature, and illustrate every step of the way how software actually works under the hood, what the math involved are in a BS free, uncomplicated fashion, and how to write non-horrendous code in support of rigging tasks and tools (non-horrendous is really the best you can hope for, code is never good).

(…)

There isn’t a specific intended audience, and the barrier of entry will be intentionally be set as low as it can be.

I highly recommend anyone with an interest in rigging, or even TD tasks more generally, to join in - I’m sure it’ll be fun! :slight_smile:

For those who missed the first Cult of Rig stream a few hours ago (here in Berlin it was at 03:00am :stuck_out_tongue: ), here’s the recording on YouTube:

And day 2:

Thanks for the link. Watched part of the first session yesterday before I had to drop out.
It left me a bit confused however: it can’t be true that string_comparison is a performance factor in recent 3D apps?

Not because there’s so much processing power available nowadays, but because you_dont write code that way.
At leas to my knowledge wherever strings are used to identify something, an object, a relation, a function, whatever, those strings should be the human-readable version of that identifier only. Internally, something more efficient should be used, like integer numbers, or even pointers. Performance should only be impacted during load/setup time of a scene, or while you’re entering some chars in a text input field in order to fill in a modifier’s data. As soon as you’re done, all the names you typed should have been checked against what’s already present in the software’s dictionaries, and been replaced by the internal ID, or been added to those dictionaries, and replaced either. There - and ONLY there - should string comparison occur. Under no circumstance should this happen while, for instance, the dependency graph is getting updated, constraints are being evaluated and so on.

Of course that would mean that your naming schemes could impact massive imports where gazillions of object data have to be parsed - but otherwise?
I’d be mildly disturbed, if I was wrong here.

Do you guys know more?

I showed your comment to Raf and his reply was:

  1. Correct, names have little to no bearing on evaluation time performance
  1. a rig is more than just its evaluation, it’s also an interface to the model and the data of the entity in shot, so offline access (non evaluation) by anim tools and pipeline tools is also important, and there structure and retrieval make a massive difference
  1. builds and alteration in shot often have to deal with a lot of name clash prevention, that’s where things shine the brightest if you know what you’re doing in those regards, because a rig is usually ignorant about its shot context, and build/shot tools will need to desume the context very often
  1. some times, even if you have all the meta data in the world, name based work in scene WILL be faster, especially if closely paired with methods/commands that roll over the scene’s hash table, which in many software is name based
  1. waste not want not, “premature optimization is the root of all evil” is the most mis-used quote ever. Uncertain optimization is bad, but if you know something makes a difference, and you know ahead of time how to deal with it, there is no reason to do something inefficiently when you can do it efficiently right away instead

Now I cannot play his surrogate and continue relaying questions for him but you’re certainly invited to catch up with the recordings and then join one of the upcoming live streams where you can ask him any questions you have directly. :slight_smile:

Alternatively you can also ask in the YouTube comments. Raf does monitor those.

Hey, thanks a lot for playing the man in the middle. :slight_smile:

I was thinking of evaluation performance issues within the 3D package only. The scope Raf was referring to is obviously much larger, as sson as script magic comes to play, automated renaming, searches, whatever, I totally see the point. :slight_smile:

Will definitely watch the other recordings too, but it will have to be YT I guess. I’ve grown too old and soft to stay up that long (I’m located in Germany too) :smiley: