Renderman II Final, Technique Not Possible in RSL?
by TheRiverside on Nov.03, 2009, under Renderman II Final Project
Well, I’ve done quite a bit of experimenting trying to use Renderman to achieve the look presented at http://www.outside-hollywood.com/siggraph/.
As far as I can tell from this abstract, the overall process should be fairly simple:
1) The surface is displaced using a procedural noise.
2) That noise is moved (oscilated) back and forth (maybe rotated?) in such a way that it completes the entire cycle of movement once per frame.
3) The displacement is then motion-blurred. Since the displacement completes a cycle every frame, it would appear to not actually move at all. However, once motion blurred, the object would take on the appearance of layered brush strokes.
4) The effect should be furthered using varying displacements, bump maps, tweaking diffuse settings, and “painterly” lighting.
The author of the abstract used Lightwave to achieve this effect. However, I’ve found several examples of people in the Blender community getting very nice results with this technique as well:
http://www.blendernation.com/non-photorealistic-rendering-painting-with-polygons/
I did a quick test to see if this could be done easily with MentalRay for Maya. From what I can tell, it is not possible to motion blur a moving displacement map using this renderer. The object motion blurs just fine when it’s moved. However, when the object is still and the displacement is moved, it looks as if there is no motion blur applied at all. Admittedly, I didn’t spend an extremely long time trying to fiddle with it (this is a Renderman project after all).
I then switched to Renderman for Maya for a few quick tests in the GUI before trying to go into RSL. Same problem. The object motionblurs when moved. But when the displacement alone is moved, there is no evidence of motion blur at all. This really confused me. I figured that if a free software like Blender can seemingly do this with relative ease, surely Renderman could do it. There has to be something I’m missing.
Today, in class, I spoke with my professor about my problem. After a great deal of experimenting and a few posts to the Pixar forums, it’s become my understanding that the ability to render motion-blurred displacements is now available in Renderman Pro Server 15 (the school has 14). This leaves me with a slight dilemma. I wanted the final product of this project to be a custom Renderman shader that grants the artist quick and easy access to perameters that can achieve this “painterly” feel. Since motion-blurring displacements was a vital part of this particular method, unless I get access to Renderman Pro Server 15 soon, I won’t be able to do much experimenting. I can do one of two things: 1) explore alternate methods of achieving this same effect, or 2) explore other non-photrealistic rendering styles all-together.
I’ve done a bit of experimenting over the last couple days with layering transparent displacement “passes” to try to achieve the same edge quality as the motion-blurred method without actually using motion blur. Also, with my professor’s help, I’ve explored a method of essentially performing multiple displacements in a single render. It has also been suggested to me to try to explore how Renderman handles motion-vector AOVs and how to possibly use Nuke to apply a blur in post. I will be doing a writeup on these experiments tomorrow.
Renderman II Final
by TheRiverside on Nov.02, 2009, under Renderman II Final Project
For my final project in my Renderman II class, I’d like to explore the use of RSL in making non-photorealistic renderings. Specifically, I wanted to try to emulate the look achieved here:
http://www.outside-hollywood.com/siggraph/
I am also going to try to leave myself open to using Renderman’s AOV system to generate “passes” to try to achieve a toon/painterly/styalized look in post. This project is primarily ment to be an exploration of possible techniques. However, if I am specifically able to generate the look shown on the website above using a single, art-directable shader, I’d consider the project a success.
Test for scriptJob command
by TheRiverside on Oct.28, 2009, under MEL Scripting Final
One of the things I wanted to do with my MEL final is to automate the process of looking through a selected light. One thing that was suggested to me was to use the “scriptJob” command. After doing a little research into this command, I’ve created this simple test script. The script simply creates a procedure that will query a selected object and print its name. The scriptJob command then runs this procedure each time the selection is changed. If nothing is selected, nothing is printed. If multiple objects are selected, all objects are printed on separate lines in the order they are selected.
global proc selectionLister()
{
string $object[] = `ls -selection`;
print $object;
}
scriptJob -event “SelectionChanged” “selectionLister”;
After discussing this command with my professor, it was pointed out that the scriptJob command creates a node in Maya that checks for the correct conditions to run the command given by the user. Once run, the node is ever-present in the scene even when closed and reopened. Thus, if used improperly or in uninformed ways, the scriptJob command can actually have the effect of corrupting one’s scene. This is especially dangerous if one uses the command to run a script when the scene first opens. If that script proves to have an unforseen negative effect that might prevent continuing work, it would be impossible to debug because the script would be run every time the scene is opened. In order to prevent anything like this from happening, I will be saving my test files out as MayaAscii files until I am confident everything works properly. This way, if I screw anything up, I can manually remove the node from the scene via a text editor.
Research from:
http://caad.arch.ethz.ch/info/maya/manual/Commands/ELFCommands/ELFCmdsOverview.html
MEL Final
by TheRiverside on Oct.28, 2009, under MEL Scripting Final
I started on my final project for my MEL scripting class a couple weeks ago. I realize it’s a bit late, but I’m finally getting around to documenting my progress. Tonight, I’m just going to describe the idea as a whole.
I’d like to write a small lighting toolkit that will help to streamline my general work flow when it comes to lighting CG scenes in Maya. In my project proposal I wrote for Professor Huff, I listed quite a few tool ideas I thought would be useful. Here are a few excerpts from this proposal that will help to shed light on my goals (no pun intended):
“There are several repetitive tasks that I feel can be streamlined. One is the initial process of creating the lights themselves. I always seem to go to Create>Lights>Spotlight, Panel>Look Through Selected>position the light, Attribute Editor>adjust settings, and repeat for every needed light. I’ve seen several solutions geared towards speeding up the creation of light rigs. One of which is Jordan Rempel’s (www.jordanrempel.com) light-generation script which simply creates a default spotlight with the same translation and rotation settings as the perspective camera. I thought this was an awesome idea. However, after playing with this script, I found myself using the script only to get the general placement of the light. I would still adjust the light’s cone angle settings and go to Panel>Look Through Selected in order to fine-tune the light’s placement. My solution to this is to have a dedicated viewport used for looking through lights. This would work nicely with Jordan’s script in the sense that whenever a light is selected (or created), the viewport would automaticly look through it, allowing the artist to fine tune the placement without having to repeatedly go through menus.”
“Another useful tool would be to have a light-centric Attribute Spreadsheet. Maya’s default attribute spreadsheet has the ability to control quite a few perameters. However, many are not intuitive and other useful perameters are not even present. You have no way of selecting many lights and turning on and off “Illuminates by Default”, “Emit Diffuse”, or “Emit Specular.” Being able to adjust these across many lights can be extremely useful when organizing render passes. You also have no way of changing the “Decay Rate.” It is possible to change the Light Color and Shadow Color. However, you have to do so by typing in individual R, G, and B values. I believe it would be much more intuitive if you could use a color picker the same way you can in the Attribute Editor. Also, while you can set Layer Overrides in the Attribute Spreadsheet, you have no feedback saying that there is currently an override unless you access the Attribute Editor for that particular light. It would be nice to see feedback for overrides for all lights in the spreadsheet.”