Tag Archives: research

Am I really ready to Graduate?

I don’t think my aims have changed since starting this course.  I wanted to marry my animation skills with programming and either create my own games/apps or use these skills to get me further into a late career in the industry.

C++ nearly broke me and perhaps that is a sign of being too old to adapt between different languages.  What the last two studio subjects have taught me is that I want to be a Unity developer when I graduate.

It seems, from reading the job market correctly, that the main concerns left for me are to gain an understanding of the Mechanim system, Animation trees and experience with a range of repository formats (my only experience to date has been Git).






Next Trimester, I am working on the Final Project, which meant that I will be looking at Animation Trees over the holidays and implementing a few of my previous animations so that I can readily understand how they work and how to best leverage them.  This way I will be prepared to implement animations as soon as we return from the holiday break.

Also, next trimester, I will be working with a group of ex-qantm students who have their own studio and are trying to get their game “Hands Off” greenlit through Steam.  I will be doing rapid prototyping for them for new game ideas and improvements or new concepts for the “Hands Off” title.  They will expect me to be knowledgeable in using Bitbucket and TortiseHg, which I will also be looking into over the holiday break.  As I am already conversant with using Git, I’m sure that it will not be a culture shock using Bitbucket and TortiseHg.

I think it will be a very busy lead up till the end of the year, but I am looking forward to it.  Perhaps because I am finished with C++, but I can’t just leave it there.  Some of the advertisers looking for Unity developers also recommend Unreal experience.  While I have used Unreal to show off Modeling assets and have used the Kismet system, I doubt that this would be enough to warrant a job so I will need to continue with my C++ training and try to become a lot more proficient in it.  Who knows, I might even begin to like it.

When failure turns into success (because of this blog).

This blog was going to be about how I failed to make a working maxScript in 3dsMax.  I had successfully made the script , but due to an oddity (in my opinion) in 3dsMax, I didn’t realise it at the time.  It wasn’t until I was taking screen captures that I realised that my script actually worked.

The problem I tried to overcome,was that, coming from an animation background, I know that you have to go in and physically change the rotation of the pivot point before you export the asset as an FBX file.  Even though you check the Y-axis up box, it still doesn’t change the rotation of the pivot point which can cause problems trying to code the models in Unity when the Z axis is pointing to the sky.  This process can be a pain if there are several items in the scene.

The first step was to research maxScripts and the MaxScript Listener (http://www.polycount.com/forum/showthread.php?t=84895 and http://knowledge.autodesk.com/support/3ds-max/getting-started/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax-Tutorial/files/GUID-4FB4F8E4-0B7C-4417-B725-B0700714A4F9-htm.html?v=2015).

Just using the Listener methods to try and record my actions, I created a small script that looked a bit like this.

Code from the MaxScript Listener

Code taken from the MaxScript Listener

My initial scene looked like this:

Just a standard box that has been converted to an editable poly.

Just a standard box that has been converted to an editable poly.

After executing the script, it looked like this:

The effect of running the "Listener" script on the model.

The effect of running the “Listener” script on the model.

This wasn’t the desired result.  I did try a variation of the script, whereby I then went back out of the Hierarchy Mode and rotated the model -90 on that same axis but after executing that script, the model was the same as it was before executing the script.  This did forewarn me about a potential problem I could be facing.

I later found a great deal of useful information at this site:  http://docs.autodesk.com/3DSMAX/16/ENU/MAXScript-Help/index.html?url=files/GUID-624D3D05-B15D-4A97-9F15-DA35CDB0DDD2.htm,topicNumber=d30e703708.  Typical of AutoDesk to have nearly all of the relevant documentation available to designers 😉

Another valuable source for me was http://www.neilblevins.com/cg_tools/soulburnscripts/soulburnscripts.htm which has a lot of scripts available to do a great many things in Max, except the thing that I wanted to do. Blevin gave me the clue that I need to get into the XForm and rotate the gizmo.  This will however create a  new modifier in the Modifier List, which will have to be collapsed when the model is converted to an Editable Poly again.  From my Listener script, I took a gamble that I would meed to rotate the mesh in the opposite direction.

While they are older videos, there is some good content in her to help with rollouts .. https://vimeo.com/album/1514565/page:1/sort:preset/format:thumbnail.


The problem for me was, when running my script, I dragged it from the Dialogue Box into my scene.  I didn’t, however, close this damn dialogue box and no matter how many times I tried to get it to work, it just wouldn’t work properly.  It was rotating the pivot point to the correct direction, but there were issues with the model’s movement and the fact the I couldn’t delete it.  Even starting a new scene, the model still came up.  I put this down to some bugs in my code.  What I didn’t know is that the code would have worked if I closed the dialogue box.

Once this had been discovered, it was full steam ahead and referring to this site http://knowledge.autodesk.com/search-result/caas/CloudHelp/cloudhelp/2015/ENU/MAXScript-Help/files/GUID-6E21C768-7256-4500-AB1F-B144F492F055-htm.html, it was a simple matter to create the macro by dragging the text of the program into the toolbar and assigning an icon to the new button.

Here are some screen grabs showing the process and result of changing the y axis.

Setting up a new box for testing.

Setting up a new box for testing.

Showing the button and the pop up text and the rollout window.

Showing the button and the pop up text and the rollout window.

After clicking the tool button you can see the pivot axis is rotated.

After clicking the tool button you can see the pivot axis is rotated.

Final code used to create this tool.

Final code used to create this tool.

In summation.  I could have finished this off so much earlier this weekend, but for the Open Script dialogue box.  Pro Tip:  Close dialogue boxes in Max before testing to see if your code is working properly.