Small
multichannel rendering tutorial | Realsoft
3D 4.5
Tutorial by Tim
Borgmann of (BT)Grafik.
His website link HERE.
Download: [Sample
scene with objects, shaders, channels,
output objects, posteffects and rendersettings
50 kb]
This tutorial is not an all in one solution,
but it shows some steps how you can access
different channels in Realsoft to do a multichannel
rendering for post editing in Photoshop
or AE.
 |
For example if you have the following
scene (some objects and an envoirment)
and you need extra control on following
passes:
- Masks for the different objects
(to color correct them later)
- Specularity (to add some extra
effect on specularity)
- Reflection (to control the amount
and sharpness of reflection)
- depth (to fake DOF and fog)
Comment: There are serval ways
to do this in RS3D, this tutorial
shows only one possible solution.
The following tutorial shows step
by step how to store these passes
into different images. It's not the
productive but more the easy to understand
way ;-) |

|
Click image for full size view |
STEP 1 [setup the channels]
 |
First of all we have to create the
channels we need [fig
02]:
- Xport_reflection - color
channel (to export the reflection
information)
- Xport_specularity - color
channel (to export the specularity
information)
- Z_Depth - float channel
(to export the depth information
for fake Fog)
- Local_Z - float channel
(to export the depth information
for fake DOF)
- Alpha_ball - float channel
(to export the mask of the left
side ball)
- Alpha_woodthing - float
channel (to export the mask of
the middle object)
- Alpha_oldthing - float
channel (to export the mask of
the right object)
- Alpha_ground - float
channel (to export the mask of
the ground)
- Alpha_ground_grid - float
channel (to export the mask of
the grid pattern on the ground)
|

|
after that we create the 'output
objects' to get the images later
[fig 03].
In this example I used BMP objects.
To create a new 'output object'
just click with the RMB (right mouse
button) into the 'output objects
window' and choose 'new'
- 'Window BMP'. Double click
the new 'output object' to
open the 'properties window'
[fig 04]
and rename it to a useful name.
After that check the 'Edit bindings'
checkbox. Now highlight the Channel
bindings in the top of the window
(for example Color:R -> Color:R)
and use the remove button
to delete them. After you did this
with all three channels go to the
bottom of the window and select
a source channel in source
window by highlighting it (for example
Xport_reflection:R) also highlight
a 'Destination channel' (for
example Color:R) and use the Add
button to add this binding. Do this
for all the channels you need.
Hint: If you have a float
channel, just bind it to all three
RGB channels to get a grayscale
image.

|
STEP 2 [the fun of masks]
 |
Now we have to fill the channels
with data. The simplest ones are
the mask channels so we will start
with them:
Select the material of the ball
(metallic02) and open the 'properties
window'. In the 'Surface properties
shader' create a new 'constant'
with value = 1 and output
= surface: Alpha_ball [fig
05]. With this constant you
assign the value 1 to this surface
(which means white) while the other
surfaces in the scene which doesn't
have this constant will appear with
the value 0 in this channel (which
means black).

Now repeat the step
for the other materials and mask
channels:
- Select the 'finished_wood02'
material - add a constant
in surface properties shader
with value = 1 and output
= surface: Alpha_woodthing
- Select the 'ground' material
- add a constant in surface
properties shader with value
= 1 and output = surface:
Alpha_ground
|

|
You can also use the object properties
window to assign a value to a
channel:
- Select the mesh in the 'mesh5+parallel
Mapping11(..)' Level
- Open the properties window
and go the 'Col' tab
- In the 'Attribute' drop
down select the 'Alpha_oldthing'
channel and change the value to
1
Now a little bit more tricky one:
the mask for the grid of the ground
[fig 06]:
- Select the 'ground' material
- In surface 'surface properties
shader' add a color variable
and name it 'Mask_Grid'
- Duplicate the existing 'Texture(map
coords)' object and change
the output to 'surface: Mask_Grid'
- Add a 'operation' object
change the type to '1-p1'
(invert the value) and change
input = 'surface: Mask_Grid'
and output = 'surface: Alpha_ground_grid'
- So we get a mask channel of
the grid pattern
 |

|
If
you want to mask the walls you can
use the build in default alpha
channel. Just select the walls,
open the properties window,
go to col tab and select alpha
in the drop down. Change the value
from 0 to 1 and they will appear white
in the default alpha channel.
We should be ready with the masks
channels now. Just Imagine what properties
you can mask. Labels, parts of surfaces
and so on.
If you want to mask faded or transparent
objects not with solid but with a
semitransparent masks just use a 'copy'
object to fill the channel. For example
'copy' with input 'surface:
fade' and output 'surface:
my_mask_channel'.
Maybe you want invert this value to
get a 100% mask where the object is
solid and a 0% mask where the object
is clear, then you can use an 'operation'
object (type 1-p1) instead of
the 'copy' object.
For example [fig
07]: 'operation', 'type=1-p1',
input='surface: fade', output='surface:
my_mask_channel' |
STEP 3 [specularity]
 |
Now a little bit more complex pass:
the speculatrity[fig
08]:
- select the metallic02 material
and open the properties window
- go to the surface illumination
shader, because here is the definition
of the specularity
- duplicate the 'illumination+=Specular(Color)'
object and change the output
to 'surface: Xport_specularity'
- If there are more than one
Specular objects do this with
every one
Do this steps with all materials which
has a 'specular' object. (In
this scene 'finished_wood02' and 'metallic02').
What this step does is very simple:
It just fills the 'Xport_specularity'
channel with the same information
which is used by the raytracer to
calculate the specularity.
|
|
Comment:
As you can see we will have the specularity
information in the raytraced image
and in the export channel.
So if you want total control over
the specularity in post editing you
have to remove the information from
the raytraced image before. To do
this disable the 'illumination+=Specular()'
objects.
But be carefully on this step, because
if you do this, the specularity which
is seen in reflections is also gone.
The reflection of specularity is not
stored in the 'Xport_specularity'
channel. In our case we don't disable
the raytraced specularity, because
we want only additional control over
it and not a replacement. |
Goto
Page 2 of Tutorial ..
|