Page MenuHome

Dynamic Paint weight paint mode not working?
Closed, ResolvedPublic


System Information
Operating system: Darwin-18.2.0-x86_64-i386-64bit 64 Bits
Graphics card: AMD Radeon Pro 560 OpenGL Engine ATI Technologies Inc. 4.1 ATI-2.4.10

Blender Version
Broken: version: 2.80 (sub 48), branch: blender2.7, commit date: 2019-03-14 22:54, hash: rB35b78d9807c4
Worked: (optional)

Short description of error
I'm pretty sure that the Dynamic Paint's weight paint mode is not working, unless the UX has changed in some major way and I'm not understanding the new way it is supposed to work. I can confirm that the other modes (waves, texture paint) are working, albeit the texture paint mode has also proven to be somewhat finicky for the last few months, requiring some setting and resetting to get it stable.

Exact steps for others to reproduce the error
It should be all set up in the attached file, there is a monkey [canvas] and a cube [bush], the vertex group dp_weight has been created and nothing seems to happen, regardless of what mode I'm in - weight is not getting affected in any way that I can tell.

Related Objects

Event Timeline

Sebastian Parborg (zeddb) lowered the priority of this task from 90 to 50.

I can confirm that it doesn't seem to be able to influence the vertex group.

@Sergey Sharybin (sergey) feel free to reassign if this is not for you.

Additionally, I'm getting a segfault when I open the file and try to draw on the object (but probably unrelated to this):

Thread 1 "blender" received signal SIGSEGV, Segmentation fault.
0x0000555557ed0dec in GPU_texture_read_rect (tex=0x0, gpu_data_format=GPU_DATA_FLOAT, rect=0x7fffffffd400, r_buf=0x7fffd0ee5ac8)
    at /home/zed/programmering/blender_master/blender/source/blender/gpu/intern/gpu_texture.c:1273
1273		gpu_validate_data_format(tex->format, gpu_data_format);
(gdb) bt
#0  0x0000555557ed0dec in GPU_texture_read_rect (tex=0x0, gpu_data_format=GPU_DATA_FLOAT, rect=0x7fffffffd400, r_buf=0x7fffd0ee5ac8)
    at /home/zed/programmering/blender_master/blender/source/blender/gpu/intern/gpu_texture.c:1273
#1  0x0000555557f0e93b in DRW_framebuffer_depth_read (rect=0x7fffffffd400, r_buf=0x7fffd0ee5ac8)
    at /home/zed/programmering/blender_master/blender/source/blender/draw/intern/draw_manager.c:2520
#2  0x00005555573801d5 in view3d_update_depths_rect (ar=0x7fffda8c5248, d=0x7fffffffd410, rect=0x7fffffffd400)
    at /home/zed/programmering/blender_master/blender/source/blender/editors/space_view3d/view3d_draw_legacy.c:771
#3  0x00005555573ac9b6 in view_autodist_depth_margin (ar=0x7fffda8c5248, mval=0x7fffffffd4d4, margin=0)
    at /home/zed/programmering/blender_master/blender/source/blender/editors/space_view3d/view3d_utils.c:897
#4  0x00005555573acc73 in ED_view3d_autodist_simple (ar=0x7fffda8c5248, mval=0x7fffffffd4d4, mouse_worldloc=0x7fffffffd4dc, margin=0, force_depth=0x0)
    at /home/zed/programmering/blender_master/blender/source/blender/editors/space_view3d/view3d_utils.c:975
#5  0x00005555578956e6 in paint_last_stroke_update (scene=0x7fffe65c7008, ar=0x7fffda8c5248, mval=0x7fffffffd558)
    at /home/zed/programmering/blender_master/blender/source/blender/editors/sculpt_paint/paint_vertex.c:198
#6  0x00005555578a2291 in vpaint_stroke_update_step (C=0x7fffeba29108, stroke=0x7fffd1599708, itemptr=0x7fffffffd620)
    at /home/zed/programmering/blender_master/blender/source/blender/editors/sculpt_paint/paint_vertex.c:3180
#7  0x000055555788f851 in paint_brush_stroke_add_step (C=0x7fffeba29108, op=0x7fffd1048fc8, mouse_in=0x7fffffffd6dc, pressure=1)
    at /home/zed/programmering/blender_master/blender/source/blender/editors/sculpt_paint/paint_stroke.c:547
#8  0x0000555557891b78 in paint_stroke_modal (C=0x7fffeba29108, op=0x7fffd1048fc8, event=0x7fffda56db88)
    at /home/zed/programmering/blender_master/blender/source/blender/editors/sculpt_paint/paint_stroke.c:1294
#9  0x00005555578a24aa in vpaint_invoke (C=0x7fffeba29108, op=0x7fffd1048fc8, event=0x7fffda56db88)
    at /home/zed/programmering/blender_master/blender/source/blender/editors/sculpt_paint/paint_vertex.c:3229
#10 0x0000555557232871 in wm_operator_invoke (C=0x7fffeba29108, ot=0x7fffe6462708, event=0x7fffda56db88, properties=0x7fffd0aca008, reports=0x0,
    poll_only=false, use_last_properties=true) at /home/zed/programmering/blender_master/blender/source/blender/windowmanager/intern/wm_event_system.c:1343
#11 0x000055555723483f in wm_handler_operator_call (C=0x7fffeba29108, handlers=0x7fffda8c5390, handler_base=0x7fffd9e989e8, event=0x7fffda56db88,
    properties=0x7fffd0aca008) at /home/zed/programmering/blender_master/blender/source/blender/windowmanager/intern/wm_event_system.c:2144
#12 0x0000555557235416 in wm_handlers_do_intern (C=0x7fffeba29108, event=0x7fffda56db88, handlers=0x7fffda8c5390)
    at /home/zed/programmering/blender_master/blender/source/blender/windowmanager/intern/wm_event_system.c:2462
#13 0x0000555557236127 in wm_handlers_do (C=0x7fffeba29108, event=0x7fffda56db88, handlers=0x7fffda8c5390)
    at /home/zed/programmering/blender_master/blender/source/blender/windowmanager/intern/wm_event_system.c:2720
#14 0x000055555723769f in wm_event_do_handlers (C=0x7fffeba29108)
    at /home/zed/programmering/blender_master/blender/source/blender/windowmanager/intern/wm_event_system.c:3141
#15 0x000055555722baf4 in WM_main (C=0x7fffeba29108) at /home/zed/programmering/blender_master/blender/source/blender/windowmanager/intern/wm.c:418
#16 0x00005555572261a4 in main (argc=1, argv=0x7fffffffdd28) at /home/zed/programmering/blender_master/blender/source/creator/creator.c:505

Please note that it does not even work in Blender2.79

Can confirm Dynamic Paint isn't working correctly in 2.80.
Both files attached are the same setup, one in 2.79 and the other in 2.80.
Tried both Weight and Color modes, but no results in either in 2.80.
Setup works as expected in 2.79.

2.8 it does not work.
I have a video here

But still sometime it works, this is only 1 result I got when it works

System Information
Operating system: Windows-7-6.1.7601-SP1 64 Bits
Graphics card: GeForce GTX TITAN X/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 430.64

Blender version:
Broken: version: 2.80 (sub 74), branch: master, commit date: 2019-07-18 14:52, hash: rB38d4483c6a51

Philipp Oeser (lichtwerk) raised the priority of this task from 50 to High.Sep 12 2019, 6:47 PM

Dare setting this to High prio, since this is just a broken feature / regression...

note 1 (this is only about the preview though) is this comment in mesh_calc_modifiers

/* Preview colors by modifiers such as dynamic paint, to show the results
  * even if the resulting data is not used in a material. Only in object mode.
  * TODO: this is broken, not drawn by the drawn manager. */

There seems to be quite some issues merged here.

One of the most common confusion here is coming from the lack of preview (for weight and color, similar to what was happening in 2.7 series).
On a similar note: going to weight/vertex paint mode will not make result of the modifier visible, since these modes operate on an original weight/vertex which acts as an input to the modifier and not as an output. The only way to make result visible is either have modifier on top of dynamic paint which depends on the weight or visualize it in the viewport using attribute node.

Another commonly seen issue is going to particles. Is it something what worked before?

Now, some more detailed analysis of the files and reports.

This particular report seems to work fine. Adding wave modifier and restricting it to the weight group visualizes dynamic paint does work.

The crash: can not really reproduce. @Sebastian Parborg (zeddb), is it still an issue?

dynpaint_280.blend from this report. After freeing the back and enabling Dissolve on the canvas the behavior seems to be the same as in dynpaint_279.blend

T68742: no .blend file, can't look into. Guess the issue originates to the lack of preview in the viewport.

T69365: lack of preview and particles (mentioned already).

  • case 1: lack of preview and particles.
  • case 2: seems to be the same as in 2.79 (at least copy-pasting setup there behaves exactly the same).
  • case 3: lack of views

@Dalai Felinto (dfelinto), Not sure why this is marked as 2.81. Don't know any active development in the area.
I'm not the right person to look into this.

I added a patch to make the weights visible in weight paint mode, which works well for previewing.

I also believe that the particle problem exists for any modifier of vertex weights because the particle system doesn't handle dynamic weights at all. So far I have tried Data Transfer, Vertex Weight Edit, Vertex Weight Mix, and VertexWeightProximity, none of which update the particle system correctly when their properties are animated but do update things like the displace modifier correctly.
As of 2016 this was a known limitation of the particle system, not sure if that is still the case.

Nice to see some movement here Nico...

OK, went over these again and except for the preview, these indeed seem to be working [this is partially my bad, should have checked some reports more in depth before, appologies for this].
So I can only second @Sergey Sharybin (sergey) that the preview needs to be looked at at some point (but there were T63819, T67766 already), but removing 2.81 tag is probably safe.
Will remove it actually [only add it back if something bad comes out of T69515... -- even if, it would probably be specific enough to make a separate report...]

Here are the files
(had to do a tweak here or there, but all seem to have the desired effect, no?)

T68742: (works in render)



T69515 (will check again in a bit)

comments on T69515:

  • Dynamic Paint vertex group output as particle density does not work [but that is due to particle system design I think, it doesnt work in 2.79, it doesnt work with AnimAll Addon, this is going to improve with the new particle system]
  • Dynamic Paint initial color layer should not be set to the Dynamic Paint output dp_paintmap (more or less a 'dependency cycle' -- maybe we should prevent choosing it in the UI, that is more of a TODO...)
  • last example is just the lack of preview.

I will go over all reported Dynamic Paint reports tomorrow again and sort/merge/close them accordingly [or maybe create new specific ones if neccessary].
This one will probbably just end up in T67690: Weight paint not showing in Dynamic Paint

Philipp Oeser (lichtwerk) lowered the priority of this task from High to Normal.Nov 5 2019, 9:42 PM

Ok, this will end up in the "missing preview" task T67690: Weight paint not showing in Dynamic Paint, will merge this in...
Please everyone: feel free to comment again if I missed a feature that is not working like in 2.79...

Is dynamic weight paint still not working in Blender 2.81a?
I try all here but nothing works.

Is dynamic weight paint still not working in Blender 2.81a?
I try all here but nothing works.

Try 2.83

OK. Works in render mode (finally!) (Tested 2.83)

But the viewport realtime refresh for particles baed on weight paint isn't working yet, right?

I think it only works in weight paint mode at the moment.

Check this out:

Hm ... tested with today build - when I start to pan around it is there, but only from top view (or any other direct axis), doesnt matter if perspective or orthographic any other angle is solid when I dont move with a scene.

Here animGIF

Hm ... tested with today build - when I start to pan around it is there, but only from top view (or any other direct axis), doesnt matter if perspective or orthographic any other angle is solid when I dont move with a scene.

Here animGIF

Which version?

filip mond (vklidu) added a comment.EditedFeb 21 2020, 9:15 PM

2.83 alpha from February 20, I'm not on my comp for a few days so I can't provide release code, but I don't expect changes for today version that is blender-2.83-94e180bd806a-macOS that can make difference since fix commit is from January 21

Posted animGIF is captured from Weight Paint mode, that is a mode I expected to be seen it (2.79 displays canvas weight in object mode).

Since 2.8x has also "Vertex Group Weight" as overlay in vertex edit mode, I would expect that visible there as well (but it doesn't). It's visible only after modifier is applied (same in 2.79).

OK official 2.82 works fine.
So since I posted at the same day crash on Eevee (for this 2.83 build) it seems to be related to my graphics card.
So probably ignore it for now.

The solution is simple, if you want Dynamic Paint to work properly, you have to subdivide the surface of your Canvas object in edit mode into many faces.