Email Me Course Link
Home

Maya Pattern Animation

The animation and notes on this page explain how custom shaders written in the RenderMan Shading Language can be animated using SLIM parameter expressions.

Actually, no part of this animation was done using shader parameters. It was instead driven almost completly by python expressions within houdini. What I initially wanted to do for this project was to animate something that does not follow any particular pattern. Something natural. So I thought of animating my signature: "N.B.J". Throughout this project, I also enhanced the functionality of my point cache script that I wrote for ST Coloration. These are the key features making this animation possible:

1. Render points out to rib frames, from directly within houdini
2. Batch render .SL files, directly from houdini

I will explain the extensive process of creating this animation shortly, but for now I will just run through the results breifly.

[Incomplete Breakdown]

Animating Crayons

This is the initial render. It is driven by 3 python scripts. One that batch renders the frames, One writes the shaders, and the other writes point location for the crayon, which is a rib archive. For each point location a small circle is drawn on the ST grid using this formula:

if ((s-0.120805352926)*(s-0.120805352926)+(t-0.241610735655)*(t-0.241610735655)<=0.0001)

I figured that this meathod would give a little smoother surface. The reason why the pattern is appearing within the strokes is because of the rediculously small radius value of "0.0001". When this is changed, one can see a nice watercolor effect and also the colors building up. This is because the color is based on point proximity from the surface.

Second Render. Point radius is 0.001. Note the colors being added as the path progresses

Implementing Beizer Curve

In the past, only one student had attempted to draw a beizer curve on the ST grid. The main problem was figuring out how to reference a large amount of points (from an external source) to represent complex amount of data. I extended my point cache script to overcome this problem and my initial tests proved successful:

Using lists in python I exported raw point data from houdini to see if I would get my houdini curve in renderman. Using this technique, I can get very complex drawings which renders really fast and does not take up as much resources as my ST Coloration technique. I will post more results here shortly.

I had initially planned to animate this beizer curve, but time ran out before I could overcome some problems with my python code. I'll get back to it shortly

 


Matrix
Level-of-Detail
ST Coloration
Maya Pattern Animation
Fire
Links
Links