Node based scripting?

Hello script writers!

I wonder if it’s possible for Blender to have a node based scripting
option, like XPresso for Cinema4D.
I think it would be much easier if we got a visual style of
scripting. Maybe it’s not possible to make big advanced stuff with
nodes. But for everyday scripting like when rigging, it could be a
really nice addition to Blender.
Today I tried to get the Z rotation of “Cube.001” to control the
local Z rotation of “Cube”. But I can’t see how to make it - there is
no option for local coordinates in the IPO editor. I assume I have to
write a script for this to work, but I’m no programmer. I think that
having the python API in a node based representation would be great.

What are your thoughts about this?
Have I made a fool of myself proposing this? :stuck_out_tongue:

Well, for your specific problem, can’t you manage with dLoc, dRot, dScale IPOs?

Node scripting: would it be needed if macro recording in Python would become available? With the present event/tool/UI refactors under way this is a clear possibility, although not a certainty if I understand what I read.

This is technically possible with the current API. It wouldn’t be too farfetched to implement this using Python, though it would ultimately be slower than even normal python since it’d be going through Python prior to hitting C, but still.

In theory you could draw the nodes with the BGL module most of the other stuff is pretty straightforward, that is except for finding somebody who has enough time/motivation to code it. At that with all the work put into making it in Python, it may be just as fast to use C and put in the source. At the same time, I might be sensing an idea for a SoC project (if anybody is interested).

I think with what the event refactor makes possible (not what’s coming at first, things like Macros and Custom keys and the like eventually) this could be more feasible like IamInnocent suggested.

Thanks for your reply.

Well, for your specific problem, can’t you manage with dLoc, dRot, dScale IPOs?
Sorry, but that doesn’t work . It’s still rotating in world space.:confused:

Node scripting: would it be needed if macro recording in Python would become available? With the present event/tool/UI refactors under way this is a clear possibility, although not a certainty if I understand what I read.
Do you mean like it is with mel in Maya, where you see what the output in mel is for every command done? If so, that would help a lot.

I’m probably totally misunderstanding what you are attempting but if you try to rotate Cube.001 with a RotZ IPOs and hope to have Cube react to that but within its own local space then have a look at this file:
http://pages.videotron.com/innocent/RotZ_copy_locally000.blend
If you scrub you should see what you want ‘happening’. It is totally fake, relying on the empty parent of Cube and a copy of Cube.001 RotZ IPO to Cube RotZ IPO but hey, what isn’t fake in this 3D world?

Do you mean like it is with mel in Maya, where you see what the output in mel is for every command done? If so, that would help a lot.

The refactors are hardly starting and nothing is defined yet but it could be that or better, macro recording as a script. Yet it is very different from node based scripting though still quite helpful as you noted.

Jean

ehhmm >_<

I should have said that I tried solving this with IPO drivers. :o

Your solution is good, but not really what I’m looking for - real time
update when changing rotation. But the blend file was easy enough to
change to my need. Just kill the IPO curves and add a driver for RotZ
on ‘Cube’ driven by Rot Z of ‘Cube.001’. It’s not a big deal that I
have to make ‘Cube’ a child of an empty, but I thought it was
possible without that step.

Anyway, I have big hopes for the event refactor. I did just finish
reading about it on the Sunday meeting Agenda at the wiki. And I have
to admit it’s bigger than I first realized. Ton and all the other
developers are a brave group of people tackling this task.

@forTe: I like the idea about Soc. We can only hope for it, but other
things may come up after the refactor that needs more attention.
By the way - I love your signature :smiley: