利用者:Phonybone/MultiFileOutputNode
Node Documentation
This page should be part of the official 2.6 nodes documentation. As of this writing, however, the documentation is still in 2.4 state, so will keep the page here until this is ported.
|
Multi File Output Node
This node writes any image data connected to its inputs to an image file. An arbitrary number of input slots can be created. Access to these input slots can be found in the sidebar (N).
New input sockets can be added with the Add Input button. The detail settings for a particular input slot can be changed by selecting a slot from the list below. The selected socket can also be move up or down in the list with the arrow buttons and can be removed using the X button.
The node has an overall file format setting (also in the sidebar, N). Depending on this file format, the node can output either individual image files for each of the input slots or one multilayer OpenEXR image file. Both types of output are explained in detail below.
Single Layer Output Files
Each input image is written to its own image file. Each input slot has a sub-path on top of the base bath, which can also include a file name.
Example:
Base path: '/home/user/myproject' with file format set to PNG.
- Input 1: Compo
- Input 2: Diffuse/
- Input 3: details/Normals
would create output files for each frame
- in /home/user/myproject:
- Compo0001.png
- Compo0002.png
- ...
- in /home/user/myproject/Diffuse:
- 0001.png (no filename base given)
- 0002.png
- ...
- in /home/user/myproject/details:
- Normals0001.png
- Normals0002.png
- ...
By default, the Use Render Format option is enabled, which automatically creates files with the node settings file format. By disabling this option a custom output format can be selected for each individual file slot.
Multi Layer OpenEXR File
The node produces a single .exr file with one layer per each of the input slots. Each input slot has an associated name for the image layer (instead of the subfolder used for single layer files). The OpenEXR file location is given by the node base path.
Example:
Base path: '/home/user/myproject/MyFile'
- Input 1: Beauty
- Input 2: Test
- Input 3: normals
would create output files for each frame in /home/user/myproject:
- MyFile0001.exr
- MyFile0002.exr
- ...
Each of those files would in turn have the following layers:
- Beauty.Beauty
- Test.Test
- normals.normals
Blender Multilayer Naming Scheme
The current OpenEXR layer naming by the file output node is not ideal. It mimics the Render Layer + Render Pass concept found in standard render output of multilayer OpenEXR files by using the input name two times. The first part of the OpenEXR layer name is interpreted as the "Render Layer", the second as "Render Pass", even though these don't have any further meaning in the compositor.
When loading such a OpenEXR file in the compositor image input node each OpenEXR layer is displayed as a Render Layer with a single Render Pass of the same name. In the future it would be preferable to have subsections of input slots with a "Render Layer" name for each of them.
|
The number and naming of channels created in each OpenEXR layer depends on the type of image plugged into the input slot:
- Image: .R, .G, .B, .A
- Vector: .X, .Y, .Z
- Value: .V