Page MenuHome

Grease Pencil Grab sculpt tool causing line drift when tablet pen is held down in place
Closed, ResolvedPublicKNOWN ISSUE

Description

System Information
Operating system: Win10
Graphics card: RTX3070

Blender Version
Broken: 3.0
Worked: n/a

Short description of error

Exact steps for others to reproduce the error

Open this file

(I cannot reproduce this on a vanilla GP; I copied and emptied a GP object from my work project.)

Use a drawing tablet and hold your pen down to sculpt the strokes using the Grab tool, but don't move your pen. The strokes will all start drifting to the left.

This only happens with the Grab tool, and only when using a tablet pen; holding down Left Mouse with an actual mouse does not produce this bug.

I use an Xp-Pen Deco 03. Bug was also reproduced by other tablet users, using a Wacom Cintiq and an Xp-Pen Deco 01.

Video for further explanation:

https://youtu.be/C7ax-jshDSo

Event Timeline

@Matthew Gafford (AFoxInSpace) Can you clarify what you mean by vanilla GP? I understand it as this is simplified .blend file with only problematic object.

I don't have tablet here, @Antonio Vazquez (antoniov) Can you reproduce?

Antonio Vazquez (antoniov) changed the task status from Needs Triage to Confirmed.Jan 18 2022, 7:42 PM
Antonio Vazquez (antoniov) changed the subtype of this task from "Report" to "Known Issue".

I can reproduce it with the Wacom tablet, but I'm not sure if we can consider this as a bug. The grab tool is receiving events and there is a small precision error that changes the stroke. I could try to find a way to avoid that, but we're talking about a very small offset due to the precision of the pen tablet sending small changes.

Now, IMHO we must set as know issue and investigate more in how driver is sending the position of the pen.

I'd like to point out that the Push brush--which works very similarly to the Grab brush--does not have this problem. As a workaround I have switched over to the Push brush for now, but you might compare their code.

My patch fixes these issues and really, it's something we had to do since the beginning because no point to do any action if the mouse has not moved. I did not look at the code details, but I'm 99% sure the problem was due an accumulation of math precision issues, but now with the patch this don't mind.