Painting Particles and Properties

Painting Particles and Properties


This tutorial shows how to use the new particle
and property paint tools and use them to control instances in your scatterers. First, you need to create a particle container,
using the shelf icon. Or using the contextual menu. Then enable the particle paint tool. There are lot of attributes inside the tool
options, like brush size and density. Middle mouse button does the same for size,
and shift middle button to set the density. Here you can enable some property stored inside
the point, to control your scatterer. Surface normal allows your instances to follow
the support orientation. Paint a few particles. The particles are projected to objects, and
where there is nothing, to a virtual plane. You can change it here, or disable it. This way, particles are only created on objects. The tool type can be set to eraser to remove
particles. By default, the tool is set to airbrush. In this mode, particles density is raising,
when you paint multiple strokes on the same place without releasing the mouse, like an
airbrush. With the paintbrush, the density remains the
same when you cross an already painted area before releasing the mouse button. The falloff controls the softness of the brush
edges. Now you have some particles, you can create
property. Inside the property editor, click on the +
icon, and name the new property “id”. It will be used to control which instance
should be scattered in our object list. To paint a specific property, click here. This enables the property paint tool. If you set the display mode to “number”, the
value of the attribute is showed in the viewport. Everything is set to zero. Set the value to 1. Paint. As you can see, the number 1 is assigned where
you paint. Do the same for number 2. Each number will be used to scatter a different
object. Now, create a scatterer. Connect it to the particle container. Add objects in the geometry list. Because you enabled the normal property before
painting particles, you can set “use support normal” to 100%. Disable the wireframe selection to get a better
visibility. For each object, you can use a specific id
value. If two objects have the same value, they will
be used randomly each time the value is assigned to a point. Type 1 on the second object, and 2 on the
third. Objects are still scattered randomly, because
the input mode is set to random. Switch to ID. Now, Clarisse chooses objects in the list depending
on this number: set it to 2, and Clarisse uses the id 2 object. Same for id 0 and 1. You can connect this attribute to an extract
property texture. This texture will read our id attribute. Now, our painted id property controls the
scatterer’s geometry list. Switch the display to invisible to get a better
visibility. And paint various attributes on your point
cloud, to control your instances. It possible to add many custom property, to
control any texturable scatterer attribute. For example, add a scale attribute. This time we need a float32, with a size of
3, because the scale is on 3 axis. Now, connect to the scale, another extract
property. Set the property to scale. Everything is still invisible because the
property is set to 0 on all the points. Here, you can set a value, and fill the whole
property with it. Now the scale is back to 1 and instances are
visible again. Click here to start painting. Set the scale value here. And paint your scale attribute. The add mode can be used to add values instead
of replacing them. This way you progressively scale the instances
with little paint strokes. It is also possible to control the shading
using painted property. Enable the progressive rendering mode. Before going on, add some variance to the
rotation to enhance the result. It is more natural this way. To control the shading, you need to open the
grass material and create some nodes. Add a multiply texture and insert it just
before the diffuse node. Connect the input 2 to instance color. As you can see, this color is multiplied over
the diffuse. Create an extract property and connect it
to the instance color input. Type “color” for the property name, to read
the color property. Currently it is black because the property
doesn’t exist yet. Add a new property, name it “color”. Still black. Fill it with white. Set the paint mode to multiply Set an RGB color value, like 0.8, 0.1, 0.3,
and paint! This way, it is possible to control any shading
attributes, from color to texture switching, reflection, roughness. Continue to experiment with different values
and property until you’re happy. Thanks!

3 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *