Wanted

Ok I do a lot in the oil and gas industry and its becoming more and more of a PITA to animate things like drill bits down hole with varying the rotations in 3dsmax. is there any plugins or good scripts that make rotating objects at certain RPM easier in 3ds max? like the current project has a bit spinning and stopping and starting up again as if it gets stuck for a second but to key frame that by hand over 1000+ frames is a pain. I would be more than willing to pay for something I can control the Z rotation of objects according to revolutions per second or frames…

Anyone know of something like this? Please? lol I’m desperate.

-dave

This may help

Sweet Ill give that one a shot, if it works I owe you a beer or three :slight_smile:

That was short lived, it gives me an error on install about missing operator Output: Rotation Controller :frowning:

Can you not animate the number of turns over 25 frames (or 30 if that’s what you use for 1 second) and then use an Out of Range parameter in the curve editor?

To a degree yes, I can but again I have to be able to vary the rotation speed across the entire animation. I got the script above to work kind of but if I take it from 50 rpm to 150 and back down to 50 and back up to 150 it will spin backwards which is no good. And there is the other thing that Im not used to using the curve editor so there is that lol.

In that case maybe you could change the tangent types before you key. Or, if you post on the area forums I can try to make a video for you on a quick run through of the curve editor for this issue. (or lead you to links about the curve editor.) For what you need to do it would be rather simple… what’s happening is that it’s likely trying to smooth out your curves and to do that it’s sinking below 0 into negative numbers based on your current tangent type. It’s a guess but seems likely…

That output node was part of Max 2016 ext1.
I use a similar mcg for this and it works very well.
But I’m sure one of the max script people could code a little snippet for the script controller. Should be easy.

I tried every tangent as I wanted a smoothish transition between the speed changes and the only one that worked was the Step one and it was too jerky when rolling over keys. I was hoping for a solution that I could have it scripted with a GUI and animate a spinner or what not from there. My main reason for asking it this way too as Im trying to keep it as simple as possible as the people that Im doing this for tend to change their mind a LOT and I would like it as easy and fast as possible to adjust.

Yea I installed EXT1 and it did work to a degree.

Not sure but, did you see this video posted yesterday in the forum? There are a lot of spinning and rotating objects there. Try asking Tony for help

https://forums.chaosgroup.com/showthread.php?93971-in-circles/page2

That’s fair.

Did that script work well? I don’t think it would be too hard to link an on screen slider to a rotational value over time. Then just animate the slider value. I do similar work to you but generally don’t have to worry about rotational speed changes.

It causes a visible jump when animating the rpm value. This is because the calculation is based on the current frame, so it jumps to the rotation it would have had if the rpm where always set to that value.
Dont know if one could get around that in the mcg. I almost broke my head today trying to fix that. But I have almost no experience in this… programmers might laugh at me. :wink:
I found this one:
http://visionlore.com/lab/crsc.php
But it didn’t work for me in 2017. Maybe it will work in earlier versions.

This one is the first one I tried and was great untill I sent 3600 frames to the render fame and there was no object rotation. Seems with this one that if you render on a single machine its ok but have to do it all in one shot. You can see what I mean if you try it say rotate something on one axis for 100 frames and scrub back and forth on the timeline and no matter the direction you scrub the object rotates what ever initial direction it was set to where normally scrubbing backwards should have the object spin backwards.

No unfortunately it didnt, Im abandoning the script idea as I dont think any exist that will do this smoothly and going to try using the example in this video https://www.youtube.com/watch?v=HeMdeZzn4c4 which ‘seems’ easy-ish to setup lol

Still looking for a more user friendly solution but so far using reaction manager to rotate the object and a long slider to control the speed is still quite laborious as I have about 9000 combined frames now to animate over but it is ‘technically’ working at the moment.

If there are any script gurus out there that can make a easier rotation script/plugin I would be more than happy to pay for your time if it works :wink:

In recent years I’ve tried and failed to find a script-based solution to this problem as well. I wonder if something like the Mad Car plugin could be used to do it.

I checked out MadCar but I don’t think it will accomplish what I need.

The underlying problem is that you want to define a change in orientation instead of an absolute position/orientation the object has at a specific time (which is what you usually do with keyframes). So like with a particle system, to know what the object looks like e.g. on frame 123 - the complete history of all the RPM values from frame 0 up to the current frame need to be taken into account. So not rocket science - just a conceptual problem.

Daniel

Jea, it would be possible with some kind of simulation approach. Something that works like mass fx, with a bake and an unbake button.
One’d just need to calculate how many degrees per frame given RPM value would add and then add that to the current degrees.
That only works in one direction so you’d need to bake the resulting animation. Making an MCG for that would be super easy.
But its not quite user-friendly without an unbake button. You’d need to re add and re animate the controller every time you’d want to change a thing.
I think one could make such button with max script.
Putting the controller in a list controller with 0 influence before collapsing and digging it back up on unbake. Or something like that… but I can’t code that unfortunately.