In this multi-part tutorial we’ll be covering two main areas, embedding .Net forms within Maya and extracting Maya UI components and embedding them within your .Net dialogs. To get this to work we will be exploiting the windows messaging system and as a result, this will only work on Windows based systems. This technique is not exclusive to Maya and can be used for many other applications and has saved me on many occasions. Please understand that this tutorial is aimed at intermediate users of .Net and Maya Python scripting, as there will be some C# code used to interface with the windows messaging system and Python code to load the .Net windows within Maya. If you want to learn more about the following concepts you can check out the Addition Resources I have included.
Posted on July 20th, 2011, 3:10 pmby Rob Butterworth
When I was working on my last tutorial I came across an interesting issue with the Qt UI. I went through all the elements using windows modifier and notices a number of elements that appear to be dupes.
Maya Perspective window after I started to shift some elements out
Posted on August 17th, 2012, 5:23 pmby Rob Butterworth
Over the next couple of months I'm going to be blogging mainly on the topic of what I like to call Physical Technical Art, the tangible side of games development. So… what does that mean you say? Game Development in most parts is a software exercise; once concept art and motion capture has been digitized the remainder of production is mainly dedicated to DCC’s, Assets Pipelines and Code. Development can be fraught with unforeseen hurdles and challenges, some of these problems require a team to think outside the software box and this is where Physical Technical Art focuses its solutions.
A great example of this is the XBox 360 Controller Monitor. This custom hardware enables the capture of the controller’s inputs (buttons and joysticks) and then displays the values on a small board. This board is then framed with the vision from the game and filmed, giving the reviewer a clear connection between the input and the time taken for it to be displayed on screen.
The following video is a Tear Down of this hardware, a brief overview of the electronics used and how it captures and displays its data:
Xbox 360 Controller Monitor (Tear Down)
Latency is an important concern when developing a game, it changes how the game is played and if it's too high the user may get frustrated ruining the experience. The Xbox 360 Controller monitor is a practical and simple solution to this important focus. Yes, input latency can be calculated within the devkit; but having a hardware solution ensures no overheads and enables testing for unprofileable games.
Posted on April 5th, 2012, 2:32 pmby Rob Butterworth
Digging around the web the other day looking for GLSL ES info and I came across this site, it's a nifty online editor, compiler and previewer.
It comes with some examples of 2D, 3D and Plane Deformer shaders and it can take input from Time, Mouse(LMB with current pixel and clicked pixel), Viewport Resolution and 4 Texture(sampler2D) channels.
Posted on March 2nd, 2012, 1:33 pmby Rob Butterworth
Shift dragging files into Maya 2012 can be a risky business; it turns out that it will delete your file.
So if you are after new ways of off-loading some of those pesky files that clutter your hard-drive simply shift drag them into Maya and all your dreams will come true. This works for even for Maya native files, they are imported then deleted from the source location. A simple restore from the recycling bin will cease your soon to be heart attack.
Posted on December 21st, 2011, 7:43 pmby Rob Butterworth
So it turns out that Visual Studio uses the application's cache if a file is open at build time instead of loading the file off disk...ok so this is good, when you want to save memory and speed up the build process. BUT when you are editing a source file that is being created/modified during the Pre-Build step, then you are in a little bit of trouble. Read the rest of this entry »
Posted on November 5th, 2011, 5:43 pmby Rob Butterworth
Q: So I've accidentally deleted some random local files and I have no idea which ones. How do I get the files back when Perforce thinks they are still in my local workspace? I don't want to force update all the files, that would take way too long.
A: Force update will do the trick, but it will take forever to pull the files down. With a little bit of digging in the documentation there is a way to diff your workspace against the Depot.