Shotgun and 3ds Max integration preview

loocas | 3ds Max,maxscript,Python,showcase,software,technical | Friday, April 29th, 2011

Get the Flash Player to see this content.

If you’re interested in a live demo or more information about the duber Python and Shotgun integration in 3ds Max, drop me a line via e-mail at: ldubeda[at]

Using Dictionary data types in 3ds Max

loocas | maxscript,Python,software,technical | Thursday, April 28th, 2011

I’ve had a few customers and clients asked me specifically about getting Dictionaries from 3ds Max to Python using our 3ds Max Python plugin, but I wasn’t able to answer with an elegant or productive way of handling these data types in the MAXScript environment.

Until recently, I’ve been handling Dictionaries two ways:

  1. String parsing (i.e. a very primitive way of handling foreign data types, not really recommended)
  2. Manual wrapping (i.e. passing in a List or Array object and converting it back to a Dictionary object)

String parsing is the worst possible way of handling such an issue. It’s very cumbersome, highly unintuitive and with MAXScript string capabilities, extremely difficult. Manual wrapping, on the other hand, is rather more elegant, faster and you can use other, known, data types to construct your future Dictionary and have that converted in Python natively. The down side is, you have to be very careful with the way you’re handling the future Dictionary. The thing is, only a tuple of list pairs can be successfully converted to a Dictionary in Python. This is a bit limiting as we don’t have any specific way to tell what is a Tuple and what is a List in our Python implementation in MAXScript as there are no such data types available. So, what I did was I had an Array sent to Python (an actual .NET Array object, by the way) I had that converted first to a Tuple, which is pretty straight forward and then have that converted to a Dictionary. Worked fine, but it was a bit difficult to construct more complex Dictionaries, especially nested Dictionaries, in MAXScript.


studio’s IT infrastructure failure

loocas | hardware,miscellaneous,technical | Thursday, April 28th, 2011

Unfortunately, on tuesday, this week, the primary file server acting also as a domain controller at the studio, failed. The issue was caused by an error on the primary RAID array where the OS was installed. This lead to a complete loss of the OS and the entire studio setup.

I don’t know what caused the problem, but when I returned to the studio, all my machines were restarted, running, but restarted. The Internet Router I used for external access was also down. I had to manually start up some services and buy a new router. Then, when Windows Update popped up on the file server and I hit “Install Updates”, since I figured when it was all down anyways, I may as well update the system. That was the biggest mistake! The server crashed into a BSOD and I had to restart it manually which resulted in the failed RAID array and the complete loss of the OS.

The other issue was with the MD1000 DAS with all the company and projects data on. Since I configured it as a software RAID I lost the complete array with the OS. The data is still on the drives, but I can’t access them, since the OS is down.


Portal 2, a game of the year!

loocas | miscellaneous,opinions | Sunday, April 24th, 2011

Portal 2

In case you’ve never played the original Portal mini-game from Valve (included with the Orange Box combo), you should definitely go and check it out.

The original Portal game was a mini-game bundled with the Orange Box games released back in late 2007. After finishing Half-Life I started the game and was immediately hooked in. The story was rather simple, but still interesting to keep playing. You were a test subject trapped in a synthetic testing environment controlled by a psychotic AI mainframe. Spoiler alert! You escape the testing chambers and kill the psychotic robot in the end. :) Now, the game was a first-person 3D action puzzle game. A very strange and rare combination, but extremely fun and addictive. You solve puzzles primarily using a device called Portal Gun which creates one entry and one exit portal anywhere you attach these to appropriate surfaces (you can’t do that on all types of surfaces, though).

Fast forward to 2011 and we have here a sequel to the very popular mini-game. This time in an AAA title of its own. To say that this game rocks is a huge understatement. So, basically, to not spoil anything and to keep this short and simple, if you liked the first Portal, you’re gonna love the second one! If you didn’t play the first Portal game, go grab it on Steam and then get to solving Portal 2.

Also worth mentioning is the (nowdays hugely overlooked) co-op mode, which is almost another campaign on its own! Get a friend and play the co-op together. It’s tons of brain twisting fun!

Portal 2 is one of the very rare games I had to finish in one go. I sat down to the game at about 9pm, fell asleep at about 4am and continued playing the next day when I woke up until I finished it! Same for co-op. We played the game for good solid 4-5 hours straight with my brother. It was absolutely amazing and very refreshing from all the FPS titles available nowdays.

Simply put: go buy this game NOW!

Customizing Deadline, example

loocas | deadline,software,technical | Tuesday, April 19th, 2011

Get the Flash Player to see this content.

An example of the limitless possibilities how to customize your Deadline installation in order to make it work in your specific production pipeline.

Character encoding in MAXScript

loocas | 3ds Max,maxscript,technical | Thursday, April 14th, 2011

Since Max 2008 (I believe) we have the great SciTE MAXScript editor in Max. It’s an awesome IDE. Very flexible, very lightweight, fast and powerful. Sure, there are much more robust or more beefed up IDEs out there, but for an integrated, dedicated, MAXScript IDE, it’s simply awesome. It’s so good I installed SciTE standalone and use it as an IDE for my Python and other scripting tasks.

So, I’ve been trying to unify my code page across the SciTE editors (the standalone and the integrated Max’s editor) and settled on a standard UTF-8 encoding, which seemed to work just great. However, I just bumped into a very strange bug where Deadline reported a “bad syntax” error on my jobs which were using PostLoad scripts to automatically repath all my assets in my scenes.

The worst part was, the scripts were perfectly fine. They worked just fine in my local Max sessions, but they refused to work when run on the farm. I accidentaly discovered that it was related to the file’s encoding. When I resaved the file in Notepad (on my server) using the ANSI character encoding, the jobs suddenly started to work.

So, if you’re using a UTF-8 encoding in your SciTE editors, including and especially in the integrated Pro Editor in 3ds Max, make sure to save the scripts in a different encoding before executing them on the render farm.

Powered by WordPress | Theme by Roy Tanck