Scanline Offset

dec 26, 2019
Using the holidays to do a bit of creative scripting.

This effect were in an old music video from the late 90ies, but I can't remember the name of it...

Sharing the code below if you want to try it out.

Cheers!

import nuke

nodeBin=nuke.toNode('Reformat1')
height = nuke.tcl("expression "+nodeBin.name()+".height")
step = 1
timeNodes = []
i=0
im=0
dotNode = nuke.nodes.Dot()
mergeNodes = []
for x in range(1, int(height), step):
    lineHeight = int(height)/(int(height)/step)
    cropNode = nuke.nodes.Crop()
    cropNode['box'].setValue((0,int(height)-x-lineHeight,256,int(height)-x))
    cropNode.setInput(0, nodeBin)
    timeNode = nuke.nodes.TimeOffset()
    timeNode['time_offset'].setValue(x)
    timeNode.setInput(0, cropNode)
    timeNodes.append(timeNode)
    if i==1: timeNodes.append(dotNode)
    i=i+1
    if i ==50:
        i=0;
        m = nuke.nodes.Merge2(operation='plus', inputs=timeNodes)
        mergeNodes.append(m)
        timeNodes = []
        if im==1: mergeNodes.append(dotNode)
        im=im+1
m = nuke.nodes.Merge2(operation='plus', inputs=timeNodes)
mergeNodes.append(m)
nuke.nodes.Merge2(operation='plus', inputs=mergeNodes)

© 2020 Dupp Film. Web design It’s just me! Development Optimal media.