PyNodeを調べる

一次情報はこれか?
http://wiki.blender.org/index.php/Dev:2.4/Py/Nodes/API

とりあえずvector値をprintさせてみた。

from Blender import Node

class LampNode(Node.Scripted):
    def __init__(self, sockets):
		sockets.input = [Node.Socket('v', val=[0, 0, 0])]

    def __call__(self):
		print(self.input.v)
		pass

__node__ = LampNode

試すときは、マテリアルのプレビューのレンダリングもここを通るのに気をつける(回避手段不明。とりあえず分かり易いように平面にしておいた)。
・・・というか3Dビューのレンダリング(GLSLマテリアル含む)にはpyNodeの__call__が呼ばれていないような気がするが。ソース読んだ方が早いか。ついでに、他のオブジェクトの位置を返すことができるNodeをCで作るとよいかもしれないな。