Render Max scenes shortcut

loocas | 3ds Max,technical | Wednesday, February 27th, 2013

Render with Max Shortcut

Another one of those little things that can save up a ton of time in day to day productions.

I’ve added a simple “render with 3ds Max” shortcut to my right-click menu, so that I don’t have to open up Max if I need to render a scene. This actually came in handy on the current project where I was modifying a few scenes and re-saving them. Then I went through a few of them manually and needed to render them out quickly for reference. No need to actually run Max, open the scene, hit F9… it was all setup, I just needed to render them out.

If you want to modify your right-click menu this same way, just modify this registry key (3ds Max 2013 in this case):

Windows Registry Editor Version 5.00

@="Render with 3ds Max 2013"

@="\"C:\\Program Files\\Autodesk\\3ds Max 2013\\3dsmaxcmd.exe\" \"%1\""

Done. :)

Relighting workflow in Nuke 7 for 3ds Max users

loocas | 3ds Max,Nuke,technical | Monday, December 10th, 2012

Nuke 7 Relighting Workflow

As you may know, Nuke 7 is out and one of its very exciting features are the new re-lighting tools.

However, I’ve bumped into a bit of a problem. Since I’m primarily a 3ds Max user, all my world render passes are Z-up oriented. This is a bit of an issue, since Nuke is, more commonly, Y-up oriented.

Fret not! There is a rather simple solution. The ColorMatrix node, nobody seems to care about. :) All you need to know, if you’re not much into math and shit, is that in order to properly convert the RGB values representing the XYZ space coordinates in Max into Nuke’s world space, just type in these values:

  • In the first row, type in: 1,0,0
  • In the second row, type in: 0,0,1
  • In the third row, type in: 0,-1,0

Or just look at the picture above. :)

Done! This is all you need in order to start re-lighting your renders in Nuke using 3ds Max’s World Point passes.

Repathing your assets in .max files without 3ds Max

loocas | 3ds Max,dotNET,maxscript,Python,technical | Friday, August 3rd, 2012

Asset Tracking

Ever since I read this blog post on the Area, I was intrigued to get this working in an IronPython environment (that’s pretty much all I know, in the “serious programming” area). Unfortunately for me, the article mentions C++, OLE and COM. Which are my least favourite technical subjects.

So, now when I finally really needed this solution (more on that some time later), I had to ask on the Autodesk forums.

Luckily I got an answer. But first off, huge thank you goes to Larry Minton, an Autodesk Engineer, without whom I wouldn’t have been able to get this thing going.

Now, about the problem. If your facility has a render farm and you happen to work off of your local storage, you have to point your assets to a UNC path where they’re stored so that all the machines on the network can find and load them when rendering. There are many ways of doing this and usually your pipeline TDs had figured this one out prior you even starting any work on the project. :) Unfortunately for me, I’m the only pipeline TD here. :D So I had to figure out a way of re-pathing my assets in 3ds Max scene files prior to rendering.

Custom car rig

loocas | 3ds Max,showcase | Saturday, February 11th, 2012

Mercedes-Benz SLS AMG

I’m working on one of my personal projects and wanted to share with you a demo of a car rig I did for the project.

Oh, yeah, by the way, it’s gonna be a very original and one of a kind car spots. :D

The rig sports a few basic features:

  • Automatic wheel rotation system based on traveled distance on individual wheels level
  • Manual suspension system
  • Manual rotation of the front wheels, incl. automatic steering wheel secondary rotation
  • Manual rear wheel spinning system for burn-out animations and sliding
  • Secondary system for car sliding at the front and at the rear for drifting types of animation
  • Manual body reaction to acceleration

Nothing too fancy, but it’ll get the job done and didn’t take too long to rig. Here’s the preview:

Get the Flash Player to see this content.

Having fun with Nuke

loocas | 3ds Max,maxscript,Nuke,software,technical | Sunday, January 29th, 2012


As with my previous post, I’m preparing a few handy tools for 3ds Max artists using Mari and Nuke. This bit is the fun part with Nuke: live communication between 3ds Max and Nuke.

Stay tuned!

Having fun with Mari

loocas | 3ds Max,Mari,maxscript,software,technical | Sunday, January 29th, 2012


I’m starting to write a useful set of tools for Mari and 3ds Max users. This is the very beginning – establishing reliable communication from 3ds Max’s MAXScript console directly to Mari. :)

I’ll keep you posted.

The power of regular expressions

loocas | 3ds Max,dotNET,maxscript,opinions,technical | Tuesday, January 10th, 2012

I don’t think I have to praise regular expressions here, however, I wanted to point out one extremely useful case where regular expressions were pretty much the single most useful, fastest and not so obvious choice in my 3ds Max pipeline.

The thing with 3ds Max is that regular expressions are foreign to MAXScripters and they don’t usually use them. I too am more used to regex in Python or IronPython than MAXScript. However, since we do have access to .NET in MAXScript, we can use its Regex class inside MAXScript.

Why I’m mentioning this and why could it be useful to you? I bumped into a little issue with my pipeline’s handling of rendered files. They assume to be exactly the same as I set them up in 3ds Max, which is logical and correct. However, since I started using Deadline’s SMTD script for submitting my files to the render farm, which takes care of handling the path remapping and storing, it also accidentally took care of letter casing. So, in the end, my render files were being saved all upper cased: “\\SERVER\PROJECT\RENDERS\ABC.EXR” instead of what I set in the Render Dialog: “\\SERVER\Project\Renders\ABC.exr”. The reason was simple, I used simple MAXScript substituteString() method to re-map my local paths to my server, UNC, paths and I converted everything to upper case just in case I got a mismatch:

substituteString (toUpper srcPath) @"D:" @"\\RAMMSTEIN\__UNMANAGED_PROJECTS__"


Shotgun and 3ds Max, practical example

loocas | dotNET,maxscript,Python,software,technical | Monday, December 5th, 2011

Get the Flash Player to see this content.

Here’s a video demonstrating the power and practical usage of Shotgun (data) brought over to 3ds Max natively via our Python plugin, duberPython.

duberPython runs the latest IronPython 2.7.1 without issues!

loocas | 3ds Max,maxscript,Python,showcase,software,technical | Thursday, October 27th, 2011


Just a quick shout about the compatibility of duberPython and the latest and greatest IronPython 2.7.1 release (released a couple of days ago). All working smoothly and quickly, as expected. ;)

Should you need more info on duberPython or what we’re doing with it and Shotgun or Tactic, just drop me a line and I’ll be more than happy to show you how cool duberPython is. ;)

Using .NET controls in .NET Forms in MAXScript

loocas | 3ds Max,dotNET,maxscript,technical | Sunday, September 11th, 2011

If you’re used to scripting your GUIs in Max with the standard rollouts via “createDialog …”, you might be a little confused and lost when you first try to use a 100% .NET Form object instead.

Whatever your reason might be for using .NET Forms instead of standard dialogs, you’ll still want to:

  • Create the main form and define its properties
  • Define other UI controls, such as buttons, checkboxes etc…
  • Define event handlers for specific control objects
  • Initialize and display the entire Form with all the controls and functionality tied in

All this is done a little differently in the .NET realm than what you’re used to in MAXScript. But before you start, check out Paul Neale’s great .NET tutorials on his site. Paul provides some great info for anyone trying to use .NET controls in their scripts.

Now, there is one thing I bumped into, you can actually use .NET objects in MAXScript rollouts, however, you cannot use regular max controls in .NET Forms! So, trying to assign a standard button to a .NET Form will result in an error.

You might think that this creates a burden on the TD to actually skin and customize the .NET controls to look like native 3ds Max GUI elements. You can do this, of course, but it’d really be a lot of additional work to hassle around with color classes, HWNDs etc… you actually don’t need to worry about this as there is an Assembly available in standard Max installations. It’s a little .dll, found in the root of Max, called MaxCustomControls.dll. This Assembly contains some of the more exotic controls, such as SceneExplorer, but it also contains a complete Form control that has already been modified so it reflects your 3ds Max environment, including all the colors, themes and even an initialization method for showing the control as a part of the max process/window.


« Previous Page | Next Page »

Powered by WordPress | Theme by Roy Tanck