I created objects using geometry nodes. I want these object to be used as brush for dynamic paint (waves in my case).

Here is the expected behavior. The objects generate waves.

Dynamic paint is working

Here's the actual behavior when I disable the "Realize Instances" node. The objects do not generate waves. How can I have them create waves?

Dynamic paint not working

The reason I don't want to keep the instances as instance is because I can then use a shader to individually color each instance.


1 Answer 1


You can't use instances as brush, because brush uses mesh data to paint with, but instances are not mesh data. They are objects, packed into another object. When realized, they are actually convert into one mesh, so that dynamic paint can use it

So what can you do? You have 2 options.

Using two setups for render and viewport

First: set realized and not realized instances in the same setup. This set up uses realized instances for the viewport, so you can bake dynamic paint, and unrealized for render so that you can set color per instance:

enter image description here

Set color in GN

Second option is to set colors directly in geometry nodes.

enter image description here

This can be done in 3 steps.

  1. Use Capture Attribute node in Instance mode to grab the random (let we want to have random color for example)

  2. In modifier setting we have to pass this value to some new attribute (in my case it is color)

  3. in material use Attribute node to get this attribute (type the same name as in modifier settings)


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .