Playing cards rigg


#1

Hi. It would be great if someone could suggest me a technique in the following task.

  There is a character which should be able to juggle the playing cards. I need these cards to follow motion path, but with an offset (first card starts moving, few frames later second card is moving and so on...) where each uValue is driven by a single custom attribute. I mean I need this animation play not through timeline, but while changing a value of a custom attribute.
  
  I am not skillful enough in expressions, I've already tried few techniques using plusMinusAverage nodes, expressions, driven keys. But unfortunately every time I got a weak result. 
  
  There is a good example of what I mean on youtube.[http://www.youtube.com/watch?v=iMIGFoYspTk](http://www.youtube.com/watch?v=iMIGFoYspTk)
  
   I couldn't recieve any response from this rigg's author anyway.
  
  Here is my concept: [img]http://i080.radikal.ru/1207/7e/1da92e691875.jpg[/img]

#2

Hi,
I guess you’re almost there. Here’s my idea.

I use blendColors node for each card position so color1R and color2R is pointA and pointB on the uValue of the motionPath, the blender attribute that ranged from 0 - 1 blend between them. The value could vary depending on your card thickness.

There must be ‘offset’ on the shift attribute for each card to start moving.

If the attribute responsible for the card shifting from one hand to the other is ranged from 0 - 10, and there’re 52 cards in a deck, so the offset is:
10 = 1+(51x)
where x is the constant offset for each card and when the shift attribute is 10 all the cards are on the other side.

The tricky part is the bias attribute (as I can see on the example clip) where the gap for each card can dynamically change. ( the x may vary)

I havent tried this yet:
If I have a parabola-shape animCurve(this could be a new keyed custom attribute) that starts from frame 1 and ends at frame 52 and the peak point is somewhere in the middle. I am thinking of using a ‘frameCache’ node where you can query value on an animCurve at any particular frame. So, again I can just pipe value from frame cache node to a blendColors node, maybe color1R and on the color2R I put the constant offset(x) in there, so now, I can blend between the dynamic offset value(that comes from the animcurve) and the static offset value.

I’m more comfortable with node connections so this may sounded confusing.
Tell me if you’ve figured something out. I’ve been curious since I read this thread a week ago.


#3

Thanks for the reply and giving a nice idea! Unfortunately I couldn’t do anything better than driven key technicue for sliding animation + a simple expression for rotation. Yes, It gives me less control, but through a graph editor I can even adjust a spacing between cards.


#4

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.