Commit: 2c8e8d547fcbdebf891b7d36bed772942866ca44 Author: Jacques Lucke Date: Fri Jul 5 14:42:54 2019 +0200 Branches: functions https://developer.blender.org/rB2c8e8d547fcbdebf891b7d36bed772942866ca44
add speed input to explode node =================================================================== M release/scripts/startup/nodes/bparticle_nodes/explode_particle.py M source/blender/simulations/bparticles/actions.cpp M source/blender/simulations/bparticles/c_wrapper.cpp =================================================================== diff --git a/release/scripts/startup/nodes/bparticle_nodes/explode_particle.py b/release/scripts/startup/nodes/bparticle_nodes/explode_particle.py index b425b14d8f7..454f8f3c621 100644 --- a/release/scripts/startup/nodes/bparticle_nodes/explode_particle.py +++ b/release/scripts/startup/nodes/bparticle_nodes/explode_particle.py @@ -12,6 +12,7 @@ class ExplodeParticleNode(bpy.types.Node, BParticlesNode): def declaration(self, builder : SocketBuilder): builder.control_flow_input("control_in", "(In)") builder.fixed_input("amount", "Amount", "Integer") + builder.fixed_input("speed", "Speed", "Float") builder.control_flow_output("control_out", "(Out)") def draw(self, layout): diff --git a/source/blender/simulations/bparticles/actions.cpp b/source/blender/simulations/bparticles/actions.cpp index 5d284dc7187..00328f0699e 100644 --- a/source/blender/simulations/bparticles/actions.cpp +++ b/source/blender/simulations/bparticles/actions.cpp @@ -155,6 +155,7 @@ class ExplodeAction : public Action { m_compute_amount_body->call(fn_in, fn_out, execution_context); uint parts_amount = std::max(0, fn_out.get<int>(0)); + float speed = fn_out.get<float>(1); for (uint i : particles.range()) { uint pindex = particles.get_particle_index(i); @@ -162,7 +163,7 @@ class ExplodeAction : public Action { original_indices.append_n_times(i, parts_amount); for (uint j = 0; j < parts_amount; j++) { - new_velocities.append(random_direction() * 4); + new_velocities.append(random_direction() * speed); } } diff --git a/source/blender/simulations/bparticles/c_wrapper.cpp b/source/blender/simulations/bparticles/c_wrapper.cpp index a4a20139065..a2767df8129 100644 --- a/source/blender/simulations/bparticles/c_wrapper.cpp +++ b/source/blender/simulations/bparticles/c_wrapper.cpp @@ -297,10 +297,9 @@ static Action *build_action(SocketWithNode start, step_description)); } else if (STREQ(bnode->idname, "bp_ExplodeParticleNode")) { - bNodeSocket *amount_socket = bSocketList(bnode->inputs).get(1); - - FN::DFGraphSocket amount_input = data_graph.lookup_socket(amount_socket); - FN::FunctionGraph function_graph(data_graph.graph(), {}, {amount_input}); + FN::DFGraphSocket amount_input = data_graph.lookup_socket(bSocketList(bnode->inputs).get(1)); + FN::DFGraphSocket speed_input = data_graph.lookup_socket(bSocketList(bnode->inputs).get(2)); + FN::FunctionGraph function_graph(data_graph.graph(), {}, {amount_input, speed_input}); SharedFunction compute_amount_fn = function_graph.new_function("Compute Amount"); FN::fgraph_add_TupleCallBody(compute_amount_fn, function_graph); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs