Hey peeps,
I'm kind of new here so go easy on me
Over the past couple of months as I've been developing my portfolio, both art and code, I started playing around with max script to make some simple scripts and help take the monkey work out of Max. Basically make my way towards becoming more of a technical artist in the industry, rather than an artist with technical ability
Recently Adam (I'm sure you guys know him) gave me the idea of making a max script that will take a progress shot of your max scene with a simple press of a button. Good idea! So I took the idea and expanded it a bit more.
Capture tool script
Installation:
- Open the rar file
- Place the MCR file into "..\3dsmax2008\Scripts"
- Run the macro script (Nothing will actually show up) MAXScript -> Run Script...
- Assign the macro script as a button... Customize -> Customize User Interface... -> Group = Main UI, Category = Ren Tools
- Click and drag "Ren's Progress Capture Tool" onto a toolbar
- Click the new button to open up the floater window
- Read usage below
Progress Capture:
- The list box contains the names of all cameras in the scene, you can select the desired angle you want to capture. If there is nothing listed (IE, there are no cameras), the tool will use the perspective view.
- You can create a new camera with the Create Camera button. If you have a camera selected, the selected camera will be reoriented to the current view.
- Checking the Free Camera check box will make the camera a free camera instead of a targeted camera.
- Capture on autosave will attempt to capture a progress shot based on the autosave timer. CAUTION: if your scene takes a LONG time to render, you may either want to turn this off, or lower the render settings.
- Quiet, no virtual buffer will not display the rendered image in a window, but will still save it out.
- Pressing the Capture Progress button will automatically render and save your scene based on your current render settings. The file will be saved to the same directory as the max file, and it will be incremented up to 100.
There isnt a lot of functionality that I will be adding to this tool as I would like to keep it simple. At most the listbox could auto update, or at least have a manual refresh, not just when a new camera is added.
Additionally a more robust file management system might be handy.
There may be unforeseen bugs left over, so I just let me know if you find any!
-Ren
Replies
You could also use the preview render to make snapshots of the view port as that might be more interesting to modeling people. A mix of zoom extends for auto camera on a selection of objects could be nice (like if one works on details in a model and only wants to capture that detail).
I see some nice potential for this script idea, keep it up
I definitely think that renderhj's suggestion of just grabbing the viewport is a good one, personally I don't want to wait for a render every time (especially if I have settings set up for high-quality light tracing etc.), usually a viewport screengrab will do the job for WIP and time-lapse purposes.
Maybe add an option to choose between render or screengrab? That'd be really cool.
Also, will you have to have the window open all the time in order for it to work? Or will it sit quietly in the background, writing out images without cluttering the interface? And why does it only increment to 100?
But here is an image of the progress tool
I'll release a new version of the tool once I have it coded in. Shouldn't be more than a new button and checkbox
Thanks.
more info can be read here:
http://www.cgplusplus.com/online-reference/maxscript-reference/source/viewport_drawing_methods.htm
With that said, I think some people might be opposed to having controls cut and their viewport move around for a split second. Although it would take longer for more complex scenes.
So what I may do is just simplify the script so that it will only capture the current viewport as is... while the rendered capture will use selected cameras etc.
EDIT:
Ok, here is the new maxscript. I also changed the file numbering to include a timestamp instead of a number, it makes things faster as it doesn't have to go through and check for existing files, and it's not limited to some arbitrary limit either.
I should also point out that the way this scrpit captures the viewport (using "gw.getViewportDib()") is for max versions 2008 and newer! I'm not sure how it will react with older versions of max, and I don't have time to test it out at the moment.
Capture Tool