dealing with layouts in maya

Many operations in Maya will run faster if Maya doesn’t have to refresh the viewport while running them. For example, if you switch the viewport to only show the Graph Editor before baking animation, or caching particles or Alembic geometry, the operation will happen much faster than if Maya had to actually display the geometry for each frame that it’s being baked. There is probably a way via the API to tell Maya’s viewport not to refresh, but since I don’t know shit about the API, here’s a workaround using a few of Maya’s less-documented MEL commands and some Python.

I wrote this method assuming that artists would want to cache out information frequently without it disrupting their workflow. That means that I needed to first store the user’s current panel layout, then switch it to something that doesn’t require a refresh on every frame (like the Graph Editor), and then restore the previously restored layout.

I prefer coding in Python, but some of the procedures I’m running are MEL functions that are found in scripts/startup and so they’re not documented and they don’t have Python equivalents. A hybrid approach is the best way to handle it, since MEL is terrible.

Click for some Python code… (more…)



So a while ago I worked on a project that involved a lot of work in Fume and Krakatoa, both dynamics plugins for 3DSMax. I’m not a Max user at all, nor do I know a whole lot about dynamics, but I do know these plugins are a lot better Read more…


the “tech” shader

If you’re using mental ray as your renderer, chances are that you aren’t going to get a whole lot out of the passes system, especially if you’re trying to write custom color buffers. It’s a slow, buggy, work-intensive process to get a lot of passes out of mental ray that Vray has absolutely no trouble with. You could use render layers instead of custom passes, but mental ray also has a particularly long translation time for complex scenes (think of any scene where you see mental ray hang for about 10 minutes before it even starts to render a frame). So you can’t exactly add render layers haphazardly… you need to condense things as much as possible.

Someone told me about a neat trick that they saw at a studio they were freelancing at where three data channels would be written to RGB channels, almost like an RGB matte pass except with “technical” passes instead of mattes or beauty or whatever. Since the data being written only needs a single channel, you can get three kinds of data written to one image and then split them apart later in post. Simple enough when you think about it…