Delete History, Maya Nodes 1

Delete History, Maya Nodes 1 from destruct007 on Vimeo.

In order to become better at Maya we need to have a better understanding of what's happening "behind the scenes" in Maya. How the node network functions and how Maya automatically connects, disconnects, deletes, etc nodes in your scene. This is a really quick look at a simple shape node network, and what is really happening when you delete history.

Mel script to mess with 2

I posted before a script to mess with, that was a short script, well I've added a UI to it and now its a crap load longer, but there are new features. It will save your cache settings with the file, so if you oversample it will remember the oversampling, etc.
So check it out, I'll make it work for windows this weekend. Right now it's only Linux.

EDIT: now version 2.1 with changes from "Alberto" plus a few extra things that I needed to do like error checking.

Switching to Unreal for a while

I needed to switch to learning Unreal engine as I'm looking to get into games next, probably mainly using UDK, so I'll have to come back to Unity in a couple a months.

New Laptop (nobody cares)

$1000 budget, and I was || close to getting a 13' macbook pro, the cheapest one, when I said screw it, I don't care, going Dell. I got so much more computer for my money.

Studio 15 Laptop
Intel Core i5-520M 2.40GHz
6GB DDR3 at 1066MHz
15.6" Full High Def (1080p) High Brightness LED Display
ATI Mobility Radeon HD 5470, 1GB
500GB 7200 RPM SATA Hard Disk Drive
Back-lit Keyboard
$1022 total (After tax n stuff, - discounts)

vs the mac has less on all fronts except: body, battery life, arguably video card, iPhone app dev, and resale price.
But the 13" mac is $1225 with tax even after the $100 savings from teaching at Gnomon! Lame. That's about a 20% cost increase, over budget, for less. I'm still not a mac.

3DBuzz got Unity

3D Buzz has been around for a long time. I've not watched their unity tutorials yet b/c they aren't playing on this version of linux for some reason, anywhoo that will soon be fixed. But a great list of tutorials, that I can be sure will be worth the time to watch them. I don't get how they make their money but 3dBuzz is pretty cool for sharing all this.

Check it out.

Fire 1.5

2d Maya Fluid Fire Settings from destruct007 on Vimeo.
Finally! Fire tutorial 2... er 1.5 This one is better than 1 but honestly I did it a few months ago and now forget some of what I said. I remember it being decent and good to see workflow of fluid sims. I think this would probably be the most important video to watch if you already have a good foundation in fluids.

The audio starts to go out of sync half way through but whatevs, that always seems to happen in longer tutorials.  But just so you know...

Mel script to mess with

Just posted this for people to check out. Its a somewhat polished somewhat rough cache then playblast script. I've commented it heavily so you can check it out and break it down. Only works on Linux right now, since the "system" call is a linux format. A good simple test is to get it to work on Windows or OSX.

The importance of //Notes

Why do I do this to myself? sometimes I make only a few notes then I come back to my set up and say WTF was I thinking?!?!  Its not like I can't read any one thing, I wrote it. But why some numbers are there, what settings were doing what, relating to each other how, why, damn. I hate going back to work on old code, even with notes. Often I feel like screw it just re-write it, easier than fixing what was previously broken.
This is one of a few sparks particle expressions... and my eye glaze over when trying to understand this initially, but I have to cram this back into my head. Honestly its not that much code, but to make this code do what you want artistically with easy is another thing altogether. You have to have the math, connections and settings back in your head working congruently.

//spark strong %
sparkShape.strongPercent = rand(1);
float $strongPercent = sparkShape.strongPercentage *.01;
if (sparkShape.strongPercent < $strongPercent)    {
    sparkShape.indexPP = 10;
} else {
    sparkShape.indexPP = 0;

//short %
float $shortPercent = sparkShape.shortPercent *.01;
sparkShape.shortPercentage = rand(1);

//spark scale
float $length = rand(2.5, 3.5);
float $yScale;
float $zScale = $yScale = gauss(0.55, 1) * sparkShape.widthMult;
if (sparkShape.shortPercentage < $shortPercent)    {
    float $shortRand = rand(.15, .3);
    sparkShape.scalePP = <<($length * $shortRand), $yScale, $zScale>>;
} else {
    sparkShape.scalePP = <<$length, $yScale, $zScale>>;

//index start value
sparkShape.splitIndexPP = 0;

//split scale
sparkShape.splitScalePP = <<0, 0, 0>>;

//split pop amount
sparkShape.splitPopEmitter_emitterRatePP = rand((sparkShape.splitPop * 0.5), sparkShape.splitPop);

float $life = 24.0 /;
float $lifeRand = 24.0 / sparkShape.lifeRand;
sparkShape.lifespanPP = $life * (rand(($lifeRand * -1), $lifeRand));

//scale spark on second frame of life
if(sparkShape.age > 0.042 && sparkShape.age < 0.08)    {
    float $mag = mag(sparkShape.velocity) * sparkShape.lengthVelocityMult;
    vector $sclPP = sparkShape.scalePP;   
    float $velLengthMult = $sclPP.x * $mag;
    sparkShape.scalePP = <<$velLengthMult, $sclPP.y, $sclPP.z>>;

//vary fade out speed
float $randFadeOut = rand(1);
if($randFadeOut < .05)    {
    sparkShape.indexPP += .4;
    sparkShape.splitIndexPP += .4;
} else {
    sparkShape.indexPP += .2;
    sparkShape.splitIndexPP += .2;