Maya2013 what works/what not

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

THREAD CLOSED
 
Thread Tools Search this Thread Display Modes
  04 April 2012
Thanks, good to know. Apart from that minor point I'm really liking ATOM so far, seems pretty flexible. The one option I find tricky to get right is applying say a walkcycle to the middle of an animated piece via the ripple editing option (ie with Replace off). It works ok as long as I specify exactly the correct length for the animation I'm importing but if I don't get that right I either stretch/compress the imported section or end up offsetting the existing animation. I guess that's just a matter of playing more with the import options and getting familiar with how they work, or maybe keeping careful notes as to how long each saved-out animation is.

Cheers,
Brian
 
  04 April 2012
Glad to hear that ATOM is working out well for you - the ripple option is indeed a bit confusing if you're not sure how long the ranges are and I pondered including a small information textField which would tell you some information from the source ATOM file to help out a bit.

Once I get some free time I plan on getting my blog back up and operational and I'd definitely like to cover some of the more advanced topics of ATOM like Templates, Search & Replace and Map files as I see questions popping up around Templates & Map files specifically.

-s
__________________
My opinions do not represent those of my employer.
 
  04 April 2012
Quote: Once I get some free time I plan on getting my blog back up and operational and I'd definitely like to cover some of the more advanced topics of ATOM like Templates, Search & Replace and Map files as I see questions popping up around Templates & Map files specifically.


I think that right there, the blog, would be more helpful to users in an unofficial capacity than many official avenues in years.

I would love for more developers to take this attitude and share more about what goes through their mind making tools. We all think differently and there are a lot of "I did this because. . ." we never get to hear about.

Would clear a lot of things up and provide a dialog to get more people on the same page.
__________________
My opinions are always my own...and maybe a friend's, but never my employer's.
 
  04 April 2012
I'd be very interested to check out that blog too, sounds potentially very useful.

Re textField for the ATOM files that sounds like it could be very handy too, I'm getting a little deeper into MEL recently so I might have a go and see if I can write some kind of file browser where you could click on each ATOM file in a textField and have useful info display for that one, it would be awesome to have something like that built right into the importer though.

Cheers,
Brian
 
  04 April 2012
Originally Posted by Horganovski: I'd be very interested to check out that blog too, sounds potentially very useful.

Re textField for the ATOM files that sounds like it could be very handy too, I'm getting a little deeper into MEL recently so I might have a go and see if I can write some kind of file browser where you could click on each ATOM file in a textField and have useful info display for that one, it would be awesome to have something like that built right into the importer though.

Cheers,
Brian


Here's some really quick hacky Python that will give you the start and end frame of an ATOM file (just toss the ATOM path where I have the example path). I'll make less hacky code once I finish my coffee

for line in open("/Users/mcclels/Desktop/test.atom"):
   words = ['startTime', 'endTime']
   for word in words:
       if word in line:
          print line
__________________
My opinions do not represent those of my employer.

Last edited by BoostAbuse : 04 April 2012 at 02:39 PM.
 
  04 April 2012
Very cool, many thanks for the example. Works great here and gives me a starting point for further ideas.


Cheers,
Brian

[Edit - heh heh, if you think that Python code was hacky, I guess you better not even look at this MEL version I've cobbled together LOL. It works though in a basic way. What I'd like to add next would be a file browser button so you can point it to a folder and have it load each ATOM it finds there into a textScrollList, then clicking each file in the list would display the start and end frames (and possibly other useful info) for them as you click. I have a couple of jobs to focus on right now but I might see if I can achieve that, if nothing else it would be good practice for me at reading data with MEL.



    // new version below
    


Clearly though Python is a lot simpler (unless there's a simpler way in MEL I'm not seeing), I guess it's time I started learning that too!

Cheers,
Brian

Last edited by Horganovski : 04 April 2012 at 03:19 AM.
 
  04 April 2012
Ok, couldn't resist building on it a little more, this one will find all the atom files in the specified folder and read and print out the start and end times of each one. Next I have to add a little GUI where the user can select a folder and load up a textScrollList with the files, ready to select each one to display the start/end times.

Probably a lot of clunky coding here, but hey it works so far ; )

{Edit - converted the 'word' for the start/end times to an int so that it's handier if using in dialogues etc
{Edit 2- added file browser command so that the file path is not hard coded in any more, now just select the Atom files folder and it will list all files and start and end frames.

    // new version below
   
    


Have to get back to work now but I'll keep on this, should have something more robust and user friendly in a day or two.

Cheers,
Brian

Last edited by Horganovski : 04 April 2012 at 03:20 AM.
 
  04 April 2012
Cool

That's the nice thing about Python is manipulating external files becomes so much more human readable and simpler to do than the MEL equivalent. Text is pretty basic but XML becomes a breeze with Python.
__________________
My opinions do not represent those of my employer.
 
  04 April 2012
Thanks, yeah I really have to stop procrastinating about learning Python I dived into MEL right away when I started learning Maya and found it quite comfortable as I have the basics of some other languages that use similar syntax, while Python looks a lot less structured to me at first glance which puts me off a little. Crap excuse though, I'll get on it!

Cheers,
Brian
 
  04 April 2012
Never hurts to know MEL. I still use it for some prototyping and really quick tools/scripts if I need something just to test quickly. MEL -> Python is fairly straightforward in Maya it's just getting used to all the additional modules that Python provides for doing stuff that will take a bit to get comfortable with.

Two Resources I'd recommend for Python in Maya would be:

Maya Python for Games & Film Book:
http://www.amazon.co.uk/Maya-Python...35231039&sr=8-1

Justin Israel's Python for Maya Vol 2 Videos:
http://www.******.com/tutorials/vie...For+Maya+Vol+02

**weird forum is censoring ******... anyways it's cmi vfx**

I recommend them to anyone who asks me about learning Python inside of Maya.
__________________
My opinions do not represent those of my employer.
 
  04 April 2012
Great, thanks, I've just ordered that book, I'll see how I get on with it and then check out the video too.

I had to finish off the little MEL 'atom browser' though, here's my current version with beautiful (!) UI. Just browse to the folder where the atom files are and it will load them in, then click on each one in the list to display the start, end and length. It should be straightforward to tweak this to return other info if needed.

Hope someone finds this useful, in any case it was a nice little coding exercise and should make my workflow with Atom files a bit easier when merging. I have a webpage on my site where I've started posting little workflow tools I've written, I'll add this to that too soon.


            //bh_atomInfo 1.0 a simple interface that allows the user to browse a folder of Atom files and get the start, end and length of each animation by highlighting
            
            bh_atomInfo;
            
                global proc bh_atomInfo ()
                {
                
                if (`window -exists bh_atomInfo`)
                    deleteUI bh_atomInfo;
                    
                     window  -toolbox 1 -menuBar 1  -mxb 0 -mnb 0 bh_atomInfo;
                     columnLayout -adj 1 mainCol;
                     iconTextStaticLabel -st "textOnly"  -l "Animation Files";
                     textScrollList -h 150 -w 150 -allowMultiSelection 0 -selectCommand "bh_displayAtomInfo" atomTSL;
                     rowColumnLayout -numberOfColumns 2;
                     text -label "Start";  textField   -editable false -width 130 startField;         
                     text -label "End";    textField   -editable false -width 130 endField;
                     text -label "Length"; textField   -editable false -width 130 lengthField;
                     text -label "Folder Path"; textField   -editable false -width 130 pathField;
                     setParent mainCol;   
                     button -label "Select Folder" -command "bh_selFolder()"but;
                     showWindow bh_atomInfo;
                   }
                    
                
                global proc bh_selFolder() 
                {
                textScrollList -e -removeAll atomTSL;
                  $folderBrowse = `fileDialog2 -cap "Choose Atom Files Folder" -fileMode 3 -okc "Set" -dialogStyle 2`; 
                  string $folderPath = ($folderBrowse[0]+"/");
                  textField -edit -text $folderPath pathField;
                
                  
                 string $files[] = `getFileList -folder $folderPath -filespec "*.atom"`; // find all the atom files in that folder
                 
                 for ($each in $files)
                 {
                     string $cleanName[];
                      tokenize $each "." $cleanName;    
                     string $animName = ($cleanName[0]);
                     textScrollList -e -a  $animName atomTSL;
                     string $atomFile = ($folderPath+$each);
                 }
                 }
             
             global proc getTimesAtom(string $atomFile)
             {
                     $file = `fopen $atomFile "r"`;
                     while( !feof($file) )
                     {
                     string $curWord =`fgetword $file` ;
                         if ($curWord =="startTime")
                         {
                         string $curWord =`fgetword $file` ;
                     
                         // need to return a numerical value so lets remove the ';' from the 'word' and convert it to an int
                         string $frameSpace[];
                         tokenize $curWord ";" $frameSpace;
                         string $frameNum = ($frameSpace[0]);
                         int $frameVal =$frameNum;
                         textField -edit -text $frameVal startField;
                         }
                         
                         if ($curWord =="endTime")
                         {              
                            string $curWord =`fgetword $file` ;
                         // need to return a numerical value ....
                         string $frameSpace[];
                         tokenize $curWord ";" $frameSpace;
                         string $frameNum = ($frameSpace[0]);
                         int $frameVal =$frameNum;
                          textField -edit -text $frameVal endField;
                         break;// no need to look further through the file for now
                         }
                         
                     }
                     fclose $file;
                     
             }
             
                 global proc bh_displayAtomInfo()
                 {
                     string $highlighted[] =`textScrollList -q -selectItem atomTSL`;
                     string $path  = `textField   -q  -text pathField`;
                     string $fullPath =($path+$highlighted[0]+".atom");
                     getTimesAtom ($fullPath);
                     float $endFrame  = `textField   -q  -text endField`;
                     float $startFrame  = `textField   -q  -text startField`;
                     float $lengthFrames = ($endFrame-$startFrame);
                     textField -edit -text $lengthFrames lengthField;
                  }
            



Dowload here :
http://www.graphite9.com/MayaDownloads/bh_atomInfo.mel

{edit - fixed a little bug that could cause a hang if you browse to an empty folder.

Cheers,
Brian

Last edited by Horganovski : 04 April 2012 at 06:46 AM.
 
  04 April 2012
I'm finding nHair dynamics rather difficult to adjust to compared to Classic Hair. Just the plain lack of a 'Stiffness' slider above the 'Stiffness-curve' had me puzzled for a while.

Has anybody found some decent settings to remove the default rubberhose-behavior of nHair? The reasoning behind why the heck anybody would set such an unnatural default behavior for hair in the first place is beyond my horizon, btw.

It's very nice to be able to switch between nucleus and classic dynamics solver with the flip of a check-mark though (unless I'm mistaken on this)!

I still haven't been able to install the Maya 2013 offline help. The other installers ie Max & Softimage don't give me that error and install fine.

Cheers!
__________________
"Knowing is not enough, we must apply. Willing is not enough, we must do."-Bruce Lee


 
  04 April 2012
Before I even get to testing, I noticed that when 2013 started, it MOVED 2 folders from ...\Maya\2012-x64\scripts to ...\2013-x64\prefs. Not only should they not have MOVED them (or copied them without asking for that matter), but they are in the wrong place for Maya 2013 to utilize them!!!
And this is with the 'start with new prefs' option.

What Works:
This is fixed!
__________________
If animation couldn't change the world, it wouldn't be such a Micky-Mouse place.

Last edited by EightBit : 04 April 2012 at 10:01 AM.
 
  04 April 2012
Originally Posted by EightBit: Before I even get to testing, I noticed that when 2013 started, it MOVED 2 folders from ...\Maya\2012-x64\scripts to ...\2013-x64\prefs. Not only should they not have MOVED them (or copied them without asking for that matter), but they are in the wrong place for Maya 2013 to utilize them!!!
And this is with the 'start with new prefs' option.


Which folders did it move on you? It should only move folders if you've said that you want to carry your preferences forward so I'm curious which two got moved so I can have a look into why.
__________________
My opinions do not represent those of my employer.
 
  04 April 2012
May somebody ( autodesk employee?! ) tell me how I can open my containers in Maya2013? I could open them in Maya2011 and I do not want to go back because I need to take advantage of the alembic export. I cannot submit a bug, because the relevant scenes are too big for a submission.
 
Thread Closed share thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 01:59 PM.


Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.