PDA

View Full Version : best file format output from maya to combustion.


crgowo
06-04-2003, 05:23 AM
Whats the best fileformat to use when rendering an animation form maya to composite in Combustion.
iff, or rla, or the regular tga and tif
I believe form those only iff and rla support zdepth.
I have problems with iff when i hit play but i dont know if thats just my pc.
So is rla the best to use?
thanks for your help.

GrantKay
06-04-2003, 02:52 PM
Hi,

combustion does not support the RLA from maya because it is written differently to the other apps like 3Dsmax, Lightwave and cinema 4D.

I've got IFFs to work but if you are still having problems then you should look at TGA sequences.

Regards
Grant

DISCREET UK

crgowo
06-04-2003, 03:25 PM
does Combustion support the zdepth form anothe file. like if i render out tga with zdepth since tga files dosnt support zdepth it will create another file holding the zdepth information. Can i bring in those files with the zdepth information and use it with the tga files?

Jack Pfeiffer
06-05-2003, 05:13 PM
Hi..

A lot of people have been asking about this type of stuff... so I recently created a background report on IFF/RLA/RPF files used with Discreet Combustion.

Please be aware that I am NOT an animator - that is, using Maya or 3ds max on a daily basis. I mostly tend to use fully rendered RLA/RPF files in my combustion training classes that I teach, as well the one Time I also created RLAs in a Discreet-taught Class I attended in London.. that's about it. So, consider me a "video effects guy."

However, since I do a quite a lot of Combustion training, I have tried to educate myself on the essential basics, so that when any student ask me questions, I can at least try to provide semi-intelligent answers ...

So, with all that said.... here it goes...

Background report: Maya/3ds max > RLA-RPF-IFF > all to Combustion....

A powerful tool for animators is that Combustion has dedicated Operators (effects) that can automatically read and use various channel infomation that is included in the RLA and/or RPF rendered file. The info read includes Z depth, Material ID, Object ID, UV coordinates, etc. The fast and easy effects to apply in Combustion are G Buffer (Z depth) effects. Other operators include: 3D Depth of field, 3D Fog, 3D Glow, 3D lens Flare (which also works on non-.rpf files) RPF Motion Blur, G buffer extract, and texture maps.

Now, when it comes to Maya-generated RPF files, well, those files are NOT the same as those from 3ds max, as there is a dramatic difference in the file header information. It has been reported that Alias is aware of this and may consider adding proper file format support in a furture releases, but it is up to them.

As for the Maya RLA file format, Combustion can read only the 3D file information for compositing, but there is little use of the other embedded information-- Again, due to the way the header information in the file.

So, HOW do you work with Maya Files and Combustion in 3D ?

Answer: In Toronto, a post house has reported that they sucessfully completed a project for a major American broadcaster using Maya 3D images with Combustion: Starting with Maya images, Maya IFF files were exported and opened in Combustion. There, extensive use of the Combustion 3D post filters, such as 3D fog and 3D lens flares were quickly and successfully applied, as well as Show G Buffer. They noted that certain 3D post effects, such as Depth of Field, Motion Blur, did NOT work. They did find a work around for those effects by simply using the "Show G Buffer" operator to turn the Z info into a grayscale RGB image, and then use that file to drive a compound blur on the footage. It was also noted that the Maya Z info is NOT anti-aliased, so extra effort had to be made to use additional matte controls and to apply slight blurs to minimize and/or avoid artifacts, etc.

With regards to Motion Blur, to retain more control you can render 2D motion blur with "keep motion vectors" turned ON. This creates a file which must then be processed with "blur2d" (a Maya companion program.) Note that a image file that contains Z depth info and Motion Blur vectors at D1 resolution, a single frame was up to 4MB in size (!!) So -- be prepared to have enough storage space. in summary, the user reported that it was a fabulous production pipeline that saved them a lot of labor, as well as proved to stretch their on-air-look versus budget restrictions, all to a whole new level.

As for 3ds max, Combustion can be used with 3ds in two entirely different ways: 1) From within 3ds max, combustion functions in the Material editor as a full vector based Paint Operator, or 2) After rendereing a RPF/RLA file from 3ds max, Combustion can then read the rendered 3ds max file to add quickly pecial effects.

Anyone else can add in whatever they want... Corrections, additions, whatever... I hope this helps you..

Regards,

Jack Pfeiffer
denmark


__________________
Author: "WebWarriors Guide to Combustion" -http://www.mci.dk/combustion -
- Demo Artist & Trainer

arctor
06-21-2003, 03:29 AM
thanks Jack...
Now, when it comes to Maya-generated RPF files, well, those files are NOT the same as those from 3ds max, as there is a dramatic difference in the file header information. It has been reported that Alias is aware of this and may consider adding proper file format support in a furture releases, but it is up to them.
I'd just like to note something here...one of my pet peeves I guess...
Maya does NOT render RPF files...AFAIK, RPF (Rich Pixel Format?) is a Discreet only file format that only max can render.

there seems to be far too much confusion on this (simple) issue - been driving me batty for a year now - RPF is not the same as RLA - period. Maya renders RLA (badly) but NOT RPF.
It's nice to see that this can be worked around by using IFF files and a bit of brain power. Maybe in the future A|W will write it's RLA files like everyone else and/or discreet will tell people how to write RPF files.

once again...Maya does NOT render RPF files. :)

public
06-22-2003, 07:38 AM
At work, i deal mainly with compositing layers of CG rendered from Maya. I get them all in sgi format. Should i need a depth pass to fake depth of field or whatnot, i am rendered it in an iff sequence.

beaker
06-22-2003, 08:28 AM
Originally posted by arctor
thanks Jack...
there seems to be far too much confusion on this (simple) issue - been driving me batty for a year now - RPF is not the same as RLA - period.

RPF is and extended version of the RLA file format, refered to in the discreet api as RLA extended(RLA with Gbuffer and other stuff added in). If you save an RPF with just the color channels and an alpha, any RLA reader can read it. So it is an RLA in a way.

Maya renders RLA (badly) but NOT RPF.
It's nice to see that this can be worked around by using IFF files and a bit of brain power. Maybe in the future A|W will write it's RLA files like everyone else and/or discreet will tell people how to write RPF files.
[/B]
Actually not true. Discreet caused this problem not a/w. The original author of the RLA file format is Wavefront(Wavefront RLA was their default file format from 1986). Back about 3-4 years ago discreet took the RLA and modified it causing a fork in the file format. Very annoying, because they should have just created RPF from the beginnning rather than bastardizing the RLA file format. Maya writes the original RLA file format standard. The first modified version from discreet added the Gbuffer and they write out the Z buffer differently then the way wavefront does which is usually why apps will have problem reading maya RLA Z because they will be reading it how discreet specified, not how it was origionally written.

Also Discreet does tell people how to write out RPF files. It is in their API and Lightwave can write it out just fine. My problem with the file format is that not even discreet fully supports the file format fully. Only combustion/3dsmax supports it. They decided to skip it with all their highend products(FFI, etc...).

arctor
06-22-2003, 02:14 PM
RPF is and extended version of the RLA file format, refered to in the discreet api as RLA extended(RLA with Gbuffer and other stuff added in). If you save an RPF with just the color channels and an alpha, any RLA reader can read it. So it is an RLA in a way.

ah, yes...you're right, but for all practical purposes the 2 are very different...

The first modified version from discreet added the Gbuffer and they write out the Z buffer differently then the way wavefront does which is usually why apps will have problem reading maya RLA Z because they will be reading it how discreet specified, not how it was origionally written.


good to know.....I hate it when stuff like this happens - there are, what?, 1000 image file formats?...it's so stupid to take a format, add stuff to it, and make it incompatable with the original for no good reason.

thanks for the corrections. :)

Jack Pfeiffer
06-30-2003, 08:36 AM
Hi..

Well, when I did my research about RLA files for my combustion book (see www.mci.dk/combustion) I discovered that RLA files was originally designed to be used as an image file with SGI computers.. Was I told wrong? Perhaps BOTh used them (way back then...)

Anyway, to close out this thread, here is an excerpt from my book about the RLA / RPF file format:

>RLA Files: RLAs support the ability to include arbitrary image channels. This means that, when you render and specify the RLA file for output, you can set RLA Image File parameters from a specific list. You specify what channels (and what format) you want to write out to the file.
The RLA Image File Format typically has a dialog box with the following options. Side Note: the MORE info you include within that dialog, that larger the file size gets..

-Standard Channels: The standard channels are RGB color and the alpha (transparency) channel.
-Bits per Channel: Choose either 8 or 16 as the number of bits per channel. Default=8.
-Store Alpha Channel. Choose whether to save the alpha channel. Default=selected.

When created from Discreet 3ds max, there are additional Optional Channels when you render your RLA files. There are eight additional channels that can be generated and also viewed in the virtual frame buffer:
-Z Depth: Displays Z-Buffer information in repeating gradients from white to black. The gradients indicate relative depth of the object in the scene.
-Material Effects: Displays the Effects Channel used by materials assigned to objects in the scene. The Effects Channel is a material property set in the Material Editor and used during Video Post compositing. Each Effects Channel ID is displayed using a different random color.
-Object: Displays the G-Buffer (p. v3-61 1) Object Channel ID assigned to objects using the Object Properties dialog. The G-Buffer ID is used during Video Post compositing. Each GBuffer ID is displayed using a different random color.
-UV Coordinates: Displays the range of UV mapping coordinates as a color gradient. This channel shows where mapping seams might occur. Note: UV Coordinates will not be displayed on objects that have the UVW Map Modifier applied unless a map has been applied that uses the coordinates.
-Normal: Displays the orientation of normal vectors as a grayscale gradient. Light gray surfaces have normals pointing towards the view. Dark gray surfaces have normals pointing away from the view.
-Non Clamped Color: Displays areas in the image where colors exceeded the valid color range and were corrected by 3ds max. The areas appear as bright saturated colors usually around specular highlights.
-Coverage: This saves the coverage of the surface fragment from which other G-buffer values (Z Depth, Normal, and so on) are obtained. Z-Coverage values range from 0 to 255. To see Z Coverage, render to an RLA file after first checking Z Coverage in the Setup sub-dialog, then choose Z-Coverage in the virtual frame buffer’s Viewing Channel dropdown list. The Z-Coverage feature is provided primarily for developers, and should aid
in the antialiasing of Z-buffers.
-Background: Saves the color of the object behind the front object. This channel is really only valid when the coverage of the front object is less than total, or when the front object is at least partially transparent. However, if a pixel on the front object completely covers a pixel on the back object, and is opaque, the background color channel is not generated for that pixel. Instead, it uses the color of the background. As with the Z-Coverage channel, this feature is primarily included for developers.
-Descriptive Information: This information is saved with the file, and includes: Description (You can enter descriptive text) and Author (You can enter your name)

> RPF: RPF Files (Rich Pixel Format) is a 3ds max extension that builds on the older RLA format by adding and including additional arbitrary image channel information. While setting up a file for rendering an output, one simply selects these additional RPF Image File settings from the dialog setup list. You can specify what channels you want to write out to the file. Side Note: the more info you select and add to the list, the larger the files tend to be.

RPF files officially replace RLA files as the format of choice for rendering animations requiring further post-production or effects work. Many channels available in RPF files are exclusive to this format.

Important Tip: When you create a scene you plan to render as an RPF file for use with Discreet combustion software, turn ON the Render Occlude Objects, located under the Object Properties Dialog, for objects in the scene. This is important if you want to use the combustion G-Buffer Extract feature. When Render Occluded Objects is enabled and you extract an object in combustion, the objects behind it are drawn correctly. If Render Occluded Objects is disabled (the default), objects behind the extracted object appear with black holes where they were occluded!

The RPF Image File Format has a dialog with the following options:
Standard channels Group: The standard channels are RGB color and the alpha (transparency) channel:
-Bits per Channel: Choose either 8 or 16 as the number of bits per channel. Default=8.
-Store Alpha Channel: Choose whether to save the alpha channel. Defaut=selected.

With 3d Max, there are additional Optional Channels for the output RPF files. These are additional channels that you can generate and also view in the virtual frame buffer:
-Z: Saves Z-Buffer information in repeating gradients from white to black. The gradients indicate relative depth of the object in the scene.
-Material Effects: Saves the Effects Channel used by materials assigned to objects in the scene. The Effects Channel is a material property set in the Material Editor and used during Video Post compositing. Each Effects Channel ID is displayed using a different random color.
-Object: Saves the G-Buffer Object Channel ID assigned to objects using the Object Properties dialog. The G-Buffer ID is used during Video Post compositing. Each G-Buffer ID is displayed using a different random color.
-UV Coordinates: Saves the range of UV mapping coordinates as a color gradient. This channel shows where mapping seams might occur. Note: UV Coordinates will not be displayed on objects that have the UVW Map Modifier applied unless a map has been applied that uses the coordinates.
-Normal: Saves the orientation of normal vectors as a grayscale gradient. Light gray surfaces have normals pointing towards the view. Dark gray surfaces have normals pointing away from the view.
-Non Clamped Color: Saves areas in the image where colors exceeded the valid color range and were corrected by 3ds max. The areas appear as bright saturated colors usually around specular highlights.
-Coverage: Saves the coverage of the surface fragment from which other G-buffer values (Z Depth, Normal, and so on) are obtained. Z-Coverage values range from 0 to 255. To see Z Coverage, render to an RLA file after first checking Z Coverage in the Setup subdialog, then choose Z-Coverage in the virtual frame buffer’s Viewing Channel dropdown list. The Z-Coverage feature is provided primarily for developers, and should aid in the antialiasing of Z-buffers.
-Node Render ID: Saves each object as a solid color according to its G-Buffer Object channel (found under Object Properties).
-Color: Saves the color returned by the material shader for the fragment. This channel displays any transparent fragment as a solid color.
-Transparency: Saves transparency returned by the material shader for the fragment. Any fragment with any degree of transparency will be rendered as a solid gray object.
-Velocity: Saves the velocity vector of the fragment relative to the screen in screen coordinates.
-Sub-Pixel weight: Saves the sub-pixel weight of a fragment. The channel contains the fractions of the total pixel color contributed by the fragment. The sum of all the fragments gives the final pixel color. The weight for a given fragment takes into account the coverage of the fragment and the transparency of any fragments that are in front of a given fragment.
-Sub-Pixel Mask: Saves the sub-pixel alpha mask. This channel provides a mask of 16 bits (4x4) per pixel, used in anti-aliased alpha compositing. This mask is especially useful with the combustion compositing product.
-Descriptive Information is information that is saved with the file, and includes Description (a descriptive text) and Author (You can enter your name.)

Note that in 3ds Max version 4, the g-buffers will not be recognized in combustion when certain channels are rendered as rpf files from Render Elements in the Render dialogue in 3ds Max v4.0. If an rpf file is rendered with all of the proper attributes enabled, you should see your g-buffers in combustion, the design limitation only applies in the Render Elements module.

If you have 3D Depth and 3D Shading enabled for an RPF sequence layer, which you should have in order to take advantage of the RPF file capabilities; be sure that any light objects in your scene are placed farther away from the layers in the Z axis than usual.

When 3D Depth is enabled for an RPF sequence layer, rotation transformations can only take place in the Z axis. Layers rotated in the X or Y axis would interfere with the mapping of the z-buffer to the z-space in the composite.

Before rendering a *.rla/ *.rpf file from 3D Studio MAX: If you wish to create *.rla/ *.rpf files in which objects, materials and the Z-depth are recognized in combustion, you should assign a different Material and Object ID to each of your materials and objects in 3D Studio MAX.
-Material ID: You can do this by assigning a unique number to each material with the Material Effects Channel in the Material Editor.
-Object ID: You should assign a unique object ID number to each object in your scene in 3D Studio MAX. This is easily done by selecting an object and right clicking. Choose Properties in the menu. In the G-Buffer section; select a unique Object Channel ID number. Do this for every entity in your scene.

Before rendering from 3ds max: When rendering your RLA/RPF file (Render Output | Save File) or sequence be sure to enable the Optional Channels (3D Studio Max Channels), specifically the Z, Material Effects, Object, Normal and Coverage. Be aware that the files will be very large in size due to the additional RLA/RPF information added on separate channels.
Tip: use the combo box in the 3D Studio MAX Virtual Frame Buffer to query information about the RLA/RPF channels.

If you have properly followed all of the above you should be able to render *.rla/*.rpf files in which objects, material and the Z-depth are recognized in combustion. You should now be able to apply 3D effects and adjust the G-Buffer between objects.

For more info, see page 696 of your Combustion v2 User Manual. Discreet also provides information at their website. For example, see: http://www.discreet.com/support/combustion/faq/answer.php3?prod=combustion&id=352


Regards,
Jack Pfeiffer

emaeteetee
07-14-2005, 07:47 PM
Sooooo,
1) when is alias gonna step up and match the RPF?

or

2) when is the person writing the maya plug-in gonna be finished?



hahaha, simply a matter of time no?

CGTalk Moderation
07-14-2005, 07:47 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.