import Blender from Blender import Node class API_Test_Node(Node.node): def __init__(self, sockets): defaults = [0.0, 1.0, 1.0, 1.0, 1.0, 1.0] self.colour1 = Node.SocketRGBA('Colour 1', type=Node.Input) ## Only need the name of the socket, Blender assumes defaults self.colour2 = Node.SocketRGBA('Colour 2', defaults, type=Node.Input) ## Or you can define the parameters for the soc self.ratio = Node.SocketValue('Ratio', type=Node.Input) ## Again assume default values self.colour_out = Node.SocketRGBA('Colour', type=Node.Output) ## An output node def __call__(self): inv_ratio = 1.0 - self.ratio self.colour_out.val = [self.colour1.val[i] * self.ratio + self.colour2.val[i] * inv_ratio for i in xrange(3)] class API_Test_Node_2(Node.node): def __init__(self, sockets): defaults = [0.0, 1.0, 1.0, 1.0, 1.0, 1.0] self.colour1 = Node.SocketRGBA('Colour 1') ## Only need the name of the socket, Blender assumes defaults self.colour2 = Node.SocketRGBA('Colour 2', defaults) ## Or you can define the parameters for the soc self.ratio = Node.SocketValue('Ratio') ## Again assume default values self.colour_out = Node.SocketRGBA('Colour') ## An output node self.inputs = [self.colour1, self.colour2, self.ratio] self.outputs = [self.colour_out] def __call__(self): inv_ratio = 1.0 - self.ratio self.colour_out.val = [self.colour1.val[i] * self.ratio + self.colour2.val[i] * inv_ratio for i in xrange(3)]