Friday, December 21, 2007

Structure of RIB

Most RIB files begin with the declaration of some options and attributes that are specific to certain renderers, We will look into these a little bit latter, but for know lets go over some calls that every RIB file must have, either by declaration or by using the renderers default value.

Image Declaration

Before anything can be created or rendered at all the renderer needs to know several things. Where will it send the output of the image (the pixels)? What name will this image have? What file format will this image be? What resolution will be the image? All of these questions are answered on a block that will usually read like this:
Display “./myImage.tif” “file” “rgba”
Format 640 480 1
These calls tells the renderer to generate an image named myImage.tif on the same folder where we are reading the RIB from (./.), to save the scene with the default image format specified by the current renderer “File” and to save the red, green, blue and alpha channel on that image “rgba”. For most renderers the default image format used when “file” is passed is “tif” (make sure to check though). To send the rendered pixels into a screen window you can replace the "file" parameter for "framebuffer". These calls are usually followed (or preceded, the order isnt really important) by the quality settings of the scene:
ShadingRate 1
PixelSamples 3 3
PixelFilter “catmull-rom” 3 3
ShadingRate specifies how small each mycropolygon should be. A shading rate of 1 means that each mycropolygon will be the size of a pixel. Since RenderMan renderers usually shader the corners of a mycropolygon, this means you are getting an average of 4 samples per pixel. If the ShadingRate is set to 0.5 then the renderer will make mycropolys that are un quarter the size of a pixel, so it will be shaded 9 times per pixel, which will result in more detailed textures. A shading rate of 2 will generate mycropolys with a sieze of two pixels (less detail). Smaller shading rates will result in higher rendering times, as you would assume,everything that adds more detail or quality to your image will result on higher rendering times.

PixelSamples is somewhat similar to ShadingRate but it affects the anti-aliasing of the edges of your objects. It determines how manytimes the final pixel will be sampled. Higher values will give you smoother edges. Higher values are also necessary when rendering with depth of field or with motion blur. PixelFilter allows you to select what kind of filtering you want to use on your final images.

Camera Declaration

After the image settings are declared a camera needs to be created. This is usually done by calling
Projection “perspective” "fov" 45
This call tells your renderer what kind of camera to use, it can be perspective or orthographic, the number after the fov parameter indicates the Field of View (FOV), 45 degrees on this case.

A special note must be added here. Remember that RenderMan has a hierarchical graphic state and it keeps track of the current coordinate system. This means that when you apply a translation or a rotation, it is the whole coordinate system that is affected. When you call the projection command you have just created a camera and the camera has its own local coordinate system. Since everything in our digital world is created AFTER the camera then we can say that the world is positioned in relation to the camera or is a children of the camera. This is a concept that is a little hard to grasp at first since in most 3D apps we tend to think of the camera as one more object in our world. For this reason you will usually see a bunch of transformation calls before the camera is declared. This moves the camera (and its coordinate) to where it needs to be.

World Declaration

After the camera we can finally begin to create our world. Calling WorldBegin creates a new coordinate system where all of our objects will be added to. The first thing to be created are usually the lights. This is done because RenderMan uses things as they are declared. You cant declare a model and then a light that is supposed to affect it, because the object will have already been passed to the renderer, so the light cant affect it. Lights are declared with the following call
LightSource “lightShaderName” lighthandle parameters
Here is an example of how a point light is usually called

LightSource “pointlight” 1 “float intensity” 10 “color lightcolor” [1 0.5 1]

After the lights are declared the objects can finally be created. Objects are usually created inside what is known as attribute blocks. You can change anything on the graphic state in an attribute block without affecting the rest of the scene because the graphic state is “popped” back to its previous state when you exit the attribute block. Lets look at a simple example of how the whole graphic state and attribute blocks work:

WorlBegin #Begin declaring the world
Surface "plastic" #Declare the current surface shader
Color [1 0 1] #Define the current color - all objects from now on
#will receive this shader and color
AttributeBegin #Now we start a new attribute block,
#we can override the previous shader and color
Attribute "identifier" "name" ["nurbsSphere1"] #Name the sphere
ConcatTransform [2.1367 0 0 0 0 2.1367 0 0 0 0 2.1367 0 0 0 0 1] #Apply a transform to the sphere's coordinate system
Surface "rudycplasmaball" "float additive" 0.75 #Change the current shader
Color [0.5 0.7 0.8] #Change the current color
Sphere 1 -1 1 360 #Declare a sphere
AttributeEnd #The end of the attribute block, we go back to the
#original Surface and Color
Sphere 1 -1 1 360 #This sphere will use plastic and the color [1 0 1]
WorldEnd #End of our world

What is a RIB

The RI API
The original way that animation packages connected with RenderMan was through API calls. API stands for Applications Programming Interface. The RenderMan API is referred to as the RI API, where RI stands for RenderMan Interface. This method for connecting to the renderer is very powerful since you can use a plethora of programming tricks to pass information to the renderer. However, once the image is generated the data on the API calls is deleted and if you want to re-render the frame you must reanalyze the scene and make the same API calls with the new changes. This might not seem like a big deal, I mean you do it all the time with your 3D application. But wouldn't you agree that things would go a lot faster if while lighting a scene, you where able to export the geometry only once and then every time you re-render only export the light information?Well, that is one of the many advantages of using RIB.
The RenderMan Interface Byte stream (or RIB)
It is true that going through the API might be faster and more compact (disk space-wise), but most production houses use RIB more than API. So what is RIB you might ask?. Well, it is a file format that contains direct calls to the the RI API, so in other words it is an easier, more readable way to pass commands to the API. For example a RIAPI program to generate a simple constant color polygon might look like this:
#include
RtPoint Square[4]= {{.5,.5,.5},{.5,-.5,.5},{-.5,-.5,.5},{-.5,.5,.5}};
main()
{
RiBegin(RI_NULL);
RiWorldBegin();
RiSurface(“constant”,RI_NULL);
RiPolygon(4, RI_P,(RtPointer)Square,RI_NULL);
RiWorldEnd();
RiEnd();
}
and this is what its RIB counterpart would look like
WorldBegin
Surface "constant"
Polygon "P" [.5 .5 .5 .5 -.5 .5 -.5 -.5 .5 -.5 .5 .5]
WorldEnd
As you see RIB is a lot more straight forward and easy to read. The previous chunk of commands omits a lot of the calls that are usually used to setup a RIB properly, the reason why an image is successfully generated is because renderers usually insert the necessary RIB calls with some default value in order to render the image.

Friday, December 7, 2007

Here are Some Note to take care when you are doing Fur

  • Your fur may flicker if the smooth UV's is on in the polysmooth node.
  • Fur dosen't recoganize volume lights.
  • Fur will not render correctly in the orthographic views, you can use mentalray to correct these issues.
  • Fur will no twork properly in the negative scaled camera's.
  • Fur dosen't support fields in rendering.
  • Fur dosen't support image formats in 16 bit or more
  • Maya crashes when fur rendered with large shadow maps, reduce it in fur globals
  • Instanced fur object will not render in Mentalray
  • Better to put motionblur for fur while compositing, try avoiding motionblur in 3d.

Tuesday, November 20, 2007

My FX Demo

Hi this is my demo it was prepared in last January

Sunday, November 18, 2007

Release of Carrara 5

Eovia has announced the release of version 5 of its popular 3D modelling package Carrara. The new release boasts a raft of new features including a new interface and an imrpvements to the vertex-modelling engine based upon Eovia’s modelling Hexagon software

Animation functions have been improved too with a new graph editor that provides access to object motions curves and animation parameters.

Carrara’s rendering engine has also been updated to feature new rendering technologies such as sub-surface scattering (the process of simulating the path of light through semi-transparent objects), displacement mapping and occlusion. Carrara also enables the creation volumetric clouds that realistically scatter light and particle creation functions have been improved.

Integration with other packages has been improved with additional import and export functions for After Effects and RPF (Rich Pixel Format) format for compositing.

For more details log on to http://www.daz3d.com/i.x/software/carrara_5/

Impact of storyboard in a Production

When you're working on an animation, even a short one, it's almost impossible to just dive in and get started animating right away. I've known a few people who could work right from a script and draw or model raw from that written description, but I've tried it before and let me tell you, the results were flops.

Using a storyboard will help you organize your animation, and match you mental visualizations of scenes with the written script; it can also give you a visual format to communicate your ideas to others.

A storyboard can be an elaborate, professional series of framed color artwork depicting action and motion in a scene, complete with written descriptions of dialogue, sound effects, and transitions into the next scene (these are most often used by studios for major projects)--or a single page of numbered thumbnail sketches, or even something as plain and simple as a quick series of motion-study sketches (as depicted here) to capture the movement of a body that you want to animate.

If you use a storyboard you'll find that you'll be able to plan your animations more cohesively with clear marker points to show progress, and you'll save yourself a lot of time and trouble when struggling to make the entire thing come together from beginning to end.

Friday, November 16, 2007

Tips for Drawing cute cartoon figures

Here are some tips for drawing cute cartoon figures

  • Try and avoid neck for the character, let it start from the body.
  • Body can be pear shaped and elongated.
  • Don't bulge the butt of the charater let it fit inside the legs and base of the body.
  • Head should be larger in relation to body.
  • Biger forehead.
  • Eyes spaced low on head.
  • Small mouth and nose.
  • Tubby bulges out a little.
  • Legs should be short and fat.
  • Arms are skinny and taper down in towards the hands in size.

Wednesday, November 14, 2007

Tips on Lighting

  1. Place the lights as much near as possible t the character so you can avoid unnecessary lengthy shadows.
  2. Eye is an important part of characters so make sure eyes are always brightened enough.
  3. Always take rim light as a seperate pass so its easier to make a sepration of character fro BG.
  4. Use maxium spotlights as possible because point lights are expensive for rendering.
  5. Avoid the idea of negative lighting.
  6. Use decay for realistic falloff.
  7. Use large filter when the shadow resolution is small.
  8. Nerver keep any part of the seen pure black dark make sure some information is present throughout the frame.
  9. Make sure the action Happens in the brightest part of the Scene

Tuesday, November 13, 2007

A Pixel Motion Integrator

Its a Motion Blur Developed by Rhythm and Hues.



It calculates and generate motion blur from pixel motion and the depth of the image. I is used in latest Garfield by Rhythm and Hues. The main moto behind making this was to render in less time and use less memory. One of its major advantage is seamless directional motion blur can be generated





The only disadvantage for this is since it takes a single vector color, motion and depth per pixel it is not reliable to consider it in case of transperancy.

Monday, November 12, 2007

This is a really cool tutorial which last for 10 min on compositing a CG spaceship with live bg

Sunday, November 11, 2007

Animation Principles from Walt Disney

The following 12 basic principles of animation were developed by the Frank Thomas and Ollie Johnston, during the 1930's when they where in Walt Disney.

These principles came as a result of reflection about their practice and through Disney's desire to devise a way of animating that seemed more 'real' in terms of how things moved, and how that movement might be used to express character and personality.

1. Stretch and Squash
This action gives the illusion of weight and volume to a character as it moves. Also squash and stretch is useful in animating dialogue and doing facial expressions. How extreme the use of squash and stretch is, depends on what is required in animating the scene. Usually it's broader in a short style of picture and subtler in a feature. It is used in all forms of character animation from a bouncing ball to the body weight of a person walking. This is the most important element you will be required to master and will be used often.
2. Anticipation
This movement prepares the audience for a major action the character is about to perform, such as, starting to run, jump or change expression. A dancer does not just leap off the floor. A backwards motion occurs before the forward action is executed. The backward motion is the anticipation. A comic effect can be done by not using anticipation after a series of gags that used anticipation. Almost all real action has major or minor anticipation such as a pitcher's wind-up or a golfers' back swing. Feature animation is often less broad than short animation unless a scene requires it to develop a characters personality.
3. Staging
A pose or action should clearly communicate to the audience the attitude, mood, reaction or idea of the character as it relates to the story and continuity of the story line. The effective use of long, medium, or close up shots, as well as camera angles also helps in telling the story. There is a limited amount of time in a film, so each sequence, scene and frame of film must relate to the overall story. Do not confuse the audience with too many actions at once. Use one action clearly stated to get the idea across, unless you are animating a scene that is to depict clutter and confusion. Staging directs the audience's attention to the story or idea being told. Care must be taken in background design so it isn't obscuring the animation or competing with it due to excess detail behind the animation. Background and animation should work together as a pictorial unit in a scene.
4. Straight Head and Pose to Pose
Straight ahead animation starts at the first drawing and works drawing to drawing to the end of a scene. You can lose size, volume, and proportions with this method, but it does have spontaneity and freshness. Fast, wild action scenes are done this way. Pose to Pose is more planned out and charted with key drawings done at intervals throughout the scene. Size, volumes, and proportions are controlled better this way, as is the action. The lead animator will turn charting and keys over to his assistant. An assistant can be better used with this method so that the animator doesn't have to draw every drawing in a scene. An animator can do more scenes this way and concentrate on the planning of the animation. Many scenes use a bit of both methods of animation.
5. Followthrough and Overlapping
When the main body of the character stops all other parts continue to catch up to the main mass of the character, such as arms, long hair, clothing, coat tails or a dress, floppy ears or a long tail (these follow the path of action). Nothing stops all at once. This is follow through. Overlapping action is when the character changes direction while his clothes or hair continues forward. The character is going in a new direction, to be followed, a number of frames later, by his clothes in the new direction. "DRAG," in animation, for example, would be when Goofy starts to run, but his head, ears, upper body, and clothes do not keep up with his legs. In features, this type of action is done more subtly. Example: When Snow White starts to dance, her dress does not begin to move with her immediately but catches up a few frames later. Long hair and animal tail will also be handled in the same manner. Timing becomes critical to the effectiveness of drag and the overlapping action.
6. Slow out and Slow in
As action starts, we have more drawings near the starting pose, one or two in the middle, and more drawings near the next pose. Fewer drawings make the action faster and more drawings make the action slower. Slow-ins and slow-outs soften the action, making it more life-like. For a gag action, we may omit some slow-out or slow-ins for shock appeal or the surprise element. This will give more snap to the scene.
7. Arcs
All actions, with few exceptions (such as the animation of a mechanical device), follow an arc or slightly circular path. This is especially true of the human figure and the action of animals. Arcs give animation a more natural action and better flow. Think of natural movements in the terms of a pendulum swinging. All arm movement, head turns and even eye movements are executed on an arcs.
8. Secondary Action
This action adds to and enriches the main action and adds more dimension to the character animation, supplementing and/or re-enforcing the main action. Example: A character is angrily walking toward another character. The walk is forceful, aggressive, and forward leaning. The leg action is just short of a stomping walk. The secondary action is a few strong gestures of the arms working with the walk. Also, the possibility of dialogue being delivered at the same time with tilts and turns of the head to accentuate the walk and dialogue, but not so much as to distract from the walk action. All of these actions should work together in support of one another. Think of the walk as the primary action and arm swings, head bounce and all other actions of the body as secondary or supporting action.
9. Timing
Expertise in timing comes best with experience and personal experimentation, using the trial and error method in refining technique. The basics are: more drawings between poses slow and smooth the action. Fewer drawings make the action faster and crisper. A variety of slow and fast timing within a scene adds texture and interest to the movement. Most animation is done on twos (one drawing photographed on two frames of film) or on ones (one drawing photographed on each frame of film). Twos are used most of the time, and ones are used during camera moves such as trucks, pans and occasionally for subtle and quick dialogue animation. Also, there is timing in the acting of a character to establish mood, emotion, and reaction to another character or to a situation. Studying movement of actors and performers on stage and in films is useful when animating human or animal characters. This frame by frame examination of film footage will aid you in understanding timing for animation. This is a great way to learn from the others.
10. Exaggeration
Exaggeration is not extreme distortion of a drawing or extremely broad, violent action all the time. Its like a caricature of facial features, expressions, poses, attitudes and actions. Action traced from live action film can be accurate, but stiff and mechanical. In feature animation, a character must move more broadly to look natural. The same is true of facial expressions, but the action should not be as broad as in a short cartoon style. Exaggeration in a walk or an eye movement or even a head turn will give your film more appeal. Use good taste and common sense to keep from becoming too theatrical and excessively animated.
11. Solid Drawing
The basic principles of drawing form, weight, volume solidity and the illusion of three dimension apply to animation as it does to academic drawing. The way you draw cartoons, you draw in the classical sense, using pencil sketches and drawings for reproduction of life. You transform these into color and movement giving the characters the illusion of three-and four-dimensional life. Three dimensional is movement in space. The fourth dimension is movement in time.
12. Appeal
A live performer has charisma. An animated character has appeal. Appealing animation does not mean just being cute and cuddly. All characters have to have appeal whether they are heroic, villainous, comic or cute. Appeal, as you will use it, includes an easy to read design, clear drawing, and personality development that will capture and involve the audience's interest. Early cartoons were basically a series of gags strung together on a main theme. Over the years, the artists have learned that to produce a feature there was a need for story continuity, character development and a higher quality of artwork throughout the entire production. Like all forms of story telling, the feature has to appeal to the mind as well as to the eye.

Saturday, November 10, 2007

This is a cool tutorial on rigging muscles using expressions

Friday, November 9, 2007

How to choose a CG School

Whatever type of education and training a CG artist wants to receive it's wise to set the context of your research on solid objectives. This is a set of questions to help students on how to choose a school to to learn computer graphics, 2D or 3D, animation and visual effects for films, illustration, videogames and similar fields.


What do you want to learn?
What are you interested in? Do you want to acquire a general knowledge in computer graphics or do you want to specialize? Do you want to draw still life or to animate? Are you interested in animation?

What do you want to become as a professional?
Computer graphics, animation and visual effects are broad fields: are you thinking about a specific role? For instance: concept designer, storyboard artist, illustrator, texture painter, shading artist, lighting artist, 3d modeler, character designer, character modeler, environment painter, matte painter, character animator, layout artist, rigging/animation setup artist, visual effects artist, ect...

In which CG field do you want to work?
Creating 3D images has several application fields: which one do you prefer among: film, television, advertisement, ilustration, videogames, simulation, research, visual communication, design, architecture, engineering, theatre, art installation, arts?

How much money do you want to spend?
Give a range: a minimum and a maximum budget.

How long do you want to study?
Are you interested in full-immersion courses or longer ones as a semester, a year o three years?

Where do you want to study?
Are you willing to travel and to relocate? Have you thought about living costs in that area?

Do you have a computer?
What configuration does it have? RAM, hard disk, operating system, etc...

Do you have the software tools needed to practice?
You will need a digital painting software and a full 3D modeling, texturing, lighting, rendering and animating package. Are you willing to buy them if needed?

Thursday, November 8, 2007

Structure of MEL commands

All MEL commands have a basic structure which most of the people make a mistake, It is

command -flag object;

where object is not always necessary to come only if necessary

for example it can be like

polySphere -r 2;

it will create a polygon sphere with radius 2 units,
command is wat you want to do and flags are actually like the properties of that command

Tuesday, November 6, 2007

Script for parent constraining multiple objects

This is a small script to parent constrain multiple objects at same time

string $sel[] = `ls -sl`;
//The above section will store all the selection to an array
int $count = size($sel);
//The above section will count the number in the first array
int $i;
//an integer variable i is declared
for ($i=1; $i<$count; $i++)
{
//The above section will assign a value for i as 1 and check the condition if its true it follow to incrementation of i value
select -r $sel[0];
//The above section will select the first object in the selection list
select -tgl $sel[$i];
//The above section will select the object according to the i value as the loop continues it will continue as 1, 2, 3 etc.......
parentConstraint -mo -w 1;
}
//The above section will parent constrain the first and second objects

Open Applications from Maya

This is a small command to open different application inside maya as given below just need to change the path according to the applications

system ("start c:/windows/notepad.exe")

Monday, November 5, 2007

Audio Clips for Animation Practice

If you want Dialouge clips 2 practice animation check the links below
www.dailywav.com
www.goldwave.com
www.moviewavs.com
www.radiolovers.com
www.moviesounds.com
www.wavsite.com

A script for Creating a Window using MEL

Hi this is a small script for making a Window using MEL

global proc mywindow()
{
// The above line is a procedure, when ever you want to open the window you can call the procedure
if(`window -query -exists testWin`) deleteUI testWin;
//The above statement check that if there is a window in same name already, if it exists it will delete that.
window -title "Test Window" testWin;
//The above statement creates the window
columnLayout -adjustableColumn true;
//The above statement creates a column which is adjustable automatically
button -label "Arjun";
button -label "Blog";
button -label "CGShelf";
//The above statement creates 3 buttons with 3 different names
showWindow testWin;
//The above statement displays all the script mentioned above
}

A modelling Attempt in 3ds max

A very earlier try in 3ds Max 5.1....... almost 3 trs back.........



Realflow-Maya RnD

Some of my Earlier RnD in Realflow and rendered in maya Mentalray.........