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 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


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:
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.