Hello,
in my game engine i want to implement my own bone weight painting tool, so to say a virtual brush painting tool for a mesh.
I have already implemented my own "dual quaternion skinning" animation system with "morphs" (=blend shapes) and "bone driven" "corrective morphs" (= morph is dependent from a bending or twisting bone)
But now i have no idea which is the best method to implement a brush painting system.
Just some proposals
a. i would build a kind of additional "vertecie structure", that can help me to find the surrounding (neighbours) vertecie indexes from a given "central vertecie" index
b. the structure should also give information about the distance from the neighbour vertecsies to the given "central vertecie" index
c. calculate the strength of the adding color to the "central vertecie" an the neighbour vertecies by a formula with linear or quadratic distance fall off
d. the central vertecie would be detected as that vertecie that is hit by a orthogonal projection from my cursor (=brush) in world space an the mesh
but my problem is that there could be several vertecies that can be hit simultaniously. e.g. i want to paint the inward side of the left leg. the right leg will also be hit.
I think the given problem is quite typical an there are standard approaches that i dont know.
Any help or tutorial are welcome
P.S. I am working with SharpDX, DirectX11