Beispiel #1
0
def setLayers(layers:iter, scn:Scene=None):
    """ set active layers of scn w/o 'dag ZERO' error """
    assert len(layers) == 20
    scn = scn or bpy.context.scene
    # update scene (prevents dag ZERO errors)
    scn.update()
    # set active layers of scn
    scn.layers = layers
Beispiel #2
0
def setLayers(layers:iter, scn:Scene=None):
    """ set active layers of scn w/o 'dag ZERO' error """
    assert len(layers) == 20
    scn = scn or bpy.context.scene
    # update scene (prevents dag ZERO errors)
    scn.update()
    # set active layers of scn
    scn.layers = layers
Beispiel #3
0
def get_pixels_from_render(scene: Scene):
    """ get image pixels from a rendered image not yet saved to disk """
    # ensure nodes are on
    scene.use_nodes = True
    tree = scene.node_tree
    links = tree.links

    # create render layer and viewer nodes
    rl = tree.nodes.new("CompositorNodeRLayers")
    v = tree.nodes.new("CompositorNodeViewer")
    v.use_alpha = False

    # link Image output to Viewer input
    links.new(rl.outputs[0], v.inputs[0])

    # render
    bpy.ops.render.render()

    # get viewer pixels
    pixels = get_pixels(bpy.data.images["Viewer Node"])

    # remove created nodes
    tree.nodes.remove(rl)
    tree.nodes.remove(v)

    # return pixels
    return pixels
def to_scenes(script):
    F = fountain.Fountain(script)
    scenes = []

    current_scene = None
    current_char = None
    current_parenthetical = ''

    for fc, f in enumerate(F.elements):
        element_type = f.element_type
        text = f.element_text.strip()

        if element_type == 'Scene Heading':
            name = f.original_content.strip()
            current_scene = Scene(name, [])
            scenes.append(current_scene)

        elif not current_scene:
            continue

        elif element_type == 'Parenthetical':
            current_parenthetical = text

        elif element_type == 'Character':
            current_char = text

        elif element_type == 'Dialogue':
            seconds = text_to_seconds(text) * text_speed_factor
            current_scene.elements.append(
                Dialogue(
                seconds,
                current_char,
                current_parenthetical,
                text
            ))
            current_parenthetical = ''

        elif current_scene and element_type == 'Action':
            seconds = text_to_seconds(text)
            current_scene.elements.append(Action(seconds, text))

    return scenes
Beispiel #5
0
def openLayer(layerNum:int, scn:Scene=None):
    scn = scn or bpy.context.scene
    layerList = [i == layerNum - 1 for i in range(20)]
    scn.layers = layerList
    return layerList
Beispiel #6
0
def openLayer(layerNum:int, scn:Scene=None):
    scn = scn or bpy.context.scene
    layerList = [i == layerNum - 1 for i in range(20)]
    scn.layers = layerList
    return layerList