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で作るとよいかもしれないな。