William Schilthuis  Baked RIB Archives  

Visual.Effects.Artist


Download files here:

(these will be added later)

 

 

 

Reel / Blog / About

The static images, movies and technical breakdown on this page demonstrate how an animation can be baked (exported) as a sequence of rib archive files. An explanation is also given of how other Maya scenes can reference the achived assets in such a way that complex scenes can be rendered without the need for Maya to directly display multiple copies of the original geometry.

This is long, so here's the plan-of-action:

1- Using reference photos, analize a palmetto plant (structure, detail, motion, etc...)

2- Create a single branch in Maya

3a- Animate that branch

3b- Bake/Export Animation to RIB Archives

4a- Create an entire palmetto using proxy geometry

4b- Use Renderman's power to load Pre-Baked RIBs for an animation

6- Problems Encountered

7- Create a Maya shader (material)

8- Maya Render

9- Create an RSL shader

10- Renderman Render

Reference

some photos I took. I also looked at other examples for reference during planning/construction.

 

Branch Construction

The first goal was to create an object to be saved as a RIB archive: limit 2000polys. The object could then be used to compose a scene by calling the reference with "ReadArchive" references. I'll describe the process in the same way my RIB is set up for rendering.

 

 

I modeled by creating a single frond, duplicating instances across the branch. After finalizing the basic frond shape, I laid out the UVs and converted to polygons. Once I had a clean palm branch, I applied a twist and bend to form the shape and used the contruction history to animate.

 

Animation

My first version of the animation relied entirely on the Bend and Twist deformers over the whole branch, so I'm not impressed with it.

 

My thought was: If a RIB Archive has to describe every polygon, for every frame, it does not affect effeciency of the final render if there is more movement. In other words, better looking motion is just as efficient as simple animation, including shadow calculations and everything else--- if it's moving, everything gets baked and rendered, so why not have a better animation?

 

Then I rebuilt the dynamics using nCloth. I wanted to see the leaves move individually. The animation comes fron Nucleus' wind noise and speed being keyframed, making the loop about 130 frames.

 

Deformer Branch Animation:

 

nCloth Branch Animation:

 

Deformer Plant Animation:

 

nCloth Plant Animation:

Ideally, I would like to have blended the two animations in a way, but I was happy enough to use the nCloth branch. Although the simulation could be tweaked more, I like the secondary motion.

 

After getting a short and simple animation, the palmetto branch was exported to a series of RIB files. Why? This saves having massive complicated scenes wiht huge memory usage. Loading references of baked RIBs allows for more complicated scenes the be created more effiently. Yay efficiency.

 

Palm Baking

NOW, the main purpose of this project--- using Renderman's "preshape mel" injection point to swap out geometry for a series of prebaked RIB Archives (i.e. the palmetto branch).

 

Using boxes, or proxy geometry, Malcom Kesson's "readArchivesUI.mel" allows simple referencing of the prebaked RIBs.

 

 

And here's what happens:

 

This one plant now has 504 faces in maya instead of 32760, and rendering does not have to calculate dynamics, only load a series of RIB Archives for one branch.

 

Problems

Here, I had a timing error with the number of frames.

I realized I had the wrong frame range when exporting the animation, which caused the dynamic to have problems and the animation to jump. Re-exporting the RIB sequence fixed this.

 

Maya Shader

Here's the UV layout I used to shade the palm. It looks distorted but is easier to create procedural shaders for and is more efficent with UV space.

and the shading network:

 

Maya Render

Here's my initial result in Maya, using the Maya shader:

 

Soon I'll be showing a RSL/Renderman Shader instead of a Maya material and will explain more.

 

Renderman Shader

This is coming in the future...

translucency tests in renderman

 

 

You can check for more, or updates at:

williamgs.com/renderman

Updated: June 16, 2011