[Bf-blender-cvs] [f09794f280c] functions: size input for mesh emitter

Jacques Lucke noreply at git.blender.org
Wed Jul 10 12:01:04 CEST 2019


Commit: f09794f280c3bda6074718e5d0597aa2b75da9d7
Author: Jacques Lucke
Date:   Wed Jul 10 11:36:04 2019 +0200
Branches: functions
https://developer.blender.org/rBf09794f280c3bda6074718e5d0597aa2b75da9d7

size input for mesh emitter

===================================================================

M	release/scripts/startup/nodes/bparticle_nodes/mesh_emitter.py
M	source/blender/simulations/bparticles/emitters.cpp
M	source/blender/simulations/bparticles/inserters.cpp

===================================================================

diff --git a/release/scripts/startup/nodes/bparticle_nodes/mesh_emitter.py b/release/scripts/startup/nodes/bparticle_nodes/mesh_emitter.py
index 759bee82ca7..d9dcfe3646a 100644
--- a/release/scripts/startup/nodes/bparticle_nodes/mesh_emitter.py
+++ b/release/scripts/startup/nodes/bparticle_nodes/mesh_emitter.py
@@ -12,4 +12,5 @@ class MeshEmitterNode(bpy.types.Node, BParticlesNode):
         builder.fixed_input("rate", "Rate", "Float", default=10)
         builder.fixed_input("normal_velocity", "Normal Velocity", "Float", default=1)
         builder.fixed_input("emitter_velocity", "Emitter Velocity", "Float", default=0)
+        builder.fixed_input("size", "Size", "Float", default=0.05)
         builder.emitter_output("emitter", "Emitter")
diff --git a/source/blender/simulations/bparticles/emitters.cpp b/source/blender/simulations/bparticles/emitters.cpp
index df1822c4a90..c4b7fd1e0ac 100644
--- a/source/blender/simulations/bparticles/emitters.cpp
+++ b/source/blender/simulations/bparticles/emitters.cpp
@@ -67,6 +67,7 @@ class SurfaceEmitter : public Emitter {
     float rate = fn_out.get<float>(1);
     float normal_velocity_factor = fn_out.get<float>(2);
     float emitter_velocity_factor = fn_out.get<float>(3);
+    float size = fn_out.get<float>(4);
 
     float particles_to_emit_f = rate * interface.time_span().duration();
     float fraction = particles_to_emit_f - std::floor(particles_to_emit_f);
@@ -125,7 +126,7 @@ class SurfaceEmitter : public Emitter {
       velocities.append(normal_velocity * normal_velocity_factor +
                         emitter_velocity * emitter_velocity_factor);
       birth_moments.append(birth_moment);
-      sizes.append(random_float());
+      sizes.append(size);
     }
 
     auto &target = interface.request(m_particle_type_name, positions.size());
diff --git a/source/blender/simulations/bparticles/inserters.cpp b/source/blender/simulations/bparticles/inserters.cpp
index 2aa13b90425..1738b25d841 100644
--- a/source/blender/simulations/bparticles/inserters.cpp
+++ b/source/blender/simulations/bparticles/inserters.cpp
@@ -217,7 +217,7 @@ static void INSERT_EMITTER_mesh_surface(ProcessNodeInterface &interface)
     SharedFunction fn = create_function(
         interface.indexed_tree(),
         interface.data_graph(),
-        {inputs.get(0), inputs.get(1), inputs.get(2), inputs.get(3)},
+        {inputs.get(0), inputs.get(1), inputs.get(2), inputs.get(3), inputs.get(4)},
         interface.bnode()->name);
 
     bNode *type_node = linked.node;



More information about the Bf-blender-cvs mailing list