Pages

Friday, 1 June 2012

New Showreel

This is my Showreel 2011/12. Starts exactly like the old one, but then has a lot of new stuff.

Wednesday, 7 March 2012

AEtoMayaKeyframeConverter

Weird title but it makes sense... trust me.

I wrote a JavaScript for AfterEffects that basically uses After Effects awesome Audio to Keyframe function and converts the resulting Audio Amplitude Null to a Maya ASCII file. So basically: If you ever wanted to have some audio reactive animation in Maya, this is for YOU.

I made a quick tutorial (click here to watch HD version)

It's pretty straightforward and easy to use. Apart from writing and setting up the scene file the script doesn't do anything in Maya. It's up to the user to use the given data. The most obvious use would be to assign the channels to an objects scale. But there's definitely more use than that.

KNOWN BUG: The script stops after the import, when used for the first time after launching After Effects.
EASY SOLUTION: run the script again and it works fine.
(I can't work out where this is coming from. PLEASE, if anybody knows javascript and knows what's happening there, let me know. It's annoying the S*** outta me!)

Tips: The Normalize and Smooth Keyframe options work fine but there really just gimmicks.

Normalize Keyframes means that the values on the keyframes are remapped to range 0 to 1.
That you can easily do in Maya with a remap value node.

Smooth Keyframes does what it says. Instead of having a sharp Keyframe on every frame. It puts smooth interpolated keyframes every other frame. The result is less erratic (soo...smooth!).
BUT: if you set the frame rate to something like 24/ 25fps you'll run the danger of, literally, missing a beat. So I'd recommend to use a high frame rate (60fps is the highest allowed by Maya).
Generally, the higher the frame rate the more information (keyframes) you get. So if there's no real reason to use anything less than 50fps, just don't do it.

Where to download:
Either follow the link to my site: http://petestache.weebly.com/downloads.html

or... (right-click: Save link as...)

Tuesday, 28 February 2012

Hello Again

I haven't done this in a while... But in case someone is still interested in reading my blog this is what happened since I left uni...

I started working at Spider Eye in St.Just, Cornwall. I initially got a job as compositor, but then got into the lighting and rendering department. For most of the time I worked on Jungle Junction. A kids TV show for Disney Playhouse. I had to learn LightWave, a funny(= weird) program. I also got into JavaScript (for After Effects) and Python (for everything else). I'll probably got some things to show for that soon as well.

I also got to meet Matt Walsh, a compositor and colorist located in Penryn. I got to shadow him for a few weekends as part of a mentor scheme from UCP (Unlocking Cornish Potential). He was grading some films while I was there and I learned a lot about the process of grading and to try it myself, I entered the MishMash competition form gettyimages.

You could download up to 70 clips and 5 sound tracks from gettyimages and create a short film.
I'm a big baseball fan (RED SOX, baby!), so I went with a short story of a young player taking the plate and what goes on in his head.

I first downloaded about 80 preview clips (480x360) and a sound clip and edited the first draft in Premier. After deciding on what clips I'd actually really need I downloaded the high quality ones (only 50) and reedited them to the sound. Then color graded everything in After Effects.
After Effects simply because Nuke won't take QuickTime movies and I couldn't be asked to convert everything to images sequences. However I had to convert some of the clips to de-noise them in Nuke.

The clips are clearly from all sorts of different sources and to make them look coherent was the most challenging part. I had two weeks (after work and one weekend!) and I'm alright with the outcome. I definitely want to do more things like that.

Here it is...

Feel free to vote!

Thursday, 7 July 2011

Subsurface Scattering

Since I just recently found out that mental ray's mia_material is the most versatile shader ever. I now tried it with subsurface scattering.

Obviously, mental ray does have specific subsurface scattering shaders, but the mia_material can do the same job and I think it's more intuitive and easier to setup then the misss shaders. I would probably not used it for complex skin shading, but for a simply getting a realistic semi transparent look, it's brilliant.

This test is definitely not prefect. I think the transparency is bit too much, this might be because the grapes are hollow right now and once the seeds are inside this might look better already. I also put texture maps on pretty much anything I could (diffuse, reflection, refraction and translucency colour), that might have been too much and I'll have to tweak them a bit to make it look better.

Wednesday, 6 July 2011

Mental Ray's awesome


This is a render test of translucency with the mia_material shader. It's a simple nParticle simulation with a bit of self attraction, reduced self collision and low mass, first instanced with a simple black sphere (for the actual seed), then converted to polygons (for the jelly bit). The jelly outer part is shaded with the mia_material. I tried misss shaders and the mib_glossy_refraction, but neither gave a result like that.

I don't know why I never bothered learning more about mental ray. Okay, it's not the most intuitive option and some of the connections can confuse, but the documentation is actually quite good and there is quite a lot of help on the web.

More important, though, are the results and man am I impressed. I spent the last two days playing around and reading up on some of the shaders and their capabilities. Then it only took me 10 mins to set up the shader for this test and (I think) it's already looking pretty good. The only issues noticeable are the little spots in the mesh, which are either holes (generated by maya when converted from particles to polygons) or the original nParticles poking through.
The rendertime was surprisingly low as well and that with FG and physical sun and sky turned on.

I kinda wished I would have realized a bit earlier how awesome mental ray is, but better now than never.

Sunday, 19 June 2011

Erosion&Crumble Script Preview

I thought I'm gonna have a bit of fun and make an "epic" trailer (unnecessary lens flare included) to show at the graduation show.
I now just have to actually finish the script and put it up.

Wednesday, 15 June 2011

First Showreel

Probably not the final version for this year, but my first ever showreel.

I hopefully got some more stuff to put on it, but that's what I got for now.

Saturday, 28 May 2011

Toon shaded fluids

Oddne put this music video on facbook and it's truely amazing.

IS TROPICAL - THE GREEKS (official music video) from EL NINO on Vimeo.



I wondered whether the explosions were actually hand drawn, but I couldn't find any information on how they did it. Anyhow, I decided to give toon shaded 3D fluids a go.



I didn't spend much time on the actual simulation, so it can obviously look much better. But the main thing is that it didn't take any time at all. In order to get a nice smooth result, the mesh resolution has to be quite low, which means that the mesh generation doesn't take long (almost realtime on my old machine). Rendering was extremely quick (3min for 48 frames on production settings and full 720p resolution). To draw that by hand, would have probably taken me a few hours (and it still would notlook good) Doing it in Maya can easily be set up and rendered within half an hour and look really nice.

Movie Magic!

I'm in the middle of making my showreel and I obviously want a nice intro. So I went back to video copilot to see what's new with motion graphics and After Effects. On the blog there Andrew Kramer posted this YouTube clip of an old episode of Movie Magic (air date 1994). It's a bit long but so worth watching.

Sunday, 15 May 2011

Almost there!

I haven't blogged for a while. Mainly because I was busy with dissertation. Then I went to Stuttgart, Germany for the FMX 2011, for a week, which was a great experience. Now that I'm back, it's literally the finishing lap in the major project run. One week until hand in date. Unfortunately, it looks like none of my projects is going to make it fully finished. But hopefully a couple of them finish afterwards. I certainly continue to working over summer to boost my showreel. My main focus right now is lighting and compositing for The Little Helper, some of the animation has just been finished and we're trying to get it all out, but render time is an issue.
Some stills:

I also started doing my website http://petestache.weebly.com It's live but needs a lot more work done.


Friday, 25 March 2011

Texture Path Rename Script

Here's just a script that deletes everything infront of the sourceimages in the file texture path and then save it as an ASCII file.

If the texture path reads: "C:/Users/Project/sourceimages/texture.jpg"
It changes it to : "//sourceimages/texture.jpg"

When the right project is set, the texture can be found by maya, regardless on what computer your working on.

global proc PS_texture_path_rename(){

// find all the textures in the scene

string $tex[] = `ls -textures`;

string $newPath;

for($each in $tex){

// get the file texture path

string $path = `getAttr ($each + ".ftn")`;

// converts the path in to a string array

string $array[] = stringToStringArray($path, "/");

// get the size of the array

int $size = size($array);

// create the new path by deleting everything but the souceimages and the file name

$newPath = "//"+$array[$size-2]+ "/" +$array[$size-1];

// set the new path to the texture

setAttr -type "string" ($each+".fileTextureName") $newPath;

}

// save the file as a maya ASCII

file -f -save -options "v=0" -type "mayaAscii";

}

Monday, 14 February 2011

Negotiated Brief revisited

I'm trying to catch up with some of the old work and fine tune it for my showreel. I started with the heart idea from the negotiated projected last year. Although it doesn't look that exiting, the techniques of 2 1/2D, camera mapping and combining CGI elements with real live footage are the bread and butter of digital compositors nowadays. So I hope that this clip shows some skills on those levels.
I mainly changed the stuff George pointed out at the feedback tutorial. There were some issues with dark edges around the layers of the 2D background, that was fixed by simply adding unpremultiply nodes. There also was an issue with a halo around the CG heart. That was a bit more complicated. The reason for the halo was that the depth pass of the heart was separate from the depth pass of the forest. Although I knew that from the start I originally tried to use the same blur node for both depth layers and animate the refocus effect when the heart comes into the foreground. But since both depth layers have a different range of values, I either got the heart sticking out too much from the background or blurred. When I tried to make up for it I ended up with the front of the heart in focus, the rest completely out of focus- that's were the halo came from. So I could have used a separate blur node and readjust the focus by hand, but I just went back to Maya and rendered out a depth pass that included both, background layers and CG heart. That definitely made things easier, but there is still a problem with edges everytime I use a depth pass with a lens blur, but I did my best to avoid it.
Other than that I just kept the depth of field down, kept the colors more saturated, added a hint of light wrap around the heart and lens distortion.

Here's the original one:


Here's the breakdown of the new one:

Heart VFX Breakdown from Peter Stache on Vimeo.



Friday, 11 February 2011

Muliple Camera Render Script

Roy asked me to write a script that sets up cameras for multiple camera rendering. Mayas way of dealing with multiple cameras is pretty stupid, cause you can set the duration of an individual camera (at least not that I know of). I wrote the plugin that creates cameras and puts them into individual render layers. You can then set the start and end frame for the camera and it creates layer overrides in the render settings.
The new sequencer in Maya should do that, but you can only preview (playblast) the animation, not actually render it.

The UI

The render settings. The orange text means its layer overridden. The plugin selectes the right camera with the layer.

Click here for the script.
It might take a while, before the script is up. Normally it takes s few days.

Friday, 4 February 2011

More Lighting

A morning and night shot for the Toyshop. I tried final gathering for the first time and I can honestly say it makes it look rather pretty, but the render time is massive. So I'm gonna be careful with the settings.




Wednesday, 2 February 2011

Plugin Preview

My plugin is finally in a stage of testing. I got the interface written and all procedures working (well... that actually needs to be tested). I made a little preview viedeo. It shows the different kind of localized erosion/crumble possible. I kept it pretty simple and there is alot more things you can control, but I thought I don't want to confuse people... just yet.
If anybody is interested, I would need some people to test it before I put it on the net. Just contact me.

ErosionAndCrumble Plugin for Maya WIP from Peter Stache on Vimeo.

Tuesday, 1 February 2011

Particle Test


A little particle test. I tried the overburn technique from Peter Shipkov and David Shoneveld. Worked quite alright, but render time is gonna be huge. in this crappy quality it took already almost 30 min for 8sec. I mainly tried to get it to change texture, from thick to wispy. Looks like a good start.

Wednesday, 19 January 2011

Comping and Lighting Test

This is the first test shot for Jenny's "The Little Helper" project. I lit, rendered and comped the shot. Don't really know what else to say.

Tuesday, 18 January 2011

Scripting!!!

Only a few month ago I wrote my first script. 6 lines of Python script, that prepared an object for the horrible Shatter effect in Maya. Since then I learnt quite a bit more and I'm currently writing a mel plugin, that "erodes" or "crumbles" nParticles based on locator positions. I've figured out the math behind the expressions for those effects and I'm writing the interface. It's already a good 10 pages full of script and I'm not even half way there.
Meanwhile I could use my new scripting "skills" to write a little shading network for Craig. His project is in 3D but the look is supposed to be 2D. Mayas Toon Shader would be brilliant, but the problem is that it is kind of hard to use textures. Mayas Toon Shader is basically a ramp shader with multiple color inputs controlling the highlight/shadow, based on the brightness of the object. So I used the ramp shader as well. I used one texture that's connected to multiple color inputs of the ramp shader. The main texture is connected straight to the first color input. The shadow textures on the other hand, are the same texture but with a multiply/divide utility node inbetween. Custom made attributes on the shading node control the darkness of the shadow, cause they control the multiply node. Simple math: if you multiply an image by anything smaller than 1, the image get darker.
The script is on creative crash for free download: http://www.creativecrash.com/maya/downloads/shaders/c/ps_toonshader
And that's how it works:

First a window pops up. The Browse button will let you load a texture. The Shader and Texture Name is editable (the default is the name of the object + Shader and Texture. That would be fine, unless the name is not unique, but the script warns you for that anyway). The checkbox lets you decided whether you want to use 1 or two shadows (2 is default).
The Toon Shader button runs the action!

The ramp shader has all kinds of options to play around with (specularity, reflection, incandescence etc.) You can also play around with the position and the interpolation mode of the shadows, to get a new look. Two custom made attributes, called shadow 1 and 2, are added to the attribute editor of the ramp shader. Both control the darkness of the shadows.

Two test renders:
First: two shadows (unfortunately the shadows are quite dark, but believe me the texture under the shadows is the same as on the highlights)

Second: One shadow. The interpolation of the shadow is set to none.

Monday, 13 December 2010

No Downtime for P-Dawg!

Apart from giving myself stupid nicknames (although I actually want people to call me P-Dawg from now on) I'm really quite busy right now. School's out for Xmas, but I still got 7 days of work a week. Gotta write 8000- 10000 words for dissertation, which I'm not gonna blog about, cause it's boring. I'm gonna write a plugin for Maya nParticles, that mainly enables localized erosion, but also kinda works like the Sandman effect in Spiderman 3. That's my innovations project sorted. Plus I gotta start on all the FX animation stuff for the major projects.
Okay... I started with most fun task- A fire wall for Charlie's project. I haven't really done fire before. It does look like a lot of fun though. I found David Schoneveld's blog quite a while back and I really enjoy watching his tutorials. He's pretty much "the Daddy" when it comes to MayaFluids and I learnt quite a lot. He also talked about SoUP an opensource Plugin bundle written by Peter Shipkov http://petershipkov.com/development/SOuP/SOuP.htm, which is kind of based on the node based workflow from Houdini, but for Maya. Very cool stuff for any kind of Maya related problems.
The thing Schoneveld talks about is UpresFluid in SoUP. Like I said most of the nodes are based on Houdini nodes and so is UperesFluid.
The problem with MayaFluids is that the fluid container resolution changes the simulation ( in some cases quite drastically), so when you start off with a low resolution to get the motion right in realtime and then crank the resolution up for the shading, the low resolution motion of the fluid can be significantly different to the high resolution one. In Houdini you start on a low res container then upres it, which makes an exact copy of the low res container but with the option to multiply the resolution. SoUP's upres fluid does exactly the same (Awesome!!!).
Now to the practice... Charly and Luke are going to make a life action film with quite a bit of Vfx in it. One of the effects is gonna be a wall on fire, best example to test upres fluid.
I know it's not really good, but it shows how much more details you can get out of the original MayaFluid sim. Another really handy option is the wavelet turbulence. I'm not quite sure how it works but I know by changing some of the setting it gets rid of the puffy look of the flames.
I've definitely got quite a bit more work to do.

P-Dawg is out!