Forum

Create B4W logic nodes by using Python

12 May 2016 18:06 #9463

I have (#9455).
Oh sorry, I haven't noticed

I got it! I gave you wrong recommendations(((
You should always specify sock parameter as "Jump_Dummy_Output_Socket".
So code snippet should look like this:

bpy.ops.node.b4w_logic_add_dyn_jump_sock('INVOKE_DEFAULT', node_tree="B4WLogicNodeTree", node="B4WLogicNode", sock="Jump_Dummy_Output_Socket")
Blend4Web Team - developer
12 May 2016 19:26 #9464
Konstantin,

Thank you very much!

Solved!
12 May 2016 23:24 #9468

Solved!
Glad to hear!
Looking forward to new interesting questions
Blend4Web Team - developer
06 December 2016 18:04 #14388
Reply to post of user bjk
Thank you Konstantin!

After searching I was able to create a small tree (as a start):

import bpy

scene = bpy.context.scene

scene.render.engine = 'BLEND4WEB'
scene.b4w_use_logic_editor = True
bpy.ops.node.new_node_tree(type='B4WLogicNodeTreeType', name="B4WLogicNodeTree")
scene.b4w_active_logic_node_tree = "B4WLogicNodeTree"

ntree = bpy.data.node_groups['B4WLogicNodeTree']
links=ntree.links

e_point = ntree.nodes.new(type='B4W_logic_node')
e_point.type = 'ENTRYPOINT'

regstore = ntree.nodes.new(type='B4W_logic_node')
regstore.type = 'REGSTORE'
regstore.floats['inp1'].float = 2 [s]regstore.param_number1 = 1[/s]
regstore.location = 160, 100

sw_select = ntree.nodes.new(type='B4W_logic_node')
sw_select.type = 'SWITCH_SELECT'
sw_select.location = 400, 100

move_to = ntree.nodes.new(type='B4W_logic_node')
move_to.type = 'MOVE_TO'
move_to.location = 650, 100

reroute1 = ntree.nodes.new("NodeReroute")
reroute1.location = 600, -100

reroute2 = ntree.nodes.new("NodeReroute")
reroute2.location = 380, -100

links.new(e_point.outputs[0], regstore.inputs[0])
links.new(regstore.outputs[0], sw_select.inputs[0])
links.new(sw_select.outputs[0], move_to.inputs[0])
links.new(sw_select.outputs[2], reroute1.inputs[0])
links.new(reroute1.outputs[0], reroute2.inputs[0])
links.new(reroute2.outputs[0], sw_select.inputs[0])

This is okay, I believe, but how do I select an object (the default cube) in Switch_Select and how do I add a new socket?

By the way, I watched the conference video. Congratulations!

Hi bjk,
I would like also add a new logic nodes.
Where do you add this code (above in the quote) ? Do you inject it in the "logic_node_tree.py" file or do you create an extra file for it ?

And where should this code be added:
bpy.ops.node.b4w_logic_add_dyn_jump_sock('INVOKE_DEFAULT', node_tree="B4WLogicNodeTree", node="B4WLogicNode", sock="Jump_Dummy_Output_Socket")

Thank you !
 
Please register or log in to leave a reply.