Forum

Animation relative to object position

26 October 2015 12:39
Hello.
I make simple animation playing cards on the table lying one next to other.
I want to make one animation turning card on other side (move up, rotate, move down) and apply this movement to all cards via logic (select and play animation).

I cant make this animation relative to each card. After starting animation each card jumps to 0,0,0 pos.

I've been trying to use delta transform, proxies, only quaternion rotations work relative to object position.

Do I have to make 52 animations for all cards?
Please help.

There is example in package "node_play_anim" but all boxes have same origin.
(I found one topic on this subject but examples are not avaliable)
26 October 2015 21:09
Hi fomaamof and welcome to the Blend4Web forums!

You can parent each card to an empty (52 cards and 52 empties). Place empties where they are needed. This way you can use one whole-object animation.

Hope this helps!
The Founder | Twitter | Facebook | Linkedin
26 October 2015 23:29
Thank You very much.
It works!
(However I don't get idea of making additional object to get so simple effect.)
This technique should be used with node_play_anim.blend example.

One more question:
Is it possible to make next move from position that object stopped last time?
Now I can uncover each card by moving them up, rotate 0-180 and down.
But to cover it again I have to make another animation with rotation 180-360 and logic nodes.
To be logic one animation should be enough.

So: How to make the end position of animation to be starting position for next moves?

27 October 2015 10:34
If I understand you correctly, you can try NLA in that case, so you won't start from the beginning of the animation - everything will be controlled by the markers on the timeline. Or - you can try some coding
27 October 2015 13:26
I see that a lot of learning before me
Thank you very much.
Great tool.



27 October 2015 20:22
You're welcome!
The Founder | Twitter | Facebook | Linkedin
 
Please register or log in to leave a reply.