Bee in the Bonnet by DNA INC BATCH I

This is the first High-Definition short film from batch I of DNA Inc. And also my first assignment as Mentor since I got associated with DNA Inc. The task handed over to me was that of supervising and reviewing the asset building process and also setting up an efficient pipeline at par with the one available in high-end production houses.

The execution of the project in the scheduled time frame was indeed a challenge with 70-plus shots spanning across a duration of 4 mins. But I am glad that the effort was paid off in the end with the successful completion of the film as scheduled and also an amazing portfolio for every student who was involved in project.

The film was done entirely in Maya 2009 and rendered using Maya Software Renderer.

Wearing the cap of Mentor for DNA Inc.

The year 2009 had been a wonderful year in terms of the professional assignments taken up.Relocating to a new city like Hyderabad too added enough thrill to life.But the most remarkable one being my new avatar in the form of mentor for the students of DNA Inc, a Path-Breaking initiative by Dilsukhnagar Arena.

The challenge of managing the work schedule at the same time wearing the cap of a mentor helped me in improving my time management skills. The last three months had been quite productive in terms of the tasks taken up, but at the same time found myself completely disconnected from the online space since the free time after work was minimal.

Now that I feel my absence in this space has crossed the tolerance level, I thought its time to get back and share the new things which I explored in the past few months.

Qcalendar widget for Maya GUI using PyQt

QCalendar widget is one of the handy widgets provided by PyQt that can be included in your maya custom UI for the user to deal with date information.Apart from providing current date information to the user, Qcalendar widget can be used to get valid date inputs from the user.It includes a set of signals like selectionChanged() and currentPageChanged() which can be used to update the information based on user selection.

The selected date can be retrieved using the method selectedDate() which will return a Qdate.The day() and month() methods of QDate can be used to get seperate day and month values. Similarly longMonthName() method can be used to get the long names of the month since the method month() gives the month in number format (12 for December).

The usage is as follows:

myDate = myCalendar.selectedDate()

month = myDate.month()

day = myDate.day()

monthName = myDate.longMonthName(myDate.month())

The calendar grid visibility can be set for east readability using the setGridVisible() method which will accept a boolean value.

myCalendar.setGridVisible(True)

The Flawless Arm Rig Challenge at CGTANTRA

Flawless Rig???If u feel skeptical about the possibility of such a rig, head on to CGTANTRA. The first among the Monthly Rigging Challenges that started in CGTANTRA will leave you speechless with innovative setup techniques from students and professionals alike. I have been handed over the task of moderating the challenge which has proved to be a double edged sword that restricts me from participating in the challenge. So planning to follow the same guidelines as that of the challenge and post my work in this space so that it doesn’t go against the rules of the challenge.Watch out for flawless arm rig from Virual Puppeteer.

Subscribe to Pragmatic Artistry

One more addon to favor the frequent visitors to this page.Now you can sign-up with your e-mail to get live updates of new techniques and tutorials covered in this space in your mail inbox. I just loved this new widget that wordpress introduced couple of days back which will help you keep track of your favorite blogs. Enter your e-mail address on the subscription widget and hit the Sign me up button and there you go!!!!

Autodesk Backburner job submission using cmdjob.exe

Autodesk’s decision to ship Backburner 2008 with Maya2010 has leveraged  the utilisation of resources across the network for executing batch rendering task from a single node point. Backburner jobs can be easily created from within Maya 2010 using the Create Backburner Job command under the Render menuset as shown in the  figure below.

This will bring up a window similar to the one shown below.

Here you can specify the job name, frame range, number of tasks, Renderer and also specify the IP address of the machine in which the backburner Manager is running.

But the real power of backburner is revealed when you get under the hood and explore the power of the command line based utiliy cmdjob.exe. This is a handy tool for adding jobs to backburner manager for  literally any version of maya and not even just maya even Softimage, Aftereffects, and Nuke projects with a change in the passed arguments.The cmdjob utility can be accessed from within the backburner installation directory.

The basic syntax for the cmdjob is as follows CMDJOB <Options> executable to run <executable parameters>

By specifying the executable for the specific version of maya and passing the arguments for the maya batch we can trigger renders across multiple machines in the network and still monitor the progress using the backburner monitor.For example:

cmdjob.exe -jobName myRenderJob -jobNameAdjust -manager localhost -priority 50 -numTasks noOfTasks -taskName 1 -leaveInQueue “C:\Program Files (x86)\Autodesk\Maya2009\bin\Render.exe” -r mr -s 0 -e 196 -of tiff -proj projectPath -rd renderDirectory fileName.ma

will add a job named myRenderJob to manager running in the same machine(localhost) using Maya2009 batch using renderer mentalray(mr) for frame range o to 196 with file format of tiff to renderDirectory location for file named fileName.ma.It will distribute the job to noOfTasks number of machines in which backburner server is running.

You can get a list of all the valid parameters accepted by cmbjob from the list below

Pycon India 2009-day2

The main attractions of the day 2 were the talks on .NET and Python and also the Road to InPycon 2009. The talk on .NET gave an overview of the use of IronPython, thus utilise the best of both worlds. The talk covered what Dynamic Language Runtime and Common Language Runtime meant in .NET and how they could be put in to use while dealing IronPython. The second session turned out to be quite inspiring one for the python fraternity in india with a presentation on what went behind the making of Pycon India 2009 a success. The conclusion was that there needed to be more regular user group meetings and time in order to organise an event like this. The message was clear. We need to keep this going in the coming years also.

On the other side of the globe, with just two days left for the Pycon US 2010 proposals, pythonistas around the globe are awaiting the conference to be held at  the Hyatt Regency Atlanta in downtown Atlanta, Georgia from February 17 through 25

Pycon india 2009-day1

Before I go in to the details of the talks of day1 of Pycon India 2009, I would like to congratulate the volunteers for putting the effort to make this event  a success by bringing in professionals and students across the country for this wonderful event held at CSA Lecture Halls, Indian Institute of Science, Bangalore. The main attractions of the first day included talks on buildout, design patterns in python and also on the idioms and several language features that very few people were aware about. There were other sessions also which received considerable appreciation from the audience, but since those were conducted simultaneously in other halls, I had to make a choice between them so as to make sure the day1 turns out to be beneficial enough for me.

The talk on buildout turned out to be quite an informative session for me with the speaker shedding light on the various features and also the process of setting up a successful build system for develpment and deployment of application from multiple parts, some of which may be non-python based.

Most of the slides of the day1 have already been uploaded in the Pycon India 2009 website.You can browse the slides here.

ak_rgbMatteTool.mel

ak_rgMatteTool

This is the tool I created for easy assignment of RGB Mattes for the objects in the scene during the maya render process.For those who havn’t used RGB matte passes in render, RGB matte passes help in extracting individual 3d elements from a maya scene render containing multiple objects. This handy tool helps in creating mattes for ambient, diffuse, Incandescence, and reflect channels with the click of a button.

The usage of the script is as follows
source ak_rgbMatteTool.mel;
ak_rgbMatteTool();

you can download the script here

MADAM Login dialog using PyQT

loginUI

One more addition to power up MADAM.But this time in the form of a GUI.Ok, I am not claiming this as a considerable achievement.But this being my first dialog in PyQT, I thought I should post it here just in case someone who is new to PyQT might find it useful. After collecting inputs from my colleagues regarding MADAM, everyone had the same opinion that they don’t want to type in to a console at any cost.They needed a neat and tidy interface that would be comfortable working on. So started off with a dialog, with just a QLabel, QlineEdit and two QPushButtons to get the job done.The next step was to set the echoMode for the QLineEdit to prevent the keyboard entry being echoed in the field. I couldn’t get it working in the initial try since I was trying to pass a string to the setEchoMode method while on the other hand it was supposed to enum.This is the format for setting the echo mode.

passwdTxField = QLineEdit()
passwdTxField.setEchoMode(QLineEdit.EchoMode(2))

Finally a QHBoxLayout for the two QPushButtons and a QVBoxLayout for the main dialog, the loginUI was ready to use.

Follow

Get every new post delivered to your Inbox.

Join 28 other followers