Unity VFX question / Dynamic mesh deformation

Hi guys,
I am a beginner developer and I haven’t seen much VFX from casual mobile games here, but I am trying to recreate this effect for a mobile game in Unity: Painting effect - YouTube .

I tried a few methods. Tried using blend shapes (https://youtu.be/-3r9vCAUtbE ), but I don’t think it is a good option.

I think the most promising one would be to have 2 meshes. One for that blob of paint and one for the nail.
They both need to have the same amount of vertices and the point would be to interpolate them when the players clicks.

Here (https://youtu.be/N-Su8-zpYgk) I just interpolate all the vertices of the 2 meshes at once, but I need them to be controllable by the user as
in the referenced video. The way to go would be to create a raycast from to the mesh and try to move only those vertices and the ones near, but to achieve the same effect it is a bit more complex and I am not sure how to do it.

I am looking for some advices on how to reach that effect. Maybe there is someone who has done something simillar.

1 Like

Perhaps you could try baking the vertex local offset for each vertex into either the vertex colors or in a texture. (Either in an external tool like Maya/Houdini/Blender - or you could write a Unity editor script to do it)
Then the user would be painting a separate texture on the model that a shader will blend the vertices to their new position by sampling the painted map.