Jump to content

Rendering frames in reverse sequence?


Crazy Homeless Guy
 Share

Recommended Posts

I am sure there was an easy way to do this, but maybe I am thinking back to my days using Lightwave...

 

Can I render 3dsMax frames in reverse? I have 1800 frames, and I want to start at frame 1800, and render backwards to frame zero. Is there a way to do this using the Time Output in the Common tab of the rendering dialog?

 

I am using Max2009 and MR.

Link to comment
Share on other sites

There is no "one click" way to do it (to the best of my knowledge)

I mean you can play in reverse from the Time configuration utility, but even that is not realtime. The way i would do it (if i had to do it in max) would be to reverse all the keys in the graph editors, but that can be time consuming, especially if youve got bezier handles and complex animation keys set.

 

Post would be the easiest way i supposed.. just reverse sequence in track playback.

Link to comment
Share on other sites

There in lies the problem. I don't want to play it in reverse, only render it in reverse... and preferably with a one or two step solution. In Lightwave I think only had to set the nth frame to -1 or something like that.

 

The more I think about it, the more I seem to remember something about using Video Post to do this, but I am not sure.

Link to comment
Share on other sites

out of curiosity, why do you want to render it backward?

 

 

My local computer was having trouble adding itself to the list of servers rendering an animation. My local machine is also more powerful than other servers on the farm, so I wanted to use it to make sure the animation completed without a problem, even though I could not use it in the job already processing. I started my local machine rendering the frames in reverse order so if the job on the farm didn't finish all the way, I would have the frames rendered from the end counting backwards that were rendered locally to add to the image list on the morning.

 

With luck, the frames that rendered would overlap the frames that rendered on the farm, and all would be well. At worst, I would need to render additional frames, but at least this way I would only need to render the difference between the frames on hte farm, and the frames rendered locally.

 

I am thinking that if its just the camera moving, try assigning an "Out of Range" controller, set to ping-pong and slide the keys across until it start at the end.

 

Not sure I follow this. I will have to look closer at this after I get the deadline out the door.

Edited by Crazy Homeless Guy
Link to comment
Share on other sites

it would be interesting to see how max will label (filename) such rendered images - assuming of course you do render to a sequence of images.

 

The numbering sequence is in reverse order, meaning that the last frame is now rendered 0, and the first frame is 1800. I can do to things with this, use a renaming utility to reverse this, or I can bring it in to my post app, and flip the sequence so it is correct again, then just line it up with the other frames.

 

I could have avoided the numbering issue all together is I simply set the offset to -1800, but it didn't create that much more work to fix the problem.

 

I still say post render is the easiest solution.

 

If I simply needed to play the animation backwards, then yes, this would be the easiest solution.

Link to comment
Share on other sites

One possible time saver would be to keep the 2 sequences separate, create clips (or comps in AE) for each sequence, put them in a timeline (in Premier, FCP or AE) and time-reverse the backward sequence and then cut between the 2 in post. This way you avoid any re-naming, you don't delete any redundant frames, and you can choose the spot to overlap and cut between matching frames.

 

Hope things turn out,

 

-Nils

Link to comment
Share on other sites

If I simply needed to play the animation backwards, then yes, this would be the easiest solution.

 

Yeah, i realized that that wasnt what you were after :rolleyes:

 

I tried Justin's suggestion, it works in theory, but then again, youve got the file name problem.

 

Hmmm.. im guessing a script could very easliy be written by those who know how to script, since all it really is is a -1 render nth verse as you first said.

Link to comment
Share on other sites

Hmmm.. im guessing a script could very easliy be written by those who know how to script, since all it really is is a -1 render nth verse as you first said.

 

That is what I was thinking. I have the "MAXScript Essentials" book sitting next to me, but haven't had the time to fully work through it. So basically my scripting skills consist of hacking bits and pieces of other scripts together. At least for now.

Link to comment
Share on other sites

why not calculate or estimate how many frames your machine could render and set the rendering off from X frames from the end?

 

If you have "Skip existing frames" turned on then when the farm catches up it wont re-render any frames but skip ahead to any frames not rendered.

 

The are a few freeware apps around that can batch rename files, I use renamer. simple and works well.

 

jhv

Link to comment
Share on other sites

I started my local machine rendering the frames in reverse order so if the job on the farm didn't finish all the way, I would have the frames rendered from the end counting backwards that were rendered locally to add to the image list on the morning.

I'll ask the obvious: why not just add your workstation to the farm for this job?

Send the job and fire up the Backburner Server on your local machine. The Manager ought to be able to find your machine and start sending tasks to it.

 

BIG EDIT:

nevermind, I just re-read and noticed post #7 where you mention:

My local computer was having trouble adding itself to the list of servers rendering an animation.

 

Although, what sort of problem were you encountering? Solving this aspect would make everything much easier for you.

Edited by luckymutt
Link to comment
Share on other sites

Although, what sort of problem were you encountering? Solving this aspect would make everything much easier for you.

 

This sort of issue of a workstation not connecting to a manager is often an ip/masknet issue as a result of being connected to two networks. I have the same issue with one of mine, also connected to two networks. Even though i can 'see' the computer server running manager, backburner server wont connect to it.

Link to comment
Share on other sites

One possible time saver would be to keep the 2 sequences separate, create clips (or comps in AE) for each sequence, put them in a timeline (in Premier, FCP or AE) and time-reverse the backward sequence and then cut between the 2 in post. This way you avoid any re-naming, you don't delete any redundant frames, and you can choose the spot to overlap and cut between matching frames.

 

Hope things turn out,

 

-Nils

 

Nice simple solution that doesn't require over thinking on the renaming. In the end it turned out, but only because it was a quick teaser piece that didn't need to be fully polished.

 

why not calculate or estimate how many frames your machine could render and set the rendering off from X frames from the end?

 

If you have "Skip existing frames" turned on then when the farm catches up it wont re-render any frames but skip ahead to any frames not rendered.

 

This would have worked also. My first inclination was to render backwards, so that is how I approached it.

 

This sort of issue of a workstation not connecting to a manager is often an ip/masknet issue as a result of being connected to two networks. I have the same issue with one of mine, also connected to two networks. Even though i can 'see' the computer server running manager, backburner server wont connect to it.

 

The farm was working perfectly, but we decided to change the computer the manager is located on. I assumed it would a seamless switch, but it turned out not to be. We have been busy, so we haven't been able to root around, and determine what the actual problem is.

 

What is weird, if you suspend an animation job, then resume it, it just sits idle. It won't send to any of the machines. You have to go into the setting, and reset the range of image to be only those that need to be rendered, and then activate it. After that, it works fine. Or at least it works fine as long as you don't suspend it again.

 

In reality we need to rip out Backburner, and reinstall it. We are using Backburner 2007 to render Max 2009 jobs. If you know Backburner, then you know this requires registry mods, and a few other thing. Basically, it means that the list of potential things that are wrong just doubled when it comes to troubleshooting.

 

We plan to redo it when Max2010 releases, assuming that it may have a newer version of Backburner yet. Scripting a Backburner unistall and reinstall through batch scripts is fairly easy, but I work at a mega firm, so this is a lot of steps and hoops to jump through.

 

Before we switched the Manager computer, everythign was perfect, so hopefully it is just a firewall setting, or something simple like that. Who knows.

Link to comment
Share on other sites

  • 2 years later...

The quick and easy way I found to do it is to is round about, but works. Go to Open office Calc or Excel and create the sequence of numbers you want (1000,999,998...), then paste that into Open office Writer or Word and take out all the spaces and tabs, then cut and paste that into the "Frames" box in "Time Output".

 

It's not pretty, but it works. If there are any tabs or spaces or a comma dangling at the end you will get the "invalid input"" error. You can always type it in by hand if all else fails.

Link to comment
Share on other sites

  • 9 years later...

Hi everyone,
I came up with a workaround, till a proper solution is available. I used a Google sheet to generate a string of frame numbers
separated with comas in a reverse order. When I paste this string in the Frames textbox in render settings, I can render in reverse
order. I will share a formula, just incase someone want to try it.

I used Google Sheets. I used the following formula to get the reverse frame sequence
=join(",",SEQUENCE((B7-A7)+1,1,B7,-1)) 
A7 -  Start frame
B7 - End frame
Note- I dont know if rendering this way have any downside. If yes, please share.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...