Lerp between surface normal and camera?

The desired outcome as presented might be quite difficult to achieve, because the top part of the Cube is always the same normal, regardless of whether player looks at it from the left side or the right side… To be perfectly consistent you’d have to track the previous orientation of the widget and somehow take that into account in the calculation

However you could use a simpler approach, which consists in biasing the widget orientation using Camera’s Z vector. It will give slightly different result but is much simpler and should be more consistent overall.

1 Like