assuming you're talking about using morphs for the shape variation thats the best use case for morphs - its cheaper than storing unique meshes. animation with morphs is relatively expensive and doesn't support non-linear translations- which is why we use bones
I think you would have to remap the gradient to fit the size of the pin (like with a level). Probably easiest and most visual option would be to project a gradient (or other shape): Some other options: 3D Distance, a bit fiddly to set up the origin 3D Linear Gradient sampling the colors of position map for start and end If…
Set the Gamma to 0.454545 (or 1 / 2.2) that should do it. Photoshop seems to think your image is in linear color space that's why it multiplies the gamma by 2.2.