Indie Game Development & Tutorials. Primarily Maya and UE4. Now with a hint of Chinese 5 spice!
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.
http://www.creativecrash.com/maya/downloads/scripts-plugins/dynamics/c/cache-fluid-and-playblast
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.
http://www.creativecrash.com/maya/downloads/scripts-plugins/dynamics/c/cache-fluid-and-playblast
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.
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.
http://www.3dbuzz.com/
Check it out.
http://www.3dbuzz.com/
Fire 1.5
2d Maya Fluid Fire Settings from destruct007 on Vimeo.
Finally! Fire tutorial
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
http://www.creativecrash.com/maya/downloads/scripts-plugins/c/cache-fluid-and-playblast
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.
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.
//creation
//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);
//lifespan
float $life = 24.0 / sparkShape.life;
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>>;
}
//runtime
//vary fade out speed
float $randFadeOut = rand(1);
if($randFadeOut < .05) {
sparkShape.indexPP += .4;
sparkShape.splitIndexPP += .4;
} else {
sparkShape.indexPP += .2;
sparkShape.splitIndexPP += .2;
}
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.
//creation
//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);
//lifespan
float $life = 24.0 / sparkShape.life;
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>>;
}
//runtime
//vary fade out speed
float $randFadeOut = rand(1);
if($randFadeOut < .05) {
sparkShape.indexPP += .4;
sparkShape.splitIndexPP += .4;
} else {
sparkShape.indexPP += .2;
sparkShape.splitIndexPP += .2;
}
Subscribe to:
Posts (Atom)
-
Fluid Rendering Optimizations Maya/MR from destruct007 on Vimeo . Speeding up fluids renders can be key to farm efficiency and iterations ...
-
2) Ok so I've gotten more feedback and think I'm just about ready to move on to the rest of the body. The face is close. The upper e...
-
Fire Part 1 from destruct007 on Vimeo . Here we start with the basics of fluid fire in maya. We just get the ball rolling, but it should b...