RotateAnimator Macro for NodeEditor

Next
 From:  JaXXoN
8870.1 
Hi!

Related to the following discussions,

http://moi3d.com/forum/messages.php?webtag=MOI&msg=8747.1
http://moi3d.com/forum/messages.php?webtag=MOI&msg=8865.1

I developed a "RotateAnimator" macro that allows to more easily cascade "joints" and "bones" in order to create i.e. something like a robot arm:





The idea is that an animated object consists of a series of "joints" and "bones", where the "bones" can be rotates around the "joints":





Internally, the macro uses the "Orient" node and the "RotatePts2" node:



Here, first the "joint" is oriented to an optional "parent" RotateAnimator and then the "bones" and an optional "child" RotateAnimator are oriented to the rotated "joint".

That works pretty well for rotations around rX any rY, but rotation around rZ is not working as expected: only the bones of the current RotateAnimator will rotate but the bones of the children RotateAnimators will not.

I have attached a simple robot arm as an example (see "RotateAnimatorExample.3dm" and "RotateAnimatorExample.nod") if somebody is curious to try this out.

Please note, the "Joint" needs to be a single line as the macro uses "getCrvSFrame". The input for "Bones" can be any number of concaternated objects.

TODO:
* Investigate why rotation around rZ does not work as expected.
* Create a "TranslateAnimator" that does tX/tY/tZ translations along the axises (i.e. for linear servos)

Feedback is highly appreciated

best regards

Bernhard

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
8870.2 
Not yet tested (for translate in French ;)

So it's a separed set of nodes of the "Official Elephant" ?
---
Pilou
Is beautiful that please without concept!
My Moi French Site My Gallery
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  JaXXoN
8870.3 In reply to 8870.2 
Hi Pilou,

Thanks for your feedback. "getCrvSFrame" and "RotatePts2" are from the extension package - the other nodes in the macro are taken from the stock node editor (however I have a version of the marco that uses "BBox Center" and "Rotate", which does a "similar" job).

This macro isn't really something special. The situation is that it took me quite some time to understand how to arrange cascaded orient/rotate operations in a simple way so that you can have something like a robot arm. Examples for Robot Arm like structures have been posted, before, i.e. from Karsten. But that involved quite a number of nodes where indices needed to be entered, manually. I assumed that there might be more beginners (like me) who may run into the same issue. So I thought it might be helpful to create a generic macro that makes the same job done in a simpler way.

best regards

Bernhard
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All