Glow Kit For Nerds

══════════════════

Introduction

══════════════════

How to create this animation

note: requires familiarity with Daz Scripts

and maybe MsDos batch files.

══════════════════

History

══════════════════

04/29/2010 Release

══════════════════

Installation

══════════════════

There's 2 zip files in the attachments at the bottom of the page you are presently reading.

The first zip file named mcjGlowScripts.zip contains some daz scripts for Daz Studio 2 and 3

it should be unzipped into your Daz Studio Content folder, typically on a PC that means

c:\Program Files\Daz\Studio\Content

The second zip file named mcjGlowWorkarea.zip contains a folder named mcjGlowWorkarea

which contains

- 3 empty folders named pass1 pass2 and pass3

- 2 executable files that were part of a freeware package named imagemagick

- the license for the imagemagick components

if you don't trust those two executable files, then you can download the whole package from the creators

of imagemagick at http://www.imagemagick.org

- 1 batch file named doOne.bat

- a copy of the web page you are currently reading ( i.e. the manual ) under the name mcjGlow_Manual.html

- a folder containing the images of the manual

You can unzip this file wherever you please, in my case i placed it in c:\

so my workarea folder is c:\mcjGlowWorkarea

══════════════════

Use

══════════════════

1. Marking the glow surfaces

First we need to mark all surfaces in our scene that will be glowing.

This is done by setting the "Index of Refraction" property of those surface materials to 1.00

( by default the "Index of Refraction" is 0.00, so non-glowing materials don't require modifications )

in this example, i selected the 3 balls and the pole and set the index of refraction to 1.00

2. Rendering the first pass

Render the animation as a series of images. The images must be written to your workarea's "pass1" folder

in this example, the images are written to my c:\mcjGlowWorkarea\pass1 folder

i'm rendering frames 30 to 89, with the filename pattern "pic.png"

not shown here is the fact that my animation timeline goes from frame 0 to 1500

This means my c:\mcjGlowWorkarea\pass1 folder will be filled with images named

pic0030.png, pic0031.png ... pic0089.png

numbers like "0030" means the frame number was padded with 4 zeros

if my timeline ranged from frame 0 to 999, the the numbers would be padded with 3 zeros

pic030.png, pic031.png ... pic089.png

3 - Preparing for the second pass

For the second pass we must turn off light emission and light reflection for all non-glowing materials in the scene.

This means we must set the diffuse, specular and ambient strength of all non-glowing materials to zero!

an enormous task. But there's a script for that

If you correctly installed mcjGlowScripts.zip, you should see a script named mcjGlowBlacken in your Studio/Scripts/mcasual folder

Launch mcjGlowBlacken.

mcjGlowBlacken will go through all the materials in the scene, and turn off light emission for all surfaces

that are not marked as glowing. Before it does this, it stores the current values for diffuse, specular and ambient strength

in brand new channels named "Stored Diffuse Strength", Stored Specular Strength" and "Stored Ambient Strength".

So, later on we'll be able to use the mcjGlowUnblacken script to restore those values

the scene now looks like this :

4. Rendering the second pass

Render the animation as a series of images. This time the images must be written to your workarea's "pass2" folder

Use the same camera and same image size and same filename pattern

In my case this means my c:\mcjGlowWorkarea\pass1 folder will be filled with images named

pic0030.png, pic0031.png ... pic0089.png

5 - Restoring the scene

launch the mcjGlowUnblacken script also located in your Studio/Scripts/mcasual library folder.

The script will go through all the non-glowing materials in the scene and restore their original

ambient/diffuse/specular strengths .

the scene now looks like this :

6 - Building the Glow Images, theory

The images in the workarea's pass2 folder look like this

if we apply a strong blur filter , they look like this

The images in the workarea's pass1 folder look like this

if we ADD ( through compositing ) the blur image and the pass1 image, we get the glow/bloom effect

7 - Using scripts and batch files and imagemagick to build the Glow Images

If you have a video editor like Adobe After Effects or maybe WAX, you could do this without too much trouble

If you have a PC and are not scared of batch files you could do it this way ...

Make sure the two programs convert.exe and composite.exe and the batch file doOne.bat are in your workarea folder

launch the cript named mcjGlowMakebatch in your Studio/Scripts/mcasual folder

fill in the form

remember that i rendered frames 30 to 89,

so,

First frame = 30

Last Frame = 89

my images were named pic0030.png .....pic0089.png

so

Filename prefix = pic

image format = png

we said the numbers like "0030" were using padding with four zeros

so

File number padding = 4

press the Make Batch File button

a popup will appear

browse up to your workarea folder ( in my case: c:\mcjGlowWorkarea\ )

and enter a filename like processAllFrames.bat

if you open this new file using wordpad/notepad

it should look something like

call doOne pic0030.png

call doOne pic0031.png

call doOne pic0032.png

.

.

.

call doOne pic0086.png

call doOne pic0087.png

call doOne pic0088.png

call doOne pic0089.png

so the "doOne.bat" batch file will be called for each image.

lets have a look at doOne.bat

convert -blur 0x32 -alpha Off pass2\%1 temp.png

composite -compose plus temp.png temp.png temp.png

composite -compose plus temp.png temp.png temp.png

rem composite -compose plus temp.png temp.png temp.png

composite -compose plus -alpha Off pass1\%1 temp.png pass3\%1

as you can see doOne.bat expects folders named pass1, pass2 and pass3

in the current folder. it also expects to find the two imagemagick programs

named composite.exe and convert.exe in the current folder

the documentation for convert is here:

http://www.imagemagick.org/script/convert.php

the documentation for composite is here

http://www.imagemagick.org/script/composite.php

here's the details of what happens

lets say doOne.bat is called like this: call doOne pic0030.png

using imagemagick's convert utility, pass2\pic0030.png is blurred with a

blur range of 32 pixels ( strong blur )

the resulting image is stored in temp.png

using imagemagick's composite utility, temp.png is added to itself 2 times

this multiplies the brightness of the blurred image by a factor of 4

note that all lines beginning with rem are deemed to be comments and have no effect

so

if you remove the rem on line 4, temp.png's brightness of the glow will be greater

or

if you add a rem at the beginning of line 3, the brightness of the glow will be lower

line 5 takes pass1\pic0030.png, and adds the bright-blurred temp.png image

the resulting image is placed in the pass3 folder pass3\pic0030.png

8 - Assembling the Glow Video

if all went well we now have 60 images in the pass3 folder named pic0030.png ... pic0089.png

many video editor programs can turn this into a video file

i personally use virtualdub from www.virtualdub.org/

i start virtualdub, then i drag&drop the first image in the series onto virtualdub

or i open it via the File/Open Video File... menu. In our example, i open pass3\pic0030.png.

Virtualdub will immediately "see" and load 59 other images in the series.

by default the frame rate given by VirtualDub is 10 frames per second

so we go in Video/Frame Rate and change it to 30

then we go in Video/Compression and select a good codec like the divX codec

then we do a File / Save As ... glowtest.avi

and a few seconds later we have our glowing video!

ADDENDUM

in the attachments you will find a zip file named DoOneBatForElectricBlue.zip

it contains an alternative version of the doOne.bat batch file discussed above.

it creates electric blue arc effects

It also contains a small image that acts as a palette to re-colorize the electric arcs

note that processing each image with this is much slower

you will want to safely stash away the original doOne.bat file before replacing it with this one

example of results obtained