View Full Version : maxScript - procedural Spider Rig
Fabiomussarela 10-01-2008, 08:28 PM Hi folks :)
I´m working on some scripts to animate spider rigs procedurally. Its an early beta and still has some bugs, but I´ll improve it :)
Well, here goes the first tests.
YouTube Link (http://www.youtube.com/watch?v=Ejr92D_C67g)
I´ll update it soon :)
|
|
Neat - I'd like to do some procedural stuff sometime.
Leffler
10-01-2008, 08:51 PM
pretty damn cool !
Is it also possible to see the spider while moving the controller around (without the legs stepping of course)? Or will you add that later? Would be supercool to have the rig/script work "live" but thats probably pretty hard to get working good without lots of delay ....
Forza Brazil!
Mr-Bullfrog
10-01-2008, 11:41 PM
Ohhh, nice work!
Not sure whether you've seen this or not, but maybe it will help...
http://www.lotsofrobots.com/Web3/Tutorials/SpiderTutorial/Index.htm
-Jeremy
edwardG
10-02-2008, 01:51 PM
That looks very good!
Just out of curiosity, how similar is MAX script to MEL script (maya)?
Polimeno
10-02-2008, 10:31 PM
hey, damn good Mussa !
=)
keep Scripting dude.
some questions :
can you grab and ajust just the body after calculation ??
how does it works ??
pre-cache, intersectrays, vectors ?
does it have a UI for the animators ?
cya
Fabiomussarela
10-03-2008, 01:36 PM
Hi folks, sorry for the late reply, and thanks for your posts :)
My first idea was to make the spider realtime like the car rig I did some time ago:
YouTube - maxScript Car Rig (http://www.youtube.com/watch?v=T9f-3hKA2kk)
But, the logic for the spider is pretty different , so I still have no idea how to do it realtime :)
The Script just create keys for the spider legs based on the movement of the master Helper, so, it "samples" the travel direction from time to time to know the correct vector.
http://usuarios.cmg.com.br/%7Ehp-mussarlz/SpiderRig.jpg
All the legs are independent , so, sometimes I´m having some issues, like all the legs on the same side rising togheter.....:argh:..........
But, as the script just create keys, the animator can adjust manually some "unpleasant" moves :)
I´ll post a simplified version as an example soon :)
Dimich
10-07-2008, 01:32 AM
I was always quite fascinated by these procedural motions, but never got one question answered for myself, how do you actually produce that animation? How do you figure out which helper moves where? Is it based on proximity of the helpers to a certain radius around the target point? If you don't mind, can you describe the method in more detail, please?
edwardG
10-07-2008, 02:02 PM
My guess is that he used the big circles around the helper as his guide and basically told his script that when the Green Box passed the Blue circle, the Green Box should go back to where the Red Box is located (There's probably some other code to lift the green box up in the process, either by "drawing" a spline curve or adding translation based on the 2 positions). I'm guessing that the red boxes are parented under the body so that they always follow the position of the spider.
What I thought was really cool was that the ground plane wasn't passed through by the legs. I'm guessing that it was treated as a collision object of some sort that the green boxes were told to not go past?
I'm working out the MELscript equivalent in my head... it sounds like fun to try out!
mberglund
10-07-2008, 04:43 PM
I know in Maya they have Spring IK solver that is used for spider legs and such. What did you use in Max to get the spidery-leg effect? Just curious because Max doesn't have an ikSpring solver... i'm pretty sure :)
Was it just a HI IK solver through multiple joints?
Dimich
10-08-2008, 08:09 AM
Interesting... Well, the ground detection is probably the least difficult thing to deal with, as you can just use Raytracing to find ground planes. In max it is done with ray+intersect ray or RayMeshGridIntersect. But the procedural animation...that's an interesting trick...at least to me:)
Fabiomussarela
10-14-2008, 12:20 PM
I´m using the master helper´s direction to drive the legs. So if the master is moving in 10 units in [1,0,0] the leg will move 10 units too in the same direction but I´m checking if its passing the max radius, without that the IK will pop. So, if the spider is moving too fast I have to speedUp the leg too to avoid the "pop"
Ex: I set up a predefined variable called masterTime = 10 , then I check if the legs are still inside the radius 10 frames after, if it so, Allright, everything is ok and the spider leg can move to the new position that will be [10,0,0] if not, I have to decrease the masterTime by -1 for example and try the leg again.
CGTalk Moderation
10-14-2008, 12:20 PM
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.
vBulletin v3.0.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.