For any tool to be truly useful it needs to have an interface. The quality of your interface might not seem like the most important thing but to an artist there’s a quality level that comes through from the neatness and usability of the tool which makes the artists trust it more. Compare these two interfaces, they do the same function but which one do you think was written by the coder with the better attention to detail and may therefore have less bugs?
Creating rollouts with maxscript can be done two ways. The Visual MaxScript editor may seem like the obvious way to create tools, you can drag and drop controls and neatly align the controls. Unfortunately it isn’t always particularly acurate when you then launch your script. Particularly with spinners, and any other controls or properties it doesn’t know about won’t be dealt with correctly Whilst this can be a good starting point for learning which controls exist and what their properties are I don’t believe it really teaches the best way to lay out your controls. The problem comes when you want to add something in to an existing UI you need to shuffle everything around.
The way I write rollouts is to list the controls out and use the ‘across’, ‘offset’ and ‘align’ properties of the control to get a nice neat layout. Tweaking the offset parameter in particular can allow you to get things exactly in to line. But what ends up happening is lots of (Ctrl+E) bashing to test the UI.
This is where my new tool comes in, a maxscript based rollout generator which works on using the neater layout controls rather than exact positioning and allows you to quickly build professional looking UI, and add in extra controls later on.
It works interactively so you can modify controls and see the exact response in a rollout next to the window. As this window is built by maxscript it is exactly the result you will get when you run the UI code in your own tool.
You can paste rollout code in and load it into the editor but at the moment it has limited functionality as I need to find a way to pass the code through an interpretator to pass it.
Even if you aren’t a maxscript writer you could use this tool to create the interface for a tool that you want someone else to write.
Download it here: